summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/admin_audit/appinfo/info.xml2
-rw-r--r--apps/comments/appinfo/info.xml2
-rw-r--r--apps/comments/l10n/es.js1
-rw-r--r--apps/comments/l10n/es.json1
-rw-r--r--apps/comments/l10n/pt_BR.js6
-rw-r--r--apps/comments/l10n/pt_BR.json6
-rw-r--r--apps/dav/appinfo/info.xml2
-rw-r--r--apps/dav/appinfo/v1/publicwebdav.php8
-rw-r--r--apps/dav/l10n/cs_CZ.js38
-rw-r--r--apps/dav/l10n/cs_CZ.json38
-rw-r--r--apps/dav/l10n/fr.js38
-rw-r--r--apps/dav/l10n/fr.json38
-rw-r--r--apps/dav/l10n/it.js12
-rw-r--r--apps/dav/l10n/it.json12
-rw-r--r--apps/dav/l10n/pt_BR.js49
-rw-r--r--apps/dav/l10n/pt_BR.json47
-rw-r--r--apps/dav/lib/AppInfo/Application.php12
-rw-r--r--apps/dav/lib/CalDAV/Activity/Backend.php6
-rw-r--r--apps/dav/lib/CalDAV/BirthdayService.php6
-rw-r--r--apps/dav/lib/Connector/Sabre/Auth.php1
-rw-r--r--apps/dav/lib/Connector/Sabre/FilesPlugin.php3
-rw-r--r--apps/dav/lib/Connector/Sabre/ServerFactory.php1
-rw-r--r--apps/dav/lib/Connector/Sabre/SharesPlugin.php34
-rw-r--r--apps/dav/lib/Files/Sharing/FilesDropPlugin.php4
-rw-r--r--apps/dav/lib/HookManager.php7
-rw-r--r--apps/dav/lib/Server.php1
-rw-r--r--apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php1
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php14
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php1
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php1
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php14
-rw-r--r--apps/dav/tests/unit/DAV/HookManagerTest.php9
-rw-r--r--apps/encryption/appinfo/info.xml2
-rw-r--r--apps/encryption/l10n/de_DE.js2
-rw-r--r--apps/encryption/l10n/de_DE.json2
-rw-r--r--apps/encryption/l10n/pt_BR.js7
-rw-r--r--apps/encryption/l10n/pt_BR.json7
-rw-r--r--apps/federatedfilesharing/appinfo/info.xml2
-rw-r--r--apps/federatedfilesharing/js/settings-personal.js31
-rw-r--r--apps/federatedfilesharing/l10n/cs_CZ.js6
-rw-r--r--apps/federatedfilesharing/l10n/cs_CZ.json6
-rw-r--r--apps/federatedfilesharing/l10n/de_DE.js1
-rw-r--r--apps/federatedfilesharing/l10n/de_DE.json1
-rw-r--r--apps/federatedfilesharing/l10n/es.js2
-rw-r--r--apps/federatedfilesharing/l10n/es.json2
-rw-r--r--apps/federatedfilesharing/l10n/fr.js6
-rw-r--r--apps/federatedfilesharing/l10n/fr.json6
-rw-r--r--apps/federatedfilesharing/l10n/it.js2
-rw-r--r--apps/federatedfilesharing/l10n/it.json2
-rw-r--r--apps/federatedfilesharing/l10n/nl.js1
-rw-r--r--apps/federatedfilesharing/l10n/nl.json1
-rw-r--r--apps/federatedfilesharing/l10n/pt_BR.js5
-rw-r--r--apps/federatedfilesharing/l10n/pt_BR.json5
-rw-r--r--apps/federation/appinfo/info.xml2
-rw-r--r--apps/federation/l10n/de_DE.js4
-rw-r--r--apps/federation/l10n/de_DE.json4
-rw-r--r--apps/federation/lib/TrustedServers.php2
-rw-r--r--apps/federation/tests/TrustedServersTest.php2
-rw-r--r--apps/files/appinfo/app.php13
-rw-r--r--apps/files/appinfo/info.xml21
-rw-r--r--apps/files/css/detailsView.css12
-rw-r--r--apps/files/css/mobile.css4
-rw-r--r--apps/files/img/add-color.svg6
-rw-r--r--apps/files/img/change.svg5
-rw-r--r--apps/files/img/delete-color.svg4
-rw-r--r--apps/files/js/filelist.js8
-rw-r--r--apps/files/js/files.js6
-rw-r--r--apps/files/js/mainfileinfodetailview.js4
-rw-r--r--apps/files/l10n/bg_BG.js101
-rw-r--r--apps/files/l10n/bg_BG.json101
-rw-r--r--apps/files/l10n/ca.js79
-rw-r--r--apps/files/l10n/ca.json79
-rw-r--r--apps/files/l10n/cs_CZ.js46
-rw-r--r--apps/files/l10n/cs_CZ.json46
-rw-r--r--apps/files/l10n/de.js24
-rw-r--r--apps/files/l10n/de.json24
-rw-r--r--apps/files/l10n/de_DE.js36
-rw-r--r--apps/files/l10n/de_DE.json36
-rw-r--r--apps/files/l10n/es.js28
-rw-r--r--apps/files/l10n/es.json28
-rw-r--r--apps/files/l10n/fi_FI.js16
-rw-r--r--apps/files/l10n/fi_FI.json16
-rw-r--r--apps/files/l10n/fr.js49
-rw-r--r--apps/files/l10n/fr.json49
-rw-r--r--apps/files/l10n/hu_HU.js24
-rw-r--r--apps/files/l10n/hu_HU.json24
-rw-r--r--apps/files/l10n/id.js16
-rw-r--r--apps/files/l10n/id.json16
-rw-r--r--apps/files/l10n/is.js16
-rw-r--r--apps/files/l10n/is.json16
-rw-r--r--apps/files/l10n/it.js28
-rw-r--r--apps/files/l10n/it.json28
-rw-r--r--apps/files/l10n/ja.js16
-rw-r--r--apps/files/l10n/ja.json16
-rw-r--r--apps/files/l10n/lv.js16
-rw-r--r--apps/files/l10n/lv.json16
-rw-r--r--apps/files/l10n/nb_NO.js26
-rw-r--r--apps/files/l10n/nb_NO.json26
-rw-r--r--apps/files/l10n/nl.js35
-rw-r--r--apps/files/l10n/nl.json35
-rw-r--r--apps/files/l10n/pl.js24
-rw-r--r--apps/files/l10n/pl.json24
-rw-r--r--apps/files/l10n/pt_BR.js35
-rw-r--r--apps/files/l10n/pt_BR.json35
-rw-r--r--apps/files/l10n/ru.js22
-rw-r--r--apps/files/l10n/ru.json22
-rw-r--r--apps/files/l10n/sl.js16
-rw-r--r--apps/files/l10n/sl.json16
-rw-r--r--apps/files/l10n/sv.js16
-rw-r--r--apps/files/l10n/sv.json16
-rw-r--r--apps/files/l10n/tr.js16
-rw-r--r--apps/files/l10n/tr.json16
-rw-r--r--apps/files/l10n/zh_TW.js20
-rw-r--r--apps/files/l10n/zh_TW.json20
-rw-r--r--apps/files/lib/Activity.php452
-rw-r--r--apps/files/lib/Activity/Filter/Favorites.php160
-rw-r--r--apps/files/lib/Activity/Filter/FileChanges.php95
-rw-r--r--apps/files/lib/Activity/Helper.php (renamed from apps/files/lib/ActivityHelper.php)6
-rw-r--r--apps/files/lib/Activity/Provider.php276
-rw-r--r--apps/files/lib/Activity/Settings/FileChanged.php98
-rw-r--r--apps/files/lib/Activity/Settings/FileCreated.php98
-rw-r--r--apps/files/lib/Activity/Settings/FileDeleted.php98
-rw-r--r--apps/files/lib/Activity/Settings/FileFavorite.php98
-rw-r--r--apps/files/lib/Activity/Settings/FileRestored.php98
-rw-r--r--apps/files/lib/Command/TransferOwnership.php44
-rw-r--r--apps/files/tests/ActivityTest.php374
-rw-r--r--apps/files/tests/Command/DeleteOrphanedFilesTest.php8
-rw-r--r--apps/files/tests/js/filelistSpec.js28
-rw-r--r--apps/files_external/appinfo/info.xml2
-rw-r--r--apps/files_external/l10n/cs_CZ.js1
-rw-r--r--apps/files_external/l10n/cs_CZ.json1
-rw-r--r--apps/files_external/l10n/de.js3
-rw-r--r--apps/files_external/l10n/de.json3
-rw-r--r--apps/files_external/l10n/de_DE.js1
-rw-r--r--apps/files_external/l10n/de_DE.json1
-rw-r--r--apps/files_external/l10n/fr.js1
-rw-r--r--apps/files_external/l10n/fr.json1
-rw-r--r--apps/files_external/l10n/hu_HU.js1
-rw-r--r--apps/files_external/l10n/hu_HU.json1
-rw-r--r--apps/files_external/l10n/it.js1
-rw-r--r--apps/files_external/l10n/it.json1
-rw-r--r--apps/files_external/l10n/zh_TW.js9
-rw-r--r--apps/files_external/l10n/zh_TW.json9
-rw-r--r--apps/files_sharing/ajax/shareinfo.php3
-rw-r--r--apps/files_sharing/appinfo/info.xml2
-rw-r--r--apps/files_sharing/css/sharetabview.css48
-rw-r--r--apps/files_sharing/js/files_drop.js2
-rw-r--r--apps/files_sharing/l10n/cs_CZ.js6
-rw-r--r--apps/files_sharing/l10n/cs_CZ.json6
-rw-r--r--apps/files_sharing/l10n/de.js6
-rw-r--r--apps/files_sharing/l10n/de.json6
-rw-r--r--apps/files_sharing/l10n/de_DE.js6
-rw-r--r--apps/files_sharing/l10n/de_DE.json6
-rw-r--r--apps/files_sharing/l10n/es.js3
-rw-r--r--apps/files_sharing/l10n/es.json3
-rw-r--r--apps/files_sharing/l10n/fi_FI.js2
-rw-r--r--apps/files_sharing/l10n/fi_FI.json2
-rw-r--r--apps/files_sharing/l10n/fr.js7
-rw-r--r--apps/files_sharing/l10n/fr.json7
-rw-r--r--apps/files_sharing/l10n/hu_HU.js6
-rw-r--r--apps/files_sharing/l10n/hu_HU.json6
-rw-r--r--apps/files_sharing/l10n/id.js2
-rw-r--r--apps/files_sharing/l10n/id.json2
-rw-r--r--apps/files_sharing/l10n/is.js2
-rw-r--r--apps/files_sharing/l10n/is.json2
-rw-r--r--apps/files_sharing/l10n/it.js6
-rw-r--r--apps/files_sharing/l10n/it.json6
-rw-r--r--apps/files_sharing/l10n/nb_NO.js2
-rw-r--r--apps/files_sharing/l10n/nb_NO.json2
-rw-r--r--apps/files_sharing/l10n/nl.js3
-rw-r--r--apps/files_sharing/l10n/nl.json3
-rw-r--r--apps/files_sharing/l10n/pt_BR.js5
-rw-r--r--apps/files_sharing/l10n/pt_BR.json5
-rw-r--r--apps/files_sharing/l10n/ru.js5
-rw-r--r--apps/files_sharing/l10n/ru.json5
-rw-r--r--apps/files_sharing/l10n/zh_TW.js2
-rw-r--r--apps/files_sharing/l10n/zh_TW.json2
-rw-r--r--apps/files_sharing/lib/Cache.php51
-rw-r--r--apps/files_sharing/lib/Controller/ShareAPIController.php1
-rw-r--r--apps/files_sharing/lib/Controller/ShareesAPIController.php27
-rw-r--r--apps/files_sharing/lib/MountProvider.php3
-rw-r--r--apps/files_sharing/lib/SharedPropagator.php2
-rw-r--r--apps/files_sharing/lib/SharedStorage.php34
-rw-r--r--apps/files_sharing/tests/Controller/ShareAPIControllerTest.php57
-rw-r--r--apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php51
-rw-r--r--apps/files_sharing/tests/SizePropagationTest.php3
-rw-r--r--apps/files_trashbin/appinfo/info.xml2
-rw-r--r--apps/files_trashbin/l10n/bg_BG.js2
-rw-r--r--apps/files_trashbin/l10n/bg_BG.json2
-rw-r--r--apps/files_versions/appinfo/info.xml2
-rw-r--r--apps/files_versions/css/versions.css29
-rw-r--r--apps/files_versions/js/versionstabview.js17
-rw-r--r--apps/files_versions/l10n/bg_BG.js2
-rw-r--r--apps/files_versions/l10n/bg_BG.json2
-rw-r--r--apps/files_versions/tests/js/versionstabviewSpec.js3
-rw-r--r--apps/provisioning_api/appinfo/info.xml2
-rw-r--r--apps/sharebymail/appinfo/info.xml2
-rw-r--r--apps/systemtags/appinfo/info.xml2
-rw-r--r--apps/systemtags/js/systemtagsfilelist.js3
-rw-r--r--apps/systemtags/l10n/cs_CZ.js1
-rw-r--r--apps/systemtags/l10n/cs_CZ.json1
-rw-r--r--apps/systemtags/l10n/de.js1
-rw-r--r--apps/systemtags/l10n/de.json1
-rw-r--r--apps/systemtags/l10n/de_DE.js1
-rw-r--r--apps/systemtags/l10n/de_DE.json1
-rw-r--r--apps/systemtags/l10n/fr.js23
-rw-r--r--apps/systemtags/l10n/fr.json23
-rw-r--r--apps/systemtags/l10n/hu_HU.js1
-rw-r--r--apps/systemtags/l10n/hu_HU.json1
-rw-r--r--apps/systemtags/l10n/it.js1
-rw-r--r--apps/systemtags/l10n/it.json1
-rw-r--r--apps/systemtags/l10n/nl.js1
-rw-r--r--apps/systemtags/l10n/nl.json1
-rw-r--r--apps/testing/appinfo/info.xml2
-rw-r--r--apps/theming/appinfo/info.xml2
-rw-r--r--apps/theming/css/settings-admin.css24
-rw-r--r--apps/theming/lib/Controller/ThemingController.php2
-rw-r--r--apps/theming/templates/settings-admin.php59
-rw-r--r--apps/theming/tests/Controller/ThemingControllerTest.php8
-rw-r--r--apps/twofactor_backupcodes/appinfo/info.xml2
-rw-r--r--apps/twofactor_backupcodes/l10n/ja.js17
-rw-r--r--apps/twofactor_backupcodes/l10n/ja.json15
-rw-r--r--apps/twofactor_backupcodes/l10n/ru.js17
-rw-r--r--apps/twofactor_backupcodes/l10n/ru.json15
-rw-r--r--apps/updatenotification/appinfo/info.xml2
-rw-r--r--apps/updatenotification/js/admin.js2
-rw-r--r--apps/updatenotification/l10n/ru.js2
-rw-r--r--apps/updatenotification/l10n/ru.json2
-rw-r--r--apps/user_ldap/appinfo/info.xml2
-rw-r--r--apps/workflowengine/appinfo/info.xml2
-rw-r--r--apps/workflowengine/l10n/fr.js60
-rw-r--r--apps/workflowengine/l10n/fr.json58
-rw-r--r--apps/workflowengine/l10n/ja.js63
-rw-r--r--apps/workflowengine/l10n/ja.json61
-rw-r--r--apps/workflowengine/l10n/zh_TW.js67
-rw-r--r--apps/workflowengine/l10n/zh_TW.json65
236 files changed, 3384 insertions, 1693 deletions
diff --git a/apps/admin_audit/appinfo/info.xml b/apps/admin_audit/appinfo/info.xml
index 0da8b115dc8..14bce64aabc 100644
--- a/apps/admin_audit/appinfo/info.xml
+++ b/apps/admin_audit/appinfo/info.xml
@@ -9,7 +9,7 @@
<author>Nextcloud</author>
<version>1.1.0</version>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<types>
<logging/>
diff --git a/apps/comments/appinfo/info.xml b/apps/comments/appinfo/info.xml
index 39584694e23..1c0a38e5668 100644
--- a/apps/comments/appinfo/info.xml
+++ b/apps/comments/appinfo/info.xml
@@ -8,7 +8,7 @@
<default_enable/>
<version>1.1.0</version>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<types>
<logging/>
diff --git a/apps/comments/l10n/es.js b/apps/comments/l10n/es.js
index ea03c76ec27..c609df31e7e 100644
--- a/apps/comments/l10n/es.js
+++ b/apps/comments/l10n/es.js
@@ -2,6 +2,7 @@ OC.L10N.register(
"comments",
{
"Comments" : "Comentarios",
+ "Unknown user" : "Usuario desconocido",
"New comment …" : "Comentario nuevo",
"Delete comment" : "Borrar comentario",
"Post" : "Publicar",
diff --git a/apps/comments/l10n/es.json b/apps/comments/l10n/es.json
index 5f91f224c4e..f838dea3767 100644
--- a/apps/comments/l10n/es.json
+++ b/apps/comments/l10n/es.json
@@ -1,5 +1,6 @@
{ "translations": {
"Comments" : "Comentarios",
+ "Unknown user" : "Usuario desconocido",
"New comment …" : "Comentario nuevo",
"Delete comment" : "Borrar comentario",
"Post" : "Publicar",
diff --git a/apps/comments/l10n/pt_BR.js b/apps/comments/l10n/pt_BR.js
index c33a30bf9f2..f3488e6b1b4 100644
--- a/apps/comments/l10n/pt_BR.js
+++ b/apps/comments/l10n/pt_BR.js
@@ -2,11 +2,15 @@ OC.L10N.register(
"comments",
{
"Comments" : "Comentários",
+ "Unknown user" : "Usuário desconhecido",
+ "New comment …" : "Novo comentário",
"Delete comment" : "Apague o comentário",
"Post" : "Postar",
"Cancel" : "Cancelar",
"Edit comment" : "Editar comentário",
"[Deleted user]" : "[Usuário excluído]",
+ "No comments yet, start the conversation!" : "Nenhum comentário ainda, inicie uma conversa!",
+ "More comments …" : "Mais comentários ...",
"Save" : "Salvar",
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with id {id}" : "Ocorreu um erro durante a recuperação do comentário com o id {id}",
@@ -18,6 +22,8 @@ OC.L10N.register(
"%1$s commented" : "%1$s comentado",
"You commented on %2$s" : "Você comentou em %2$s",
"%1$s commented on %2$s" : "%1$s comentado em %2$s",
+ "A (now) deleted user mentioned you in a comment on \"%s\"." : "Um (agora) usuário deletado mencionou voce em um comentário em \"%s\".",
+ "%s mentioned you in a comment on \"%s\"." : "%s mencionou voce em um comentário em \"%s\".",
"Type in a new comment..." : "Digite um novo comentário...",
"No other comments available" : "Nenhum outro comentário disponível",
"More comments..." : "Mais comentários...",
diff --git a/apps/comments/l10n/pt_BR.json b/apps/comments/l10n/pt_BR.json
index eda539256dc..6c343fc2048 100644
--- a/apps/comments/l10n/pt_BR.json
+++ b/apps/comments/l10n/pt_BR.json
@@ -1,10 +1,14 @@
{ "translations": {
"Comments" : "Comentários",
+ "Unknown user" : "Usuário desconhecido",
+ "New comment …" : "Novo comentário",
"Delete comment" : "Apague o comentário",
"Post" : "Postar",
"Cancel" : "Cancelar",
"Edit comment" : "Editar comentário",
"[Deleted user]" : "[Usuário excluído]",
+ "No comments yet, start the conversation!" : "Nenhum comentário ainda, inicie uma conversa!",
+ "More comments …" : "Mais comentários ...",
"Save" : "Salvar",
"Allowed characters {count} of {max}" : "Caracteres permitidos {count} de {max}",
"Error occurred while retrieving comment with id {id}" : "Ocorreu um erro durante a recuperação do comentário com o id {id}",
@@ -16,6 +20,8 @@
"%1$s commented" : "%1$s comentado",
"You commented on %2$s" : "Você comentou em %2$s",
"%1$s commented on %2$s" : "%1$s comentado em %2$s",
+ "A (now) deleted user mentioned you in a comment on \"%s\"." : "Um (agora) usuário deletado mencionou voce em um comentário em \"%s\".",
+ "%s mentioned you in a comment on \"%s\"." : "%s mencionou voce em um comentário em \"%s\".",
"Type in a new comment..." : "Digite um novo comentário...",
"No other comments available" : "Nenhum outro comentário disponível",
"More comments..." : "Mais comentários...",
diff --git a/apps/dav/appinfo/info.xml b/apps/dav/appinfo/info.xml
index 4d3b1757284..314391a1448 100644
--- a/apps/dav/appinfo/info.xml
+++ b/apps/dav/appinfo/info.xml
@@ -15,7 +15,7 @@
<webdav>appinfo/v1/publicwebdav.php</webdav>
</public>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<background-jobs>
<job>OCA\DAV\CardDAV\SyncJob</job>
diff --git a/apps/dav/appinfo/v1/publicwebdav.php b/apps/dav/appinfo/v1/publicwebdav.php
index 670eadd5ea9..95fb71032d5 100644
--- a/apps/dav/appinfo/v1/publicwebdav.php
+++ b/apps/dav/appinfo/v1/publicwebdav.php
@@ -73,14 +73,12 @@ $server = $serverFactory->createServer($baseuri, $requestUri, $authBackend, func
$isReadable = $share->getPermissions() & \OCP\Constants::PERMISSION_READ;
$fileId = $share->getNodeId();
- /*
- if (!$isReadable) {
- return false;
- }*/
-
+ // FIXME: should not add storage wrappers outside of preSetup, need to find a better way
+ $previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false);
\OC\Files\Filesystem::addStorageWrapper('sharePermissions', function ($mountPoint, $storage) use ($share) {
return new \OC\Files\Storage\Wrapper\PermissionsMask(array('storage' => $storage, 'mask' => $share->getPermissions() | \OCP\Constants::PERMISSION_SHARE));
});
+ \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
OC_Util::setupFS($owner);
$ownerView = \OC\Files\Filesystem::getView();
diff --git a/apps/dav/l10n/cs_CZ.js b/apps/dav/l10n/cs_CZ.js
index ca5e6b82301..3ffe09c4fe3 100644
--- a/apps/dav/l10n/cs_CZ.js
+++ b/apps/dav/l10n/cs_CZ.js
@@ -1,6 +1,44 @@
OC.L10N.register(
"dav",
{
+ "A <strong>calendar</strong> was modified" : "<strong>Kalendář</strong> byl změněn",
+ "A calendar <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn",
+ "%1$s created calendar %2$s" : "%1$s vytvořil(a) kalendář %2$s",
+ "You created calendar %2$s" : "Vytvořili jste kalendář %2$s",
+ "%1$s deleted calendar %2$s" : "%1$s vymazal(a) kalendář %2$s",
+ "You deleted calendar %2$s" : "Smazali jste kalendář %2$s",
+ "%1$s updated calendar %2$s" : "%1$s aktualizoval(a) kalendář %2$s",
+ "You updated calendar %2$s" : "Aktualizovali jste kalendář %2$s",
+ "%1$s shared calendar %2$s with you" : "%1$s s vámi začal(a) sdílet kalendář %2$s",
+ "You shared calendar %2$s with %1$s" : "S uživatelem %1$s jste začal(a) sdílet kalendář %2$s",
+ "%3$s shared calendar %2$s with %1$s" : "%3$s nasdílel(a) s %1$s kalendář %2$s",
+ "%1$s unshared calendar %2$s from you" : "%1$s s vámi přestal(a) sdílet kalendář %2$s",
+ "You unshared calendar %2$s from %1$s" : "S %1$s jste přestal(a) sdílet kalendář %2$s",
+ "%3$s unshared calendar %2$s from %1$s" : "%3$s přestal s %1$s sdílet kalendář %2$s",
+ "%1$s unshared calendar %2$s from themselves" : "%1$s přestal sám se sebou sdílet kalendář %2$s",
+ "You shared calendar %2$s with group %1$s" : "Se skupinou %1$s jste nasdílel(a) kalendář %2$s",
+ "%3$s shared calendar %2$s with group %1$s" : "%3$s se skupinou %1$s začal(a) sdílet kalendář %2$s",
+ "You unshared calendar %2$s from group %1$s" : "Se skupinou %1$s jste přestal(a) sdílet kalendář %2$s",
+ "%3$s unshared calendar %2$s from group %1$s" : "%3$s přestal ve skupině %1$s sdílet kalendář %2$s",
+ "%1$s created event %3$s in calendar %2$s" : "%1$s v kalendáři %2$s vytvořil událost %3$s",
+ "You created event %3$s in calendar %2$s" : "V kalendáři %2$s jste vytvořil(a) událost %3$s",
+ "%1$s deleted event %3$s from calendar %2$s" : "%1$s z kalendáře %2$s smazal(a) událost %3$s",
+ "You deleted event %3$s from calendar %2$s" : "V kalendáři %2$s jste smazal(a) událost %3$s",
+ "%1$s updated event %3$s in calendar %2$s" : "%1$s v kalendáři %2$s aktualizoval(a) událost %3$s",
+ "You updated event %3$s in calendar %2$s" : "Aktualizoval(a) jste událost %3$s v kalendáři %2$s",
+ "%1$s created todo %3$s in list %2$s" : "%1$s v seznamu %2$s vytvořil(a) úkol %3$s",
+ "You created todo %3$s in list %2$s" : "V seznamu %2$s jste vytvořil(a) úkol %3$s",
+ "%1$s deleted todo %3$s from list %2$s" : "%1$s ze seznamu %2$s smazal(a) úkol %3$s",
+ "You deleted todo %3$s from list %2$s" : "Ze seznamu %2$s jste odstranil(a) úkol %3$s",
+ "%1$s updated todo %3$s in list %2$s" : "%1$s v seznamu %2$s aktualizoval(a) úkol %3$s",
+ "You updated todo %3$s in list %2$s" : "Aktualizoval(a) jste úkol %3$s v seznamu %2$s",
+ "%1$s solved todo %3$s in list %2$s" : "%1$s v seznamu %2$s vyřešil(a) úkol %3$s",
+ "You solved todo %3$s in list %2$s" : "Vyřešil(a) jste úkol %3$s v seznamu %2$s",
+ "%1$s reopened todo %3$s in list %2$s" : "%1$s znovu otevřel úkol %3$s v seznamu %2$s",
+ "You reopened todo %3$s in list %2$s" : "Znovu jste otevřel(a) úkol %3$s v seznamu %2$s",
+ "Calendar" : "Kalendář",
+ "Todos" : "Úkoly",
"Contact birthdays" : "Narozeniny kontaktů",
"Personal" : "Osobní",
"Contacts" : "Kontakty",
diff --git a/apps/dav/l10n/cs_CZ.json b/apps/dav/l10n/cs_CZ.json
index 67213d3cf8e..abe873a2094 100644
--- a/apps/dav/l10n/cs_CZ.json
+++ b/apps/dav/l10n/cs_CZ.json
@@ -1,4 +1,42 @@
{ "translations": {
+ "A <strong>calendar</strong> was modified" : "<strong>Kalendář</strong> byl změněn",
+ "A calendar <strong>event</strong> was modified" : "<strong>Událost</strong> v kalendáři byla změněna",
+ "A calendar <strong>todo</strong> was modified" : "<strong>Úkol</strong> v kalendáři byl změněn",
+ "%1$s created calendar %2$s" : "%1$s vytvořil(a) kalendář %2$s",
+ "You created calendar %2$s" : "Vytvořili jste kalendář %2$s",
+ "%1$s deleted calendar %2$s" : "%1$s vymazal(a) kalendář %2$s",
+ "You deleted calendar %2$s" : "Smazali jste kalendář %2$s",
+ "%1$s updated calendar %2$s" : "%1$s aktualizoval(a) kalendář %2$s",
+ "You updated calendar %2$s" : "Aktualizovali jste kalendář %2$s",
+ "%1$s shared calendar %2$s with you" : "%1$s s vámi začal(a) sdílet kalendář %2$s",
+ "You shared calendar %2$s with %1$s" : "S uživatelem %1$s jste začal(a) sdílet kalendář %2$s",
+ "%3$s shared calendar %2$s with %1$s" : "%3$s nasdílel(a) s %1$s kalendář %2$s",
+ "%1$s unshared calendar %2$s from you" : "%1$s s vámi přestal(a) sdílet kalendář %2$s",
+ "You unshared calendar %2$s from %1$s" : "S %1$s jste přestal(a) sdílet kalendář %2$s",
+ "%3$s unshared calendar %2$s from %1$s" : "%3$s přestal s %1$s sdílet kalendář %2$s",
+ "%1$s unshared calendar %2$s from themselves" : "%1$s přestal sám se sebou sdílet kalendář %2$s",
+ "You shared calendar %2$s with group %1$s" : "Se skupinou %1$s jste nasdílel(a) kalendář %2$s",
+ "%3$s shared calendar %2$s with group %1$s" : "%3$s se skupinou %1$s začal(a) sdílet kalendář %2$s",
+ "You unshared calendar %2$s from group %1$s" : "Se skupinou %1$s jste přestal(a) sdílet kalendář %2$s",
+ "%3$s unshared calendar %2$s from group %1$s" : "%3$s přestal ve skupině %1$s sdílet kalendář %2$s",
+ "%1$s created event %3$s in calendar %2$s" : "%1$s v kalendáři %2$s vytvořil událost %3$s",
+ "You created event %3$s in calendar %2$s" : "V kalendáři %2$s jste vytvořil(a) událost %3$s",
+ "%1$s deleted event %3$s from calendar %2$s" : "%1$s z kalendáře %2$s smazal(a) událost %3$s",
+ "You deleted event %3$s from calendar %2$s" : "V kalendáři %2$s jste smazal(a) událost %3$s",
+ "%1$s updated event %3$s in calendar %2$s" : "%1$s v kalendáři %2$s aktualizoval(a) událost %3$s",
+ "You updated event %3$s in calendar %2$s" : "Aktualizoval(a) jste událost %3$s v kalendáři %2$s",
+ "%1$s created todo %3$s in list %2$s" : "%1$s v seznamu %2$s vytvořil(a) úkol %3$s",
+ "You created todo %3$s in list %2$s" : "V seznamu %2$s jste vytvořil(a) úkol %3$s",
+ "%1$s deleted todo %3$s from list %2$s" : "%1$s ze seznamu %2$s smazal(a) úkol %3$s",
+ "You deleted todo %3$s from list %2$s" : "Ze seznamu %2$s jste odstranil(a) úkol %3$s",
+ "%1$s updated todo %3$s in list %2$s" : "%1$s v seznamu %2$s aktualizoval(a) úkol %3$s",
+ "You updated todo %3$s in list %2$s" : "Aktualizoval(a) jste úkol %3$s v seznamu %2$s",
+ "%1$s solved todo %3$s in list %2$s" : "%1$s v seznamu %2$s vyřešil(a) úkol %3$s",
+ "You solved todo %3$s in list %2$s" : "Vyřešil(a) jste úkol %3$s v seznamu %2$s",
+ "%1$s reopened todo %3$s in list %2$s" : "%1$s znovu otevřel úkol %3$s v seznamu %2$s",
+ "You reopened todo %3$s in list %2$s" : "Znovu jste otevřel(a) úkol %3$s v seznamu %2$s",
+ "Calendar" : "Kalendář",
+ "Todos" : "Úkoly",
"Contact birthdays" : "Narozeniny kontaktů",
"Personal" : "Osobní",
"Contacts" : "Kontakty",
diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js
index 0c010813cd8..bde1cce5356 100644
--- a/apps/dav/l10n/fr.js
+++ b/apps/dav/l10n/fr.js
@@ -1,6 +1,44 @@
OC.L10N.register(
"dav",
{
+ "A <strong>calendar</strong> was modified" : "Un <strong>agenda</strong> a été modifié",
+ "A calendar <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié",
+ "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée",
+ "%1$s created calendar %2$s" : "%1$s a créé l'agenda %2$s",
+ "You created calendar %2$s" : "Vous avez créé l'agenda %2$s",
+ "%1$s deleted calendar %2$s" : " %1$s a supprimé l'agenda %2$s ",
+ "You deleted calendar %2$s" : "Vous avez supprimé l'agenda %2$s",
+ "%1$s updated calendar %2$s" : "%1$s a mis à jour l'agenda %2$s",
+ "You updated calendar %2$s" : "Vous avez mis à jour l'agenda %2$s",
+ "%1$s shared calendar %2$s with you" : "%1$s a partagé l'agenda %2$s avec vous",
+ "You shared calendar %2$s with %1$s" : "Vous avez partagé l'agenda %2$s avec %1$s",
+ "%3$s shared calendar %2$s with %1$s" : "%3$s a partagé l'agenda %2$s avec %1$s",
+ "%1$s unshared calendar %2$s from you" : "%1$s a cessé de partager l'agenda %2$s avec vous",
+ "You unshared calendar %2$s from %1$s" : "Vous avez cessé de partager l'agenda %2$s avec %1$s",
+ "%3$s unshared calendar %2$s from %1$s" : "%3$s a cessé de partager l'agenda %2$s avec %1$s",
+ "%1$s unshared calendar %2$s from themselves" : "%1$s a cessé de partager l'agenda %2$s avec lui-même",
+ "You shared calendar %2$s with group %1$s" : "Vous avez partagé l'agenda %2$s avec le groupe %1$s",
+ "%3$s shared calendar %2$s with group %1$s" : "%3$s a partagé l'agenda %2$s avec le groupe %1$s",
+ "You unshared calendar %2$s from group %1$s" : "Vous avez cessé de partager l'agenda %2$s avec le groupe %1$s",
+ "%3$s unshared calendar %2$s from group %1$s" : "%3$s a cessé de partager l'agenda %2$s avec le groupe %1$s",
+ "%1$s created event %3$s in calendar %2$s" : "%1$s a créé l'évènement %3$s dans l'agenda %2$s",
+ "You created event %3$s in calendar %2$s" : "Vous avez créé l'évènement %3$s dans l'agenda %2$s",
+ "%1$s deleted event %3$s from calendar %2$s" : "%1$s a supprimé l'évènement %3$s de l'agenda %2$s",
+ "You deleted event %3$s from calendar %2$s" : "Vous avez supprimé l'évènement %3$s de l'agenda %2$s",
+ "%1$s updated event %3$s in calendar %2$s" : "%1$s a mis à jour l'évènement %3$s dans l'agenda %2$s",
+ "You updated event %3$s in calendar %2$s" : "Vous avez mis à jour l'évènement %3$s dans l'agenda %2$s",
+ "%1$s created todo %3$s in list %2$s" : "%1$s a créé la tâche %3$s dans la liste %2$s",
+ "You created todo %3$s in list %2$s" : "Vous avez créé la tâche %3$s dans la liste %2$s",
+ "%1$s deleted todo %3$s from list %2$s" : "%1$s a supprimé la tâche %3$s de la liste %2$s",
+ "You deleted todo %3$s from list %2$s" : "Vous avez supprimé la tâche %3$s de la liste %2$s",
+ "%1$s updated todo %3$s in list %2$s" : "%1$s a mis à jour la tâche %3$s de la liste %2$s",
+ "You updated todo %3$s in list %2$s" : "Vous avez mis à jour la tâche %3$s de la liste %2$s",
+ "%1$s solved todo %3$s in list %2$s" : "%1$s a terminé la tâche %3$s de la liste %2$s",
+ "You solved todo %3$s in list %2$s" : "Vous avez terminé la tâche %3$s de la liste %2$s",
+ "%1$s reopened todo %3$s in list %2$s" : "%1$s a réouvert la tâche %3$s de la liste %2$s",
+ "You reopened todo %3$s in list %2$s" : "Vous avez rouvert la tâche %3$s de la liste %2$s",
+ "Calendar" : "Agenda",
+ "Todos" : "Tâches",
"Contact birthdays" : "Anniversaires des contacts",
"Personal" : "Personnel",
"Contacts" : "Contacts",
diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json
index c83b1ef5279..18b8115600f 100644
--- a/apps/dav/l10n/fr.json
+++ b/apps/dav/l10n/fr.json
@@ -1,4 +1,42 @@
{ "translations": {
+ "A <strong>calendar</strong> was modified" : "Un <strong>agenda</strong> a été modifié",
+ "A calendar <strong>event</strong> was modified" : "Un <strong>événement</strong> de l'agenda a été modifié",
+ "A calendar <strong>todo</strong> was modified" : "Une <strong>liste de tâches</strong> de l'agenda a été modifiée",
+ "%1$s created calendar %2$s" : "%1$s a créé l'agenda %2$s",
+ "You created calendar %2$s" : "Vous avez créé l'agenda %2$s",
+ "%1$s deleted calendar %2$s" : " %1$s a supprimé l'agenda %2$s ",
+ "You deleted calendar %2$s" : "Vous avez supprimé l'agenda %2$s",
+ "%1$s updated calendar %2$s" : "%1$s a mis à jour l'agenda %2$s",
+ "You updated calendar %2$s" : "Vous avez mis à jour l'agenda %2$s",
+ "%1$s shared calendar %2$s with you" : "%1$s a partagé l'agenda %2$s avec vous",
+ "You shared calendar %2$s with %1$s" : "Vous avez partagé l'agenda %2$s avec %1$s",
+ "%3$s shared calendar %2$s with %1$s" : "%3$s a partagé l'agenda %2$s avec %1$s",
+ "%1$s unshared calendar %2$s from you" : "%1$s a cessé de partager l'agenda %2$s avec vous",
+ "You unshared calendar %2$s from %1$s" : "Vous avez cessé de partager l'agenda %2$s avec %1$s",
+ "%3$s unshared calendar %2$s from %1$s" : "%3$s a cessé de partager l'agenda %2$s avec %1$s",
+ "%1$s unshared calendar %2$s from themselves" : "%1$s a cessé de partager l'agenda %2$s avec lui-même",
+ "You shared calendar %2$s with group %1$s" : "Vous avez partagé l'agenda %2$s avec le groupe %1$s",
+ "%3$s shared calendar %2$s with group %1$s" : "%3$s a partagé l'agenda %2$s avec le groupe %1$s",
+ "You unshared calendar %2$s from group %1$s" : "Vous avez cessé de partager l'agenda %2$s avec le groupe %1$s",
+ "%3$s unshared calendar %2$s from group %1$s" : "%3$s a cessé de partager l'agenda %2$s avec le groupe %1$s",
+ "%1$s created event %3$s in calendar %2$s" : "%1$s a créé l'évènement %3$s dans l'agenda %2$s",
+ "You created event %3$s in calendar %2$s" : "Vous avez créé l'évènement %3$s dans l'agenda %2$s",
+ "%1$s deleted event %3$s from calendar %2$s" : "%1$s a supprimé l'évènement %3$s de l'agenda %2$s",
+ "You deleted event %3$s from calendar %2$s" : "Vous avez supprimé l'évènement %3$s de l'agenda %2$s",
+ "%1$s updated event %3$s in calendar %2$s" : "%1$s a mis à jour l'évènement %3$s dans l'agenda %2$s",
+ "You updated event %3$s in calendar %2$s" : "Vous avez mis à jour l'évènement %3$s dans l'agenda %2$s",
+ "%1$s created todo %3$s in list %2$s" : "%1$s a créé la tâche %3$s dans la liste %2$s",
+ "You created todo %3$s in list %2$s" : "Vous avez créé la tâche %3$s dans la liste %2$s",
+ "%1$s deleted todo %3$s from list %2$s" : "%1$s a supprimé la tâche %3$s de la liste %2$s",
+ "You deleted todo %3$s from list %2$s" : "Vous avez supprimé la tâche %3$s de la liste %2$s",
+ "%1$s updated todo %3$s in list %2$s" : "%1$s a mis à jour la tâche %3$s de la liste %2$s",
+ "You updated todo %3$s in list %2$s" : "Vous avez mis à jour la tâche %3$s de la liste %2$s",
+ "%1$s solved todo %3$s in list %2$s" : "%1$s a terminé la tâche %3$s de la liste %2$s",
+ "You solved todo %3$s in list %2$s" : "Vous avez terminé la tâche %3$s de la liste %2$s",
+ "%1$s reopened todo %3$s in list %2$s" : "%1$s a réouvert la tâche %3$s de la liste %2$s",
+ "You reopened todo %3$s in list %2$s" : "Vous avez rouvert la tâche %3$s de la liste %2$s",
+ "Calendar" : "Agenda",
+ "Todos" : "Tâches",
"Contact birthdays" : "Anniversaires des contacts",
"Personal" : "Personnel",
"Contacts" : "Contacts",
diff --git a/apps/dav/l10n/it.js b/apps/dav/l10n/it.js
index 2265d7eb74b..483404492f0 100644
--- a/apps/dav/l10n/it.js
+++ b/apps/dav/l10n/it.js
@@ -2,8 +2,8 @@ OC.L10N.register(
"dav",
{
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> è stato modificato",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> di calendario è stato modificato",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stato modificata",
+ "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata",
"%1$s created calendar %2$s" : "%1$s ha creato il calendario %2$s",
"You created calendar %2$s" : "Hai creato il calendario %2$s",
"%1$s deleted calendar %2$s" : "%1$s ha eliminato il calendario %2$s",
@@ -13,14 +13,14 @@ OC.L10N.register(
"%1$s shared calendar %2$s with you" : "%1$s ha condiviso il calendario %2$s con te",
"You shared calendar %2$s with %1$s" : "Hai condiviso il calendario %2$s con %1$s",
"%3$s shared calendar %2$s with %1$s" : "%3$s ha condiviso il calendario %2$s con %1$s",
- "%1$s unshared calendar %2$s from you" : "%1$s ha rimosso la condivisione %2$s con te",
+ "%1$s unshared calendar %2$s from you" : "%1$s ha rimosso la condivisione del calendario %2$s con te",
"You unshared calendar %2$s from %1$s" : "Hai rimosso la condivisione del calendario %2$s da %1$s",
- "%3$s unshared calendar %2$s from %1$s" : "%3$s ha rimosso la condivisione %2$s con %1$s",
- "%1$s unshared calendar %2$s from themselves" : "%1$s ha rimosso la condivisione %2$s con se stesso",
+ "%3$s unshared calendar %2$s from %1$s" : "%3$s ha rimosso la condivisione del calendario %2$s con %1$s",
+ "%1$s unshared calendar %2$s from themselves" : "%1$s ha rimosso la condivisione del calendario %2$s con se stesso",
"You shared calendar %2$s with group %1$s" : "Hai condiviso il calendario %2$s con il gruppo %1$s",
"%3$s shared calendar %2$s with group %1$s" : "%3$s ha condiviso il calendario %2$s con il gruppo %1$s",
"You unshared calendar %2$s from group %1$s" : "Hai rimosso la condivisione del calendario %2$s con il gruppo %1$s",
- "%3$s unshared calendar %2$s from group %1$s" : "%3$s ha rimosso la condivisione %2$s con il gruppo %1$s",
+ "%3$s unshared calendar %2$s from group %1$s" : "%3$s ha rimosso la condivisione del calendario %2$s con il gruppo %1$s",
"%1$s created event %3$s in calendar %2$s" : "%1$s ha creato l'evento %3$s nel calendario %2$s",
"You created event %3$s in calendar %2$s" : "Hai creato l'evento %3$s nel calendario %2$s",
"%1$s deleted event %3$s from calendar %2$s" : "%1$s ha eliminato l'evento %3$s dal calendario %2$s",
diff --git a/apps/dav/l10n/it.json b/apps/dav/l10n/it.json
index d1aa791dabe..2ea2380107b 100644
--- a/apps/dav/l10n/it.json
+++ b/apps/dav/l10n/it.json
@@ -1,7 +1,7 @@
{ "translations": {
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> è stato modificato",
- "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> di calendario è stato modificato",
- "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stato modificata",
+ "A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario è stato modificato",
+ "A calendar <strong>todo</strong> was modified" : "Una <strong>cosa da fare</strong> del calendario è stata modificata",
"%1$s created calendar %2$s" : "%1$s ha creato il calendario %2$s",
"You created calendar %2$s" : "Hai creato il calendario %2$s",
"%1$s deleted calendar %2$s" : "%1$s ha eliminato il calendario %2$s",
@@ -11,14 +11,14 @@
"%1$s shared calendar %2$s with you" : "%1$s ha condiviso il calendario %2$s con te",
"You shared calendar %2$s with %1$s" : "Hai condiviso il calendario %2$s con %1$s",
"%3$s shared calendar %2$s with %1$s" : "%3$s ha condiviso il calendario %2$s con %1$s",
- "%1$s unshared calendar %2$s from you" : "%1$s ha rimosso la condivisione %2$s con te",
+ "%1$s unshared calendar %2$s from you" : "%1$s ha rimosso la condivisione del calendario %2$s con te",
"You unshared calendar %2$s from %1$s" : "Hai rimosso la condivisione del calendario %2$s da %1$s",
- "%3$s unshared calendar %2$s from %1$s" : "%3$s ha rimosso la condivisione %2$s con %1$s",
- "%1$s unshared calendar %2$s from themselves" : "%1$s ha rimosso la condivisione %2$s con se stesso",
+ "%3$s unshared calendar %2$s from %1$s" : "%3$s ha rimosso la condivisione del calendario %2$s con %1$s",
+ "%1$s unshared calendar %2$s from themselves" : "%1$s ha rimosso la condivisione del calendario %2$s con se stesso",
"You shared calendar %2$s with group %1$s" : "Hai condiviso il calendario %2$s con il gruppo %1$s",
"%3$s shared calendar %2$s with group %1$s" : "%3$s ha condiviso il calendario %2$s con il gruppo %1$s",
"You unshared calendar %2$s from group %1$s" : "Hai rimosso la condivisione del calendario %2$s con il gruppo %1$s",
- "%3$s unshared calendar %2$s from group %1$s" : "%3$s ha rimosso la condivisione %2$s con il gruppo %1$s",
+ "%3$s unshared calendar %2$s from group %1$s" : "%3$s ha rimosso la condivisione del calendario %2$s con il gruppo %1$s",
"%1$s created event %3$s in calendar %2$s" : "%1$s ha creato l'evento %3$s nel calendario %2$s",
"You created event %3$s in calendar %2$s" : "Hai creato l'evento %3$s nel calendario %2$s",
"%1$s deleted event %3$s from calendar %2$s" : "%1$s ha eliminato l'evento %3$s dal calendario %2$s",
diff --git a/apps/dav/l10n/pt_BR.js b/apps/dav/l10n/pt_BR.js
new file mode 100644
index 00000000000..111947f8c0a
--- /dev/null
+++ b/apps/dav/l10n/pt_BR.js
@@ -0,0 +1,49 @@
+OC.L10N.register(
+ "dav",
+ {
+ "A <strong>calendar</strong> was modified" : "Um <strong> calendário</strong> foi modificado",
+ "A calendar <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado",
+ "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada",
+ "%1$s created calendar %2$s" : "%1$s calendário criado %2$s",
+ "You created calendar %2$s" : "Voce criou um calendário %2$s",
+ "%1$s deleted calendar %2$s" : "%1$s calendário deletado %2$s",
+ "You deleted calendar %2$s" : "Voce deletou um calendário %2$s",
+ "%1$s updated calendar %2$s" : "%1$s calendário atualizado %2$s",
+ "You updated calendar %2$s" : "Voce atualizou o calendário %2$s",
+ "%1$s shared calendar %2$s with you" : "%1$s compartilhou o calendário %2$s com voce",
+ "You shared calendar %2$s with %1$s" : "Voce compartilhou o calendário %2$s com %1$s",
+ "%3$s shared calendar %2$s with %1$s" : "%3$s compartilhou o calendário %2$s com %1$s",
+ "%1$s unshared calendar %2$s from you" : "%1$s descompartilhou o calendário %2$s de voce",
+ "You unshared calendar %2$s from %1$s" : "Voce descompartilhou o calendário %2$s de %1$s",
+ "%3$s unshared calendar %2$s from %1$s" : "%3$s descompartilhou o calendário %2$s de %1$s",
+ "%1$s unshared calendar %2$s from themselves" : "%1$s descompartilhou o calendário %2$s de si mesmos",
+ "You shared calendar %2$s with group %1$s" : "Voce compartilhou o calendário %2$s com o grupo %1$s",
+ "%3$s shared calendar %2$s with group %1$s" : "%3$s compartilhou o calendário %2$s com o grupo %1$s",
+ "You unshared calendar %2$s from group %1$s" : "Voce descompartilhou o calendário %2$s do grupo %1$s",
+ "%3$s unshared calendar %2$s from group %1$s" : "%3$s descompartilhou o calendário %2$s do grupo %1$s",
+ "%1$s created event %3$s in calendar %2$s" : "%1$s criou um evento %3$s no calendário %2$s",
+ "You created event %3$s in calendar %2$s" : "Voce criou um evento %3$s no calendário %2$s",
+ "%1$s deleted event %3$s from calendar %2$s" : "%1$s deletou o evento %3$s do calendário %2$s",
+ "You deleted event %3$s from calendar %2$s" : "Voce deletou o evento %3$s do calendário %2$s",
+ "%1$s updated event %3$s in calendar %2$s" : "%1$s atualizou o evento %3$s no calendário %2$s",
+ "You updated event %3$s in calendar %2$s" : "Voce atualizou o evento %3$s no calendário %2$s",
+ "%1$s created todo %3$s in list %2$s" : "%1$s criou a tarefa %3$s na lista %2$s",
+ "You created todo %3$s in list %2$s" : "Voce criou uma tarefa %3$s na lista %2$s",
+ "%1$s deleted todo %3$s from list %2$s" : "%1$s deletou a tarefa %3$s da lista %2$s",
+ "You deleted todo %3$s from list %2$s" : "Voce deletou a tarefa %3$s da lista %2$s",
+ "%1$s updated todo %3$s in list %2$s" : "%1$s atualizou a tarefa %3$s na lista %2$s",
+ "You updated todo %3$s in list %2$s" : "Voce atualizou a tarefa %3$s na lista %2$s",
+ "%1$s solved todo %3$s in list %2$s" : "%1$s resolveu a tarefa %3$s na lista %2$s",
+ "You solved todo %3$s in list %2$s" : "Voce resolveu a tarefa %3$s na lista %2$s",
+ "%1$s reopened todo %3$s in list %2$s" : "%1$s reabriu a tarefa %3$s na lista %2$s",
+ "You reopened todo %3$s in list %2$s" : "Voce reabriu a tarefa %3$s na lista %2$s",
+ "Calendar" : "Calendário",
+ "Todos" : "Tarefas",
+ "Contact birthdays" : "Aniversário dos contatos",
+ "Personal" : "Pessoal",
+ "Contacts" : "Contatos",
+ "Technical details" : "Detalhes técnicos",
+ "Remote Address: %s" : "Endereço remoto: %s",
+ "Request ID: %s" : "ID do solicitante: %s"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/dav/l10n/pt_BR.json b/apps/dav/l10n/pt_BR.json
new file mode 100644
index 00000000000..2c69ebe2282
--- /dev/null
+++ b/apps/dav/l10n/pt_BR.json
@@ -0,0 +1,47 @@
+{ "translations": {
+ "A <strong>calendar</strong> was modified" : "Um <strong> calendário</strong> foi modificado",
+ "A calendar <strong>event</strong> was modified" : "Um <strong>evento</strong> do calendário foi modificado",
+ "A calendar <strong>todo</strong> was modified" : "Uma <strong>tarefa</strong> do calendário foi modificada",
+ "%1$s created calendar %2$s" : "%1$s calendário criado %2$s",
+ "You created calendar %2$s" : "Voce criou um calendário %2$s",
+ "%1$s deleted calendar %2$s" : "%1$s calendário deletado %2$s",
+ "You deleted calendar %2$s" : "Voce deletou um calendário %2$s",
+ "%1$s updated calendar %2$s" : "%1$s calendário atualizado %2$s",
+ "You updated calendar %2$s" : "Voce atualizou o calendário %2$s",
+ "%1$s shared calendar %2$s with you" : "%1$s compartilhou o calendário %2$s com voce",
+ "You shared calendar %2$s with %1$s" : "Voce compartilhou o calendário %2$s com %1$s",
+ "%3$s shared calendar %2$s with %1$s" : "%3$s compartilhou o calendário %2$s com %1$s",
+ "%1$s unshared calendar %2$s from you" : "%1$s descompartilhou o calendário %2$s de voce",
+ "You unshared calendar %2$s from %1$s" : "Voce descompartilhou o calendário %2$s de %1$s",
+ "%3$s unshared calendar %2$s from %1$s" : "%3$s descompartilhou o calendário %2$s de %1$s",
+ "%1$s unshared calendar %2$s from themselves" : "%1$s descompartilhou o calendário %2$s de si mesmos",
+ "You shared calendar %2$s with group %1$s" : "Voce compartilhou o calendário %2$s com o grupo %1$s",
+ "%3$s shared calendar %2$s with group %1$s" : "%3$s compartilhou o calendário %2$s com o grupo %1$s",
+ "You unshared calendar %2$s from group %1$s" : "Voce descompartilhou o calendário %2$s do grupo %1$s",
+ "%3$s unshared calendar %2$s from group %1$s" : "%3$s descompartilhou o calendário %2$s do grupo %1$s",
+ "%1$s created event %3$s in calendar %2$s" : "%1$s criou um evento %3$s no calendário %2$s",
+ "You created event %3$s in calendar %2$s" : "Voce criou um evento %3$s no calendário %2$s",
+ "%1$s deleted event %3$s from calendar %2$s" : "%1$s deletou o evento %3$s do calendário %2$s",
+ "You deleted event %3$s from calendar %2$s" : "Voce deletou o evento %3$s do calendário %2$s",
+ "%1$s updated event %3$s in calendar %2$s" : "%1$s atualizou o evento %3$s no calendário %2$s",
+ "You updated event %3$s in calendar %2$s" : "Voce atualizou o evento %3$s no calendário %2$s",
+ "%1$s created todo %3$s in list %2$s" : "%1$s criou a tarefa %3$s na lista %2$s",
+ "You created todo %3$s in list %2$s" : "Voce criou uma tarefa %3$s na lista %2$s",
+ "%1$s deleted todo %3$s from list %2$s" : "%1$s deletou a tarefa %3$s da lista %2$s",
+ "You deleted todo %3$s from list %2$s" : "Voce deletou a tarefa %3$s da lista %2$s",
+ "%1$s updated todo %3$s in list %2$s" : "%1$s atualizou a tarefa %3$s na lista %2$s",
+ "You updated todo %3$s in list %2$s" : "Voce atualizou a tarefa %3$s na lista %2$s",
+ "%1$s solved todo %3$s in list %2$s" : "%1$s resolveu a tarefa %3$s na lista %2$s",
+ "You solved todo %3$s in list %2$s" : "Voce resolveu a tarefa %3$s na lista %2$s",
+ "%1$s reopened todo %3$s in list %2$s" : "%1$s reabriu a tarefa %3$s na lista %2$s",
+ "You reopened todo %3$s in list %2$s" : "Voce reabriu a tarefa %3$s na lista %2$s",
+ "Calendar" : "Calendário",
+ "Todos" : "Tarefas",
+ "Contact birthdays" : "Aniversário dos contatos",
+ "Personal" : "Pessoal",
+ "Contacts" : "Contatos",
+ "Technical details" : "Detalhes técnicos",
+ "Remote Address: %s" : "Endereço remoto: %s",
+ "Request ID: %s" : "ID do solicitante: %s"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php
index c777f5e5a35..844e0780ffb 100644
--- a/apps/dav/lib/AppInfo/Application.php
+++ b/apps/dav/lib/AppInfo/Application.php
@@ -33,6 +33,7 @@ use OCA\DAV\CardDAV\SyncService;
use OCA\DAV\HookManager;
use \OCP\AppFramework\App;
use OCP\Contacts\IManager;
+use OCP\IUser;
use Symfony\Component\EventDispatcher\GenericEvent;
class Application extends App {
@@ -65,6 +66,16 @@ class Application extends App {
$hm = $this->getContainer()->query(HookManager::class);
$hm->setup();
+ $dispatcher = $this->getContainer()->getServer()->getEventDispatcher();
+
+ // first time login event setup
+ $dispatcher->addListener(IUser::class . '::firstLogin', function ($event) use ($hm) {
+ if ($event instanceof GenericEvent) {
+ $hm->firstLogin($event->getSubject());
+ }
+ });
+
+ // carddav/caldav sync event setup
$listener = function($event) {
if ($event instanceof GenericEvent) {
/** @var BirthdayService $b */
@@ -77,7 +88,6 @@ class Application extends App {
}
};
- $dispatcher = $this->getContainer()->getServer()->getEventDispatcher();
$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::createCard', $listener);
$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $listener);
$dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', function($event) {
diff --git a/apps/dav/lib/CalDAV/Activity/Backend.php b/apps/dav/lib/CalDAV/Activity/Backend.php
index 6cf09f6de46..6a557fef7bd 100644
--- a/apps/dav/lib/CalDAV/Activity/Backend.php
+++ b/apps/dav/lib/CalDAV/Activity/Backend.php
@@ -112,7 +112,7 @@ class Backend {
$event = $this->activityManager->generateEvent();
$event->setApp('dav')
- ->setObject(Extension::CALENDAR, $calendarData['id'])
+ ->setObject(Extension::CALENDAR, (int) $calendarData['id'])
->setType(Extension::CALENDAR)
->setAuthor($currentUser);
@@ -162,7 +162,7 @@ class Backend {
$event = $this->activityManager->generateEvent();
$event->setApp('dav')
- ->setObject(Extension::CALENDAR, $calendarData['id'])
+ ->setObject(Extension::CALENDAR, (int) $calendarData['id'])
->setType(Extension::CALENDAR)
->setAuthor($currentUser);
@@ -387,7 +387,7 @@ class Backend {
$event = $this->activityManager->generateEvent();
$event->setApp('dav')
- ->setObject(Extension::CALENDAR, $calendarData['id'])
+ ->setObject(Extension::CALENDAR, (int) $calendarData['id'])
->setType($object['type'] === 'event' ? Extension::CALENDAR_EVENT : Extension::CALENDAR_TODO)
->setAuthor($currentUser);
diff --git a/apps/dav/lib/CalDAV/BirthdayService.php b/apps/dav/lib/CalDAV/BirthdayService.php
index bf26aec5377..104eec6b496 100644
--- a/apps/dav/lib/CalDAV/BirthdayService.php
+++ b/apps/dav/lib/CalDAV/BirthdayService.php
@@ -1,10 +1,12 @@
<?php
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @copyright Copyright (c) 2016, Georg Ehrke
*
* @author Achim Königs <garfonso@tratschtante.de>
* @author Robin Appelman <robin@icewind.nl>
* @author Thomas Müller <thomas.mueller@tmit.eu>
+ * @author Georg Ehrke <georg@nextcloud.com>
*
* @license AGPL-3.0
*
@@ -147,6 +149,8 @@ class BirthdayService {
} catch (Exception $e) {
return null;
}
+
+ $summary = $title . ' (' . $summarySymbol . $date->format('Y') . ')';
$vCal = new VCalendar();
$vCal->VERSION = '2.0';
$vEvent = $vCal->createComponent('VEVENT');
@@ -163,7 +167,7 @@ class BirthdayService {
$vEvent->DTEND['VALUE'] = 'DATE';
$vEvent->{'UID'} = $doc->UID;
$vEvent->{'RRULE'} = 'FREQ=YEARLY';
- $vEvent->{'SUMMARY'} = $title . ' (' . $summarySymbol . $date->format('Y') . ')';
+ $vEvent->{'SUMMARY'} = $summary;
$vEvent->{'TRANSP'} = 'TRANSPARENT';
$alarm = $vCal->createComponent('VALARM');
$alarm->add($vCal->createProperty('TRIGGER', '-PT0M', ['VALUE' => 'DURATION']));
diff --git a/apps/dav/lib/Connector/Sabre/Auth.php b/apps/dav/lib/Connector/Sabre/Auth.php
index a35eed88073..95222dafec9 100644
--- a/apps/dav/lib/Connector/Sabre/Auth.php
+++ b/apps/dav/lib/Connector/Sabre/Auth.php
@@ -159,6 +159,7 @@ class Auth extends AbstractBasic {
} catch (Exception $e) {
$class = get_class($e);
$msg = $e->getMessage();
+ \OC::$server->getLogger()->logException($e);
throw new ServiceUnavailable("$class: $msg");
}
}
diff --git a/apps/dav/lib/Connector/Sabre/FilesPlugin.php b/apps/dav/lib/Connector/Sabre/FilesPlugin.php
index 539e22296f2..59b326243ee 100644
--- a/apps/dav/lib/Connector/Sabre/FilesPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/FilesPlugin.php
@@ -115,7 +115,6 @@ class FilesPlugin extends ServerPlugin {
/**
* @param Tree $tree
- * @param View $view
* @param IConfig $config
* @param IRequest $request
* @param IPreview $previewManager
@@ -123,14 +122,12 @@ class FilesPlugin extends ServerPlugin {
* @param bool $downloadAttachment
*/
public function __construct(Tree $tree,
- View $view,
IConfig $config,
IRequest $request,
IPreview $previewManager,
$isPublic = false,
$downloadAttachment = true) {
$this->tree = $tree;
- $this->fileView = $view;
$this->config = $config;
$this->request = $request;
$this->isPublic = $isPublic;
diff --git a/apps/dav/lib/Connector/Sabre/ServerFactory.php b/apps/dav/lib/Connector/Sabre/ServerFactory.php
index 6d9f9b1bc8b..24c93ee571d 100644
--- a/apps/dav/lib/Connector/Sabre/ServerFactory.php
+++ b/apps/dav/lib/Connector/Sabre/ServerFactory.php
@@ -153,7 +153,6 @@ class ServerFactory {
$server->addPlugin(
new \OCA\DAV\Connector\Sabre\FilesPlugin(
$objectTree,
- $view,
$this->config,
$this->request,
$this->previewManager,
diff --git a/apps/dav/lib/Connector/Sabre/SharesPlugin.php b/apps/dav/lib/Connector/Sabre/SharesPlugin.php
index 56d76e66184..33e79364758 100644
--- a/apps/dav/lib/Connector/Sabre/SharesPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/SharesPlugin.php
@@ -67,6 +67,8 @@ class SharesPlugin extends \Sabre\DAV\ServerPlugin {
*/
private $cachedShareTypes;
+ private $cachedFolders = [];
+
/**
* @param \Sabre\DAV\Tree $tree tree
* @param IUserSession $userSession user session
@@ -143,24 +145,18 @@ class SharesPlugin extends \Sabre\DAV\ServerPlugin {
false
);
- $children = $node->getDirectoryListing();
+ $shareTypesByFileId = [];
- $values = array_map(function (\OCP\Files\Node $node) use ($shares) {
- /** @var IShare[] $shares */
- $shares = (isset($shares[$node->getId()])) ? $shares[$node->getId()] : [];
+ foreach($shares as $fileId => $sharesForFile) {
$types = array_map(function(IShare $share) {
return $share->getShareType();
- }, $shares);
+ }, $sharesForFile);
$types = array_unique($types);
sort($types);
- return $types;
- }, $children);
-
- $keys = array_map(function (\OCP\Files\Node $node) {
- return $node->getId();
- }, $children);
+ $shareTypesByFileId[$fileId] = $types;
+ }
- return array_combine($keys, $values);
+ return $shareTypesByFileId;
}
/**
@@ -185,6 +181,7 @@ class SharesPlugin extends \Sabre\DAV\ServerPlugin {
$folderNode = $this->userFolder->get($sabreNode->getPath());
$childShares = $this->getSharesTypesInFolder($folderNode);
+ $this->cachedFolders[] = $sabreNode->getPath();
$this->cachedShareTypes[$folderNode->getId()] = $this->getShareTypes($folderNode);
foreach ($childShares as $id => $shares) {
$this->cachedShareTypes[$id] = $shares;
@@ -195,8 +192,17 @@ class SharesPlugin extends \Sabre\DAV\ServerPlugin {
if (isset($this->cachedShareTypes[$sabreNode->getId()])) {
$shareTypes = $this->cachedShareTypes[$sabreNode->getId()];
} else {
- $node = $this->userFolder->get($sabreNode->getPath());
- $shareTypes = $this->getShareTypes($node);
+ list($parentPath,) = \Sabre\Uri\split($sabreNode->getPath());
+ if ($parentPath === '') {
+ $parentPath = '/';
+ }
+ // if we already cached the folder this file is in we know there are no shares for this file
+ if (array_search($parentPath, $this->cachedFolders) === false) {
+ $node = $this->userFolder->get($sabreNode->getPath());
+ $shareTypes = $this->getShareTypes($node);
+ } else {
+ return [];
+ }
}
return new ShareTypeList($shareTypes);
diff --git a/apps/dav/lib/Files/Sharing/FilesDropPlugin.php b/apps/dav/lib/Files/Sharing/FilesDropPlugin.php
index ccfa452cb68..299427b1634 100644
--- a/apps/dav/lib/Files/Sharing/FilesDropPlugin.php
+++ b/apps/dav/lib/Files/Sharing/FilesDropPlugin.php
@@ -58,13 +58,13 @@ class FilesDropPlugin extends ServerPlugin {
* @return void
*/
public function initialize(\Sabre\DAV\Server $server) {
- $server->on('beforeMethod:PUT', [$this, 'beforeMethod']);
+ $server->on('beforeMethod', [$this, 'beforeMethod'], 999);
$this->enabled = false;
}
public function beforeMethod(RequestInterface $request, ResponseInterface $response){
- if (!$this->enabled) {
+ if (!$this->enabled || $request->getMethod() !== 'PUT') {
return;
}
diff --git a/apps/dav/lib/HookManager.php b/apps/dav/lib/HookManager.php
index 92aa4fce7fa..247d4b291af 100644
--- a/apps/dav/lib/HookManager.php
+++ b/apps/dav/lib/HookManager.php
@@ -78,10 +78,6 @@ class HookManager {
'changeUser',
$this,
'changeUser');
- Util::connectHook('OC_User',
- 'post_login',
- $this,
- 'postLogin');
}
public function postCreateUser($params) {
@@ -117,8 +113,7 @@ class HookManager {
$this->syncService->updateUser($user);
}
- public function postLogin($params) {
- $user = $this->userManager->get($params['uid']);
+ public function firstLogin(IUser $user = null) {
if (!is_null($user)) {
$principal = 'principals/users/' . $user->getUID();
if ($this->calDav->getCalendarsForUserCount($principal) === 0) {
diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php
index fca4d0ce209..1205d018241 100644
--- a/apps/dav/lib/Server.php
+++ b/apps/dav/lib/Server.php
@@ -171,7 +171,6 @@ class Server {
$this->server->addPlugin(
new FilesPlugin(
$this->server->tree,
- $view,
\OC::$server->getConfig(),
$this->request,
\OC::$server->getPreviewManager(),
diff --git a/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php b/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
index 8f8d02f9890..5eeb6772a60 100644
--- a/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
+++ b/apps/dav/tests/unit/CardDAV/BirthdayServiceTest.php
@@ -240,6 +240,7 @@ class BirthdayServiceTest extends TestCase {
[true, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
[true, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:someday\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
[false, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:1900-01-01\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
+ [false, "BEGIN:VCARD\r\nVERSION:3.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nBDAY:1900-12-31\r\nEND:VCARD\r\n", "Dr. Foo Bar"],
];
}
}
diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
index d4e9ce9dd3e..c6e833033d5 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FilesPluginTest.php
@@ -68,11 +68,6 @@ class FilesPluginTest extends TestCase {
private $plugin;
/**
- * @var \OC\Files\View | \PHPUnit_Framework_MockObject_MockObject
- */
- private $view;
-
- /**
* @var \OCP\IConfig | \PHPUnit_Framework_MockObject_MockObject
*/
private $config;
@@ -95,12 +90,7 @@ class FilesPluginTest extends TestCase {
$this->tree = $this->getMockBuilder('\Sabre\DAV\Tree')
->disableOriginalConstructor()
->getMock();
- $this->view = $this->getMockBuilder('\OC\Files\View')
- ->disableOriginalConstructor()
- ->getMock();
- $this->config = $this->getMockBuilder('\OCP\IConfig')
- ->disableOriginalConstructor()
- ->getMock();
+ $this->config = $this->createMock('\OCP\IConfig');
$this->config->expects($this->any())->method('getSystemValue')
->with($this->equalTo('data-fingerprint'), $this->equalTo(''))
->willReturn('my_fingerprint');
@@ -113,7 +103,6 @@ class FilesPluginTest extends TestCase {
$this->plugin = new FilesPlugin(
$this->tree,
- $this->view,
$this->config,
$this->request,
$this->previewManager
@@ -246,7 +235,6 @@ class FilesPluginTest extends TestCase {
public function testGetPublicPermissions() {
$this->plugin = new FilesPlugin(
$this->tree,
- $this->view,
$this->config,
$this->getMockBuilder('\OCP\IRequest')
->disableOriginalConstructor()
diff --git a/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
index 2b5c9f46301..54e5283c7c1 100644
--- a/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/FilesReportPluginTest.php
@@ -380,7 +380,6 @@ class FilesReportPluginTest extends \Test\TestCase {
$this->server->addPlugin(
new \OCA\DAV\Connector\Sabre\FilesPlugin(
$this->tree,
- $this->view,
$config,
$this->getMockBuilder('\OCP\IRequest')
->disableOriginalConstructor()
diff --git a/apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php b/apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php
index f22da14a0d8..1db85b1bcaf 100644
--- a/apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/RequestTest/UploadTest.php
@@ -88,6 +88,7 @@ class UploadTest extends RequestTest {
public function testUploadOverWriteWriteLocked() {
$user = $this->getUniqueID();
$view = $this->setupUser($user, 'pass');
+ $this->loginAsUser($user);
$view->file_put_contents('foo.txt', 'bar');
diff --git a/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php
index 2e17c7d0b38..9d8a66f24b6 100644
--- a/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/SharesPluginTest.php
@@ -97,7 +97,7 @@ class SharesPluginTest extends \Test\TestCase {
$sabreNode->expects($this->any())
->method('getId')
->will($this->returnValue(123));
- $sabreNode->expects($this->once())
+ $sabreNode->expects($this->any())
->method('getPath')
->will($this->returnValue('/subdir'));
@@ -155,7 +155,7 @@ class SharesPluginTest extends \Test\TestCase {
$sabreNode1->expects($this->any())
->method('getId')
->will($this->returnValue(111));
- $sabreNode1->expects($this->never())
+ $sabreNode1->expects($this->any())
->method('getPath');
$sabreNode2 = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\File')
->disableOriginalConstructor()
@@ -163,8 +163,9 @@ class SharesPluginTest extends \Test\TestCase {
$sabreNode2->expects($this->any())
->method('getId')
->will($this->returnValue(222));
- $sabreNode2->expects($this->never())
- ->method('getPath');
+ $sabreNode2->expects($this->any())
+ ->method('getPath')
+ ->will($this->returnValue('/subdir/foo'));
$sabreNode = $this->getMockBuilder('\OCA\DAV\Connector\Sabre\Directory')
->disableOriginalConstructor()
@@ -198,9 +199,6 @@ class SharesPluginTest extends \Test\TestCase {
$node2->expects($this->any())
->method('getId')
->will($this->returnValue(222));
- $node->expects($this->once())
- ->method('getDirectoryListing')
- ->will($this->returnValue([$node1, $node2]));
$this->userFolder->expects($this->once())
->method('get')
@@ -208,7 +206,7 @@ class SharesPluginTest extends \Test\TestCase {
->will($this->returnValue($node));
$dummyShares = array_map(function($type) {
- $share = $this->getMock('\OCP\Share\IShare');
+ $share = $this->getMockBuilder('\OCP\Share\IShare')->getMock();
$share->expects($this->any())
->method('getShareType')
->will($this->returnValue($type));
diff --git a/apps/dav/tests/unit/DAV/HookManagerTest.php b/apps/dav/tests/unit/DAV/HookManagerTest.php
index 5b7d4700a5f..f980e595bf9 100644
--- a/apps/dav/tests/unit/DAV/HookManagerTest.php
+++ b/apps/dav/tests/unit/DAV/HookManagerTest.php
@@ -58,7 +58,6 @@ class HookManagerTest extends TestCase {
$userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $userManager->expects($this->once())->method('get')->willReturn($user);
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $syncService */
$syncService = $this->getMockBuilder(SyncService::class)
@@ -84,7 +83,7 @@ class HookManagerTest extends TestCase {
'contacts', ['{DAV:}displayname' => 'Contacts']);
$hm = new HookManager($userManager, $syncService, $cal, $card);
- $hm->postLogin(['uid' => 'newUser']);
+ $hm->firstLogin($user);
}
public function testWithExisting() {
@@ -97,7 +96,6 @@ class HookManagerTest extends TestCase {
$userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $userManager->expects($this->once())->method('get')->willReturn($user);
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $syncService */
$syncService = $this->getMockBuilder(SyncService::class)
@@ -119,7 +117,7 @@ class HookManagerTest extends TestCase {
$card->expects($this->never())->method('createAddressBook');
$hm = new HookManager($userManager, $syncService, $cal, $card);
- $hm->postLogin(['uid' => 'newUser']);
+ $hm->firstLogin($user);
}
public function testWithBirthdayCalendar() {
@@ -132,7 +130,6 @@ class HookManagerTest extends TestCase {
$userManager = $this->getMockBuilder(IUserManager::class)
->disableOriginalConstructor()
->getMock();
- $userManager->expects($this->once())->method('get')->willReturn($user);
/** @var SyncService | \PHPUnit_Framework_MockObject_MockObject $syncService */
$syncService = $this->getMockBuilder(SyncService::class)
@@ -158,7 +155,7 @@ class HookManagerTest extends TestCase {
'contacts', ['{DAV:}displayname' => 'Contacts']);
$hm = new HookManager($userManager, $syncService, $cal, $card);
- $hm->postLogin(['uid' => 'newUser']);
+ $hm->firstLogin($user);
}
public function testDeleteCalendar() {
diff --git a/apps/encryption/appinfo/info.xml b/apps/encryption/appinfo/info.xml
index f6632b2ae92..0bb3efebf5f 100644
--- a/apps/encryption/appinfo/info.xml
+++ b/apps/encryption/appinfo/info.xml
@@ -25,7 +25,7 @@
</types>
<dependencies>
<lib>openssl</lib>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<settings>
<admin>OCA\Encryption\Settings\Admin</admin>
diff --git a/apps/encryption/l10n/de_DE.js b/apps/encryption/l10n/de_DE.js
index e4e86df505b..5580dc11a64 100644
--- a/apps/encryption/l10n/de_DE.js
+++ b/apps/encryption/l10n/de_DE.js
@@ -59,7 +59,7 @@ OC.L10N.register(
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Durch die Aktivierung dieser Option haben Sie die Möglichkeit, wieder auf Ihre verschlüsselten Dateien zugreifen zu können, wenn Sie Ihr Passwort verloren haben.",
"Enabled" : "Aktiviert",
"Disabled" : "Deaktiviert",
- "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur neuen migrieren. Bitte führen Sie 'occ encryption:migrate' aus oder kontaktieren Sie Ihren Administrator. ",
+ "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (Nextcloud <= 8.0) zur neuen migrieren. Bitte führen Sie 'occ encryption:migrate' aus oder kontaktieren Sie Ihren Administrator. ",
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ungültiger privater Schlüssel für die Verschlüsselungs-App. Bitte aktualisieren Sie Ihr privates Schlüsselpasswort, um den Zugriff auf Ihre verschlüsselten Dateien wiederherzustellen.",
"Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit",
"Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'Nextcloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hey,\n\nder Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort '%s' verschlüsselt.\n\nBitte über die Web-Oberfläche anmelden und die persönlichen Einstellungen aufrufen. Dort findet sich die Option 'Nextcloud-Basisverschlüsselungsmodul' und das Verschlüsselungspasswort kann aktualisiert werden, indem das Passwort in das Feld 'altes Login Passwort' und in das 'aktuelles Login - Passwort'-Feld eingegeben wird.\n",
diff --git a/apps/encryption/l10n/de_DE.json b/apps/encryption/l10n/de_DE.json
index 930ee8fc202..49f7a677fcc 100644
--- a/apps/encryption/l10n/de_DE.json
+++ b/apps/encryption/l10n/de_DE.json
@@ -57,7 +57,7 @@
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Durch die Aktivierung dieser Option haben Sie die Möglichkeit, wieder auf Ihre verschlüsselten Dateien zugreifen zu können, wenn Sie Ihr Passwort verloren haben.",
"Enabled" : "Aktiviert",
"Disabled" : "Deaktiviert",
- "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (ownCloud <= 8.0) zur neuen migrieren. Bitte führen Sie 'occ encryption:migrate' aus oder kontaktieren Sie Ihren Administrator. ",
+ "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Sie müssen Ihre Verschlüsselungsschlüssel von der alten Verschlüsselung (Nextcloud <= 8.0) zur neuen migrieren. Bitte führen Sie 'occ encryption:migrate' aus oder kontaktieren Sie Ihren Administrator. ",
"Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Ungültiger privater Schlüssel für die Verschlüsselungs-App. Bitte aktualisieren Sie Ihr privates Schlüsselpasswort, um den Zugriff auf Ihre verschlüsselten Dateien wiederherzustellen.",
"Encryption App is enabled and ready" : "Verschlüsselungs-App ist aktiviert und bereit",
"Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password '%s'.\n\nPlease login to the web interface, go to the section 'Nextcloud basic encryption module' of your personal settings and update your encryption password by entering this password into the 'old log-in password' field and your current login-password.\n\n" : "Hey,\n\nder Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort '%s' verschlüsselt.\n\nBitte über die Web-Oberfläche anmelden und die persönlichen Einstellungen aufrufen. Dort findet sich die Option 'Nextcloud-Basisverschlüsselungsmodul' und das Verschlüsselungspasswort kann aktualisiert werden, indem das Passwort in das Feld 'altes Login Passwort' und in das 'aktuelles Login - Passwort'-Feld eingegeben wird.\n",
diff --git a/apps/encryption/l10n/pt_BR.js b/apps/encryption/l10n/pt_BR.js
index 125961b79a8..929fdfcc342 100644
--- a/apps/encryption/l10n/pt_BR.js
+++ b/apps/encryption/l10n/pt_BR.js
@@ -34,6 +34,7 @@ OC.L10N.register(
"The share will expire on %s." : "O compartilhamento irá expirar em %s.",
"Cheers!" : "Saudações!",
"Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Olá,<br><br>o administrador habilitou criptografia-lado-servidor. Os seus arquivos foram criptografados usando a senha <strong>%s</strong>.<br><br>Por favor, faça o login para a interface da Web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua atual senha-de-login.<br><br>",
+ "Default encryption module" : "Módulo de criptografia padrão",
"Encrypt the home storage" : "Criptografar a pasta de armazenamento home",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Ativar essa opção de criptografia para todos os arquivos armazenados no armazenamento principal, caso contrário, apenas arquivos no armazenamento externo serão criptografados",
"Enable recovery key" : "Habilitar recuperação de chave",
@@ -57,6 +58,10 @@ OC.L10N.register(
"Enable password recovery:" : "Habilitar recuperação de senha:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Ativar essa opção vai permitir que você obtenha novamente acesso aos seus arquivos criptografados em caso de perda de senha",
"Enabled" : "Habilitado",
- "Disabled" : "Desabilitado"
+ "Disabled" : "Desabilitado",
+ "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Voce precisará migrar suas chaves de criptografia de uma chave antiga (Nextcloud <=8.0) para uma nova. Por favor execute 'occ encryption:migrate' ou contate seu administrador",
+ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida para criptografia do App. Por favor, atualize a senha da sua chave privada no menu de configurações pessoais para recuperar o acesso dos seus arquivos criptografamos",
+ "Encryption App is enabled and ready" : "Criptografia de App esta habilitada e pronta",
+ "Nextcloud basic encryption module" : "Módulo de criptografia básico"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/encryption/l10n/pt_BR.json b/apps/encryption/l10n/pt_BR.json
index 49fe8bb58f1..7dda34ced4c 100644
--- a/apps/encryption/l10n/pt_BR.json
+++ b/apps/encryption/l10n/pt_BR.json
@@ -32,6 +32,7 @@
"The share will expire on %s." : "O compartilhamento irá expirar em %s.",
"Cheers!" : "Saudações!",
"Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Olá,<br><br>o administrador habilitou criptografia-lado-servidor. Os seus arquivos foram criptografados usando a senha <strong>%s</strong>.<br><br>Por favor, faça o login para a interface da Web, vá para a seção 'módulo de criptografia básico' das suas definições pessoais e atualize sua senha de criptografia, inserindo esta senha no campo 'senha antiga de log-in' e sua atual senha-de-login.<br><br>",
+ "Default encryption module" : "Módulo de criptografia padrão",
"Encrypt the home storage" : "Criptografar a pasta de armazenamento home",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Ativar essa opção de criptografia para todos os arquivos armazenados no armazenamento principal, caso contrário, apenas arquivos no armazenamento externo serão criptografados",
"Enable recovery key" : "Habilitar recuperação de chave",
@@ -55,6 +56,10 @@
"Enable password recovery:" : "Habilitar recuperação de senha:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Ativar essa opção vai permitir que você obtenha novamente acesso aos seus arquivos criptografados em caso de perda de senha",
"Enabled" : "Habilitado",
- "Disabled" : "Desabilitado"
+ "Disabled" : "Desabilitado",
+ "You need to migrate your encryption keys from the old encryption (Nextcloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Voce precisará migrar suas chaves de criptografia de uma chave antiga (Nextcloud <=8.0) para uma nova. Por favor execute 'occ encryption:migrate' ou contate seu administrador",
+ "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida para criptografia do App. Por favor, atualize a senha da sua chave privada no menu de configurações pessoais para recuperar o acesso dos seus arquivos criptografamos",
+ "Encryption App is enabled and ready" : "Criptografia de App esta habilitada e pronta",
+ "Nextcloud basic encryption module" : "Módulo de criptografia básico"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/appinfo/info.xml b/apps/federatedfilesharing/appinfo/info.xml
index 984235f0851..6a414496f37 100644
--- a/apps/federatedfilesharing/appinfo/info.xml
+++ b/apps/federatedfilesharing/appinfo/info.xml
@@ -9,7 +9,7 @@
<namespace>FederatedFileSharing</namespace>
<category>other</category>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<settings>
<admin>OCA\FederatedFileSharing\Settings\Admin</admin>
diff --git a/apps/federatedfilesharing/js/settings-personal.js b/apps/federatedfilesharing/js/settings-personal.js
index f89022dc8a0..04096cb0416 100644
--- a/apps/federatedfilesharing/js/settings-personal.js
+++ b/apps/federatedfilesharing/js/settings-personal.js
@@ -20,14 +20,21 @@ $(document).ready(function() {
}
});
+ $('#fileSharingSettings .clipboardButton').tooltip({placement: 'bottom', title: t('core', 'Copy'), trigger: 'hover'});
+
// Clipboard!
var clipboard = new Clipboard('.clipboardButton');
clipboard.on('success', function(e) {
$input = $(e.trigger);
- $input.tooltip({placement: 'bottom', trigger: 'manual', title: t('core', 'Copied!')});
- $input.tooltip('show');
+ $input.tooltip('hide')
+ .attr('data-original-title', t('core', 'Copied!'))
+ .tooltip('fixTitle')
+ .tooltip({placement: 'bottom', trigger: 'manual'})
+ .tooltip('show');
_.delay(function() {
- $input.tooltip('hide');
+ $input.tooltip('hide')
+ .attr('data-original-title', t('core', 'Copy'))
+ .tooltip('fixTitle');
}, 3000);
});
clipboard.on('error', function (e) {
@@ -41,14 +48,18 @@ $(document).ready(function() {
actionMsg = t('core', 'Press Ctrl-C to copy.');
}
- $input.tooltip({
- placement: 'bottom',
- trigger: 'manual',
- title: actionMsg
- });
- $input.tooltip('show');
+ $input.tooltip('hide')
+ .attr('data-original-title', actionMsg)
+ .tooltip('fixTitle')
+ .tooltip({placement: 'bottom', trigger: 'manual'})
+ .tooltip('show');
_.delay(function () {
- $input.tooltip('hide');
+ $input.tooltip('hide')
+ .attr('data-original-title', t('core', 'Copy'))
+ .tooltip('fixTitle');
}, 3000);
});
+
+
+ $('#fileSharingSettings .hasTooltip').tooltip({placement: 'right'});
});
diff --git a/apps/federatedfilesharing/l10n/cs_CZ.js b/apps/federatedfilesharing/l10n/cs_CZ.js
index 9b2da8f77ad..b8189cb5b87 100644
--- a/apps/federatedfilesharing/l10n/cs_CZ.js
+++ b/apps/federatedfilesharing/l10n/cs_CZ.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Remote share password" : "Heslo vzdáleného sdílení",
"Cancel" : "Zrušit",
"Add remote share" : "Přidat propojené sdílení",
+ "Copy" : "Kopie",
"Copied!" : "Zkopírováno!",
"Not supported!" : "Nepodporováno!",
"Press ⌘-C to copy." : "Zmáčknout ⌘-C pro kopírování.",
@@ -26,7 +27,12 @@ OC.L10N.register(
"Sharing %s failed, because this item is already shared with %s" : "Sdílení položky %s selhalo, protože položka již je s uživatelem %s sdílena",
"Not allowed to create a federated share with the same user" : "Není povoleno vytvořit propojené sdílení s tím samým uživatelem",
"File is already shared with %s" : "Soubor je již sdílen s %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Sdílení %s selhalo, %s se nepodařilo nalézt, server pravděpodobně právě není dostupný nebo používá self-signed certifikát.",
"Could not find share" : "Nelze nalézt sdílení",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Obdržel(a) jste %3$s jako vzdálené sdílení od %1$s (jménem %2$s)",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Obdržel(a) jste {share} jako vzdálené sdílení od {user} (jménem {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Obdržel(a) jste %3$s jako vzdálené sdílení od %1$s",
+ "You received {share} as a remote share from {user}" : "Obdržel(a) jste {share} jako vzdálené sdílení od {user}",
"Accept" : "Přijmout",
"Decline" : "Zamítnout",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #Nextcloud sdruženého cloud ID, více na %s",
diff --git a/apps/federatedfilesharing/l10n/cs_CZ.json b/apps/federatedfilesharing/l10n/cs_CZ.json
index ef181ed5816..44f052e8a84 100644
--- a/apps/federatedfilesharing/l10n/cs_CZ.json
+++ b/apps/federatedfilesharing/l10n/cs_CZ.json
@@ -5,6 +5,7 @@
"Remote share password" : "Heslo vzdáleného sdílení",
"Cancel" : "Zrušit",
"Add remote share" : "Přidat propojené sdílení",
+ "Copy" : "Kopie",
"Copied!" : "Zkopírováno!",
"Not supported!" : "Nepodporováno!",
"Press ⌘-C to copy." : "Zmáčknout ⌘-C pro kopírování.",
@@ -24,7 +25,12 @@
"Sharing %s failed, because this item is already shared with %s" : "Sdílení položky %s selhalo, protože položka již je s uživatelem %s sdílena",
"Not allowed to create a federated share with the same user" : "Není povoleno vytvořit propojené sdílení s tím samým uživatelem",
"File is already shared with %s" : "Soubor je již sdílen s %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Sdílení %s selhalo, %s se nepodařilo nalézt, server pravděpodobně právě není dostupný nebo používá self-signed certifikát.",
"Could not find share" : "Nelze nalézt sdílení",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Obdržel(a) jste %3$s jako vzdálené sdílení od %1$s (jménem %2$s)",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Obdržel(a) jste {share} jako vzdálené sdílení od {user} (jménem {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Obdržel(a) jste %3$s jako vzdálené sdílení od %1$s",
+ "You received {share} as a remote share from {user}" : "Obdržel(a) jste {share} jako vzdálené sdílení od {user}",
"Accept" : "Přijmout",
"Decline" : "Zamítnout",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Sdílej se mnou pomocí mého #Nextcloud sdruženého cloud ID, více na %s",
diff --git a/apps/federatedfilesharing/l10n/de_DE.js b/apps/federatedfilesharing/l10n/de_DE.js
index ddf6c2b3ac5..677371b423c 100644
--- a/apps/federatedfilesharing/l10n/de_DE.js
+++ b/apps/federatedfilesharing/l10n/de_DE.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Remote share password" : "Passwort für die entfernte Freigabe",
"Cancel" : "Abbrechen",
"Add remote share" : "Entfernte Freigabe hinzufügen",
+ "Copy" : "Kopieren",
"Copied!" : "Kopiert!",
"Not supported!" : "Nicht unterstützt!",
"Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
diff --git a/apps/federatedfilesharing/l10n/de_DE.json b/apps/federatedfilesharing/l10n/de_DE.json
index 9d895123b8b..4451011acaa 100644
--- a/apps/federatedfilesharing/l10n/de_DE.json
+++ b/apps/federatedfilesharing/l10n/de_DE.json
@@ -5,6 +5,7 @@
"Remote share password" : "Passwort für die entfernte Freigabe",
"Cancel" : "Abbrechen",
"Add remote share" : "Entfernte Freigabe hinzufügen",
+ "Copy" : "Kopieren",
"Copied!" : "Kopiert!",
"Not supported!" : "Nicht unterstützt!",
"Press ⌘-C to copy." : "⌘-C zum Kopieren drücken.",
diff --git a/apps/federatedfilesharing/l10n/es.js b/apps/federatedfilesharing/l10n/es.js
index 296c0e1c643..33cb1c43e62 100644
--- a/apps/federatedfilesharing/l10n/es.js
+++ b/apps/federatedfilesharing/l10n/es.js
@@ -26,7 +26,9 @@ OC.L10N.register(
"Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s",
"Not allowed to create a federated share with the same user" : "No se permite crear un recurso compartido federado con el mismo usuario",
"File is already shared with %s" : "El Archivo ya está siendo compartido con %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Error al compartir %s No se pudo hallar %s, quizás haya un problema de conexión con el servidor.",
"Could not find share" : "No se ha podido encontrar el compartido",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Ha recibido \"/%3$s\" como un recurso compartido remoto de %1$s (en nombre de %2$s)",
"Accept" : "Aceptar",
"Decline" : "Denegar",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartirlo conmigo a través de mi ID Nube Federada #Nextcloud, ver %s",
diff --git a/apps/federatedfilesharing/l10n/es.json b/apps/federatedfilesharing/l10n/es.json
index 042fb08e429..7bcf62a059a 100644
--- a/apps/federatedfilesharing/l10n/es.json
+++ b/apps/federatedfilesharing/l10n/es.json
@@ -24,7 +24,9 @@
"Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s",
"Not allowed to create a federated share with the same user" : "No se permite crear un recurso compartido federado con el mismo usuario",
"File is already shared with %s" : "El Archivo ya está siendo compartido con %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Error al compartir %s No se pudo hallar %s, quizás haya un problema de conexión con el servidor.",
"Could not find share" : "No se ha podido encontrar el compartido",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Ha recibido \"/%3$s\" como un recurso compartido remoto de %1$s (en nombre de %2$s)",
"Accept" : "Aceptar",
"Decline" : "Denegar",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartirlo conmigo a través de mi ID Nube Federada #Nextcloud, ver %s",
diff --git a/apps/federatedfilesharing/l10n/fr.js b/apps/federatedfilesharing/l10n/fr.js
index d9944c775dd..bcd0d329dd8 100644
--- a/apps/federatedfilesharing/l10n/fr.js
+++ b/apps/federatedfilesharing/l10n/fr.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"federatedfilesharing",
{
- "Federated sharing" : "Federated sharing",
+ "Federated sharing" : "Partage fédéré",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Voulez-vous ajouter le partage distant {name} depuis {owner}@{remote} ?",
"Remote share" : "Partage distant",
"Remote share password" : "Mot de passe du partage distant",
@@ -26,7 +26,11 @@ OC.L10N.register(
"Sharing %s failed, because this item is already shared with %s" : "Le partage de %s a échoué car cet élément est déjà partagé avec %s",
"Not allowed to create a federated share with the same user" : "Non autorisé à créer un partage fédéré avec le même utilisateur",
"File is already shared with %s" : "Le fichier est déjà partagé avec %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Le partage de %s a échoué, impossible de trouver %s, le serveur est peut-être momentanément injoignable ou utilise un certificat auto-signé.",
"Could not find share" : "Impossible de trouver le partage",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Vous avez reçu \"%3$s\" en tant que partage distant de %1$s (de la part de %2$s)",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Vous avez reçu {share} comme partage distant de la part de {user} (de la part de {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Vous avez reçu \"%3$s\" comme partage distant de %1$s",
"You received {share} as a remote share from {user}" : "Vous avez reçu {share} comme partage distant de la part de {user}",
"Accept" : "Accepter",
"Decline" : "Refuser",
diff --git a/apps/federatedfilesharing/l10n/fr.json b/apps/federatedfilesharing/l10n/fr.json
index 3af2ca0e44d..55588ac6044 100644
--- a/apps/federatedfilesharing/l10n/fr.json
+++ b/apps/federatedfilesharing/l10n/fr.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Federated sharing" : "Federated sharing",
+ "Federated sharing" : "Partage fédéré",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Voulez-vous ajouter le partage distant {name} depuis {owner}@{remote} ?",
"Remote share" : "Partage distant",
"Remote share password" : "Mot de passe du partage distant",
@@ -24,7 +24,11 @@
"Sharing %s failed, because this item is already shared with %s" : "Le partage de %s a échoué car cet élément est déjà partagé avec %s",
"Not allowed to create a federated share with the same user" : "Non autorisé à créer un partage fédéré avec le même utilisateur",
"File is already shared with %s" : "Le fichier est déjà partagé avec %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Le partage de %s a échoué, impossible de trouver %s, le serveur est peut-être momentanément injoignable ou utilise un certificat auto-signé.",
"Could not find share" : "Impossible de trouver le partage",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Vous avez reçu \"%3$s\" en tant que partage distant de %1$s (de la part de %2$s)",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Vous avez reçu {share} comme partage distant de la part de {user} (de la part de {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Vous avez reçu \"%3$s\" comme partage distant de %1$s",
"You received {share} as a remote share from {user}" : "Vous avez reçu {share} comme partage distant de la part de {user}",
"Accept" : "Accepter",
"Decline" : "Refuser",
diff --git a/apps/federatedfilesharing/l10n/it.js b/apps/federatedfilesharing/l10n/it.js
index 02195f552e1..1f067d5524c 100644
--- a/apps/federatedfilesharing/l10n/it.js
+++ b/apps/federatedfilesharing/l10n/it.js
@@ -17,7 +17,7 @@ OC.L10N.register(
"Couldn't establish a federated share, maybe the password was wrong." : "Impossibile stabilire una condivisione federata, forse la password non è corretta.",
"Federated Share request was successful, you will receive a invitation. Check your notifications." : "La richiesta della condivisione federata è stata eseguita con successo, riceverai un invito. Controlla le tue notifiche.",
"The mountpoint name contains invalid characters." : "Il nome del punto di mount contiene caratteri non validi.",
- "Not allowed to create a federated share with the owner." : "Non è consentito di creare una condivisione federata con il proprietario.",
+ "Not allowed to create a federated share with the owner." : "Non è consentito creare una condivisione federata con il proprietario.",
"Invalid or untrusted SSL certificate" : "Certificato SSL non valido o non attendibile",
"Could not authenticate to remote share, password might be wrong" : "Impossibile autenticarsi sulla condivisione remota, la password potrebbe essere errata",
"Storage not valid" : "Archiviazione non valida",
diff --git a/apps/federatedfilesharing/l10n/it.json b/apps/federatedfilesharing/l10n/it.json
index 97b821c1cbd..30df8ca9356 100644
--- a/apps/federatedfilesharing/l10n/it.json
+++ b/apps/federatedfilesharing/l10n/it.json
@@ -15,7 +15,7 @@
"Couldn't establish a federated share, maybe the password was wrong." : "Impossibile stabilire una condivisione federata, forse la password non è corretta.",
"Federated Share request was successful, you will receive a invitation. Check your notifications." : "La richiesta della condivisione federata è stata eseguita con successo, riceverai un invito. Controlla le tue notifiche.",
"The mountpoint name contains invalid characters." : "Il nome del punto di mount contiene caratteri non validi.",
- "Not allowed to create a federated share with the owner." : "Non è consentito di creare una condivisione federata con il proprietario.",
+ "Not allowed to create a federated share with the owner." : "Non è consentito creare una condivisione federata con il proprietario.",
"Invalid or untrusted SSL certificate" : "Certificato SSL non valido o non attendibile",
"Could not authenticate to remote share, password might be wrong" : "Impossibile autenticarsi sulla condivisione remota, la password potrebbe essere errata",
"Storage not valid" : "Archiviazione non valida",
diff --git a/apps/federatedfilesharing/l10n/nl.js b/apps/federatedfilesharing/l10n/nl.js
index 746968163e1..cc14f8dead6 100644
--- a/apps/federatedfilesharing/l10n/nl.js
+++ b/apps/federatedfilesharing/l10n/nl.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Remote share password" : "Wachtwoord externe share",
"Cancel" : "Annuleren",
"Add remote share" : "Toevoegen externe share",
+ "Copy" : "Kopiëren",
"Copied!" : "Gekopieerd!",
"Not supported!" : "Niet ondersteund!",
"Press ⌘-C to copy." : "Druk op ⌘-C om te kopiëren.",
diff --git a/apps/federatedfilesharing/l10n/nl.json b/apps/federatedfilesharing/l10n/nl.json
index af1f688c6ec..62e4cb7faf6 100644
--- a/apps/federatedfilesharing/l10n/nl.json
+++ b/apps/federatedfilesharing/l10n/nl.json
@@ -5,6 +5,7 @@
"Remote share password" : "Wachtwoord externe share",
"Cancel" : "Annuleren",
"Add remote share" : "Toevoegen externe share",
+ "Copy" : "Kopiëren",
"Copied!" : "Gekopieerd!",
"Not supported!" : "Niet ondersteund!",
"Press ⌘-C to copy." : "Druk op ⌘-C om te kopiëren.",
diff --git a/apps/federatedfilesharing/l10n/pt_BR.js b/apps/federatedfilesharing/l10n/pt_BR.js
index 2740428c866..329ba96f728 100644
--- a/apps/federatedfilesharing/l10n/pt_BR.js
+++ b/apps/federatedfilesharing/l10n/pt_BR.js
@@ -26,7 +26,12 @@ OC.L10N.register(
"Sharing %s failed, because this item is already shared with %s" : "Compartilhamento %s falhou, porque este item já está compartilhado com %s",
"Not allowed to create a federated share with the same user" : "Não é permitido criar um compartilhamento associado com o mesmo usuário",
"File is already shared with %s" : "O arquivo já é compartilhado com %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Compartilhamento %s falhou, não foi possível encontrar %s, talvez o servidor esteja inacessível ou esteja sendo utilizado um certificado de auto-assinatura",
"Could not find share" : "Não foi possível encontrar o compartilhamento",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Voce recebeu \"%3$s\" como um compartilhamento remoto de %1$s ( em nome de %2$s )",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Voce recebeu {share} como um compartilhamento remoto do {user} (em nome de {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Voce recebeu \"%3$s\" como um compartilhamento remoto de %1$s",
+ "You received {share} as a remote share from {user}" : "Voce recebeu {share} como um compartilhamento resto de {user}",
"Accept" : "Aceitar",
"Decline" : "Rejeitar",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu #Nextcloud Nuvem ID Federada, veja %s",
diff --git a/apps/federatedfilesharing/l10n/pt_BR.json b/apps/federatedfilesharing/l10n/pt_BR.json
index f8aef4fad87..9e792ea3ebd 100644
--- a/apps/federatedfilesharing/l10n/pt_BR.json
+++ b/apps/federatedfilesharing/l10n/pt_BR.json
@@ -24,7 +24,12 @@
"Sharing %s failed, because this item is already shared with %s" : "Compartilhamento %s falhou, porque este item já está compartilhado com %s",
"Not allowed to create a federated share with the same user" : "Não é permitido criar um compartilhamento associado com o mesmo usuário",
"File is already shared with %s" : "O arquivo já é compartilhado com %s",
+ "Sharing %s failed, could not find %s, maybe the server is currently unreachable or uses a self-signed certificate." : "Compartilhamento %s falhou, não foi possível encontrar %s, talvez o servidor esteja inacessível ou esteja sendo utilizado um certificado de auto-assinatura",
"Could not find share" : "Não foi possível encontrar o compartilhamento",
+ "You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Voce recebeu \"%3$s\" como um compartilhamento remoto de %1$s ( em nome de %2$s )",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Voce recebeu {share} como um compartilhamento remoto do {user} (em nome de {behalf})",
+ "You received \"%3$s\" as a remote share from %1$s" : "Voce recebeu \"%3$s\" como um compartilhamento remoto de %1$s",
+ "You received {share} as a remote share from {user}" : "Voce recebeu {share} como um compartilhamento resto de {user}",
"Accept" : "Aceitar",
"Decline" : "Rejeitar",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartilhe comigo através do meu #Nextcloud Nuvem ID Federada, veja %s",
diff --git a/apps/federation/appinfo/info.xml b/apps/federation/appinfo/info.xml
index cec3f8341a9..a5eeb133d9e 100644
--- a/apps/federation/appinfo/info.xml
+++ b/apps/federation/appinfo/info.xml
@@ -9,7 +9,7 @@
<namespace>Federation</namespace>
<category>other</category>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<default_enable/>
<types>
diff --git a/apps/federation/l10n/de_DE.js b/apps/federation/l10n/de_DE.js
index 5421e2fa50c..118432b2b53 100644
--- a/apps/federation/l10n/de_DE.js
+++ b/apps/federation/l10n/de_DE.js
@@ -6,8 +6,8 @@ OC.L10N.register(
"No server to federate with found" : "Kein Server gefunden, der sich verbinden ließe",
"Could not add server" : "Konnte Server nicht hinzufügen",
"Federation" : "Federation",
- "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation erlaubt es Ihnen sich mit anderen vertrauenswürdigen Servern zu verbinden um das Benutzerverzeichnis auszutauschen. Diese Funktion wird beispielsweise für die Autovervollständigung externer Benutzer genutzt und ermöglicht das Teilen von Inhalten mit ihnen (\"federated sharing\").",
- "Add server automatically once a federated share was created successfully" : "Server automatisch hinzufügen sobale eine federated Freigabe erstellt wurde",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation erlaubt es Ihnen sich mit anderen vertrauenswürdigen Servern zu verbinden um das Benutzerverzeichnis auszutauschen. Diese Funktion wird beispielsweise für die Autovervollständigung externer Benutzer genutzt und ermöglicht das Teilen von Inhalten mit Ihnen (\"federated sharing\").",
+ "Add server automatically once a federated share was created successfully" : "Server automatisch hinzufügen sobald eine federated Freigabe erstellt wurde",
"Trusted Servers" : "Vertrauenswürdige Server",
"+ Add Nextcloud server" : "+ Nextcloud Server hinzufügen",
"Nextcloud Server" : "Nextcloud Server",
diff --git a/apps/federation/l10n/de_DE.json b/apps/federation/l10n/de_DE.json
index 039ec743911..ecc6db7ec63 100644
--- a/apps/federation/l10n/de_DE.json
+++ b/apps/federation/l10n/de_DE.json
@@ -4,8 +4,8 @@
"No server to federate with found" : "Kein Server gefunden, der sich verbinden ließe",
"Could not add server" : "Konnte Server nicht hinzufügen",
"Federation" : "Federation",
- "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation erlaubt es Ihnen sich mit anderen vertrauenswürdigen Servern zu verbinden um das Benutzerverzeichnis auszutauschen. Diese Funktion wird beispielsweise für die Autovervollständigung externer Benutzer genutzt und ermöglicht das Teilen von Inhalten mit ihnen (\"federated sharing\").",
- "Add server automatically once a federated share was created successfully" : "Server automatisch hinzufügen sobale eine federated Freigabe erstellt wurde",
+ "Federation allows you to connect with other trusted servers to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Federation erlaubt es Ihnen sich mit anderen vertrauenswürdigen Servern zu verbinden um das Benutzerverzeichnis auszutauschen. Diese Funktion wird beispielsweise für die Autovervollständigung externer Benutzer genutzt und ermöglicht das Teilen von Inhalten mit Ihnen (\"federated sharing\").",
+ "Add server automatically once a federated share was created successfully" : "Server automatisch hinzufügen sobald eine federated Freigabe erstellt wurde",
"Trusted Servers" : "Vertrauenswürdige Server",
"+ Add Nextcloud server" : "+ Nextcloud Server hinzufügen",
"Nextcloud Server" : "Nextcloud Server",
diff --git a/apps/federation/lib/TrustedServers.php b/apps/federation/lib/TrustedServers.php
index f802af594dc..1376dd683d3 100644
--- a/apps/federation/lib/TrustedServers.php
+++ b/apps/federation/lib/TrustedServers.php
@@ -137,7 +137,7 @@ class TrustedServers {
* @return bool
*/
public function getAutoAddServers() {
- $value = $this->config->getAppValue('federation', 'autoAddServers', '1');
+ $value = $this->config->getAppValue('federation', 'autoAddServers', '0');
return $value === '1';
}
diff --git a/apps/federation/tests/TrustedServersTest.php b/apps/federation/tests/TrustedServersTest.php
index d16c0908dd4..598c2f01c90 100644
--- a/apps/federation/tests/TrustedServersTest.php
+++ b/apps/federation/tests/TrustedServersTest.php
@@ -172,7 +172,7 @@ class TrustedServersTest extends TestCase {
*/
public function testGetAutoAddServers($status, $expected) {
$this->config->expects($this->once())->method('getAppValue')
- ->with('federation', 'autoAddServers', '1')->willReturn($status);
+ ->with('federation', 'autoAddServers', '0')->willReturn($status);
$this->assertSame($expected,
$this->trustedServers->getAutoAddServers()
diff --git a/apps/files/appinfo/app.php b/apps/files/appinfo/app.php
index afb327e24ba..a194bb5e795 100644
--- a/apps/files/appinfo/app.php
+++ b/apps/files/appinfo/app.php
@@ -67,16 +67,3 @@ $templateManager->registerTemplate('application/vnd.oasis.opendocument.spreadshe
'name' => $l->t('Recent'),
];
});
-
-\OC::$server->getActivityManager()->registerExtension(function() {
- return new \OCA\Files\Activity(
- \OC::$server->query('L10NFactory'),
- \OC::$server->getURLGenerator(),
- \OC::$server->getActivityManager(),
- new \OCA\Files\ActivityHelper(
- \OC::$server->getTagManager()
- ),
- \OC::$server->getDatabaseConnection(),
- \OC::$server->getConfig()
- );
-});
diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml
index 37a85f33afc..1992b94a03c 100644
--- a/apps/files/appinfo/info.xml
+++ b/apps/files/appinfo/info.xml
@@ -11,12 +11,31 @@
<filesystem/>
</types>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<documentation>
<user>user-files</user>
</documentation>
+ <activity>
+ <settings>
+ <setting>OCA\Files\Activity\Settings\FileChanged</setting>
+ <setting>OCA\Files\Activity\Settings\FileCreated</setting>
+ <setting>OCA\Files\Activity\Settings\FileDeleted</setting>
+ <setting>OCA\Files\Activity\Settings\FileFavorite</setting>
+ <setting>OCA\Files\Activity\Settings\FileRestored</setting>
+ </settings>
+
+ <filters>
+ <filter>OCA\Files\Activity\Filter\FileChanges</filter>
+ <filter>OCA\Files\Activity\Filter\Favorites</filter>
+ </filters>
+
+ <providers>
+ <provider>OCA\Files\Activity\Provider</provider>
+ </providers>
+ </activity>
+
<background-jobs>
<job>OCA\Files\BackgroundJob\ScanFiles</job>
<job>OCA\Files\BackgroundJob\DeleteOrphanedItems</job>
diff --git a/apps/files/css/detailsView.css b/apps/files/css/detailsView.css
index 2ec16993ef5..094f44fdf05 100644
--- a/apps/files/css/detailsView.css
+++ b/apps/files/css/detailsView.css
@@ -19,8 +19,8 @@
}
#app-sidebar .mainFileInfoView .permalink {
- margin-left: 10px;
- opacity: .5;
+ padding: 6px 10px;
+ vertical-align: text-top;
}
#app-sidebar .mainFileInfoView .permalink-field>input {
clear: both;
@@ -106,10 +106,18 @@
#app-sidebar .file-details {
color: #999;
}
+
#app-sidebar .file-details img {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
opacity: .5;
}
+
+#app-sidebar .file-details img:hover,
+#app-sidebar .file-details img:focus{
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ opacity: 1;
+}
+
#app-sidebar .action-favorite {
vertical-align: text-bottom;
padding: 10px;
diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css
index 8e2ef23221d..c465f890dda 100644
--- a/apps/files/css/mobile.css
+++ b/apps/files/css/mobile.css
@@ -61,9 +61,9 @@ table td.filename .nametext .innernametext {
max-width: 50%;
}
-/* ellipsis on user names in share sidebar */
+/* ellipsis on user names in share sidebar, less on mobile */
#shareWithList .username {
- max-width: 80px !important;
+ max-width: 80px !important;
}
/* proper notification area for multi line messages */
diff --git a/apps/files/img/add-color.svg b/apps/files/img/add-color.svg
new file mode 100644
index 00000000000..acf5543c43f
--- /dev/null
+++ b/apps/files/img/add-color.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1">
+ <g transform="matrix(-.70711 -.70711 .70711 -.70711 -724.85 753.16)" fill="#00d400">
+ <path d="m3.7547 1041.6 1.4142-1.4142 3.5355 3.5355 3.5355-3.5355 1.4142 1.4142-3.5355 3.5355 3.5355 3.5356-1.4142 1.4142-3.5355-3.5356-3.5164 3.5547-1.4333-1.4333 3.5355-3.5356z" fill="#00d400"/>
+ </g>
+</svg>
diff --git a/apps/files/img/change.svg b/apps/files/img/change.svg
new file mode 100644
index 00000000000..cbc5d982b30
--- /dev/null
+++ b/apps/files/img/change.svg
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1">
+ <path d="m7.9375 0c-3.1175 0.023214-6.0756 1.876-7.3438 4.9375l2.7812 1.1563c1.0568-2.5513 3.98-3.7756 6.5312-2.7188 0.8628 0.3573 1.5738 0.9274 2.0938 1.625l-2 2h6v-6l-1.875 1.875c-0.802-0.9616-1.825-1.7688-3.063-2.2812-1.02-0.4227-2.0853-0.60149-3.1245-0.59375z"/>
+ <path d="m0 9.5v6l2.0938-2.094c0.7676 0.843 1.7205 1.535 2.8437 2 4.082 1.691 8.7775-0.262 10.468-4.344l-2.781-1.1558c-1.057 2.5508-3.98 3.7758-6.5312 2.7188-0.7435-0.308-1.3509-0.805-1.8438-1.375l1.75-1.75h-6z"/>
+</svg>
diff --git a/apps/files/img/delete-color.svg b/apps/files/img/delete-color.svg
new file mode 100644
index 00000000000..810c63e811b
--- /dev/null
+++ b/apps/files/img/delete-color.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1">
+ <path d="m12.95 11.536-1.414 1.414-3.536-3.5358-3.5355 3.5358-1.4142-1.414 3.5355-3.536-3.5355-3.5356 1.4142-1.4142 3.5355 3.5356 3.516-3.5547 1.434 1.4333-3.5357 3.5356z" fill="#d40000"/>
+</svg>
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index c53fa4f3d66..d32c3ba7c9e 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -923,7 +923,8 @@
tr,
fileData,
newTrs = [],
- isAllSelected = this.isAllSelected();
+ isAllSelected = this.isAllSelected(),
+ showHidden = this._filesConfig.get('showhidden');
if (index >= this.files.length) {
return false;
@@ -947,7 +948,10 @@
}
newTrs.push(tr);
index++;
- count--;
+ // only count visible rows
+ if (showHidden || !tr.hasClass('hidden-file')) {
+ count--;
+ }
}
// trigger event for newly added rows
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 1681e2c7e48..99f888ce0f7 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -379,14 +379,19 @@ var dragOptions={
$selectedFiles = $(this);
}
$selectedFiles.closest('tr').addClass('animate-opacity dragging');
+ $selectedFiles.closest('tr').filter('.ui-droppable').droppable( 'disable' );
+
},
stop: function(event, ui) {
var $selectedFiles = $('td.filename input:checkbox:checked');
if (!$selectedFiles.length) {
$selectedFiles = $(this);
}
+
var $tr = $selectedFiles.closest('tr');
$tr.removeClass('dragging');
+ $tr.filter('.ui-droppable').droppable( 'enable' );
+
setTimeout(function() {
$tr.removeClass('animate-opacity');
}, 300);
@@ -454,4 +459,3 @@ function fileDownloadPath(dir, file) {
// for backward compatibility
window.Files = OCA.Files.Files;
-
diff --git a/apps/files/js/mainfileinfodetailview.js b/apps/files/js/mainfileinfodetailview.js
index 20cedcf4e82..e9259f75ba1 100644
--- a/apps/files/js/mainfileinfodetailview.js
+++ b/apps/files/js/mainfileinfodetailview.js
@@ -15,7 +15,7 @@
'<div class="fileName">' +
'<h3 title="{{name}}" class="ellipsis">{{name}}</h3>' +
'<a class="permalink" href="{{permalink}}" title="{{permalinkTitle}}">' +
- '<span class="icon icon-public"></span>' +
+ '<span class="icon icon-clippy"></span>' +
'<span class="hidden-visually">{{permalinkTitle}}</span>' +
'</a>' +
'</div>' +
@@ -157,7 +157,7 @@
starAltText: isFavorite ? t('files', 'Favorited') : t('files', 'Favorite'),
starIcon: OC.imagePath('core', isFavorite ? 'actions/starred' : 'actions/star'),
permalink: this._makePermalink(this.model.get('id')),
- permalinkTitle: t('files', 'Local link')
+ permalinkTitle: t('files', 'Copy local link')
}));
// TODO: we really need OC.Previews
diff --git a/apps/files/l10n/bg_BG.js b/apps/files/l10n/bg_BG.js
index cf5fde9e2fd..967c95a7db3 100644
--- a/apps/files/l10n/bg_BG.js
+++ b/apps/files/l10n/bg_BG.js
@@ -3,15 +3,16 @@ OC.L10N.register(
{
"Storage is temporarily not available" : "Временно хранилището не е налично.",
"Storage invalid" : "Невалидно хранилище.",
- "Unknown error" : "Непозната грешка.",
+ "Unknown error" : "Неизвестна грешка",
"Files" : "Файлове",
"All files" : "Всички файлове",
"Home" : "Домашен",
"Close" : "Затвори",
"Favorites" : "Любими",
+ "Could not create folder \"{dir}\"" : "Папката \"{dir}\" не може да бъде създадена",
"Upload cancelled." : "Качването е прекъснато.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неуспешно качване на {filename}, защото е директория или е с размер от 0 байта.",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Няма достатъчно свободно място, ти се опитваш да качиш {size1}, но са останали само {size2}.",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неуспешно качване на {filename}, защото е директория или с размер 0 байта.",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Няма достатъчно свободно място. Опитвате да качите {size1} при свободни само {size2}",
"Not enough free space" : "Няма достатъчно свободно място",
"Uploading..." : "Качване...",
"..." : "...",
@@ -21,17 +22,25 @@ OC.L10N.register(
"Actions" : "Действия",
"Download" : "Изтегли",
"Rename" : "Преименуване",
- "Delete" : "Изтрий",
+ "Move" : "Преместване",
+ "Delete" : "Изтриване",
"Disconnect storage" : "Извади хранилището",
- "Unshare" : "Премахване на споделяне",
+ "Unshare" : "Прекратяване на споделяне",
"Details" : "Детайли",
"Select" : "Избери",
"Pending" : "Чакащо",
"Unable to determine date" : "Неуспешно установяване на дата",
"This operation is forbidden" : "Операцията е забранена",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Директорията не е налична. Проверете журнала или се свържете с администратора",
"Could not move \"{file}\", target exists" : "Файлът \"{file}\" не може да бъде преместен защото съществува в дестинацията",
"Could not move \"{file}\"" : "Файлът \"{file}\" не може да бъде преместен",
"{newName} already exists" : "{newName} вече съществува",
+ "Could not rename \"{fileName}\", it does not exist any more" : "Файлът \"{fileName}\" не може да бъде преименуван защото не съществува",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{targetName}\" вече се ползва от директория \"{dir}\". Моля, изберете друго име.",
+ "Could not rename \"{fileName}\"" : "\"{fileName}\" не може да бъде преименуван",
+ "Could not create file \"{file}\"" : "Файлът \"{file}\" не може да бъде създаден",
+ "Could not create file \"{file}\" because it already exists" : "Файлът \"{file}\" не може да бъде създаден защото вече съществува",
+ "Could not create folder \"{dir}\" because it already exists" : "Папката \"{dir}\" не може да бъде създадена защото вече съществува",
"Error deleting file \"{fileName}\"." : "Грешка при изтриването на файла \"{fileName}\".",
"Name" : "Име",
"Size" : "Размер",
@@ -50,34 +59,52 @@ OC.L10N.register(
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Хранилището на {owner} е почти запълнено ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Вашето хранилище е почти запълнено ({usedSpacePercent}%).",
"_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "],
+ "Path" : "Път",
+ "_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Favorited" : "Отбелязано в любими",
"Favorite" : "Любими",
"Folder" : "Папка",
"New folder" : "Нова папка",
"Upload" : "Качване",
- "An error occurred while trying to update the tags" : "Настъпи грешка при опита за промяна на бележките",
- "A new file or folder has been <strong>created</strong>" : "<strong>Създаване</strong> на нов файл / папка",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Изпращай известия за създаване / промяна само за <strong>любимите файлове</strong> <em>(Само за потока)</em>",
- "A file or folder has been <strong>deleted</strong>" : "<strong>Изтриване</strong> на файл / папка",
- "A file or folder has been <strong>restored</strong>" : "<strong>Възстановяване</strong> на файл / папка",
- "You created %1$s" : "Вие създадохте %1$s.",
- "%2$s created %1$s" : "%2$s създаде %1$s.",
+ "An error occurred while trying to update the tags" : "Възникна грешка при опита за промяна на етикети",
+ "Created by %s" : "Създаден от %s",
+ "Created by {user1}" : "Създаден от {user1}",
+ "Changed by %2$s" : "Променен от %2$s",
+ "Changed by {user1}" : "Променен от {user1}",
+ "Deleted by %2$s" : "Изтрит от %2$s",
+ "Deleted by {user1}" : "Изтрит от {user1}",
+ "Restored by %2$s" : "Възстанвен от %2$s",
+ "Restored by {user1}" : "Възстановен от {user1}",
+ "Renamed by %2$s" : "Преимеуван от %2$s",
+ "Renamed by {user1}" : "Преименуван от {user1}",
+ "Moved by %2$s" : "Преместен от %2$s",
+ "Moved by {user1}" : "Преместен от {user1}",
+ "You created %1$s" : "Вие създадохте %1$s",
+ "You created {file1}" : "Вие създадохте {file1}",
+ "%2$s created %1$s" : "%2$s създаде %1$s",
+ "{user1} created {file1}" : "{user1} създаде {file1}",
"%1$s was created in a public folder" : "%1$s е създаден в публична папка",
- "You changed %1$s" : "Вие променихте %1$s.",
- "%2$s changed %1$s" : "%2$s промени %1$s.",
- "You deleted %1$s" : "Вие изтрихте %1$s.",
+ "You changed %1$s" : "Вие променихте %1$s",
+ "You changed {file1}" : "Вие променихте {file1}",
+ "%2$s changed %1$s" : "%2$s промени %1$s",
+ "{user1} changed {file1}" : "{user1} промени {file1}",
+ "You deleted %1$s" : "Вие изтрихте %1$s",
+ "You deleted {file1}" : "Вие променихте {file1}",
"%2$s deleted %1$s" : "%2$s изтри %1$s.",
+ "{user1} deleted {file1}" : "{user1} изтри {file1}",
"You restored %1$s" : "Вие възстановихте %1$s",
+ "You restored {file1}" : "Вие възстановихте {file1}",
"%2$s restored %1$s" : "%2$s възстанови %1$s",
- "You renamed %2$s to %1$s" : "Преименувахте %2$s на %1$s",
+ "{user1} restored {file1}" : "{user1} възстанови {file1}",
+ "You renamed %2$s to %1$s" : "Вие преименувахте %2$s на %1$s",
"%2$s renamed %3$s to %1$s" : "%2$s преименува %3$s на %1$s",
- "You moved %2$s to %1$s" : "Преместихте %2$s в %1$s",
+ "You moved %2$s to %1$s" : "Вие преместихте %2$s в %1$s",
+ "You moved {file2} to {file1}" : "Вие преместихте {file2} в {file1}",
"%2$s moved %3$s to %1$s" : "%2$s премести %3$s в %1$s",
- "Changed by %2$s" : "Променен от %2$s",
- "Deleted by %2$s" : "Изтрит от %2$s",
- "Restored by %2$s" : "Възстанвен от %2$s",
- "Renamed by %2$s" : "Преимеуван от %2$s",
- "Moved by %2$s" : "Преместен от %2$s",
+ "{user1} moved {file2} to {file1}" : "{user1} премести {file2} в {file1}",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "<strong>Промяна</strong> или <strong>преименуване</strong> на файл / папка",
+ "A new file or folder has been <strong>created</strong>" : "<strong>Създаване</strong> на нов файл / папка",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Изпращай известия само при създаване / промяна на <strong>любими файлове</strong> <em>(Само за потока)</em>",
"Upload (max. %s)" : "Качи (макс. %s)",
"File handling" : "Операция с файла",
"Maximum upload size" : "Максимален размер",
@@ -96,22 +123,27 @@ OC.L10N.register(
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файловете, които се опитвате да качите са по-големи от позволеното на сървъра.",
"No favorites" : "Няма любими",
"Files and folders you mark as favorite will show up here" : "Файловете и папките които отбелязваш като любими ще се показват тук",
+ "Shared with you" : "Споделено с вас",
+ "Shared with others" : "Споделено с други",
+ "Shared by link" : "Споделено с връзка",
+ "Tags" : "Етикети",
+ "Deleted files" : "Изтрити файлове",
"Text file" : "Текстов файл",
"New text file.txt" : "Нов текст file.txt",
- "Storage not available" : "Хранилището не е налично.",
+ "Storage not available" : "Хранилището не е налично",
"Unable to set upload directory." : "Неуспешно задаване на директория за качване.",
- "Invalid Token" : "Невалиеден токен.",
- "No file was uploaded. Unknown error" : "Неуспешно качвачване на файл. Непозната грешка.",
+ "Invalid Token" : "Невалиеден токен",
+ "No file was uploaded. Unknown error" : "Нито един файл не е качен. Неизвестна грешка",
"There is no error, the file uploaded with success" : "Файлът е качен успешно.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Файлът, който се опитваше да качиш надвишава зададения upload_max_filesize размер в php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Файлът, който се опитваш да качиш надвишава стойностите в MAX_FILE_SIZE в HTML формата.",
- "The uploaded file was only partially uploaded" : "Файлът е качен частично.",
- "No file was uploaded" : "Неуспешно качване.",
- "Missing a temporary folder" : "Липсва временна папка.",
- "Failed to write to disk" : "Възникна проблем при запис на диска.",
+ "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Размерът на файла надвишава максималния размер определен от upload_max_filesize в php.ini:",
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Размерът на файла надвишава максималния размер определен от MAX_FILE_SIZE в HTML формата.",
+ "The uploaded file was only partially uploaded" : "Файлът е качен частично",
+ "No file was uploaded" : "Файлът не е качен",
+ "Missing a temporary folder" : "Липсва временна папка",
+ "Failed to write to disk" : "Възникна проблем при запис на диска",
"Not enough storage available" : "Недостатъчно място в хранилището",
"The target folder has been moved or deleted." : "Крайната папка е изтрита или преместена.",
- "Upload failed. Could not find uploaded file" : "Неуспешно качване. Не бе открит качения файл.",
+ "Upload failed. Could not find uploaded file" : "Неуспешно качване. Качения файл не е намерен",
"Upload failed. Could not get file info." : "Неуспешно качване. Не се получи информация за файла.",
"Invalid directory." : "Невалидна директория.",
"Total file size {size1} exceeds upload limit {size2}" : "Общия размер {size1} надминава лимита за качване {size2}.",
@@ -120,6 +152,9 @@ OC.L10N.register(
"No entries in this folder match '{filter}'" : "Нищо в тази папка не пасва на '{filter}'",
"{newname} already exists" : "{newname} вече съществува",
"A file or folder has been <strong>changed</strong>" : "<strong>Промяна</strong> на файл / папка",
- "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Ползвайте следния адрес <a href=\"%s\" target=\"_blank\">за да достъпите файловете чрез WebDAV</a>"
+ "A file or folder has been <strong>deleted</strong>" : "<strong>Изтриване</strong> на файл / папка",
+ "A file or folder has been <strong>restored</strong>" : "<strong>Възстановяване</strong> на на файл / папка",
+ "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Ползвайте следния адрес <a href=\"%s\" target=\"_blank\">за да достъпите файловете чрез WebDAV</a>",
+ "Cancel upload" : "Прекрати качването"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/bg_BG.json b/apps/files/l10n/bg_BG.json
index b079d72d22c..47121992918 100644
--- a/apps/files/l10n/bg_BG.json
+++ b/apps/files/l10n/bg_BG.json
@@ -1,15 +1,16 @@
{ "translations": {
"Storage is temporarily not available" : "Временно хранилището не е налично.",
"Storage invalid" : "Невалидно хранилище.",
- "Unknown error" : "Непозната грешка.",
+ "Unknown error" : "Неизвестна грешка",
"Files" : "Файлове",
"All files" : "Всички файлове",
"Home" : "Домашен",
"Close" : "Затвори",
"Favorites" : "Любими",
+ "Could not create folder \"{dir}\"" : "Папката \"{dir}\" не може да бъде създадена",
"Upload cancelled." : "Качването е прекъснато.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неуспешно качване на {filename}, защото е директория или е с размер от 0 байта.",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Няма достатъчно свободно място, ти се опитваш да качиш {size1}, но са останали само {size2}.",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неуспешно качване на {filename}, защото е директория или с размер 0 байта.",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Няма достатъчно свободно място. Опитвате да качите {size1} при свободни само {size2}",
"Not enough free space" : "Няма достатъчно свободно място",
"Uploading..." : "Качване...",
"..." : "...",
@@ -19,17 +20,25 @@
"Actions" : "Действия",
"Download" : "Изтегли",
"Rename" : "Преименуване",
- "Delete" : "Изтрий",
+ "Move" : "Преместване",
+ "Delete" : "Изтриване",
"Disconnect storage" : "Извади хранилището",
- "Unshare" : "Премахване на споделяне",
+ "Unshare" : "Прекратяване на споделяне",
"Details" : "Детайли",
"Select" : "Избери",
"Pending" : "Чакащо",
"Unable to determine date" : "Неуспешно установяване на дата",
"This operation is forbidden" : "Операцията е забранена",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Директорията не е налична. Проверете журнала или се свържете с администратора",
"Could not move \"{file}\", target exists" : "Файлът \"{file}\" не може да бъде преместен защото съществува в дестинацията",
"Could not move \"{file}\"" : "Файлът \"{file}\" не може да бъде преместен",
"{newName} already exists" : "{newName} вече съществува",
+ "Could not rename \"{fileName}\", it does not exist any more" : "Файлът \"{fileName}\" не може да бъде преименуван защото не съществува",
+ "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{targetName}\" вече се ползва от директория \"{dir}\". Моля, изберете друго име.",
+ "Could not rename \"{fileName}\"" : "\"{fileName}\" не може да бъде преименуван",
+ "Could not create file \"{file}\"" : "Файлът \"{file}\" не може да бъде създаден",
+ "Could not create file \"{file}\" because it already exists" : "Файлът \"{file}\" не може да бъде създаден защото вече съществува",
+ "Could not create folder \"{dir}\" because it already exists" : "Папката \"{dir}\" не може да бъде създадена защото вече съществува",
"Error deleting file \"{fileName}\"." : "Грешка при изтриването на файла \"{fileName}\".",
"Name" : "Име",
"Size" : "Размер",
@@ -48,34 +57,52 @@
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Хранилището на {owner} е почти запълнено ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "Вашето хранилище е почти запълнено ({usedSpacePercent}%).",
"_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "],
+ "Path" : "Път",
+ "_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Favorited" : "Отбелязано в любими",
"Favorite" : "Любими",
"Folder" : "Папка",
"New folder" : "Нова папка",
"Upload" : "Качване",
- "An error occurred while trying to update the tags" : "Настъпи грешка при опита за промяна на бележките",
- "A new file or folder has been <strong>created</strong>" : "<strong>Създаване</strong> на нов файл / папка",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Изпращай известия за създаване / промяна само за <strong>любимите файлове</strong> <em>(Само за потока)</em>",
- "A file or folder has been <strong>deleted</strong>" : "<strong>Изтриване</strong> на файл / папка",
- "A file or folder has been <strong>restored</strong>" : "<strong>Възстановяване</strong> на файл / папка",
- "You created %1$s" : "Вие създадохте %1$s.",
- "%2$s created %1$s" : "%2$s създаде %1$s.",
+ "An error occurred while trying to update the tags" : "Възникна грешка при опита за промяна на етикети",
+ "Created by %s" : "Създаден от %s",
+ "Created by {user1}" : "Създаден от {user1}",
+ "Changed by %2$s" : "Променен от %2$s",
+ "Changed by {user1}" : "Променен от {user1}",
+ "Deleted by %2$s" : "Изтрит от %2$s",
+ "Deleted by {user1}" : "Изтрит от {user1}",
+ "Restored by %2$s" : "Възстанвен от %2$s",
+ "Restored by {user1}" : "Възстановен от {user1}",
+ "Renamed by %2$s" : "Преимеуван от %2$s",
+ "Renamed by {user1}" : "Преименуван от {user1}",
+ "Moved by %2$s" : "Преместен от %2$s",
+ "Moved by {user1}" : "Преместен от {user1}",
+ "You created %1$s" : "Вие създадохте %1$s",
+ "You created {file1}" : "Вие създадохте {file1}",
+ "%2$s created %1$s" : "%2$s създаде %1$s",
+ "{user1} created {file1}" : "{user1} създаде {file1}",
"%1$s was created in a public folder" : "%1$s е създаден в публична папка",
- "You changed %1$s" : "Вие променихте %1$s.",
- "%2$s changed %1$s" : "%2$s промени %1$s.",
- "You deleted %1$s" : "Вие изтрихте %1$s.",
+ "You changed %1$s" : "Вие променихте %1$s",
+ "You changed {file1}" : "Вие променихте {file1}",
+ "%2$s changed %1$s" : "%2$s промени %1$s",
+ "{user1} changed {file1}" : "{user1} промени {file1}",
+ "You deleted %1$s" : "Вие изтрихте %1$s",
+ "You deleted {file1}" : "Вие променихте {file1}",
"%2$s deleted %1$s" : "%2$s изтри %1$s.",
+ "{user1} deleted {file1}" : "{user1} изтри {file1}",
"You restored %1$s" : "Вие възстановихте %1$s",
+ "You restored {file1}" : "Вие възстановихте {file1}",
"%2$s restored %1$s" : "%2$s възстанови %1$s",
- "You renamed %2$s to %1$s" : "Преименувахте %2$s на %1$s",
+ "{user1} restored {file1}" : "{user1} възстанови {file1}",
+ "You renamed %2$s to %1$s" : "Вие преименувахте %2$s на %1$s",
"%2$s renamed %3$s to %1$s" : "%2$s преименува %3$s на %1$s",
- "You moved %2$s to %1$s" : "Преместихте %2$s в %1$s",
+ "You moved %2$s to %1$s" : "Вие преместихте %2$s в %1$s",
+ "You moved {file2} to {file1}" : "Вие преместихте {file2} в {file1}",
"%2$s moved %3$s to %1$s" : "%2$s премести %3$s в %1$s",
- "Changed by %2$s" : "Променен от %2$s",
- "Deleted by %2$s" : "Изтрит от %2$s",
- "Restored by %2$s" : "Възстанвен от %2$s",
- "Renamed by %2$s" : "Преимеуван от %2$s",
- "Moved by %2$s" : "Преместен от %2$s",
+ "{user1} moved {file2} to {file1}" : "{user1} премести {file2} в {file1}",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "<strong>Промяна</strong> или <strong>преименуване</strong> на файл / папка",
+ "A new file or folder has been <strong>created</strong>" : "<strong>Създаване</strong> на нов файл / папка",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Изпращай известия само при създаване / промяна на <strong>любими файлове</strong> <em>(Само за потока)</em>",
"Upload (max. %s)" : "Качи (макс. %s)",
"File handling" : "Операция с файла",
"Maximum upload size" : "Максимален размер",
@@ -94,22 +121,27 @@
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файловете, които се опитвате да качите са по-големи от позволеното на сървъра.",
"No favorites" : "Няма любими",
"Files and folders you mark as favorite will show up here" : "Файловете и папките които отбелязваш като любими ще се показват тук",
+ "Shared with you" : "Споделено с вас",
+ "Shared with others" : "Споделено с други",
+ "Shared by link" : "Споделено с връзка",
+ "Tags" : "Етикети",
+ "Deleted files" : "Изтрити файлове",
"Text file" : "Текстов файл",
"New text file.txt" : "Нов текст file.txt",
- "Storage not available" : "Хранилището не е налично.",
+ "Storage not available" : "Хранилището не е налично",
"Unable to set upload directory." : "Неуспешно задаване на директория за качване.",
- "Invalid Token" : "Невалиеден токен.",
- "No file was uploaded. Unknown error" : "Неуспешно качвачване на файл. Непозната грешка.",
+ "Invalid Token" : "Невалиеден токен",
+ "No file was uploaded. Unknown error" : "Нито един файл не е качен. Неизвестна грешка",
"There is no error, the file uploaded with success" : "Файлът е качен успешно.",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Файлът, който се опитваше да качиш надвишава зададения upload_max_filesize размер в php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Файлът, който се опитваш да качиш надвишава стойностите в MAX_FILE_SIZE в HTML формата.",
- "The uploaded file was only partially uploaded" : "Файлът е качен частично.",
- "No file was uploaded" : "Неуспешно качване.",
- "Missing a temporary folder" : "Липсва временна папка.",
- "Failed to write to disk" : "Възникна проблем при запис на диска.",
+ "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Размерът на файла надвишава максималния размер определен от upload_max_filesize в php.ini:",
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Размерът на файла надвишава максималния размер определен от MAX_FILE_SIZE в HTML формата.",
+ "The uploaded file was only partially uploaded" : "Файлът е качен частично",
+ "No file was uploaded" : "Файлът не е качен",
+ "Missing a temporary folder" : "Липсва временна папка",
+ "Failed to write to disk" : "Възникна проблем при запис на диска",
"Not enough storage available" : "Недостатъчно място в хранилището",
"The target folder has been moved or deleted." : "Крайната папка е изтрита или преместена.",
- "Upload failed. Could not find uploaded file" : "Неуспешно качване. Не бе открит качения файл.",
+ "Upload failed. Could not find uploaded file" : "Неуспешно качване. Качения файл не е намерен",
"Upload failed. Could not get file info." : "Неуспешно качване. Не се получи информация за файла.",
"Invalid directory." : "Невалидна директория.",
"Total file size {size1} exceeds upload limit {size2}" : "Общия размер {size1} надминава лимита за качване {size2}.",
@@ -118,6 +150,9 @@
"No entries in this folder match '{filter}'" : "Нищо в тази папка не пасва на '{filter}'",
"{newname} already exists" : "{newname} вече съществува",
"A file or folder has been <strong>changed</strong>" : "<strong>Промяна</strong> на файл / папка",
- "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Ползвайте следния адрес <a href=\"%s\" target=\"_blank\">за да достъпите файловете чрез WebDAV</a>"
+ "A file or folder has been <strong>deleted</strong>" : "<strong>Изтриване</strong> на файл / папка",
+ "A file or folder has been <strong>restored</strong>" : "<strong>Възстановяване</strong> на на файл / папка",
+ "Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Ползвайте следния адрес <a href=\"%s\" target=\"_blank\">за да достъпите файловете чрез WebDAV</a>",
+ "Cancel upload" : "Прекрати качването"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index 3773498f6ca..7f03049ef40 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -1,40 +1,34 @@
OC.L10N.register(
"files",
{
- "Storage not available" : "Emmagatzemament no disponible",
"Storage invalid" : "Emmagatzemament no vàlid",
"Unknown error" : "Error desconegut",
- "Unable to set upload directory." : "No es pot establir la carpeta de pujada.",
- "Invalid Token" : "Testimoni no vàlid",
- "No file was uploaded. Unknown error" : "No s'ha carregat cap fitxer. Error desconegut",
- "There is no error, the file uploaded with success" : "No hi ha errors, el fitxer s'ha carregat correctament",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El fitxer carregat supera la directiva MAX_FILE_SIZE especificada al formulari HTML",
- "The uploaded file was only partially uploaded" : "El fitxer només s'ha carregat parcialment",
- "No file was uploaded" : "No s'ha carregat cap fitxer",
- "Missing a temporary folder" : "Falta un fitxer temporal",
- "Failed to write to disk" : "Ha fallat en escriure al disc",
- "Not enough storage available" : "No hi ha prou espai disponible",
- "The target folder has been moved or deleted." : "La carpeta de destí s'ha mogut o eliminat.",
- "Upload failed. Could not find uploaded file" : "La pujada ha fallat. El fitxer pujat no s'ha trobat.",
- "Upload failed. Could not get file info." : "La pujada ha fallat. No s'ha pogut obtenir informació del fitxer.",
- "Invalid directory." : "Directori no vàlid.",
"Files" : "Fitxers",
"All files" : "Tots els fitxers",
+ "Recent" : "Recent",
+ "File could not be found" : "No s'ha pogut trobar el fitxer",
"Home" : "Casa",
"Close" : "Tanca",
"Favorites" : "Preferits",
+ "Could not create folder \"{dir}\"" : "No s'ha pogut crear la carpeta \"{dir}\"",
"Upload cancelled." : "La pujada s'ha cancel·lat.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "No es pot pujar {filename} perquè és una carpeta o té 0 bytes",
- "Total file size {size1} exceeds upload limit {size2}" : "Mida total del fitxer {size1} excedeix el límit de pujada {size2}",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}",
- "Could not get result from server." : "No hi ha resposta del servidor.",
+ "Not enough free space" : "Espai lliure insuficient",
"Uploading..." : "Pujant...",
"..." : "...",
+ "{hours}:{minutes}h" : "{hours}:{minutes}h",
+ "{minutes}:{seconds} minute{plural_s} left" : "falten {minutes}:{seconds} minut{plural_s}",
+ "{minutes}:{seconds}m" : "{minutes}:{seconds}m",
+ "{seconds} second{plural_s} left" : "queden {seconds} segon{plural_s}",
+ "{seconds}s" : "{seconds}s",
+ "Soon..." : "Aviat...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
"Actions" : "Accions",
"Download" : "Baixa",
"Rename" : "Reanomena",
+ "Move" : "Mou",
+ "Target folder" : "Carpeta de destí",
"Delete" : "Esborra",
"Disconnect storage" : "Desonnecta l'emmagatzematge",
"Unshare" : "Deixa de compartir",
@@ -42,7 +36,12 @@ OC.L10N.register(
"Select" : "Selecciona",
"Pending" : "Pendent",
"Unable to determine date" : "No s'ha pogut determinar la data",
- "No entries in this folder match '{filter}'" : "No hi ha resultats que coincideixin amb '{filter}'",
+ "This operation is forbidden" : "Aquesta operació està prohibida",
+ "Could not move \"{file}\", target exists" : "No s'ha pugut moure \"{file}\", el destí ja existeix",
+ "Could not move \"{file}\"" : "No s'ha pogut moure \"{file}\"",
+ "{newName} already exists" : "{newName} ja existeix",
+ "Could not rename \"{fileName}\"" : "No s'ha pogut renombrar \"{fileName}\"",
+ "Could not create file \"{file}\"" : "No s'ha pogut crear el fitxer \"{file}\"",
"Name" : "Nom",
"Size" : "Mida",
"Modified" : "Modificat",
@@ -59,14 +58,16 @@ OC.L10N.register(
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Emmagatzematge de {owner} està gairebé ple ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "El vostre espai d'emmagatzemament és gairebé ple ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["coincidències '{filter}'","coincidència '{filter}'"],
+ "View in folder" : "Veure a la carpeta",
+ "Path" : "Ruta",
"Favorited" : "Agregat a favorits",
"Favorite" : "Preferits",
+ "Local link" : "Enllaç local",
"Folder" : "Carpeta",
"New folder" : "Carpeta nova",
"Upload" : "Puja",
"An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes",
"A new file or folder has been <strong>created</strong>" : "S'ha <strong>creat</strong> un nou fitxer o una nova carpeta",
- "A file or folder has been <strong>changed</strong>" : "S'ha <strong>canviat</strong> un fitxer o una carpeta",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitar les notificacions sobre la creació i canvis dels seus <strong>arxius favorits</strong><em>(solament Stream)</em>",
"A file or folder has been <strong>deleted</strong>" : "S'ha <strong>elminiat</strong> un fitxer o una carpeta",
"A file or folder has been <strong>restored</strong>" : "S'ha <strong>restaurat</strong> un fitxer o una carpeta",
@@ -79,12 +80,20 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s ha esborrat %1$s",
"You restored %1$s" : "Has restaurat %1$s",
"%2$s restored %1$s" : "%2$s ha restaurat %1$s",
+ "You moved %2$s to %1$s" : "Has mogut %2$s a %1$s",
+ "%2$s moved %3$s to %1$s" : "%2$s ha mogut %3$s a %1$s",
+ "Changed by %2$s" : "Modificat per %2$s",
+ "Deleted by %2$s" : "Esborrat per %2$s",
+ "Renamed by %2$s" : "Renombrat per %2$s",
+ "Moved by %2$s" : "Mogut per %2$s",
+ "File changes" : "Canvis al fitxer",
"Upload (max. %s)" : "Pujada (màx. %s)",
"File handling" : "Gestió de fitxers",
"Maximum upload size" : "Mida màxima de pujada",
"max. possible: " : "màxim possible:",
"Save" : "Desa",
"Settings" : "Arranjament",
+ "Show hidden files" : "Mostra els fitxers ocults",
"WebDAV" : "WebDAV",
"No files in here" : "No hi ha arxius",
"Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.",
@@ -94,6 +103,34 @@ OC.L10N.register(
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor",
"No favorites" : "No hi ha favorits",
"Files and folders you mark as favorite will show up here" : "Aquí apareixeran els arxius i carpetes que vostè marqui com favorits",
- "Text file" : "Fitxer de text"
+ "Shared with you" : "Compartit amb tu",
+ "Shared with others" : "Compartit amb altres",
+ "Tags" : "Etiquetes",
+ "Deleted files" : "Fitxers esborrats",
+ "Text file" : "Fitxer de text",
+ "New text file.txt" : "Nou fitxer de text.txt",
+ "Storage not available" : "Emmagatzemament no disponible",
+ "Unable to set upload directory." : "No es pot establir la carpeta de pujada.",
+ "Invalid Token" : "Testimoni no vàlid",
+ "No file was uploaded. Unknown error" : "No s'ha carregat cap fitxer. Error desconegut",
+ "There is no error, the file uploaded with success" : "No hi ha errors, el fitxer s'ha carregat correctament",
+ "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:",
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El fitxer carregat supera la directiva MAX_FILE_SIZE especificada al formulari HTML",
+ "The uploaded file was only partially uploaded" : "El fitxer només s'ha carregat parcialment",
+ "No file was uploaded" : "No s'ha carregat cap fitxer",
+ "Missing a temporary folder" : "Falta un fitxer temporal",
+ "Failed to write to disk" : "Ha fallat en escriure al disc",
+ "Not enough storage available" : "No hi ha prou espai disponible",
+ "The target folder has been moved or deleted." : "La carpeta de destí s'ha mogut o eliminat.",
+ "Upload failed. Could not find uploaded file" : "La pujada ha fallat. El fitxer pujat no s'ha trobat.",
+ "Upload failed. Could not get file info." : "La pujada ha fallat. No s'ha pogut obtenir informació del fitxer.",
+ "Invalid directory." : "Directori no vàlid.",
+ "Total file size {size1} exceeds upload limit {size2}" : "Mida total del fitxer {size1} excedeix el límit de pujada {size2}",
+ "Error uploading file \"{fileName}\": {message}" : "Error pujant el fitxer \"{fileName}\": {message}",
+ "Could not get result from server." : "No hi ha resposta del servidor.",
+ "No entries in this folder match '{filter}'" : "No hi ha resultats que coincideixin amb '{filter}'",
+ "{newname} already exists" : "{newname} ja existeix",
+ "A file or folder has been <strong>changed</strong>" : "S'ha <strong>canviat</strong> un fitxer o una carpeta",
+ "Cancel upload" : "Cancel·la la pujada"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 2444742b1bd..9cedb8be4b6 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -1,38 +1,32 @@
{ "translations": {
- "Storage not available" : "Emmagatzemament no disponible",
"Storage invalid" : "Emmagatzemament no vàlid",
"Unknown error" : "Error desconegut",
- "Unable to set upload directory." : "No es pot establir la carpeta de pujada.",
- "Invalid Token" : "Testimoni no vàlid",
- "No file was uploaded. Unknown error" : "No s'ha carregat cap fitxer. Error desconegut",
- "There is no error, the file uploaded with success" : "No hi ha errors, el fitxer s'ha carregat correctament",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El fitxer carregat supera la directiva MAX_FILE_SIZE especificada al formulari HTML",
- "The uploaded file was only partially uploaded" : "El fitxer només s'ha carregat parcialment",
- "No file was uploaded" : "No s'ha carregat cap fitxer",
- "Missing a temporary folder" : "Falta un fitxer temporal",
- "Failed to write to disk" : "Ha fallat en escriure al disc",
- "Not enough storage available" : "No hi ha prou espai disponible",
- "The target folder has been moved or deleted." : "La carpeta de destí s'ha mogut o eliminat.",
- "Upload failed. Could not find uploaded file" : "La pujada ha fallat. El fitxer pujat no s'ha trobat.",
- "Upload failed. Could not get file info." : "La pujada ha fallat. No s'ha pogut obtenir informació del fitxer.",
- "Invalid directory." : "Directori no vàlid.",
"Files" : "Fitxers",
"All files" : "Tots els fitxers",
+ "Recent" : "Recent",
+ "File could not be found" : "No s'ha pogut trobar el fitxer",
"Home" : "Casa",
"Close" : "Tanca",
"Favorites" : "Preferits",
+ "Could not create folder \"{dir}\"" : "No s'ha pogut crear la carpeta \"{dir}\"",
"Upload cancelled." : "La pujada s'ha cancel·lat.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "No es pot pujar {filename} perquè és una carpeta o té 0 bytes",
- "Total file size {size1} exceeds upload limit {size2}" : "Mida total del fitxer {size1} excedeix el límit de pujada {size2}",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}",
- "Could not get result from server." : "No hi ha resposta del servidor.",
+ "Not enough free space" : "Espai lliure insuficient",
"Uploading..." : "Pujant...",
"..." : "...",
+ "{hours}:{minutes}h" : "{hours}:{minutes}h",
+ "{minutes}:{seconds} minute{plural_s} left" : "falten {minutes}:{seconds} minut{plural_s}",
+ "{minutes}:{seconds}m" : "{minutes}:{seconds}m",
+ "{seconds} second{plural_s} left" : "queden {seconds} segon{plural_s}",
+ "{seconds}s" : "{seconds}s",
+ "Soon..." : "Aviat...",
"File upload is in progress. Leaving the page now will cancel the upload." : "Hi ha una pujada en curs. Si abandoneu la pàgina la pujada es cancel·larà.",
"Actions" : "Accions",
"Download" : "Baixa",
"Rename" : "Reanomena",
+ "Move" : "Mou",
+ "Target folder" : "Carpeta de destí",
"Delete" : "Esborra",
"Disconnect storage" : "Desonnecta l'emmagatzematge",
"Unshare" : "Deixa de compartir",
@@ -40,7 +34,12 @@
"Select" : "Selecciona",
"Pending" : "Pendent",
"Unable to determine date" : "No s'ha pogut determinar la data",
- "No entries in this folder match '{filter}'" : "No hi ha resultats que coincideixin amb '{filter}'",
+ "This operation is forbidden" : "Aquesta operació està prohibida",
+ "Could not move \"{file}\", target exists" : "No s'ha pugut moure \"{file}\", el destí ja existeix",
+ "Could not move \"{file}\"" : "No s'ha pogut moure \"{file}\"",
+ "{newName} already exists" : "{newName} ja existeix",
+ "Could not rename \"{fileName}\"" : "No s'ha pogut renombrar \"{fileName}\"",
+ "Could not create file \"{file}\"" : "No s'ha pogut crear el fitxer \"{file}\"",
"Name" : "Nom",
"Size" : "Mida",
"Modified" : "Modificat",
@@ -57,14 +56,16 @@
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "Emmagatzematge de {owner} està gairebé ple ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "El vostre espai d'emmagatzemament és gairebé ple ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["coincidències '{filter}'","coincidència '{filter}'"],
+ "View in folder" : "Veure a la carpeta",
+ "Path" : "Ruta",
"Favorited" : "Agregat a favorits",
"Favorite" : "Preferits",
+ "Local link" : "Enllaç local",
"Folder" : "Carpeta",
"New folder" : "Carpeta nova",
"Upload" : "Puja",
"An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes",
"A new file or folder has been <strong>created</strong>" : "S'ha <strong>creat</strong> un nou fitxer o una nova carpeta",
- "A file or folder has been <strong>changed</strong>" : "S'ha <strong>canviat</strong> un fitxer o una carpeta",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitar les notificacions sobre la creació i canvis dels seus <strong>arxius favorits</strong><em>(solament Stream)</em>",
"A file or folder has been <strong>deleted</strong>" : "S'ha <strong>elminiat</strong> un fitxer o una carpeta",
"A file or folder has been <strong>restored</strong>" : "S'ha <strong>restaurat</strong> un fitxer o una carpeta",
@@ -77,12 +78,20 @@
"%2$s deleted %1$s" : "%2$s ha esborrat %1$s",
"You restored %1$s" : "Has restaurat %1$s",
"%2$s restored %1$s" : "%2$s ha restaurat %1$s",
+ "You moved %2$s to %1$s" : "Has mogut %2$s a %1$s",
+ "%2$s moved %3$s to %1$s" : "%2$s ha mogut %3$s a %1$s",
+ "Changed by %2$s" : "Modificat per %2$s",
+ "Deleted by %2$s" : "Esborrat per %2$s",
+ "Renamed by %2$s" : "Renombrat per %2$s",
+ "Moved by %2$s" : "Mogut per %2$s",
+ "File changes" : "Canvis al fitxer",
"Upload (max. %s)" : "Pujada (màx. %s)",
"File handling" : "Gestió de fitxers",
"Maximum upload size" : "Mida màxima de pujada",
"max. possible: " : "màxim possible:",
"Save" : "Desa",
"Settings" : "Arranjament",
+ "Show hidden files" : "Mostra els fitxers ocults",
"WebDAV" : "WebDAV",
"No files in here" : "No hi ha arxius",
"Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.",
@@ -92,6 +101,34 @@
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor",
"No favorites" : "No hi ha favorits",
"Files and folders you mark as favorite will show up here" : "Aquí apareixeran els arxius i carpetes que vostè marqui com favorits",
- "Text file" : "Fitxer de text"
+ "Shared with you" : "Compartit amb tu",
+ "Shared with others" : "Compartit amb altres",
+ "Tags" : "Etiquetes",
+ "Deleted files" : "Fitxers esborrats",
+ "Text file" : "Fitxer de text",
+ "New text file.txt" : "Nou fitxer de text.txt",
+ "Storage not available" : "Emmagatzemament no disponible",
+ "Unable to set upload directory." : "No es pot establir la carpeta de pujada.",
+ "Invalid Token" : "Testimoni no vàlid",
+ "No file was uploaded. Unknown error" : "No s'ha carregat cap fitxer. Error desconegut",
+ "There is no error, the file uploaded with success" : "No hi ha errors, el fitxer s'ha carregat correctament",
+ "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "L’arxiu que voleu carregar supera el màxim definit en la directiva upload_max_filesize del php.ini:",
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "El fitxer carregat supera la directiva MAX_FILE_SIZE especificada al formulari HTML",
+ "The uploaded file was only partially uploaded" : "El fitxer només s'ha carregat parcialment",
+ "No file was uploaded" : "No s'ha carregat cap fitxer",
+ "Missing a temporary folder" : "Falta un fitxer temporal",
+ "Failed to write to disk" : "Ha fallat en escriure al disc",
+ "Not enough storage available" : "No hi ha prou espai disponible",
+ "The target folder has been moved or deleted." : "La carpeta de destí s'ha mogut o eliminat.",
+ "Upload failed. Could not find uploaded file" : "La pujada ha fallat. El fitxer pujat no s'ha trobat.",
+ "Upload failed. Could not get file info." : "La pujada ha fallat. No s'ha pogut obtenir informació del fitxer.",
+ "Invalid directory." : "Directori no vàlid.",
+ "Total file size {size1} exceeds upload limit {size2}" : "Mida total del fitxer {size1} excedeix el límit de pujada {size2}",
+ "Error uploading file \"{fileName}\": {message}" : "Error pujant el fitxer \"{fileName}\": {message}",
+ "Could not get result from server." : "No hi ha resposta del servidor.",
+ "No entries in this folder match '{filter}'" : "No hi ha resultats que coincideixin amb '{filter}'",
+ "{newname} already exists" : "{newname} ja existeix",
+ "A file or folder has been <strong>changed</strong>" : "S'ha <strong>canviat</strong> un fitxer o una carpeta",
+ "Cancel upload" : "Cancel·la la pujada"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/cs_CZ.js b/apps/files/l10n/cs_CZ.js
index d9455874cb0..d915522a75d 100644
--- a/apps/files/l10n/cs_CZ.js
+++ b/apps/files/l10n/cs_CZ.js
@@ -76,35 +76,54 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"],
"Favorited" : "Přidáno k oblíbeným",
"Favorite" : "Oblíbené",
- "Local link" : "Místní odkaz",
"Folder" : "Adresář",
"New folder" : "Nový adresář",
"Upload" : "Odeslat",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba",
- "A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo adresář",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Soubor nebo adresář byl <strong>změněn</strong> nebo <strong>přejmenován</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omezovat oznámení o tvorbě a změnách <strong>oblíbených souborů</strong> <em>(Pouze v proudu)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Soubor nebo adresář byl <strong>smazán</strong>",
- "A file or folder has been <strong>restored</strong>" : "Soubor nebo adresář byla <strong>obnoven</strong>",
+ "File changes" : "Změny souboru",
+ "Created by %s" : "Vytvořil(a) %s",
+ "Created by {user1}" : "Vytvořil(a) {user1}",
+ "Changed by %2$s" : "Změněno uživatelem %2$s",
+ "Changed by {user1}" : "Změnil(a) {user1}",
+ "Deleted by %2$s" : "Smazáno uživatelem %2$s",
+ "Deleted by {user1}" : "Smazal(a) {user1}",
+ "Restored by %2$s" : "Obnoveno uživatelem %2$s",
+ "Restored by {user1}" : "Obnovil(a) {user1}",
+ "Renamed by %2$s" : "Přejmenováno uživatelem %2$s",
+ "Renamed by {user1}" : "Přejmenoval(a) {user1}",
+ "Moved by %2$s" : "Přesunuto uživatelem %2$s",
+ "Moved by {user1}" : "Přesunul(a) {user1}",
"You created %1$s" : "Vytvořili jste %1$s",
+ "You created {file1}" : "Vytvořil(a) jsi {file1}",
"%2$s created %1$s" : "%2$s vytvořil(a) %1$s",
+ "{user1} created {file1}" : "{user1} vytvořil(a) {file1}",
"%1$s was created in a public folder" : "%1$s byl vytvořen ve veřejném adresáři",
+ "{file1} was created in a public folder" : "{file1} byl vytvořen ve veřejném adresáři",
"You changed %1$s" : "Změnili jste %1$s",
+ "You changed {file1}" : "Změnil(a) jsi {file1}",
"%2$s changed %1$s" : "%2$s změnil(a) %1$s",
+ "{user1} changed {file1}" : "{user1} změnil(a) {file1}",
"You deleted %1$s" : "Smazali jste %1$s",
+ "You deleted {file1}" : "Smazal(a) jsi {file1}",
"%2$s deleted %1$s" : "%2$s smazal(a) %1$s",
+ "{user1} deleted {file1}" : "{user1} smazal(a) {file1}",
"You restored %1$s" : "Obnovili jste %1$s",
+ "You restored {file1}" : "Obnovil(a) jsi {file1}",
"%2$s restored %1$s" : "%2$s obnovil(a) %1$s",
+ "{user1} restored {file1}" : "{user1} obnovil(a) {file1}",
"You renamed %2$s to %1$s" : "Přejmenoval jste %2$s na %1$s",
+ "You renamed {file2} to {file1}" : "Přejmenoval(a) jsi {file2} na {file1}",
"%2$s renamed %3$s to %1$s" : "%2$s přejmenoval %3$s na %1$s",
+ "{user1} renamed {file2} to {file1}" : "{user1} přejmenoval(a) {file2} na {file1}",
"You moved %2$s to %1$s" : "Přesunul(a) jste %2$s na %1$s",
+ "You moved {file2} to {file1}" : "Přesunul(a) jsi {file2} do {file1}",
"%2$s moved %3$s to %1$s" : "%2$s přesunul(a) %3$s na %1$s",
- "Changed by %2$s" : "Změněno uživatelem %2$s",
- "Deleted by %2$s" : "Smazáno uživatelem %2$s",
- "Restored by %2$s" : "Obnoveno uživatelem %2$s",
- "Renamed by %2$s" : "Přejmenováno uživatelem %2$s",
- "Moved by %2$s" : "Přesunuto uživatelem %2$s",
- "File changes" : "Změny souboru",
+ "{user1} moved {file2} to {file1}" : "{user1} přesunul(a) {file2} do {file1}",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Soubor nebo adresář byl <strong>změněn</strong> nebo <strong>přejmenován</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo adresář",
+ "A new file or folder has been <strong>deleted</strong>" : "Nový soubor nebo adresář byl <strong>smazán</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omezovat oznámení o tvorbě a změnách <strong>oblíbených souborů</strong> <em>(Pouze v proudu)</em>",
+ "A new file or folder has been <strong>restored</strong>" : "Nový soubor nebo adresář byl <strong>obnoven</strong>",
"Upload (max. %s)" : "Nahrát (max. %s)",
"File handling" : "Zacházení se soubory",
"Maximum upload size" : "Maximální velikost pro odesílání",
@@ -151,8 +170,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Chyba nahrávání souboru \"{fileName}\": {message}",
"Could not get result from server." : "Nepodařilo se získat výsledek ze serveru.",
"No entries in this folder match '{filter}'" : "V tomto adresáři nic nesouhlasí s '{filter}'",
+ "Local link" : "Místní odkaz",
"{newname} already exists" : "{newname} již existuje",
"A file or folder has been <strong>changed</strong>" : "Soubor nebo adresář byl <strong>změněn</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Soubor nebo adresář byl <strong>smazán</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Soubor nebo adresář byla <strong>obnoven</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použijte tuto adresu pro <a href=\"%s\" target=\"_blank\">přístup ke svým Souborům přes WebDAV</a>",
"Cancel upload" : "Ukončit nahrávání"
},
diff --git a/apps/files/l10n/cs_CZ.json b/apps/files/l10n/cs_CZ.json
index 3763a13dd01..f89157f4b5c 100644
--- a/apps/files/l10n/cs_CZ.json
+++ b/apps/files/l10n/cs_CZ.json
@@ -74,35 +74,54 @@
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"],
"Favorited" : "Přidáno k oblíbeným",
"Favorite" : "Oblíbené",
- "Local link" : "Místní odkaz",
"Folder" : "Adresář",
"New folder" : "Nový adresář",
"Upload" : "Odeslat",
"An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba",
- "A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo adresář",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Soubor nebo adresář byl <strong>změněn</strong> nebo <strong>přejmenován</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omezovat oznámení o tvorbě a změnách <strong>oblíbených souborů</strong> <em>(Pouze v proudu)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Soubor nebo adresář byl <strong>smazán</strong>",
- "A file or folder has been <strong>restored</strong>" : "Soubor nebo adresář byla <strong>obnoven</strong>",
+ "File changes" : "Změny souboru",
+ "Created by %s" : "Vytvořil(a) %s",
+ "Created by {user1}" : "Vytvořil(a) {user1}",
+ "Changed by %2$s" : "Změněno uživatelem %2$s",
+ "Changed by {user1}" : "Změnil(a) {user1}",
+ "Deleted by %2$s" : "Smazáno uživatelem %2$s",
+ "Deleted by {user1}" : "Smazal(a) {user1}",
+ "Restored by %2$s" : "Obnoveno uživatelem %2$s",
+ "Restored by {user1}" : "Obnovil(a) {user1}",
+ "Renamed by %2$s" : "Přejmenováno uživatelem %2$s",
+ "Renamed by {user1}" : "Přejmenoval(a) {user1}",
+ "Moved by %2$s" : "Přesunuto uživatelem %2$s",
+ "Moved by {user1}" : "Přesunul(a) {user1}",
"You created %1$s" : "Vytvořili jste %1$s",
+ "You created {file1}" : "Vytvořil(a) jsi {file1}",
"%2$s created %1$s" : "%2$s vytvořil(a) %1$s",
+ "{user1} created {file1}" : "{user1} vytvořil(a) {file1}",
"%1$s was created in a public folder" : "%1$s byl vytvořen ve veřejném adresáři",
+ "{file1} was created in a public folder" : "{file1} byl vytvořen ve veřejném adresáři",
"You changed %1$s" : "Změnili jste %1$s",
+ "You changed {file1}" : "Změnil(a) jsi {file1}",
"%2$s changed %1$s" : "%2$s změnil(a) %1$s",
+ "{user1} changed {file1}" : "{user1} změnil(a) {file1}",
"You deleted %1$s" : "Smazali jste %1$s",
+ "You deleted {file1}" : "Smazal(a) jsi {file1}",
"%2$s deleted %1$s" : "%2$s smazal(a) %1$s",
+ "{user1} deleted {file1}" : "{user1} smazal(a) {file1}",
"You restored %1$s" : "Obnovili jste %1$s",
+ "You restored {file1}" : "Obnovil(a) jsi {file1}",
"%2$s restored %1$s" : "%2$s obnovil(a) %1$s",
+ "{user1} restored {file1}" : "{user1} obnovil(a) {file1}",
"You renamed %2$s to %1$s" : "Přejmenoval jste %2$s na %1$s",
+ "You renamed {file2} to {file1}" : "Přejmenoval(a) jsi {file2} na {file1}",
"%2$s renamed %3$s to %1$s" : "%2$s přejmenoval %3$s na %1$s",
+ "{user1} renamed {file2} to {file1}" : "{user1} přejmenoval(a) {file2} na {file1}",
"You moved %2$s to %1$s" : "Přesunul(a) jste %2$s na %1$s",
+ "You moved {file2} to {file1}" : "Přesunul(a) jsi {file2} do {file1}",
"%2$s moved %3$s to %1$s" : "%2$s přesunul(a) %3$s na %1$s",
- "Changed by %2$s" : "Změněno uživatelem %2$s",
- "Deleted by %2$s" : "Smazáno uživatelem %2$s",
- "Restored by %2$s" : "Obnoveno uživatelem %2$s",
- "Renamed by %2$s" : "Přejmenováno uživatelem %2$s",
- "Moved by %2$s" : "Přesunuto uživatelem %2$s",
- "File changes" : "Změny souboru",
+ "{user1} moved {file2} to {file1}" : "{user1} přesunul(a) {file2} do {file1}",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Soubor nebo adresář byl <strong>změněn</strong> nebo <strong>přejmenován</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Byl <strong>vytvořen</strong> nový soubor nebo adresář",
+ "A new file or folder has been <strong>deleted</strong>" : "Nový soubor nebo adresář byl <strong>smazán</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omezovat oznámení o tvorbě a změnách <strong>oblíbených souborů</strong> <em>(Pouze v proudu)</em>",
+ "A new file or folder has been <strong>restored</strong>" : "Nový soubor nebo adresář byl <strong>obnoven</strong>",
"Upload (max. %s)" : "Nahrát (max. %s)",
"File handling" : "Zacházení se soubory",
"Maximum upload size" : "Maximální velikost pro odesílání",
@@ -149,8 +168,11 @@
"Error uploading file \"{fileName}\": {message}" : "Chyba nahrávání souboru \"{fileName}\": {message}",
"Could not get result from server." : "Nepodařilo se získat výsledek ze serveru.",
"No entries in this folder match '{filter}'" : "V tomto adresáři nic nesouhlasí s '{filter}'",
+ "Local link" : "Místní odkaz",
"{newname} already exists" : "{newname} již existuje",
"A file or folder has been <strong>changed</strong>" : "Soubor nebo adresář byl <strong>změněn</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Soubor nebo adresář byl <strong>smazán</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Soubor nebo adresář byla <strong>obnoven</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Použijte tuto adresu pro <a href=\"%s\" target=\"_blank\">přístup ke svým Souborům přes WebDAV</a>",
"Cancel upload" : "Ukončit nahrávání"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 641a0f98c03..6783e2ea435 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -76,16 +76,16 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
- "Local link" : "Lokaler Link",
"Folder" : "Ordner",
"New folder" : "Neuer Ordner",
"Upload" : "Hochladen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
- "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Eine Datei oder Ordner wurden <strong>geändert</strong> oder <strong>umbenannt</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Benachrichtigungen über Neues und Änderungen auf deine <strong>favorisierten Dateien</strong> beschränken <em>(nur im Stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
- "A file or folder has been <strong>restored</strong>" : "Eine Datei oder ein Ordner wurde <strong>wiederhergestellt</strong>",
+ "File changes" : "Dateiänderungen",
+ "Changed by %2$s" : "Geändert von %2$s",
+ "Deleted by %2$s" : "Gelöscht von %2$s",
+ "Restored by %2$s" : "Wiederhergestellt von %2$s",
+ "Renamed by %2$s" : "Umbenannt von %2$s ",
+ "Moved by %2$s" : "Verschoben von %2$s",
"You created %1$s" : "Du hast %1$s erstellt",
"%2$s created %1$s" : "%2$s hat %1$s erstellt",
"%1$s was created in a public folder" : "%1$s wurde in einem öffentlichen Ordner erstellt",
@@ -99,12 +99,9 @@ OC.L10N.register(
"%2$s renamed %3$s to %1$s" : "%2$s hat %3$s in %1$s umebenannt",
"You moved %2$s to %1$s" : "Du hast %2$s nach %1$s verschoben",
"%2$s moved %3$s to %1$s" : "%2$s hat %3$s nach %1$s verschoben",
- "Changed by %2$s" : "Geändert von %2$s",
- "Deleted by %2$s" : "Gelöscht von %2$s",
- "Restored by %2$s" : "Wiederhergestellt von %2$s",
- "Renamed by %2$s" : "Umbenannt von %2$s ",
- "Moved by %2$s" : "Verschoben von %2$s",
- "File changes" : "Dateiänderungen",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Eine Datei oder Ordner wurden <strong>geändert</strong> oder <strong>umbenannt</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Benachrichtigungen über Neues und Änderungen auf deine <strong>favorisierten Dateien</strong> beschränken <em>(nur im Stream)</em>",
"Upload (max. %s)" : "Hochladen (max. %s)",
"File handling" : "Dateibehandlung",
"Maximum upload size" : "Maximale Upload-Größe",
@@ -151,8 +148,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Fehler beim Hochladen der Datei \"{fileName}\": {message}",
"Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.",
"No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein",
+ "Local link" : "Lokaler Link",
"{newname} already exists" : "{newname} existiert bereits",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Eine Datei oder ein Ordner wurde <strong>wiederhergestellt</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Diese Adresse benutzen, um <a href=\"%s\" target=\"_blank\">über WebDAV auf deine Dateien zuzugreifen</a>",
"Cancel upload" : "Hochladen abbrechen"
},
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index 8c28265370d..aad4aedc156 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -74,16 +74,16 @@
"_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
- "Local link" : "Lokaler Link",
"Folder" : "Ordner",
"New folder" : "Neuer Ordner",
"Upload" : "Hochladen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
- "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Eine Datei oder Ordner wurden <strong>geändert</strong> oder <strong>umbenannt</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Benachrichtigungen über Neues und Änderungen auf deine <strong>favorisierten Dateien</strong> beschränken <em>(nur im Stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
- "A file or folder has been <strong>restored</strong>" : "Eine Datei oder ein Ordner wurde <strong>wiederhergestellt</strong>",
+ "File changes" : "Dateiänderungen",
+ "Changed by %2$s" : "Geändert von %2$s",
+ "Deleted by %2$s" : "Gelöscht von %2$s",
+ "Restored by %2$s" : "Wiederhergestellt von %2$s",
+ "Renamed by %2$s" : "Umbenannt von %2$s ",
+ "Moved by %2$s" : "Verschoben von %2$s",
"You created %1$s" : "Du hast %1$s erstellt",
"%2$s created %1$s" : "%2$s hat %1$s erstellt",
"%1$s was created in a public folder" : "%1$s wurde in einem öffentlichen Ordner erstellt",
@@ -97,12 +97,9 @@
"%2$s renamed %3$s to %1$s" : "%2$s hat %3$s in %1$s umebenannt",
"You moved %2$s to %1$s" : "Du hast %2$s nach %1$s verschoben",
"%2$s moved %3$s to %1$s" : "%2$s hat %3$s nach %1$s verschoben",
- "Changed by %2$s" : "Geändert von %2$s",
- "Deleted by %2$s" : "Gelöscht von %2$s",
- "Restored by %2$s" : "Wiederhergestellt von %2$s",
- "Renamed by %2$s" : "Umbenannt von %2$s ",
- "Moved by %2$s" : "Verschoben von %2$s",
- "File changes" : "Dateiänderungen",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Eine Datei oder Ordner wurden <strong>geändert</strong> oder <strong>umbenannt</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Benachrichtigungen über Neues und Änderungen auf deine <strong>favorisierten Dateien</strong> beschränken <em>(nur im Stream)</em>",
"Upload (max. %s)" : "Hochladen (max. %s)",
"File handling" : "Dateibehandlung",
"Maximum upload size" : "Maximale Upload-Größe",
@@ -149,8 +146,11 @@
"Error uploading file \"{fileName}\": {message}" : "Fehler beim Hochladen der Datei \"{fileName}\": {message}",
"Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.",
"No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein",
+ "Local link" : "Lokaler Link",
"{newname} already exists" : "{newname} existiert bereits",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Eine Datei oder ein Ordner wurde <strong>wiederhergestellt</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Diese Adresse benutzen, um <a href=\"%s\" target=\"_blank\">über WebDAV auf deine Dateien zuzugreifen</a>",
"Cancel upload" : "Hochladen abbrechen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index 52022cc5013..c15f74a9a4a 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -76,16 +76,16 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
- "Local link" : "Lokaler Link",
"Folder" : "Ordner",
"New folder" : "Neuer Ordner",
"Upload" : "Hochladen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
- "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Eine Datei oder Ordner wurden <strong>geändert</strong> oder <strong>umbenannt</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Benachrichtigungen über Neues und Änderungen zu Ihren <strong>favorisierten Dateien</strong> beschränken <em>(nur im Stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
- "A file or folder has been <strong>restored</strong>" : "Eine Datei oder ein Ordner wurde <strong>wiederhergestellt</strong>",
+ "File changes" : "Datei geändert",
+ "Changed by %2$s" : "Geändert von %2$s",
+ "Deleted by %2$s" : "Gelöscht von %2$s",
+ "Restored by %2$s" : "Wiederhergestellt von %2$s",
+ "Renamed by %2$s" : "Umbenannt von %2$s",
+ "Moved by %2$s" : "Verschoben von %2$s",
"You created %1$s" : "Sie haben %1$s erstellt",
"%2$s created %1$s" : "%2$s hat %1$s erstellt",
"%1$s was created in a public folder" : "%1$s wurde in einem öffentlichen Ordner erstellt",
@@ -94,17 +94,22 @@ OC.L10N.register(
"You deleted %1$s" : "Sie haben %1$s gelöscht",
"%2$s deleted %1$s" : "%2$s hat %1$s gelöscht",
"You restored %1$s" : "Sie haben %1$s wiederhergestellt",
- "%2$s restored %1$s" : "%2$s wiederhergestellt %1$s",
+ "You restored {file1}" : "Sie haben {file1} wiederhergestellt",
+ "%2$s restored %1$s" : "%2$s hat %1$s wiederhergestellt ",
+ "{user1} restored {file1}" : "{user1} hat {file1} wiederhergestellt",
"You renamed %2$s to %1$s" : "Sie haben %2$s in %1$s umbenannt",
- "%2$s renamed %3$s to %1$s" : "%2$s hat %3$s in %1$s umebenannt",
+ "You renamed {file2} to {file1}" : "Sie haben {file2} in {file1} umbenannt",
+ "%2$s renamed %3$s to %1$s" : "%2$s hat %3$s in %1$s umbenannt",
+ "{user1} renamed {file2} to {file1}" : "{user1} hat {file2} in {file1} umbenannt",
"You moved %2$s to %1$s" : "Sie haben %2$s nach %1$s verschoben",
+ "You moved {file2} to {file1}" : "Sie haben {file2} nach {file1} verschoben",
"%2$s moved %3$s to %1$s" : "%2$s hat %3$s nach %1$s verschoben",
- "Changed by %2$s" : "Geändert von %2$s",
- "Deleted by %2$s" : "Gelöscht von %2$s",
- "Restored by %2$s" : "Wiederhergestellt von %2$s",
- "Renamed by %2$s" : "Umbenannt von %2$s",
- "Moved by %2$s" : "Verschoben von %2$s",
- "File changes" : "Datei geändert",
+ "{user1} moved {file2} to {file1}" : "{user1} hat {file2} nach {file1} verschoben",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Eine Datei oder Ordner wurden <strong>geändert</strong> oder <strong>umbenannt</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
+ "A new file or folder has been <strong>deleted</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>gelöscht</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Benachrichtigungen über Neues und Änderungen zu Ihren <strong>favorisierten Dateien</strong> beschränken <em>(nur im Stream)</em>",
+ "A new file or folder has been <strong>restored</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>wiederhergestellt</strong>",
"Upload (max. %s)" : "Hochladen (max. %s)",
"File handling" : "Dateibehandlung",
"Maximum upload size" : "Maximale Upload-Größe",
@@ -151,8 +156,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Fehler beim Hochladen der Datei \"{fileName}\": {message}",
"Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.",
"No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein",
+ "Local link" : "Lokaler Link",
"{newname} already exists" : "{newname} existiert bereits",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Eine Datei oder ein Ordner wurde <strong>wiederhergestellt</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutze diese Adresse, um <a href=\"%s\" target=\"_blank\">via WebDAV auf deine Dateien zuzugreifen</a>",
"Cancel upload" : "Hochladen abbrechen"
},
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index a17cb51f71d..9cc6d5b253a 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -74,16 +74,16 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favorisiert",
"Favorite" : "Favorit",
- "Local link" : "Lokaler Link",
"Folder" : "Ordner",
"New folder" : "Neuer Ordner",
"Upload" : "Hochladen",
"An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten",
- "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Eine Datei oder Ordner wurden <strong>geändert</strong> oder <strong>umbenannt</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Benachrichtigungen über Neues und Änderungen zu Ihren <strong>favorisierten Dateien</strong> beschränken <em>(nur im Stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
- "A file or folder has been <strong>restored</strong>" : "Eine Datei oder ein Ordner wurde <strong>wiederhergestellt</strong>",
+ "File changes" : "Datei geändert",
+ "Changed by %2$s" : "Geändert von %2$s",
+ "Deleted by %2$s" : "Gelöscht von %2$s",
+ "Restored by %2$s" : "Wiederhergestellt von %2$s",
+ "Renamed by %2$s" : "Umbenannt von %2$s",
+ "Moved by %2$s" : "Verschoben von %2$s",
"You created %1$s" : "Sie haben %1$s erstellt",
"%2$s created %1$s" : "%2$s hat %1$s erstellt",
"%1$s was created in a public folder" : "%1$s wurde in einem öffentlichen Ordner erstellt",
@@ -92,17 +92,22 @@
"You deleted %1$s" : "Sie haben %1$s gelöscht",
"%2$s deleted %1$s" : "%2$s hat %1$s gelöscht",
"You restored %1$s" : "Sie haben %1$s wiederhergestellt",
- "%2$s restored %1$s" : "%2$s wiederhergestellt %1$s",
+ "You restored {file1}" : "Sie haben {file1} wiederhergestellt",
+ "%2$s restored %1$s" : "%2$s hat %1$s wiederhergestellt ",
+ "{user1} restored {file1}" : "{user1} hat {file1} wiederhergestellt",
"You renamed %2$s to %1$s" : "Sie haben %2$s in %1$s umbenannt",
- "%2$s renamed %3$s to %1$s" : "%2$s hat %3$s in %1$s umebenannt",
+ "You renamed {file2} to {file1}" : "Sie haben {file2} in {file1} umbenannt",
+ "%2$s renamed %3$s to %1$s" : "%2$s hat %3$s in %1$s umbenannt",
+ "{user1} renamed {file2} to {file1}" : "{user1} hat {file2} in {file1} umbenannt",
"You moved %2$s to %1$s" : "Sie haben %2$s nach %1$s verschoben",
+ "You moved {file2} to {file1}" : "Sie haben {file2} nach {file1} verschoben",
"%2$s moved %3$s to %1$s" : "%2$s hat %3$s nach %1$s verschoben",
- "Changed by %2$s" : "Geändert von %2$s",
- "Deleted by %2$s" : "Gelöscht von %2$s",
- "Restored by %2$s" : "Wiederhergestellt von %2$s",
- "Renamed by %2$s" : "Umbenannt von %2$s",
- "Moved by %2$s" : "Verschoben von %2$s",
- "File changes" : "Datei geändert",
+ "{user1} moved {file2} to {file1}" : "{user1} hat {file2} nach {file1} verschoben",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Eine Datei oder Ordner wurden <strong>geändert</strong> oder <strong>umbenannt</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>erstellt</strong>",
+ "A new file or folder has been <strong>deleted</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>gelöscht</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Benachrichtigungen über Neues und Änderungen zu Ihren <strong>favorisierten Dateien</strong> beschränken <em>(nur im Stream)</em>",
+ "A new file or folder has been <strong>restored</strong>" : "Eine neue Datei oder ein neuer Ordner wurde <strong>wiederhergestellt</strong>",
"Upload (max. %s)" : "Hochladen (max. %s)",
"File handling" : "Dateibehandlung",
"Maximum upload size" : "Maximale Upload-Größe",
@@ -149,8 +154,11 @@
"Error uploading file \"{fileName}\": {message}" : "Fehler beim Hochladen der Datei \"{fileName}\": {message}",
"Could not get result from server." : "Ergebnis konnte nicht vom Server abgerufen werden.",
"No entries in this folder match '{filter}'" : "Keine Einträge in diesem Ordner stimmen mit '{filter}' überein",
+ "Local link" : "Lokaler Link",
"{newname} already exists" : "{newname} existiert bereits",
"A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Eine Datei oder ein Ordner wurde <strong>gelöscht</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Eine Datei oder ein Ordner wurde <strong>wiederhergestellt</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Benutze diese Adresse, um <a href=\"%s\" target=\"_blank\">via WebDAV auf deine Dateien zuzugreifen</a>",
"Cancel upload" : "Hochladen abbrechen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index 7b593dcdc70..47ae6bd57fe 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"files",
{
+ "Storage is temporarily not available" : "El almacenamiento no esta disponible temporalmente",
"Storage invalid" : "Almacenamiento inválido",
"Unknown error" : "Error desconocido",
"Files" : "Archivos",
@@ -14,6 +15,7 @@ OC.L10N.register(
"Upload cancelled." : "Subida cancelada.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "No ha sido posible subir {filename} porque es un directorio o tiene 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hay suficiente espacio libre. Quiere subir {size1} pero solo quedan {size2}",
+ "Not enough free space" : "No hay espacio libre suficiente",
"Uploading..." : "Subiendo...",
"..." : "...",
"{hours}:{minutes}:{seconds} hour{plural_s} left" : "{hours}:{minutes}:{seconds} hora{plural_s} pendiente",
@@ -29,6 +31,8 @@ OC.L10N.register(
"Actions" : "Acciones",
"Download" : "Descargar",
"Rename" : "Renombrar",
+ "Move" : "Mover",
+ "Target folder" : "Directorio destino",
"Delete" : "Eliminar",
"Disconnect storage" : "Desconectar almacenamiento",
"Unshare" : "Dejar de compartir",
@@ -70,15 +74,15 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Agregado a Favoritos",
"Favorite" : "Favorito",
- "Local link" : "Enlace local",
"Folder" : "Carpeta",
"New folder" : "Nueva carpeta",
"Upload" : "Subir",
"An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas",
- "A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitar las notificaiones acerca de la creación y cambios de sus <strong>archivos favoritos</strong><em>(Stream only)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Se ha <strong>eliminado</strong> un archivo o carpeta",
- "A file or folder has been <strong>restored</strong>" : "Se ha <strong>restaurado</strong> un archivo o carpeta",
+ "Changed by %2$s" : "Cambiado por %2$s",
+ "Deleted by %2$s" : "Eliminado por %2$s",
+ "Restored by %2$s" : "Restaurado por %2$s",
+ "Renamed by %2$s" : "Renombrado por %2$s",
+ "Moved by %2$s" : "Movido por %2$s",
"You created %1$s" : "Ha creado %1$s",
"%2$s created %1$s" : "%2$s ha creado %1$s",
"%1$s was created in a public folder" : "%1$s ha sido creado en una carpeta pública",
@@ -92,11 +96,8 @@ OC.L10N.register(
"%2$s renamed %3$s to %1$s" : "%2$s renombrado %3$s a %1$s",
"You moved %2$s to %1$s" : "Has movido %2$s a %1$s",
"%2$s moved %3$s to %1$s" : "%2$s movido %3$s a %1$s",
- "Changed by %2$s" : "Cambiado por %2$s",
- "Deleted by %2$s" : "Eliminado por %2$s",
- "Restored by %2$s" : "Restaurado por %2$s",
- "Renamed by %2$s" : "Renombrado por %2$s",
- "Moved by %2$s" : "Movido por %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitar las notificaiones acerca de la creación y cambios de sus <strong>archivos favoritos</strong><em>(Stream only)</em>",
"Upload (max. %s)" : "Subida (máx. %s)",
"File handling" : "Administración de archivos",
"Maximum upload size" : "Tamaño máximo de subida",
@@ -116,6 +117,10 @@ OC.L10N.register(
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que está intentando subir sobrepasan el tamaño máximo permitido en este servidor.",
"No favorites" : "No hay favoritos",
"Files and folders you mark as favorite will show up here" : "Aquí aparecerán los archivos y carpetas que usted marque como favoritos",
+ "Shared with you" : "Compartido con usted",
+ "Shared with others" : "Compartido con otros",
+ "Tags" : "Etiquetas",
+ "Deleted files" : "Archivos eliminados",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo archivo de texto.txt",
"Storage not available" : "Almacenamiento no disponible",
@@ -138,8 +143,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Error subiendo el archivo \"{fileName}\": {message}",
"Could not get result from server." : "No se pudo obtener respuesta del servidor.",
"No entries in this folder match '{filter}'" : "No hay resultados que coincidan con '{filter}'",
+ "Local link" : "Enlace local",
"{newname} already exists" : "{newname} ya existe",
"A file or folder has been <strong>changed</strong>" : "Se ha <strong>modificado</strong> un archivo o carpeta",
+ "A file or folder has been <strong>deleted</strong>" : "Se ha <strong>eliminado</strong> un archivo o carpeta",
+ "A file or folder has been <strong>restored</strong>" : "Se ha <strong>restaurado</strong> un archivo o carpeta",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use esta direccioń para <a href=\"%s\" target=\"_blank\">acceder a sus archivos vía WebDAV<a>",
"Cancel upload" : "Cancelar la subida"
},
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 2b710c1e6f7..7373b91d2e6 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Storage is temporarily not available" : "El almacenamiento no esta disponible temporalmente",
"Storage invalid" : "Almacenamiento inválido",
"Unknown error" : "Error desconocido",
"Files" : "Archivos",
@@ -12,6 +13,7 @@
"Upload cancelled." : "Subida cancelada.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "No ha sido posible subir {filename} porque es un directorio o tiene 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hay suficiente espacio libre. Quiere subir {size1} pero solo quedan {size2}",
+ "Not enough free space" : "No hay espacio libre suficiente",
"Uploading..." : "Subiendo...",
"..." : "...",
"{hours}:{minutes}:{seconds} hour{plural_s} left" : "{hours}:{minutes}:{seconds} hora{plural_s} pendiente",
@@ -27,6 +29,8 @@
"Actions" : "Acciones",
"Download" : "Descargar",
"Rename" : "Renombrar",
+ "Move" : "Mover",
+ "Target folder" : "Directorio destino",
"Delete" : "Eliminar",
"Disconnect storage" : "Desconectar almacenamiento",
"Unshare" : "Dejar de compartir",
@@ -68,15 +72,15 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Agregado a Favoritos",
"Favorite" : "Favorito",
- "Local link" : "Enlace local",
"Folder" : "Carpeta",
"New folder" : "Nueva carpeta",
"Upload" : "Subir",
"An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas",
- "A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitar las notificaiones acerca de la creación y cambios de sus <strong>archivos favoritos</strong><em>(Stream only)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Se ha <strong>eliminado</strong> un archivo o carpeta",
- "A file or folder has been <strong>restored</strong>" : "Se ha <strong>restaurado</strong> un archivo o carpeta",
+ "Changed by %2$s" : "Cambiado por %2$s",
+ "Deleted by %2$s" : "Eliminado por %2$s",
+ "Restored by %2$s" : "Restaurado por %2$s",
+ "Renamed by %2$s" : "Renombrado por %2$s",
+ "Moved by %2$s" : "Movido por %2$s",
"You created %1$s" : "Ha creado %1$s",
"%2$s created %1$s" : "%2$s ha creado %1$s",
"%1$s was created in a public folder" : "%1$s ha sido creado en una carpeta pública",
@@ -90,11 +94,8 @@
"%2$s renamed %3$s to %1$s" : "%2$s renombrado %3$s a %1$s",
"You moved %2$s to %1$s" : "Has movido %2$s a %1$s",
"%2$s moved %3$s to %1$s" : "%2$s movido %3$s a %1$s",
- "Changed by %2$s" : "Cambiado por %2$s",
- "Deleted by %2$s" : "Eliminado por %2$s",
- "Restored by %2$s" : "Restaurado por %2$s",
- "Renamed by %2$s" : "Renombrado por %2$s",
- "Moved by %2$s" : "Movido por %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitar las notificaiones acerca de la creación y cambios de sus <strong>archivos favoritos</strong><em>(Stream only)</em>",
"Upload (max. %s)" : "Subida (máx. %s)",
"File handling" : "Administración de archivos",
"Maximum upload size" : "Tamaño máximo de subida",
@@ -114,6 +115,10 @@
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que está intentando subir sobrepasan el tamaño máximo permitido en este servidor.",
"No favorites" : "No hay favoritos",
"Files and folders you mark as favorite will show up here" : "Aquí aparecerán los archivos y carpetas que usted marque como favoritos",
+ "Shared with you" : "Compartido con usted",
+ "Shared with others" : "Compartido con otros",
+ "Tags" : "Etiquetas",
+ "Deleted files" : "Archivos eliminados",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo archivo de texto.txt",
"Storage not available" : "Almacenamiento no disponible",
@@ -136,8 +141,11 @@
"Error uploading file \"{fileName}\": {message}" : "Error subiendo el archivo \"{fileName}\": {message}",
"Could not get result from server." : "No se pudo obtener respuesta del servidor.",
"No entries in this folder match '{filter}'" : "No hay resultados que coincidan con '{filter}'",
+ "Local link" : "Enlace local",
"{newname} already exists" : "{newname} ya existe",
"A file or folder has been <strong>changed</strong>" : "Se ha <strong>modificado</strong> un archivo o carpeta",
+ "A file or folder has been <strong>deleted</strong>" : "Se ha <strong>eliminado</strong> un archivo o carpeta",
+ "A file or folder has been <strong>restored</strong>" : "Se ha <strong>restaurado</strong> un archivo o carpeta",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use esta direccioń para <a href=\"%s\" target=\"_blank\">acceder a sus archivos vía WebDAV<a>",
"Cancel upload" : "Cancelar la subida"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/fi_FI.js b/apps/files/l10n/fi_FI.js
index 27655e4dc59..ae40cfe2725 100644
--- a/apps/files/l10n/fi_FI.js
+++ b/apps/files/l10n/fi_FI.js
@@ -70,15 +70,13 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Favorited" : "Lisätty suosikkeihin",
"Favorite" : "Suosikki",
- "Local link" : "Paikallinen linkki",
"Folder" : "Kansio",
"New folder" : "Uusi kansio",
"Upload" : "Lähetä",
"An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe",
- "A new file or folder has been <strong>created</strong>" : "Uusi tiedosto tai kansio on <strong>luotu</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Rajoita luomis- ja muutosilmoitukset <strong>omiin suosikkitiedostoihin</strong> <em>(Vain listaus)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Tiedosto tai kansio on <strong>poistettu</strong>",
- "A file or folder has been <strong>restored</strong>" : "Tiedosto tai kansio on <strong>palautettu</strong>",
+ "Changed by %2$s" : "Muuttanut %2$s",
+ "Deleted by %2$s" : "Poistanut %2$s",
+ "Restored by %2$s" : "Palauttanut %2$s",
"You created %1$s" : "Loit kohteen %1$s",
"%2$s created %1$s" : "%2$s loi kohteen %1$s",
"%1$s was created in a public folder" : "%1$s luotiin julkiseen kansioon",
@@ -88,9 +86,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s poisti kohteen %1$s",
"You restored %1$s" : "Palautit kohteen %1$s",
"%2$s restored %1$s" : "%2$s palautti kohteen %1$s",
- "Changed by %2$s" : "Muuttanut %2$s",
- "Deleted by %2$s" : "Poistanut %2$s",
- "Restored by %2$s" : "Palauttanut %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Uusi tiedosto tai kansio on <strong>luotu</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Rajoita luomis- ja muutosilmoitukset <strong>omiin suosikkitiedostoihin</strong> <em>(Vain listaus)</em>",
"Upload (max. %s)" : "Lähetys (enintään %s)",
"File handling" : "Tiedostonhallinta",
"Maximum upload size" : "Lähetettävän tiedoston suurin sallittu koko",
@@ -132,8 +129,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Virhe lähettäessä tiedostoa \"{fileName}\": {message}",
"Could not get result from server." : "Tuloksien saaminen palvelimelta ei onnistunut.",
"No entries in this folder match '{filter}'" : "Mikään tässä kansiossa ei vastaa suodatusta '{filter}'",
+ "Local link" : "Paikallinen linkki",
"{newname} already exists" : "{newname} on jo olemassa",
"A file or folder has been <strong>changed</strong>" : "Tiedostoa tai kansiota on <strong>muutettu</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Tiedosto tai kansio on <strong>poistettu</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Tiedosto tai kansio on <strong>palautettu</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Käytä tätä osoitetta <a href=\"%s\" target=\"_blank\">käyttääksesi tiedostojasi WebDAV:n yli</a>",
"Cancel upload" : "Peru lähetys"
},
diff --git a/apps/files/l10n/fi_FI.json b/apps/files/l10n/fi_FI.json
index 759242905c9..8e14deb1607 100644
--- a/apps/files/l10n/fi_FI.json
+++ b/apps/files/l10n/fi_FI.json
@@ -68,15 +68,13 @@
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Favorited" : "Lisätty suosikkeihin",
"Favorite" : "Suosikki",
- "Local link" : "Paikallinen linkki",
"Folder" : "Kansio",
"New folder" : "Uusi kansio",
"Upload" : "Lähetä",
"An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe",
- "A new file or folder has been <strong>created</strong>" : "Uusi tiedosto tai kansio on <strong>luotu</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Rajoita luomis- ja muutosilmoitukset <strong>omiin suosikkitiedostoihin</strong> <em>(Vain listaus)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Tiedosto tai kansio on <strong>poistettu</strong>",
- "A file or folder has been <strong>restored</strong>" : "Tiedosto tai kansio on <strong>palautettu</strong>",
+ "Changed by %2$s" : "Muuttanut %2$s",
+ "Deleted by %2$s" : "Poistanut %2$s",
+ "Restored by %2$s" : "Palauttanut %2$s",
"You created %1$s" : "Loit kohteen %1$s",
"%2$s created %1$s" : "%2$s loi kohteen %1$s",
"%1$s was created in a public folder" : "%1$s luotiin julkiseen kansioon",
@@ -86,9 +84,8 @@
"%2$s deleted %1$s" : "%2$s poisti kohteen %1$s",
"You restored %1$s" : "Palautit kohteen %1$s",
"%2$s restored %1$s" : "%2$s palautti kohteen %1$s",
- "Changed by %2$s" : "Muuttanut %2$s",
- "Deleted by %2$s" : "Poistanut %2$s",
- "Restored by %2$s" : "Palauttanut %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Uusi tiedosto tai kansio on <strong>luotu</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Rajoita luomis- ja muutosilmoitukset <strong>omiin suosikkitiedostoihin</strong> <em>(Vain listaus)</em>",
"Upload (max. %s)" : "Lähetys (enintään %s)",
"File handling" : "Tiedostonhallinta",
"Maximum upload size" : "Lähetettävän tiedoston suurin sallittu koko",
@@ -130,8 +127,11 @@
"Error uploading file \"{fileName}\": {message}" : "Virhe lähettäessä tiedostoa \"{fileName}\": {message}",
"Could not get result from server." : "Tuloksien saaminen palvelimelta ei onnistunut.",
"No entries in this folder match '{filter}'" : "Mikään tässä kansiossa ei vastaa suodatusta '{filter}'",
+ "Local link" : "Paikallinen linkki",
"{newname} already exists" : "{newname} on jo olemassa",
"A file or folder has been <strong>changed</strong>" : "Tiedostoa tai kansiota on <strong>muutettu</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Tiedosto tai kansio on <strong>poistettu</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Tiedosto tai kansio on <strong>palautettu</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Käytä tätä osoitetta <a href=\"%s\" target=\"_blank\">käyttääksesi tiedostojasi WebDAV:n yli</a>",
"Cancel upload" : "Peru lähetys"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 6e558d462d4..831f032d7b9 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"files",
{
+ "Storage is temporarily not available" : "Le support de stockage est temporairement non disponible",
"Storage invalid" : "Support de stockage non valable",
"Unknown error" : "Erreur inconnue ",
"Files" : "Fichiers",
@@ -14,6 +15,7 @@ OC.L10N.register(
"Upload cancelled." : "Envoi annulé.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossible d'envoyer {filename} car il s'agit d'un répertoire ou d'un fichier de taille nulle",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Espace libre insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles",
+ "Target folder \"{dir}\" does not exist any more" : "Le dossier cible « {dir} » n'existe plus",
"Not enough free space" : "Pas assez d'espace disponible",
"Uploading..." : "Téléversement en cours…",
"..." : "...",
@@ -31,6 +33,7 @@ OC.L10N.register(
"Download" : "Télécharger",
"Rename" : "Renommer",
"Move" : "Déplacer",
+ "Target folder" : "Dossier cible",
"Delete" : "Supprimer",
"Disconnect storage" : "Déconnecter ce support de stockage",
"Unshare" : "Ne plus partager",
@@ -50,6 +53,7 @@ OC.L10N.register(
"Could not create file \"{file}\" because it already exists" : "Impossible de créer le fichier \"{file}\" car il existe déjà",
"Could not create folder \"{dir}\" because it already exists" : "Impossible de créer le dossier \"{dir}\" car il existe déjà",
"Error deleting file \"{fileName}\"." : "Erreur à la suppression du fichier \"{fileName}\".",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Aucun résultat dans d'autres dossiers n'a été trouvé pour '{tag}{filter}{endtag}'",
"Name" : "Nom",
"Size" : "Taille",
"Modified" : "Modifié",
@@ -72,34 +76,54 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
"Favorited" : "Marqué comme favori",
"Favorite" : "Favoris",
- "Local link" : "Dossier local",
"Folder" : "Dossier",
"New folder" : "Nouveau dossier",
"Upload" : "Chargement",
"An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes",
- "A new file or folder has been <strong>created</strong>" : "Un nouveau fichier ou répertoire a été <strong>créé</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un fichier ou dossier a été <strong>modifié</strong> ou <strong>renommé</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limiter les notifications à ce qui concerne la création et la modification de vos <strong>fichiers favoris</strong> <em>(Flux uniquement)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Un fichier ou un répertoire a été <strong>supprimé</strong>",
- "A file or folder has been <strong>restored</strong>" : "Un fichier ou un répertoire a été <strong>restauré</strong>",
+ "File changes" : "Modifications du fichier",
+ "Created by %s" : "Créé par %s",
+ "Created by {user1}" : "Créé par {user1}",
+ "Changed by %2$s" : "Modifié par %2$s",
+ "Changed by {user1}" : "Modifié par {user1}",
+ "Deleted by %2$s" : "Supprimé par %2$s",
+ "Deleted by {user1}" : "Supprimé par {user1}",
+ "Restored by %2$s" : "Restauré par %2$s",
+ "Restored by {user1}" : "Restauré par {user1}",
+ "Renamed by %2$s" : "Renommé par %2$s",
+ "Renamed by {user1}" : "Renommé par {user1}",
+ "Moved by %2$s" : "Déplacé par %2$s",
+ "Moved by {user1}" : "Déplacé par {user1}",
"You created %1$s" : "Vous avez créé %1$s",
+ "You created {file1}" : "Vous avez créé {file1}",
"%2$s created %1$s" : "%2$s a créé %1$s",
+ "{user1} created {file1}" : "{user1} a créé {file1}",
"%1$s was created in a public folder" : "%1$s a été créé dans un dossier public",
+ "{file1} was created in a public folder" : "{file1} a été créé dans un dossier public",
"You changed %1$s" : "Vous avez modifié %1$s",
+ "You changed {file1}" : "Vous avez modifié {file1}",
"%2$s changed %1$s" : "%2$s a modifié %1$s",
+ "{user1} changed {file1}" : "{user1} a modifié {file1}",
"You deleted %1$s" : "Vous avez supprimé %1$s",
+ "You deleted {file1}" : "Vous avez supprimé {file1}",
"%2$s deleted %1$s" : "%2$s a supprimé %1$s",
+ "{user1} deleted {file1}" : "{user1} a supprimé {file1}",
"You restored %1$s" : "Vous avez restauré %1$s",
+ "You restored {file1}" : "Vous avez restauré {file1}",
"%2$s restored %1$s" : "%2$s a restauré %1$s",
+ "{user1} restored {file1}" : "{user1} a restauré {file1}",
"You renamed %2$s to %1$s" : "Vous avez renommé %2$s en %1$s",
+ "You renamed {file2} to {file1}" : "Vous avez renommé {file2} en {file1}",
"%2$s renamed %3$s to %1$s" : "%2$s a renommé %3$s en %1$s",
+ "{user1} renamed {file2} to {file1}" : "{user1} a renommé {file2} en {file1}",
"You moved %2$s to %1$s" : "Vous avez déplacé %2$s dans %1$s",
+ "You moved {file2} to {file1}" : "Vous avez déplacé {file2} dans {file1}",
"%2$s moved %3$s to %1$s" : "%2$s a déplacé %3$s dans %1$s",
- "Changed by %2$s" : "Modifié par %2$s",
- "Deleted by %2$s" : "Supprimé par %2$s",
- "Restored by %2$s" : "Restauré par %2$s",
- "Renamed by %2$s" : "Renommé par %2$s",
- "Moved by %2$s" : "Déplacé par %2$s",
+ "{user1} moved {file2} to {file1}" : "{user1} a déplacé {file2} dans {file1}",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un fichier ou dossier a été <strong>modifié</strong> ou <strong>renommé</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Un nouveau fichier ou répertoire a été <strong>créé</strong>",
+ "A new file or folder has been <strong>deleted</strong>" : "Un nouveau fichier ou répertoire a été <strong>supprimé</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limiter les notifications à ce qui concerne la création et la modification de vos <strong>fichiers favoris</strong> <em>(Flux uniquement)</em>",
+ "A new file or folder has been <strong>restored</strong>" : "Un nouveau fichier ou répertoire a été <strong>restauré</strong>",
"Upload (max. %s)" : "Envoi (max. %s)",
"File handling" : "Gestion de fichiers",
"Maximum upload size" : "Taille max. d'envoi",
@@ -146,8 +170,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Erreur lors de l'envoi du fichier \"{fileName}\" : {message}",
"Could not get result from server." : "Ne peut recevoir les résultats du serveur.",
"No entries in this folder match '{filter}'" : "Aucune entrée de ce dossier ne correspond à '{filter}'",
+ "Local link" : "Dossier local",
"{newname} already exists" : "{newname} existe déjà",
"A file or folder has been <strong>changed</strong>" : "Un fichier ou un répertoire a été <strong>modifié</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Un fichier ou un répertoire a été <strong>supprimé</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Un fichier ou un répertoire a été <strong>restauré</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilisez cette adresse pour <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">accéder à vos fichiers par WebDAV</a>",
"Cancel upload" : "Annuler le téléversement"
},
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 2eb37503398..04d1eb94477 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Storage is temporarily not available" : "Le support de stockage est temporairement non disponible",
"Storage invalid" : "Support de stockage non valable",
"Unknown error" : "Erreur inconnue ",
"Files" : "Fichiers",
@@ -12,6 +13,7 @@
"Upload cancelled." : "Envoi annulé.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossible d'envoyer {filename} car il s'agit d'un répertoire ou d'un fichier de taille nulle",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Espace libre insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles",
+ "Target folder \"{dir}\" does not exist any more" : "Le dossier cible « {dir} » n'existe plus",
"Not enough free space" : "Pas assez d'espace disponible",
"Uploading..." : "Téléversement en cours…",
"..." : "...",
@@ -29,6 +31,7 @@
"Download" : "Télécharger",
"Rename" : "Renommer",
"Move" : "Déplacer",
+ "Target folder" : "Dossier cible",
"Delete" : "Supprimer",
"Disconnect storage" : "Déconnecter ce support de stockage",
"Unshare" : "Ne plus partager",
@@ -48,6 +51,7 @@
"Could not create file \"{file}\" because it already exists" : "Impossible de créer le fichier \"{file}\" car il existe déjà",
"Could not create folder \"{dir}\" because it already exists" : "Impossible de créer le dossier \"{dir}\" car il existe déjà",
"Error deleting file \"{fileName}\"." : "Erreur à la suppression du fichier \"{fileName}\".",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Aucun résultat dans d'autres dossiers n'a été trouvé pour '{tag}{filter}{endtag}'",
"Name" : "Nom",
"Size" : "Taille",
"Modified" : "Modifié",
@@ -70,34 +74,54 @@
"_%n byte_::_%n bytes_" : ["%n octet","%n octets"],
"Favorited" : "Marqué comme favori",
"Favorite" : "Favoris",
- "Local link" : "Dossier local",
"Folder" : "Dossier",
"New folder" : "Nouveau dossier",
"Upload" : "Chargement",
"An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes",
- "A new file or folder has been <strong>created</strong>" : "Un nouveau fichier ou répertoire a été <strong>créé</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un fichier ou dossier a été <strong>modifié</strong> ou <strong>renommé</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limiter les notifications à ce qui concerne la création et la modification de vos <strong>fichiers favoris</strong> <em>(Flux uniquement)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Un fichier ou un répertoire a été <strong>supprimé</strong>",
- "A file or folder has been <strong>restored</strong>" : "Un fichier ou un répertoire a été <strong>restauré</strong>",
+ "File changes" : "Modifications du fichier",
+ "Created by %s" : "Créé par %s",
+ "Created by {user1}" : "Créé par {user1}",
+ "Changed by %2$s" : "Modifié par %2$s",
+ "Changed by {user1}" : "Modifié par {user1}",
+ "Deleted by %2$s" : "Supprimé par %2$s",
+ "Deleted by {user1}" : "Supprimé par {user1}",
+ "Restored by %2$s" : "Restauré par %2$s",
+ "Restored by {user1}" : "Restauré par {user1}",
+ "Renamed by %2$s" : "Renommé par %2$s",
+ "Renamed by {user1}" : "Renommé par {user1}",
+ "Moved by %2$s" : "Déplacé par %2$s",
+ "Moved by {user1}" : "Déplacé par {user1}",
"You created %1$s" : "Vous avez créé %1$s",
+ "You created {file1}" : "Vous avez créé {file1}",
"%2$s created %1$s" : "%2$s a créé %1$s",
+ "{user1} created {file1}" : "{user1} a créé {file1}",
"%1$s was created in a public folder" : "%1$s a été créé dans un dossier public",
+ "{file1} was created in a public folder" : "{file1} a été créé dans un dossier public",
"You changed %1$s" : "Vous avez modifié %1$s",
+ "You changed {file1}" : "Vous avez modifié {file1}",
"%2$s changed %1$s" : "%2$s a modifié %1$s",
+ "{user1} changed {file1}" : "{user1} a modifié {file1}",
"You deleted %1$s" : "Vous avez supprimé %1$s",
+ "You deleted {file1}" : "Vous avez supprimé {file1}",
"%2$s deleted %1$s" : "%2$s a supprimé %1$s",
+ "{user1} deleted {file1}" : "{user1} a supprimé {file1}",
"You restored %1$s" : "Vous avez restauré %1$s",
+ "You restored {file1}" : "Vous avez restauré {file1}",
"%2$s restored %1$s" : "%2$s a restauré %1$s",
+ "{user1} restored {file1}" : "{user1} a restauré {file1}",
"You renamed %2$s to %1$s" : "Vous avez renommé %2$s en %1$s",
+ "You renamed {file2} to {file1}" : "Vous avez renommé {file2} en {file1}",
"%2$s renamed %3$s to %1$s" : "%2$s a renommé %3$s en %1$s",
+ "{user1} renamed {file2} to {file1}" : "{user1} a renommé {file2} en {file1}",
"You moved %2$s to %1$s" : "Vous avez déplacé %2$s dans %1$s",
+ "You moved {file2} to {file1}" : "Vous avez déplacé {file2} dans {file1}",
"%2$s moved %3$s to %1$s" : "%2$s a déplacé %3$s dans %1$s",
- "Changed by %2$s" : "Modifié par %2$s",
- "Deleted by %2$s" : "Supprimé par %2$s",
- "Restored by %2$s" : "Restauré par %2$s",
- "Renamed by %2$s" : "Renommé par %2$s",
- "Moved by %2$s" : "Déplacé par %2$s",
+ "{user1} moved {file2} to {file1}" : "{user1} a déplacé {file2} dans {file1}",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un fichier ou dossier a été <strong>modifié</strong> ou <strong>renommé</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Un nouveau fichier ou répertoire a été <strong>créé</strong>",
+ "A new file or folder has been <strong>deleted</strong>" : "Un nouveau fichier ou répertoire a été <strong>supprimé</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limiter les notifications à ce qui concerne la création et la modification de vos <strong>fichiers favoris</strong> <em>(Flux uniquement)</em>",
+ "A new file or folder has been <strong>restored</strong>" : "Un nouveau fichier ou répertoire a été <strong>restauré</strong>",
"Upload (max. %s)" : "Envoi (max. %s)",
"File handling" : "Gestion de fichiers",
"Maximum upload size" : "Taille max. d'envoi",
@@ -144,8 +168,11 @@
"Error uploading file \"{fileName}\": {message}" : "Erreur lors de l'envoi du fichier \"{fileName}\" : {message}",
"Could not get result from server." : "Ne peut recevoir les résultats du serveur.",
"No entries in this folder match '{filter}'" : "Aucune entrée de ce dossier ne correspond à '{filter}'",
+ "Local link" : "Dossier local",
"{newname} already exists" : "{newname} existe déjà",
"A file or folder has been <strong>changed</strong>" : "Un fichier ou un répertoire a été <strong>modifié</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Un fichier ou un répertoire a été <strong>supprimé</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Un fichier ou un répertoire a été <strong>restauré</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilisez cette adresse pour <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">accéder à vos fichiers par WebDAV</a>",
"Cancel upload" : "Annuler le téléversement"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/apps/files/l10n/hu_HU.js b/apps/files/l10n/hu_HU.js
index 3b16c61da1b..a87febf2e18 100644
--- a/apps/files/l10n/hu_HU.js
+++ b/apps/files/l10n/hu_HU.js
@@ -76,16 +76,16 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"],
"Favorited" : "Kedvenc",
"Favorite" : "Kedvenc",
- "Local link" : "Helyi hivatkozás",
"Folder" : "Mappa",
"New folder" : "Új mappa",
"Upload" : "Feltöltés",
"An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket",
- "A new file or folder has been <strong>created</strong>" : "Új fájl vagy mappa <strong>létrehozva</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "A fájl vagy mappa <strong>megváltozott</strong> vagy <strong>át lett nevezve</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Szűkítse le az értesítéseket a létrehozásról és a változásokról a <strong>kedvenc fájlok</strong> <em>(Stream only)</em> -ra",
- "A file or folder has been <strong>deleted</strong>" : "Fájl vagy mappa <strong>törölve</strong>",
- "A file or folder has been <strong>restored</strong>" : "Fájl vagy mappa <strong>visszaállítva</strong>",
+ "File changes" : "Fájl változások",
+ "Changed by %2$s" : "Megváltoztatta: %2$s",
+ "Deleted by %2$s" : "Törölte: %2$s",
+ "Restored by %2$s" : "Visszaállította: %2$s",
+ "Renamed by %2$s" : "Átnevezte: %2$s",
+ "Moved by %2$s" : "Áthelyezte: %2$s",
"You created %1$s" : "Létrehoztad: %1$s",
"%2$s created %1$s" : "%2$s létrehozta: %1$s",
"%1$s was created in a public folder" : "%1$s létrehozva egy nyilvános mappában",
@@ -99,12 +99,9 @@ OC.L10N.register(
"%2$s renamed %3$s to %1$s" : "%2$s átnevezte ezt: %3$s erre: %1$s",
"You moved %2$s to %1$s" : "Áthelyezted ezt: %2$s ide: %1$s",
"%2$s moved %3$s to %1$s" : "%2$s áthelyezted ezt: %3$s ide: %1$s",
- "Changed by %2$s" : "Megváltoztatta: %2$s",
- "Deleted by %2$s" : "Törölte: %2$s",
- "Restored by %2$s" : "Visszaállította: %2$s",
- "Renamed by %2$s" : "Átnevezte: %2$s",
- "Moved by %2$s" : "Áthelyezte: %2$s",
- "File changes" : "Fájl változások",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "A fájl vagy mappa <strong>megváltozott</strong> vagy <strong>át lett nevezve</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Új fájl vagy mappa <strong>létrehozva</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Szűkítse le az értesítéseket a létrehozásról és a változásokról a <strong>kedvenc fájlok</strong> <em>(Stream only)</em> -ra",
"Upload (max. %s)" : "Feltöltés (max.: %s)",
"File handling" : "Fájlkezelés",
"Maximum upload size" : "Maximális feltölthető fájlméret",
@@ -151,8 +148,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Hiba történt a fájlfeltöltés közben: \"{fileName}\": {message}",
"Could not get result from server." : "A szervertől nem kapható meg a művelet eredménye.",
"No entries in this folder match '{filter}'" : "Nincsenek egyező bejegyzések ebben a mappában '{filter}'",
+ "Local link" : "Helyi hivatkozás",
"{newname} already exists" : "{newname} már létezik",
"A file or folder has been <strong>changed</strong>" : "Fájl vagy mappa <strong>módosítva</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Fájl vagy mappa <strong>törölve</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Fájl vagy mappa <strong>visszaállítva</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Használd ezt a címet <a href=\"%s\" target=\"_blank\">a Fájlok eléréséhez WebDAV-on keresztül</a>.",
"Cancel upload" : "Feltöltés megszakítása"
},
diff --git a/apps/files/l10n/hu_HU.json b/apps/files/l10n/hu_HU.json
index bae82270168..92161d4ae72 100644
--- a/apps/files/l10n/hu_HU.json
+++ b/apps/files/l10n/hu_HU.json
@@ -74,16 +74,16 @@
"_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"],
"Favorited" : "Kedvenc",
"Favorite" : "Kedvenc",
- "Local link" : "Helyi hivatkozás",
"Folder" : "Mappa",
"New folder" : "Új mappa",
"Upload" : "Feltöltés",
"An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket",
- "A new file or folder has been <strong>created</strong>" : "Új fájl vagy mappa <strong>létrehozva</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "A fájl vagy mappa <strong>megváltozott</strong> vagy <strong>át lett nevezve</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Szűkítse le az értesítéseket a létrehozásról és a változásokról a <strong>kedvenc fájlok</strong> <em>(Stream only)</em> -ra",
- "A file or folder has been <strong>deleted</strong>" : "Fájl vagy mappa <strong>törölve</strong>",
- "A file or folder has been <strong>restored</strong>" : "Fájl vagy mappa <strong>visszaállítva</strong>",
+ "File changes" : "Fájl változások",
+ "Changed by %2$s" : "Megváltoztatta: %2$s",
+ "Deleted by %2$s" : "Törölte: %2$s",
+ "Restored by %2$s" : "Visszaállította: %2$s",
+ "Renamed by %2$s" : "Átnevezte: %2$s",
+ "Moved by %2$s" : "Áthelyezte: %2$s",
"You created %1$s" : "Létrehoztad: %1$s",
"%2$s created %1$s" : "%2$s létrehozta: %1$s",
"%1$s was created in a public folder" : "%1$s létrehozva egy nyilvános mappában",
@@ -97,12 +97,9 @@
"%2$s renamed %3$s to %1$s" : "%2$s átnevezte ezt: %3$s erre: %1$s",
"You moved %2$s to %1$s" : "Áthelyezted ezt: %2$s ide: %1$s",
"%2$s moved %3$s to %1$s" : "%2$s áthelyezted ezt: %3$s ide: %1$s",
- "Changed by %2$s" : "Megváltoztatta: %2$s",
- "Deleted by %2$s" : "Törölte: %2$s",
- "Restored by %2$s" : "Visszaállította: %2$s",
- "Renamed by %2$s" : "Átnevezte: %2$s",
- "Moved by %2$s" : "Áthelyezte: %2$s",
- "File changes" : "Fájl változások",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "A fájl vagy mappa <strong>megváltozott</strong> vagy <strong>át lett nevezve</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Új fájl vagy mappa <strong>létrehozva</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Szűkítse le az értesítéseket a létrehozásról és a változásokról a <strong>kedvenc fájlok</strong> <em>(Stream only)</em> -ra",
"Upload (max. %s)" : "Feltöltés (max.: %s)",
"File handling" : "Fájlkezelés",
"Maximum upload size" : "Maximális feltölthető fájlméret",
@@ -149,8 +146,11 @@
"Error uploading file \"{fileName}\": {message}" : "Hiba történt a fájlfeltöltés közben: \"{fileName}\": {message}",
"Could not get result from server." : "A szervertől nem kapható meg a művelet eredménye.",
"No entries in this folder match '{filter}'" : "Nincsenek egyező bejegyzések ebben a mappában '{filter}'",
+ "Local link" : "Helyi hivatkozás",
"{newname} already exists" : "{newname} már létezik",
"A file or folder has been <strong>changed</strong>" : "Fájl vagy mappa <strong>módosítva</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Fájl vagy mappa <strong>törölve</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Fájl vagy mappa <strong>visszaállítva</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Használd ezt a címet <a href=\"%s\" target=\"_blank\">a Fájlok eléréséhez WebDAV-on keresztül</a>.",
"Cancel upload" : "Feltöltés megszakítása"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js
index fc9b9bdbb4c..237a6b0dec1 100644
--- a/apps/files/l10n/id.js
+++ b/apps/files/l10n/id.js
@@ -69,15 +69,13 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte"],
"Favorited" : "Difavoritkan",
"Favorite" : "Favorit",
- "Local link" : "Pranala lokal",
"Folder" : "Folder",
"New folder" : "Map baru",
"Upload" : "Unggah",
"An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label",
- "A new file or folder has been <strong>created</strong>" : "Sebuah berkas atau folder baru telah <strong>dibuat</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Batas notifikasi tentang pembuatan dan perubahan <strong>berkas favorit</strong> Anda <em>(Hanya stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Sebuah berkas atau folder telah <strong>dihapus</strong>",
- "A file or folder has been <strong>restored</strong>" : "Sebuah berkas atau folder telah <strong>dipulihkan</strong>",
+ "Changed by %2$s" : "Diubah oleh %2$s",
+ "Deleted by %2$s" : "Dihapus oleh %2$s",
+ "Restored by %2$s" : "Dipulihkan oleh %2$s",
"You created %1$s" : "Anda membuat %1$s",
"%2$s created %1$s" : "%2$s membuat %1$s",
"%1$s was created in a public folder" : "%1$s telah dibuat di folder publik",
@@ -87,9 +85,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s menghapus %1$s",
"You restored %1$s" : "Anda memulihkan %1$s",
"%2$s restored %1$s" : "%2$s memulihkan %1$s",
- "Changed by %2$s" : "Diubah oleh %2$s",
- "Deleted by %2$s" : "Dihapus oleh %2$s",
- "Restored by %2$s" : "Dipulihkan oleh %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Sebuah berkas atau folder baru telah <strong>dibuat</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Batas notifikasi tentang pembuatan dan perubahan <strong>berkas favorit</strong> Anda <em>(Hanya stream)</em>",
"Upload (max. %s)" : "Unggah (maks. %s)",
"File handling" : "Penanganan berkas",
"Maximum upload size" : "Ukuran pengunggahan maksimum",
@@ -131,8 +128,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Kesalahan saat mengunggah \"{filename}\": {message}",
"Could not get result from server." : "Tidak mendapatkan hasil dari server.",
"No entries in this folder match '{filter}'" : "Tidak ada entri di folder ini yang cocok dengan '{filter}'",
+ "Local link" : "Pranala lokal",
"{newname} already exists" : "{newname} sudah ada",
"A file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder telah <strong>diubah</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Sebuah berkas atau folder telah <strong>dihapus</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Sebuah berkas atau folder telah <strong>dipulihkan</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gunakan alamat ini untuk <a href=\"%s\" target=\"_blank\">mengakses berkas Anda melalui WebDAV</a>",
"Cancel upload" : "Batalkan pengunggahan"
},
diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json
index 663f865ecb5..7d1eaf17d53 100644
--- a/apps/files/l10n/id.json
+++ b/apps/files/l10n/id.json
@@ -67,15 +67,13 @@
"_%n byte_::_%n bytes_" : ["%n byte"],
"Favorited" : "Difavoritkan",
"Favorite" : "Favorit",
- "Local link" : "Pranala lokal",
"Folder" : "Folder",
"New folder" : "Map baru",
"Upload" : "Unggah",
"An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label",
- "A new file or folder has been <strong>created</strong>" : "Sebuah berkas atau folder baru telah <strong>dibuat</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Batas notifikasi tentang pembuatan dan perubahan <strong>berkas favorit</strong> Anda <em>(Hanya stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Sebuah berkas atau folder telah <strong>dihapus</strong>",
- "A file or folder has been <strong>restored</strong>" : "Sebuah berkas atau folder telah <strong>dipulihkan</strong>",
+ "Changed by %2$s" : "Diubah oleh %2$s",
+ "Deleted by %2$s" : "Dihapus oleh %2$s",
+ "Restored by %2$s" : "Dipulihkan oleh %2$s",
"You created %1$s" : "Anda membuat %1$s",
"%2$s created %1$s" : "%2$s membuat %1$s",
"%1$s was created in a public folder" : "%1$s telah dibuat di folder publik",
@@ -85,9 +83,8 @@
"%2$s deleted %1$s" : "%2$s menghapus %1$s",
"You restored %1$s" : "Anda memulihkan %1$s",
"%2$s restored %1$s" : "%2$s memulihkan %1$s",
- "Changed by %2$s" : "Diubah oleh %2$s",
- "Deleted by %2$s" : "Dihapus oleh %2$s",
- "Restored by %2$s" : "Dipulihkan oleh %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Sebuah berkas atau folder baru telah <strong>dibuat</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Batas notifikasi tentang pembuatan dan perubahan <strong>berkas favorit</strong> Anda <em>(Hanya stream)</em>",
"Upload (max. %s)" : "Unggah (maks. %s)",
"File handling" : "Penanganan berkas",
"Maximum upload size" : "Ukuran pengunggahan maksimum",
@@ -129,8 +126,11 @@
"Error uploading file \"{fileName}\": {message}" : "Kesalahan saat mengunggah \"{filename}\": {message}",
"Could not get result from server." : "Tidak mendapatkan hasil dari server.",
"No entries in this folder match '{filter}'" : "Tidak ada entri di folder ini yang cocok dengan '{filter}'",
+ "Local link" : "Pranala lokal",
"{newname} already exists" : "{newname} sudah ada",
"A file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder telah <strong>diubah</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Sebuah berkas atau folder telah <strong>dihapus</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Sebuah berkas atau folder telah <strong>dipulihkan</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gunakan alamat ini untuk <a href=\"%s\" target=\"_blank\">mengakses berkas Anda melalui WebDAV</a>",
"Cancel upload" : "Batalkan pengunggahan"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 0886392a412..94d86a9a231 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -70,15 +70,13 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bæti","%n bæti"],
"Favorited" : "Sett í eftirlæti",
"Favorite" : "Eftirlæti",
- "Local link" : "Staðvær tengill",
"Folder" : "Mappa",
"New folder" : "Ný mappa",
"Upload" : "Senda inn",
"An error occurred while trying to update the tags" : "Villa kom upp við að reyna að uppfæra merkin",
- "A new file or folder has been <strong>created</strong>" : "Skjal eða mappa hefur verið <strong>búin til</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Takmarka tilkynningar um gerð og breytingar á <strong>eftirlætisskrám</strong> <em>(einungis streymi)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Skjali eða möppu hefur verið <strong>eytt</strong>",
- "A file or folder has been <strong>restored</strong>" : "Skjal eða mappa hefur verið <strong>endurheimt</strong>",
+ "Changed by %2$s" : "Breytt af %2$s",
+ "Deleted by %2$s" : "Eytt af %2$s",
+ "Restored by %2$s" : "Endurheimt af %2$s",
"You created %1$s" : "Þú bjóst til %1$s",
"%2$s created %1$s" : "%2$s bjó til %1$s",
"%1$s was created in a public folder" : "%1$s var búið til í opinni möppu",
@@ -88,9 +86,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s eyddi %1$s",
"You restored %1$s" : "Þú endurheimtir %1$s",
"%2$s restored %1$s" : "%2$s endurheimti %1$s",
- "Changed by %2$s" : "Breytt af %2$s",
- "Deleted by %2$s" : "Eytt af %2$s",
- "Restored by %2$s" : "Endurheimt af %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Skjal eða mappa hefur verið <strong>búin til</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Takmarka tilkynningar um gerð og breytingar á <strong>eftirlætisskrám</strong> <em>(einungis streymi)</em>",
"Upload (max. %s)" : "Senda inn (hám. %s)",
"File handling" : "Meðhöndlun skráar",
"Maximum upload size" : "Hámarksstærð innsendingar",
@@ -132,8 +129,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Villa við að senda inn skrána \"{fileName}\": {message}",
"Could not get result from server." : "Fékk ekki niðurstöður frá þjóni.",
"No entries in this folder match '{filter}'" : "Engar færslur í þessari möppu samsvara '{filter}'",
+ "Local link" : "Staðvær tengill",
"{newname} already exists" : "{newname} er þegar til",
"A file or folder has been <strong>changed</strong>" : "Skjali eða möppu hefur verið <strong>breytt</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Skjali eða möppu hefur verið <strong>eytt</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Skjal eða mappa hefur verið <strong>endurheimt</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Notaðu þetta vistfang til að <a href=\"%s\" target=\"_blank\">nálgast skrárnar þínar með WebDAV</a>",
"Cancel upload" : "Hætta við innsendingu"
},
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index efe8cfda39d..97f42689d32 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -68,15 +68,13 @@
"_%n byte_::_%n bytes_" : ["%n bæti","%n bæti"],
"Favorited" : "Sett í eftirlæti",
"Favorite" : "Eftirlæti",
- "Local link" : "Staðvær tengill",
"Folder" : "Mappa",
"New folder" : "Ný mappa",
"Upload" : "Senda inn",
"An error occurred while trying to update the tags" : "Villa kom upp við að reyna að uppfæra merkin",
- "A new file or folder has been <strong>created</strong>" : "Skjal eða mappa hefur verið <strong>búin til</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Takmarka tilkynningar um gerð og breytingar á <strong>eftirlætisskrám</strong> <em>(einungis streymi)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Skjali eða möppu hefur verið <strong>eytt</strong>",
- "A file or folder has been <strong>restored</strong>" : "Skjal eða mappa hefur verið <strong>endurheimt</strong>",
+ "Changed by %2$s" : "Breytt af %2$s",
+ "Deleted by %2$s" : "Eytt af %2$s",
+ "Restored by %2$s" : "Endurheimt af %2$s",
"You created %1$s" : "Þú bjóst til %1$s",
"%2$s created %1$s" : "%2$s bjó til %1$s",
"%1$s was created in a public folder" : "%1$s var búið til í opinni möppu",
@@ -86,9 +84,8 @@
"%2$s deleted %1$s" : "%2$s eyddi %1$s",
"You restored %1$s" : "Þú endurheimtir %1$s",
"%2$s restored %1$s" : "%2$s endurheimti %1$s",
- "Changed by %2$s" : "Breytt af %2$s",
- "Deleted by %2$s" : "Eytt af %2$s",
- "Restored by %2$s" : "Endurheimt af %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Skjal eða mappa hefur verið <strong>búin til</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Takmarka tilkynningar um gerð og breytingar á <strong>eftirlætisskrám</strong> <em>(einungis streymi)</em>",
"Upload (max. %s)" : "Senda inn (hám. %s)",
"File handling" : "Meðhöndlun skráar",
"Maximum upload size" : "Hámarksstærð innsendingar",
@@ -130,8 +127,11 @@
"Error uploading file \"{fileName}\": {message}" : "Villa við að senda inn skrána \"{fileName}\": {message}",
"Could not get result from server." : "Fékk ekki niðurstöður frá þjóni.",
"No entries in this folder match '{filter}'" : "Engar færslur í þessari möppu samsvara '{filter}'",
+ "Local link" : "Staðvær tengill",
"{newname} already exists" : "{newname} er þegar til",
"A file or folder has been <strong>changed</strong>" : "Skjali eða möppu hefur verið <strong>breytt</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Skjali eða möppu hefur verið <strong>eytt</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Skjal eða mappa hefur verið <strong>endurheimt</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Notaðu þetta vistfang til að <a href=\"%s\" target=\"_blank\">nálgast skrárnar þínar með WebDAV</a>",
"Cancel upload" : "Hætta við innsendingu"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index ab41af4a66c..d3293d6d1ce 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -13,7 +13,7 @@ OC.L10N.register(
"Favorites" : "Preferiti",
"Could not create folder \"{dir}\"" : "Impossibile creare la cartella \"{dir}\"",
"Upload cancelled." : "Caricamento annullato.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossibile caricare {filename} poiché è una cartella oppure ha una dimensione di 0 byte.",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossibile caricare {filename} poiché è una cartella oppure ha una dimensione di 0 byte",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Spazio insufficiente, stai caricando {size1}, ma è rimasto solo {size2}",
"Target folder \"{dir}\" does not exist any more" : "La cartella di destinazione \"{dir}\" non esiste più",
"Not enough free space" : "Spazio libero insufficiente",
@@ -61,7 +61,7 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n file","%n file"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluso %n nascosto","inclusi %n nascosti"],
- "You don’t have permission to upload or create files here" : "Qui non hai i permessi di caricare o creare file",
+ "You don’t have permission to upload or create files here" : "Qui non hai i permessi per caricare o creare file",
"_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso"],
"New" : "Nuovo",
"\"{name}\" is an invalid file name." : "\"{name}\" non è un nome file valido.",
@@ -76,16 +76,16 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n byte"],
"Favorited" : "Preferiti",
"Favorite" : "Preferito",
- "Local link" : "Collegamento locale",
"Folder" : "Cartella",
"New folder" : "Nuova cartella",
"Upload" : "Carica",
"An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette",
- "A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un file o una cartella sono stati <strong>modificato</strong> o<strong>rinominati</strong> ",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limita le notifiche relative alla creazione e alla modifica dei tuoi <strong>file preferiti</strong> <em>(Solo flusso)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Un file o una cartella è stato <strong>eliminato</strong>",
- "A file or folder has been <strong>restored</strong>" : "Un file o una cartella è stato <strong>ripristinato</strong>",
+ "File changes" : "Modiche dei file",
+ "Changed by %2$s" : "Modificata da %2$s",
+ "Deleted by %2$s" : "Eliminata da %2$s",
+ "Restored by %2$s" : "Ripristinata da %2$s",
+ "Renamed by %2$s" : "Rinominata da %2$s",
+ "Moved by %2$s" : "Spostata da %2$s",
"You created %1$s" : "Hai creato %1$s",
"%2$s created %1$s" : "%2$s ha creato %1$s",
"%1$s was created in a public folder" : "%1$s è stato creato in una cartella pubblica",
@@ -99,12 +99,9 @@ OC.L10N.register(
"%2$s renamed %3$s to %1$s" : "%2$s ha rinominato %3$s in %1$s",
"You moved %2$s to %1$s" : "Hai spostato %1$s in %2$s",
"%2$s moved %3$s to %1$s" : "%2$s ha spostato %3$s in %1$s",
- "Changed by %2$s" : "Modificata da %2$s",
- "Deleted by %2$s" : "Eliminata da %2$s",
- "Restored by %2$s" : "Ripristinata da %2$s",
- "Renamed by %2$s" : "Rinominata da %2$s",
- "Moved by %2$s" : "Spostata da %2$s",
- "File changes" : "Modiche dei file",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un file o una cartella sono stati <strong>modificato</strong> o<strong>rinominati</strong> ",
+ "A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limita le notifiche relative alla creazione e alla modifica dei tuoi <strong>file preferiti</strong> <em>(Solo flusso)</em>",
"Upload (max. %s)" : "Carica (massimo %s)",
"File handling" : "Gestione file",
"Maximum upload size" : "Dimensione massima caricamento",
@@ -151,8 +148,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Errore durante il caricamento del file \"{fileName}\": {message}",
"Could not get result from server." : "Impossibile ottenere il risultato dal server.",
"No entries in this folder match '{filter}'" : "Nessuna voce in questa cartella corrisponde a '{filter}'",
+ "Local link" : "Collegamento locale",
"{newname} already exists" : "{newname} esiste già",
"A file or folder has been <strong>changed</strong>" : "Un file o una cartella è stato <strong>modificato</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Un file o una cartella è stato <strong>eliminato</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Un file o una cartella è stato <strong>ripristinato</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizza questo indirizzo per <a href=\"%s\" target=\"_blank\">accedere ai tuoi file con WebDAV</a>",
"Cancel upload" : "Annulla caricamento"
},
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index bf637b62848..97cb9530996 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -11,7 +11,7 @@
"Favorites" : "Preferiti",
"Could not create folder \"{dir}\"" : "Impossibile creare la cartella \"{dir}\"",
"Upload cancelled." : "Caricamento annullato.",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossibile caricare {filename} poiché è una cartella oppure ha una dimensione di 0 byte.",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossibile caricare {filename} poiché è una cartella oppure ha una dimensione di 0 byte",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Spazio insufficiente, stai caricando {size1}, ma è rimasto solo {size2}",
"Target folder \"{dir}\" does not exist any more" : "La cartella di destinazione \"{dir}\" non esiste più",
"Not enough free space" : "Spazio libero insufficiente",
@@ -59,7 +59,7 @@
"_%n file_::_%n files_" : ["%n file","%n file"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluso %n nascosto","inclusi %n nascosti"],
- "You don’t have permission to upload or create files here" : "Qui non hai i permessi di caricare o creare file",
+ "You don’t have permission to upload or create files here" : "Qui non hai i permessi per caricare o creare file",
"_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso"],
"New" : "Nuovo",
"\"{name}\" is an invalid file name." : "\"{name}\" non è un nome file valido.",
@@ -74,16 +74,16 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n byte"],
"Favorited" : "Preferiti",
"Favorite" : "Preferito",
- "Local link" : "Collegamento locale",
"Folder" : "Cartella",
"New folder" : "Nuova cartella",
"Upload" : "Carica",
"An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette",
- "A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un file o una cartella sono stati <strong>modificato</strong> o<strong>rinominati</strong> ",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limita le notifiche relative alla creazione e alla modifica dei tuoi <strong>file preferiti</strong> <em>(Solo flusso)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Un file o una cartella è stato <strong>eliminato</strong>",
- "A file or folder has been <strong>restored</strong>" : "Un file o una cartella è stato <strong>ripristinato</strong>",
+ "File changes" : "Modiche dei file",
+ "Changed by %2$s" : "Modificata da %2$s",
+ "Deleted by %2$s" : "Eliminata da %2$s",
+ "Restored by %2$s" : "Ripristinata da %2$s",
+ "Renamed by %2$s" : "Rinominata da %2$s",
+ "Moved by %2$s" : "Spostata da %2$s",
"You created %1$s" : "Hai creato %1$s",
"%2$s created %1$s" : "%2$s ha creato %1$s",
"%1$s was created in a public folder" : "%1$s è stato creato in una cartella pubblica",
@@ -97,12 +97,9 @@
"%2$s renamed %3$s to %1$s" : "%2$s ha rinominato %3$s in %1$s",
"You moved %2$s to %1$s" : "Hai spostato %1$s in %2$s",
"%2$s moved %3$s to %1$s" : "%2$s ha spostato %3$s in %1$s",
- "Changed by %2$s" : "Modificata da %2$s",
- "Deleted by %2$s" : "Eliminata da %2$s",
- "Restored by %2$s" : "Ripristinata da %2$s",
- "Renamed by %2$s" : "Rinominata da %2$s",
- "Moved by %2$s" : "Spostata da %2$s",
- "File changes" : "Modiche dei file",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un file o una cartella sono stati <strong>modificato</strong> o<strong>rinominati</strong> ",
+ "A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limita le notifiche relative alla creazione e alla modifica dei tuoi <strong>file preferiti</strong> <em>(Solo flusso)</em>",
"Upload (max. %s)" : "Carica (massimo %s)",
"File handling" : "Gestione file",
"Maximum upload size" : "Dimensione massima caricamento",
@@ -149,8 +146,11 @@
"Error uploading file \"{fileName}\": {message}" : "Errore durante il caricamento del file \"{fileName}\": {message}",
"Could not get result from server." : "Impossibile ottenere il risultato dal server.",
"No entries in this folder match '{filter}'" : "Nessuna voce in questa cartella corrisponde a '{filter}'",
+ "Local link" : "Collegamento locale",
"{newname} already exists" : "{newname} esiste già",
"A file or folder has been <strong>changed</strong>" : "Un file o una cartella è stato <strong>modificato</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Un file o una cartella è stato <strong>eliminato</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Un file o una cartella è stato <strong>ripristinato</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Utilizza questo indirizzo per <a href=\"%s\" target=\"_blank\">accedere ai tuoi file con WebDAV</a>",
"Cancel upload" : "Annulla caricamento"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index daedfbacda1..b24bedc3fde 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -70,15 +70,13 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n バイト"],
"Favorited" : "お気に入り済",
"Favorite" : "お気に入り",
- "Local link" : "ローカルリンク",
"Folder" : "フォルダー",
"New folder" : "新しいフォルダー",
"Upload" : "アップロード",
"An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
- "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>お気に入りファイル</strong>の作成と変更の通知を制限する<em>(ストリームのみ)</em>",
- "A file or folder has been <strong>deleted</strong>" : "ファイルまたはフォルダーを<strong>削除</strong>したとき",
- "A file or folder has been <strong>restored</strong>" : "ファイルまたはフォルダーを<strong>復元</strong>したとき",
+ "Changed by %2$s" : "%2$s により更新",
+ "Deleted by %2$s" : "%2$s により削除",
+ "Restored by %2$s" : "%2$s により復元",
"You created %1$s" : "あなたは %1$s を作成しました",
"%2$s created %1$s" : "%2$s は%1$s を作成しました",
"%1$s was created in a public folder" : "公開フォルダーに %1$s が作成されました",
@@ -88,9 +86,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s は %1$s を削除しました",
"You restored %1$s" : "%1$s を復元しました",
"%2$s restored %1$s" : "%2$s は、 %1$s を復元しました",
- "Changed by %2$s" : "%2$s により更新",
- "Deleted by %2$s" : "%2$s により削除",
- "Restored by %2$s" : "%2$s により復元",
+ "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>お気に入りファイル</strong>の作成と変更の通知を制限する<em>(ストリームのみ)</em>",
"Upload (max. %s)" : "アップロード ( 最大 %s )",
"File handling" : "ファイル操作",
"Maximum upload size" : "最大アップロードサイズ",
@@ -132,8 +129,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "ファイル\"{fileName}\"のアップロードエラー: {message}",
"Could not get result from server." : "サーバーから結果を取得できませんでした。",
"No entries in this folder match '{filter}'" : "このフォルダー内で '{filter}' にマッチするものはありません",
+ "Local link" : "ローカルリンク",
"{newname} already exists" : "{newname} はすでに存在します",
"A file or folder has been <strong>changed</strong>" : "ファイルまたはフォルダーを<strong>変更</strong>したとき",
+ "A file or folder has been <strong>deleted</strong>" : "ファイルまたはフォルダーを<strong>削除</strong>したとき",
+ "A file or folder has been <strong>restored</strong>" : "ファイルまたはフォルダーを<strong>復元</strong>したとき",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">WebDAV 経由でファイルにアクセス</a> するにはこのアドレスを利用してください",
"Cancel upload" : "アップロードをキャンセル"
},
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index acb350b2185..5053cba2033 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -68,15 +68,13 @@
"_%n byte_::_%n bytes_" : ["%n バイト"],
"Favorited" : "お気に入り済",
"Favorite" : "お気に入り",
- "Local link" : "ローカルリンク",
"Folder" : "フォルダー",
"New folder" : "新しいフォルダー",
"Upload" : "アップロード",
"An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました",
- "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>お気に入りファイル</strong>の作成と変更の通知を制限する<em>(ストリームのみ)</em>",
- "A file or folder has been <strong>deleted</strong>" : "ファイルまたはフォルダーを<strong>削除</strong>したとき",
- "A file or folder has been <strong>restored</strong>" : "ファイルまたはフォルダーを<strong>復元</strong>したとき",
+ "Changed by %2$s" : "%2$s により更新",
+ "Deleted by %2$s" : "%2$s により削除",
+ "Restored by %2$s" : "%2$s により復元",
"You created %1$s" : "あなたは %1$s を作成しました",
"%2$s created %1$s" : "%2$s は%1$s を作成しました",
"%1$s was created in a public folder" : "公開フォルダーに %1$s が作成されました",
@@ -86,9 +84,8 @@
"%2$s deleted %1$s" : "%2$s は %1$s を削除しました",
"You restored %1$s" : "%1$s を復元しました",
"%2$s restored %1$s" : "%2$s は、 %1$s を復元しました",
- "Changed by %2$s" : "%2$s により更新",
- "Deleted by %2$s" : "%2$s により削除",
- "Restored by %2$s" : "%2$s により復元",
+ "A new file or folder has been <strong>created</strong>" : "新しいファイルまたはフォルダーを<strong>作成</strong>したとき",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>お気に入りファイル</strong>の作成と変更の通知を制限する<em>(ストリームのみ)</em>",
"Upload (max. %s)" : "アップロード ( 最大 %s )",
"File handling" : "ファイル操作",
"Maximum upload size" : "最大アップロードサイズ",
@@ -130,8 +127,11 @@
"Error uploading file \"{fileName}\": {message}" : "ファイル\"{fileName}\"のアップロードエラー: {message}",
"Could not get result from server." : "サーバーから結果を取得できませんでした。",
"No entries in this folder match '{filter}'" : "このフォルダー内で '{filter}' にマッチするものはありません",
+ "Local link" : "ローカルリンク",
"{newname} already exists" : "{newname} はすでに存在します",
"A file or folder has been <strong>changed</strong>" : "ファイルまたはフォルダーを<strong>変更</strong>したとき",
+ "A file or folder has been <strong>deleted</strong>" : "ファイルまたはフォルダーを<strong>削除</strong>したとき",
+ "A file or folder has been <strong>restored</strong>" : "ファイルまたはフォルダーを<strong>復元</strong>したとき",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "<a href=\"%s\" target=\"_blank\">WebDAV 経由でファイルにアクセス</a> するにはこのアドレスを利用してください",
"Cancel upload" : "アップロードをキャンセル"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js
index e07d88a617b..dfaa9479ca1 100644
--- a/apps/files/l10n/lv.js
+++ b/apps/files/l10n/lv.js
@@ -69,15 +69,13 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n baiti","%n baits","%n baiti"],
"Favorited" : "Favorīti",
"Favorite" : "Iecienītais",
- "Local link" : "Lokāla saite",
"Folder" : "Mape",
"New folder" : "Jauna mape",
"Upload" : "Augšupielādēt",
"An error occurred while trying to update the tags" : "Notika kļūda atjaunojot atzīmi",
- "A new file or folder has been <strong>created</strong>" : "<strong>Izveidota</strong> jauna datne vai mape",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitēt ziņojumus par jūsu <strong>iecienīto datņu</strong> izveidošanu un izmaiņām <em>(tikai datu straumei)</em>",
- "A file or folder has been <strong>deleted</strong>" : "<strong>Dzēsta</strong> datne vai mape",
- "A file or folder has been <strong>restored</strong>" : "<strong>Atjaunota</strong> datne vai mape",
+ "Changed by %2$s" : "Izmainīja %2$s",
+ "Deleted by %2$s" : "Dzēsa %2$s",
+ "Restored by %2$s" : "Atjaunoja %2$s",
"You created %1$s" : "Tu izveidoji %1$s",
"%2$s created %1$s" : "%2$s izveidoja %1$s",
"%1$s was created in a public folder" : "%1$s tika izveidots publiskajā mapē",
@@ -87,9 +85,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s izdzēsa %1$s",
"You restored %1$s" : "Tu atjaunoji %1$s",
"%2$s restored %1$s" : "%2$s atjaunoja %1$s",
- "Changed by %2$s" : "Izmainīja %2$s",
- "Deleted by %2$s" : "Dzēsa %2$s",
- "Restored by %2$s" : "Atjaunoja %2$s",
+ "A new file or folder has been <strong>created</strong>" : "<strong>Izveidota</strong> jauna datne vai mape",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitēt ziņojumus par jūsu <strong>iecienīto datņu</strong> izveidošanu un izmaiņām <em>(tikai datu straumei)</em>",
"Upload (max. %s)" : "Augšupielādēt (maks. %s)",
"File handling" : "Datņu pārvaldība",
"Maximum upload size" : "Maksimālais datņu augšupielādes apjoms",
@@ -131,8 +128,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Kļūda augšupielādējot datni \"{fileName}\": {message}",
"Could not get result from server." : "Nevar saņemt rezultātus no servera",
"No entries in this folder match '{filter}'" : "Šajā mapē nekas nav atrasts, meklējot pēc '{filter}'",
+ "Local link" : "Lokāla saite",
"{newname} already exists" : "{newname} jau eksistē",
"A file or folder has been <strong>changed</strong>" : "<strong>Izmainīta</strong> datne vai mape",
+ "A file or folder has been <strong>deleted</strong>" : "<strong>Dzēsta</strong> datne vai mape",
+ "A file or folder has been <strong>restored</strong>" : "<strong>Atjaunota</strong> datne vai mape",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Izmanto šo adresi, lai <a href=\"%s\" target=\"_blank\">sasniegtu savas datnes caur WebDAV</a>",
"Cancel upload" : "Atcelt augšupielādi"
},
diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json
index fb94b07e966..d9b8c77e9de 100644
--- a/apps/files/l10n/lv.json
+++ b/apps/files/l10n/lv.json
@@ -67,15 +67,13 @@
"_%n byte_::_%n bytes_" : ["%n baiti","%n baits","%n baiti"],
"Favorited" : "Favorīti",
"Favorite" : "Iecienītais",
- "Local link" : "Lokāla saite",
"Folder" : "Mape",
"New folder" : "Jauna mape",
"Upload" : "Augšupielādēt",
"An error occurred while trying to update the tags" : "Notika kļūda atjaunojot atzīmi",
- "A new file or folder has been <strong>created</strong>" : "<strong>Izveidota</strong> jauna datne vai mape",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitēt ziņojumus par jūsu <strong>iecienīto datņu</strong> izveidošanu un izmaiņām <em>(tikai datu straumei)</em>",
- "A file or folder has been <strong>deleted</strong>" : "<strong>Dzēsta</strong> datne vai mape",
- "A file or folder has been <strong>restored</strong>" : "<strong>Atjaunota</strong> datne vai mape",
+ "Changed by %2$s" : "Izmainīja %2$s",
+ "Deleted by %2$s" : "Dzēsa %2$s",
+ "Restored by %2$s" : "Atjaunoja %2$s",
"You created %1$s" : "Tu izveidoji %1$s",
"%2$s created %1$s" : "%2$s izveidoja %1$s",
"%1$s was created in a public folder" : "%1$s tika izveidots publiskajā mapē",
@@ -85,9 +83,8 @@
"%2$s deleted %1$s" : "%2$s izdzēsa %1$s",
"You restored %1$s" : "Tu atjaunoji %1$s",
"%2$s restored %1$s" : "%2$s atjaunoja %1$s",
- "Changed by %2$s" : "Izmainīja %2$s",
- "Deleted by %2$s" : "Dzēsa %2$s",
- "Restored by %2$s" : "Atjaunoja %2$s",
+ "A new file or folder has been <strong>created</strong>" : "<strong>Izveidota</strong> jauna datne vai mape",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitēt ziņojumus par jūsu <strong>iecienīto datņu</strong> izveidošanu un izmaiņām <em>(tikai datu straumei)</em>",
"Upload (max. %s)" : "Augšupielādēt (maks. %s)",
"File handling" : "Datņu pārvaldība",
"Maximum upload size" : "Maksimālais datņu augšupielādes apjoms",
@@ -129,8 +126,11 @@
"Error uploading file \"{fileName}\": {message}" : "Kļūda augšupielādējot datni \"{fileName}\": {message}",
"Could not get result from server." : "Nevar saņemt rezultātus no servera",
"No entries in this folder match '{filter}'" : "Šajā mapē nekas nav atrasts, meklējot pēc '{filter}'",
+ "Local link" : "Lokāla saite",
"{newname} already exists" : "{newname} jau eksistē",
"A file or folder has been <strong>changed</strong>" : "<strong>Izmainīta</strong> datne vai mape",
+ "A file or folder has been <strong>deleted</strong>" : "<strong>Dzēsta</strong> datne vai mape",
+ "A file or folder has been <strong>restored</strong>" : "<strong>Atjaunota</strong> datne vai mape",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Izmanto šo adresi, lai <a href=\"%s\" target=\"_blank\">sasniegtu savas datnes caur WebDAV</a>",
"Cancel upload" : "Atcelt augšupielādi"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
diff --git a/apps/files/l10n/nb_NO.js b/apps/files/l10n/nb_NO.js
index 6bf8abb8de6..5c0a73c9719 100644
--- a/apps/files/l10n/nb_NO.js
+++ b/apps/files/l10n/nb_NO.js
@@ -15,6 +15,7 @@ OC.L10N.register(
"Upload cancelled." : "Opplasting avbrutt.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan ikke laste opp {filename} fordi det er en mappe eller har 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ikke nok ledig plass. Du laster opp size1} men bare {size2} er ledig",
+ "Target folder \"{dir}\" does not exist any more" : "Målmappen \"{dir}\" finnes ikke lenger",
"Not enough free space" : "Ikke nok ledig diskplass",
"Uploading..." : "Laster opp...",
"..." : "...",
@@ -52,6 +53,7 @@ OC.L10N.register(
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
"Could not create folder \"{dir}\" because it already exists" : "Klarete ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
"Error deleting file \"{fileName}\"." : "Feil ved sletting av fil \"{fileName}\".",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Tomt søkeresultat i andre mapper for '{tag}{filter}{endtag}'",
"Name" : "Navn",
"Size" : "Størrelse",
"Modified" : "Endret",
@@ -74,16 +76,16 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Er favoritt",
"Favorite" : "Gjør til favoritt",
- "Local link" : "Lokal lenke",
"Folder" : "Mappe",
"New folder" : "Ny mappe",
"Upload" : "Last opp",
"An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av merkelappene",
- "A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "En fil eller mappe ble <strong>endret</strong> eller <strong>omdøpt</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begrens varsling om oppretting og endringer til <strong>favorittfilene</strong> dine <em>(Kun strøm)</em>",
- "A file or folder has been <strong>deleted</strong>" : "En fil eller mappe ble <strong>slettet</strong>",
- "A file or folder has been <strong>restored</strong>" : "En fil eller mappe ble <strong>gjenopprettet</strong>",
+ "File changes" : "Filendringer",
+ "Changed by %2$s" : "Endret av %2$s",
+ "Deleted by %2$s" : "Slettet av %2$s",
+ "Restored by %2$s" : "Gjenopprettet av %2$s",
+ "Renamed by %2$s" : "Omdøpt av %2$s",
+ "Moved by %2$s" : "Flyttet av %2$s",
"You created %1$s" : "Du opprettet %1$s",
"%2$s created %1$s" : "%2$s opprettet %1$s",
"%1$s was created in a public folder" : "%1$s ble opprettet i en offentlig mappe",
@@ -97,12 +99,9 @@ OC.L10N.register(
"%2$s renamed %3$s to %1$s" : "%2$s omdøpte %3$s til %1$s",
"You moved %2$s to %1$s" : "Du flyttet %2$s til %1$s",
"%2$s moved %3$s to %1$s" : "%2$s flyttet %3$s til %1$s",
- "Changed by %2$s" : "Endret av %2$s",
- "Deleted by %2$s" : "Slettet av %2$s",
- "Restored by %2$s" : "Gjenopprettet av %2$s",
- "Renamed by %2$s" : "Omdøpt av %2$s",
- "Moved by %2$s" : "Flyttet av %2$s",
- "File changes" : "Filendringer",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "En fil eller mappe ble <strong>endret</strong> eller <strong>omdøpt</strong>",
+ "A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begrens varsling om oppretting og endringer til <strong>favorittfilene</strong> dine <em>(Kun strøm)</em>",
"Upload (max. %s)" : "Opplasting (maks. %s)",
"File handling" : "Filhåndtering",
"Maximum upload size" : "Største opplastingsstørrelse",
@@ -149,8 +148,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Feil ved opplasting av fil \"{fileName}\": {message}",
"Could not get result from server." : "Fikk ikke resultat fra tjeneren.",
"No entries in this folder match '{filter}'" : "Ingen oppføringer i denne mappen stemmer med '{filter}'",
+ "Local link" : "Lokal lenke",
"{newname} already exists" : "{newname} finnes allerede",
"A file or folder has been <strong>changed</strong>" : "En fil eller mappe ble <strong>endret</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "En fil eller mappe ble <strong>slettet</strong>",
+ "A file or folder has been <strong>restored</strong>" : "En fil eller mappe ble <strong>gjenopprettet</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bruk følgende adresse for <a href=\"%s\" target=\"_blank\">tilgang til filene via WebDAV</a>",
"Cancel upload" : "Avbryt opplasting"
},
diff --git a/apps/files/l10n/nb_NO.json b/apps/files/l10n/nb_NO.json
index ddbebadf41f..4c0183aec2f 100644
--- a/apps/files/l10n/nb_NO.json
+++ b/apps/files/l10n/nb_NO.json
@@ -13,6 +13,7 @@
"Upload cancelled." : "Opplasting avbrutt.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan ikke laste opp {filename} fordi det er en mappe eller har 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Ikke nok ledig plass. Du laster opp size1} men bare {size2} er ledig",
+ "Target folder \"{dir}\" does not exist any more" : "Målmappen \"{dir}\" finnes ikke lenger",
"Not enough free space" : "Ikke nok ledig diskplass",
"Uploading..." : "Laster opp...",
"..." : "...",
@@ -50,6 +51,7 @@
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
"Could not create folder \"{dir}\" because it already exists" : "Klarete ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
"Error deleting file \"{fileName}\"." : "Feil ved sletting av fil \"{fileName}\".",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Tomt søkeresultat i andre mapper for '{tag}{filter}{endtag}'",
"Name" : "Navn",
"Size" : "Størrelse",
"Modified" : "Endret",
@@ -72,16 +74,16 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Er favoritt",
"Favorite" : "Gjør til favoritt",
- "Local link" : "Lokal lenke",
"Folder" : "Mappe",
"New folder" : "Ny mappe",
"Upload" : "Last opp",
"An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av merkelappene",
- "A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "En fil eller mappe ble <strong>endret</strong> eller <strong>omdøpt</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begrens varsling om oppretting og endringer til <strong>favorittfilene</strong> dine <em>(Kun strøm)</em>",
- "A file or folder has been <strong>deleted</strong>" : "En fil eller mappe ble <strong>slettet</strong>",
- "A file or folder has been <strong>restored</strong>" : "En fil eller mappe ble <strong>gjenopprettet</strong>",
+ "File changes" : "Filendringer",
+ "Changed by %2$s" : "Endret av %2$s",
+ "Deleted by %2$s" : "Slettet av %2$s",
+ "Restored by %2$s" : "Gjenopprettet av %2$s",
+ "Renamed by %2$s" : "Omdøpt av %2$s",
+ "Moved by %2$s" : "Flyttet av %2$s",
"You created %1$s" : "Du opprettet %1$s",
"%2$s created %1$s" : "%2$s opprettet %1$s",
"%1$s was created in a public folder" : "%1$s ble opprettet i en offentlig mappe",
@@ -95,12 +97,9 @@
"%2$s renamed %3$s to %1$s" : "%2$s omdøpte %3$s til %1$s",
"You moved %2$s to %1$s" : "Du flyttet %2$s til %1$s",
"%2$s moved %3$s to %1$s" : "%2$s flyttet %3$s til %1$s",
- "Changed by %2$s" : "Endret av %2$s",
- "Deleted by %2$s" : "Slettet av %2$s",
- "Restored by %2$s" : "Gjenopprettet av %2$s",
- "Renamed by %2$s" : "Omdøpt av %2$s",
- "Moved by %2$s" : "Flyttet av %2$s",
- "File changes" : "Filendringer",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "En fil eller mappe ble <strong>endret</strong> eller <strong>omdøpt</strong>",
+ "A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begrens varsling om oppretting og endringer til <strong>favorittfilene</strong> dine <em>(Kun strøm)</em>",
"Upload (max. %s)" : "Opplasting (maks. %s)",
"File handling" : "Filhåndtering",
"Maximum upload size" : "Største opplastingsstørrelse",
@@ -147,8 +146,11 @@
"Error uploading file \"{fileName}\": {message}" : "Feil ved opplasting av fil \"{fileName}\": {message}",
"Could not get result from server." : "Fikk ikke resultat fra tjeneren.",
"No entries in this folder match '{filter}'" : "Ingen oppføringer i denne mappen stemmer med '{filter}'",
+ "Local link" : "Lokal lenke",
"{newname} already exists" : "{newname} finnes allerede",
"A file or folder has been <strong>changed</strong>" : "En fil eller mappe ble <strong>endret</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "En fil eller mappe ble <strong>slettet</strong>",
+ "A file or folder has been <strong>restored</strong>" : "En fil eller mappe ble <strong>gjenopprettet</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Bruk følgende adresse for <a href=\"%s\" target=\"_blank\">tilgang til filene via WebDAV</a>",
"Cancel upload" : "Avbryt opplasting"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 5dd0d6bd34c..a3e68612710 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -76,16 +76,23 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favoriet",
"Favorite" : "Favoriet",
- "Local link" : "Lokale link",
"Folder" : "Map",
"New folder" : "Nieuwe map",
"Upload" : "Uploaden",
"An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de markeringen bij te werken",
- "A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Een bestand of map is <strong>gewijzigd</strong> of <strong>hernoemd</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Beperk meldingen over aanmaken en wijzigen aan je <strong>favoriete bestanden</strong> <em>(Alleen stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Een bestand of map is <strong>verwijderd</strong>",
- "A file or folder has been <strong>restored</strong>" : "Een bestand of een map is <strong>hersteld</strong>",
+ "File changes" : "Bestandswijzigingen",
+ "Created by %s" : "Gecreëerd door %s",
+ "Created by {user1}" : "Gecreëerd door {user1}",
+ "Changed by %2$s" : "Gewijzigd door %2$s",
+ "Changed by {user1}" : "Gewijzigd door {user1}",
+ "Deleted by %2$s" : "Verwijderd door %2$s",
+ "Deleted by {user1}" : "Verwijderd door {user1}",
+ "Restored by %2$s" : "Hersteld door %2$s",
+ "Restored by {user1}" : "Hersteld door {user1}",
+ "Renamed by %2$s" : "Hernoemd door %2$s",
+ "Renamed by {user1}" : "Hernoemd door {user1}",
+ "Moved by %2$s" : "Verplaatst door %2$s",
+ "Moved by {user1}" : "Verplaatst door {user1}",
"You created %1$s" : "Gecreëerd: %1$s",
"%2$s created %1$s" : "%2$s creëerde %1$s",
"%1$s was created in a public folder" : "%1$s werd gecreëerd in een openbare map",
@@ -93,18 +100,19 @@ OC.L10N.register(
"%2$s changed %1$s" : "%2$s wijzigde %1$s",
"You deleted %1$s" : "Je verwijderde: %1$s",
"%2$s deleted %1$s" : "%2$s verwijderde %1$s",
+ "{user1} deleted {file1}" : "{user1} verwijderde {file1}",
"You restored %1$s" : "Hersteld: %1$s",
"%2$s restored %1$s" : "%2$s herstelde %1$s",
+ "{user1} restored {file1}" : "{user1} herstelde {file1}",
"You renamed %2$s to %1$s" : "Je hernoemde %2$s naar %1$s",
"%2$s renamed %3$s to %1$s" : "%2$s hernoemde %3$s naar %1$s",
+ "{user1} renamed {file2} to {file1}" : "{user1} hernoemde file2} naar {file1}",
"You moved %2$s to %1$s" : "Je verplaatste %2$s naar %1$s",
"%2$s moved %3$s to %1$s" : "%2$s verplaatste %3$s naar %1$s",
- "Changed by %2$s" : "Gewijzigd door %2$s",
- "Deleted by %2$s" : "Verwijderd door %2$s",
- "Restored by %2$s" : "Hersteld door %2$s",
- "Renamed by %2$s" : "Hernoemd door %2$s",
- "Moved by %2$s" : "Verplaatst door %2$s",
- "File changes" : "Bestandswijzigingen",
+ "{user1} moved {file2} to {file1}" : "{user1} verplaatste {file2} naar {file1}",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Een bestand of map is <strong>gewijzigd</strong> of <strong>hernoemd</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Beperk meldingen over aanmaken en wijzigen aan je <strong>favoriete bestanden</strong> <em>(Alleen stream)</em>",
"Upload (max. %s)" : "Upload (max. %s)",
"File handling" : "Bestand",
"Maximum upload size" : "Maximale bestandsgrootte voor uploads",
@@ -151,8 +159,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Fout tijdens het uploaden van bestand \"{fileName}\": {message}",
"Could not get result from server." : "Kon het resultaat van de server niet terugkrijgen.",
"No entries in this folder match '{filter}'" : "Niets in deze map komt overeen met '{filter}'",
+ "Local link" : "Lokale link",
"{newname} already exists" : "{newname} bestaat al",
"A file or folder has been <strong>changed</strong>" : "Een bestand of map is <strong>gewijzigd</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Een bestand of map is <strong>verwijderd</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Een bestand of een map is <strong>hersteld</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gebruik deze link <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">om je bestanden via WebDAV te benaderen</a>",
"Cancel upload" : "Upload annuleren"
},
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 4941fa495b6..ac1627c0cbc 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -74,16 +74,23 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favoriet",
"Favorite" : "Favoriet",
- "Local link" : "Lokale link",
"Folder" : "Map",
"New folder" : "Nieuwe map",
"Upload" : "Uploaden",
"An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de markeringen bij te werken",
- "A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Een bestand of map is <strong>gewijzigd</strong> of <strong>hernoemd</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Beperk meldingen over aanmaken en wijzigen aan je <strong>favoriete bestanden</strong> <em>(Alleen stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Een bestand of map is <strong>verwijderd</strong>",
- "A file or folder has been <strong>restored</strong>" : "Een bestand of een map is <strong>hersteld</strong>",
+ "File changes" : "Bestandswijzigingen",
+ "Created by %s" : "Gecreëerd door %s",
+ "Created by {user1}" : "Gecreëerd door {user1}",
+ "Changed by %2$s" : "Gewijzigd door %2$s",
+ "Changed by {user1}" : "Gewijzigd door {user1}",
+ "Deleted by %2$s" : "Verwijderd door %2$s",
+ "Deleted by {user1}" : "Verwijderd door {user1}",
+ "Restored by %2$s" : "Hersteld door %2$s",
+ "Restored by {user1}" : "Hersteld door {user1}",
+ "Renamed by %2$s" : "Hernoemd door %2$s",
+ "Renamed by {user1}" : "Hernoemd door {user1}",
+ "Moved by %2$s" : "Verplaatst door %2$s",
+ "Moved by {user1}" : "Verplaatst door {user1}",
"You created %1$s" : "Gecreëerd: %1$s",
"%2$s created %1$s" : "%2$s creëerde %1$s",
"%1$s was created in a public folder" : "%1$s werd gecreëerd in een openbare map",
@@ -91,18 +98,19 @@
"%2$s changed %1$s" : "%2$s wijzigde %1$s",
"You deleted %1$s" : "Je verwijderde: %1$s",
"%2$s deleted %1$s" : "%2$s verwijderde %1$s",
+ "{user1} deleted {file1}" : "{user1} verwijderde {file1}",
"You restored %1$s" : "Hersteld: %1$s",
"%2$s restored %1$s" : "%2$s herstelde %1$s",
+ "{user1} restored {file1}" : "{user1} herstelde {file1}",
"You renamed %2$s to %1$s" : "Je hernoemde %2$s naar %1$s",
"%2$s renamed %3$s to %1$s" : "%2$s hernoemde %3$s naar %1$s",
+ "{user1} renamed {file2} to {file1}" : "{user1} hernoemde file2} naar {file1}",
"You moved %2$s to %1$s" : "Je verplaatste %2$s naar %1$s",
"%2$s moved %3$s to %1$s" : "%2$s verplaatste %3$s naar %1$s",
- "Changed by %2$s" : "Gewijzigd door %2$s",
- "Deleted by %2$s" : "Verwijderd door %2$s",
- "Restored by %2$s" : "Hersteld door %2$s",
- "Renamed by %2$s" : "Hernoemd door %2$s",
- "Moved by %2$s" : "Verplaatst door %2$s",
- "File changes" : "Bestandswijzigingen",
+ "{user1} moved {file2} to {file1}" : "{user1} verplaatste {file2} naar {file1}",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Een bestand of map is <strong>gewijzigd</strong> of <strong>hernoemd</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Een nieuw bestand of map is <strong>aangemaakt</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Beperk meldingen over aanmaken en wijzigen aan je <strong>favoriete bestanden</strong> <em>(Alleen stream)</em>",
"Upload (max. %s)" : "Upload (max. %s)",
"File handling" : "Bestand",
"Maximum upload size" : "Maximale bestandsgrootte voor uploads",
@@ -149,8 +157,11 @@
"Error uploading file \"{fileName}\": {message}" : "Fout tijdens het uploaden van bestand \"{fileName}\": {message}",
"Could not get result from server." : "Kon het resultaat van de server niet terugkrijgen.",
"No entries in this folder match '{filter}'" : "Niets in deze map komt overeen met '{filter}'",
+ "Local link" : "Lokale link",
"{newname} already exists" : "{newname} bestaat al",
"A file or folder has been <strong>changed</strong>" : "Een bestand of map is <strong>gewijzigd</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Een bestand of map is <strong>verwijderd</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Een bestand of een map is <strong>hersteld</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Gebruik deze link <a href=\"%s\" target=\"_blank\" rel=\"noreferrer\">om je bestanden via WebDAV te benaderen</a>",
"Cancel upload" : "Upload annuleren"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index e40119b49c8..779ac796364 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -76,16 +76,16 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów"],
"Favorited" : "Ulubione",
"Favorite" : "Ulubione",
- "Local link" : "Lokalny odnośnik",
"Folder" : "Folder",
"New folder" : "Nowy folder",
"Upload" : "Wyślij",
"An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów",
- "A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Plik lub folder został <strong>zmieniony</ strong> lub <strong>zastąpiony</ strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ogranicz powiadomienia o utworzeniu i zmianach do swoich <strong>ulubionych plików</strong> <em>(Tylko w strumieniu aktywności)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>",
- "A file or folder has been <strong>restored</strong>" : "Plik lub folder został <strong>przywrócony</strong>",
+ "File changes" : "Zmień w plikach",
+ "Changed by %2$s" : "Zmienione przez %2$s",
+ "Deleted by %2$s" : "Usunięte przez %2$s",
+ "Restored by %2$s" : "Przywrócone przez %2$s",
+ "Renamed by %2$s" : "Zmieniony przez %2$s",
+ "Moved by %2$s" : "Przeniesiony przez %2$s",
"You created %1$s" : "Utworzyłeś %1$s",
"%2$s created %1$s" : "%2$s utworzył %1$s",
"%1$s was created in a public folder" : "%1$s został utworzony w folderze publicznym",
@@ -99,12 +99,9 @@ OC.L10N.register(
"%2$s renamed %3$s to %1$s" : "%2$s zmieniony %3$s na %1$s",
"You moved %2$s to %1$s" : "Przeniosłeś %2$s do %1$s",
"%2$s moved %3$s to %1$s" : "%2$s przeniesiony %3$s do %1$s",
- "Changed by %2$s" : "Zmienione przez %2$s",
- "Deleted by %2$s" : "Usunięte przez %2$s",
- "Restored by %2$s" : "Przywrócone przez %2$s",
- "Renamed by %2$s" : "Zmieniony przez %2$s",
- "Moved by %2$s" : "Przeniesiony przez %2$s",
- "File changes" : "Zmień w plikach",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Plik lub folder został <strong>zmieniony</ strong> lub <strong>zastąpiony</ strong>",
+ "A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ogranicz powiadomienia o utworzeniu i zmianach do swoich <strong>ulubionych plików</strong> <em>(Tylko w strumieniu aktywności)</em>",
"Upload (max. %s)" : "Wysyłka (max. %s)",
"File handling" : "Zarządzanie plikami",
"Maximum upload size" : "Maksymalny rozmiar wysyłanego pliku",
@@ -151,8 +148,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Błąd podczas przekazywania \"{fileName}\": {message}",
"Could not get result from server." : "Nie można uzyskać wyniku z serwera.",
"No entries in this folder match '{filter}'" : "Brak wyników pasujących do '{filter}'",
+ "Local link" : "Lokalny odnośnik",
"{newname} already exists" : "{newname} już istnieje",
"A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Plik lub folder został <strong>przywrócony</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Użyj tego adresu aby uzyskać <a href=\"%s\" target=\"_blank\">dostęp do swoich plików poprzez WebDAV</a>",
"Cancel upload" : "Anuluj wysyłanie"
},
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index 0ec9e1f7ac1..d5fcb2604e1 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -74,16 +74,16 @@
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtów"],
"Favorited" : "Ulubione",
"Favorite" : "Ulubione",
- "Local link" : "Lokalny odnośnik",
"Folder" : "Folder",
"New folder" : "Nowy folder",
"Upload" : "Wyślij",
"An error occurred while trying to update the tags" : "Wystąpił błąd podczas aktualizacji tagów",
- "A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Plik lub folder został <strong>zmieniony</ strong> lub <strong>zastąpiony</ strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ogranicz powiadomienia o utworzeniu i zmianach do swoich <strong>ulubionych plików</strong> <em>(Tylko w strumieniu aktywności)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>",
- "A file or folder has been <strong>restored</strong>" : "Plik lub folder został <strong>przywrócony</strong>",
+ "File changes" : "Zmień w plikach",
+ "Changed by %2$s" : "Zmienione przez %2$s",
+ "Deleted by %2$s" : "Usunięte przez %2$s",
+ "Restored by %2$s" : "Przywrócone przez %2$s",
+ "Renamed by %2$s" : "Zmieniony przez %2$s",
+ "Moved by %2$s" : "Przeniesiony przez %2$s",
"You created %1$s" : "Utworzyłeś %1$s",
"%2$s created %1$s" : "%2$s utworzył %1$s",
"%1$s was created in a public folder" : "%1$s został utworzony w folderze publicznym",
@@ -97,12 +97,9 @@
"%2$s renamed %3$s to %1$s" : "%2$s zmieniony %3$s na %1$s",
"You moved %2$s to %1$s" : "Przeniosłeś %2$s do %1$s",
"%2$s moved %3$s to %1$s" : "%2$s przeniesiony %3$s do %1$s",
- "Changed by %2$s" : "Zmienione przez %2$s",
- "Deleted by %2$s" : "Usunięte przez %2$s",
- "Restored by %2$s" : "Przywrócone przez %2$s",
- "Renamed by %2$s" : "Zmieniony przez %2$s",
- "Moved by %2$s" : "Przeniesiony przez %2$s",
- "File changes" : "Zmień w plikach",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Plik lub folder został <strong>zmieniony</ strong> lub <strong>zastąpiony</ strong>",
+ "A new file or folder has been <strong>created</strong>" : "Nowy plik lub folder został <strong>utworzony</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ogranicz powiadomienia o utworzeniu i zmianach do swoich <strong>ulubionych plików</strong> <em>(Tylko w strumieniu aktywności)</em>",
"Upload (max. %s)" : "Wysyłka (max. %s)",
"File handling" : "Zarządzanie plikami",
"Maximum upload size" : "Maksymalny rozmiar wysyłanego pliku",
@@ -149,8 +146,11 @@
"Error uploading file \"{fileName}\": {message}" : "Błąd podczas przekazywania \"{fileName}\": {message}",
"Could not get result from server." : "Nie można uzyskać wyniku z serwera.",
"No entries in this folder match '{filter}'" : "Brak wyników pasujących do '{filter}'",
+ "Local link" : "Lokalny odnośnik",
"{newname} already exists" : "{newname} już istnieje",
"A file or folder has been <strong>changed</strong>" : "Plik lub folder został <strong>zmieniony</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Plik lub folder został <strong>usunięty</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Plik lub folder został <strong>przywrócony</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Użyj tego adresu aby uzyskać <a href=\"%s\" target=\"_blank\">dostęp do swoich plików poprzez WebDAV</a>",
"Cancel upload" : "Anuluj wysyłanie"
},"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index f673d0de365..6e3b1525982 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"files",
{
+ "Storage is temporarily not available" : "Storage esta, temporariamente, indisponível",
"Storage invalid" : "Armazenamento inválido",
"Unknown error" : "Erro desconhecido",
"Files" : "Arquivos",
@@ -14,6 +15,8 @@ OC.L10N.register(
"Upload cancelled." : "Envio cancelado.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Incapaz de fazer o envio de {filename}, pois é um diretório ou tem 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}",
+ "Target folder \"{dir}\" does not exist any more" : "Pasta de destino \"{dir}\" não existe mais",
+ "Not enough free space" : "Espaço livre insuficiente",
"Uploading..." : "Enviando...",
"..." : "...",
"{hours}:{minutes}:{seconds} hour{plural_s} left" : "{hours}:{minutes}:{seconds} hora{plural_s} esquerda",
@@ -29,6 +32,8 @@ OC.L10N.register(
"Actions" : "Ações",
"Download" : "Baixar",
"Rename" : "Renomear",
+ "Move" : "Mover",
+ "Target folder" : "Pasta destino",
"Delete" : "Excluir",
"Disconnect storage" : "Desconectar armazenamento",
"Unshare" : "Descompartilhar",
@@ -48,6 +53,7 @@ OC.L10N.register(
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o arquivo \"{file}\" porque ele já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\" porque ela já existe",
"Error deleting file \"{fileName}\"." : "Ocorreu um erro ao apagar o arquivo \"{fileName}\".",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Sem resultados de pesquisa em outras pastas para '{tag}{filter}{endtag}'",
"Name" : "Nome",
"Size" : "Tamanho",
"Modified" : "Modificado",
@@ -70,15 +76,16 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favorito",
"Favorite" : "Favorito",
- "Local link" : "Link local",
"Folder" : "Pasta",
"New folder" : "Nova pasta",
"Upload" : "Enviar",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
- "A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limite de notificações sobre a criação e alterações em seus <strong>arquivos favoritos</strong> <em>(apenas Stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Um arquivo ou pasta foi <strong>excluído</strong>",
- "A file or folder has been <strong>restored</strong>" : "Um arquivo ou pasta foi <strong>restaurado</strong>",
+ "File changes" : "Alterações do arquivo",
+ "Changed by %2$s" : "Modificado por %2$s",
+ "Deleted by %2$s" : "Excluído por %2$s",
+ "Restored by %2$s" : "Restaurado por %2$s",
+ "Renamed by %2$s" : "Renomeado por %2$s",
+ "Moved by %2$s" : "Movido por %2$s",
"You created %1$s" : "Você criou %1$s",
"%2$s created %1$s" : "%2$s criou %1$s",
"%1$s was created in a public folder" : "%1$s foi criado em uma pasta pública",
@@ -88,9 +95,13 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s excluiu %1$s",
"You restored %1$s" : "Você restaurou %1$s",
"%2$s restored %1$s" : "%2$s restaurou %1$s",
- "Changed by %2$s" : "Modificado por %2$s",
- "Deleted by %2$s" : "Excluído por %2$s",
- "Restored by %2$s" : "Restaurado por %2$s",
+ "You renamed %2$s to %1$s" : "Voce renomeou %2$s para %1$s",
+ "%2$s renamed %3$s to %1$s" : "%2$s renomeado %3$s para %1$s",
+ "You moved %2$s to %1$s" : "Você moveu %2$s para %1$s",
+ "%2$s moved %3$s to %1$s" : "%2$s moveu %3$s para %1$s",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Um arquivo ou pasta foi <strong>alterado</strong> ou <strong>renomeado</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limite de notificações sobre a criação e alterações em seus <strong>arquivos favoritos</strong> <em>(apenas Stream)</em>",
"Upload (max. %s)" : "Envio (max. %s)",
"File handling" : "Tratamento de arquivo",
"Maximum upload size" : "Tamanho máximo para envio",
@@ -110,6 +121,11 @@ OC.L10N.register(
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os arquivos que você está tentando enviar excedeu o tamanho máximo para arquivos no servidor.",
"No favorites" : "Sem favoritos",
"Files and folders you mark as favorite will show up here" : "Arquivos e pastas que você marcou como favoritos são mostrados aqui",
+ "Shared with you" : "Compartilhado com voce",
+ "Shared with others" : "Compartilhado com outros",
+ "Shared by link" : "Compartilhado via link",
+ "Tags" : "Tags",
+ "Deleted files" : "Arquivos deletados",
"Text file" : "Arquivo texto",
"New text file.txt" : "Novo texto file.txt",
"Storage not available" : "Armazenamento não disponível",
@@ -132,8 +148,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Erro enviando o arquivo \"{fileName}\": {message}",
"Could not get result from server." : "Não foi possível obter o resultado do servidor.",
"No entries in this folder match '{filter}'" : "Nenhuma entrada nesta pasta coincide com '{filter}'",
+ "Local link" : "Link local",
"{newname} already exists" : "{newname} já existe",
"A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Um arquivo ou pasta foi <strong>excluído</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Um arquivo ou pasta foi <strong>restaurado</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use este endereço para <a href=\"%s\" target=\"_blank\">acessar seus arquivos via WebDAV</a>",
"Cancel upload" : "Cancelar envio"
},
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index 603f9373f1b..e1106914d0b 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Storage is temporarily not available" : "Storage esta, temporariamente, indisponível",
"Storage invalid" : "Armazenamento inválido",
"Unknown error" : "Erro desconhecido",
"Files" : "Arquivos",
@@ -12,6 +13,8 @@
"Upload cancelled." : "Envio cancelado.",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Incapaz de fazer o envio de {filename}, pois é um diretório ou tem 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}",
+ "Target folder \"{dir}\" does not exist any more" : "Pasta de destino \"{dir}\" não existe mais",
+ "Not enough free space" : "Espaço livre insuficiente",
"Uploading..." : "Enviando...",
"..." : "...",
"{hours}:{minutes}:{seconds} hour{plural_s} left" : "{hours}:{minutes}:{seconds} hora{plural_s} esquerda",
@@ -27,6 +30,8 @@
"Actions" : "Ações",
"Download" : "Baixar",
"Rename" : "Renomear",
+ "Move" : "Mover",
+ "Target folder" : "Pasta destino",
"Delete" : "Excluir",
"Disconnect storage" : "Desconectar armazenamento",
"Unshare" : "Descompartilhar",
@@ -46,6 +51,7 @@
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o arquivo \"{file}\" porque ele já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\" porque ela já existe",
"Error deleting file \"{fileName}\"." : "Ocorreu um erro ao apagar o arquivo \"{fileName}\".",
+ "No search results in other folders for '{tag}{filter}{endtag}'" : "Sem resultados de pesquisa em outras pastas para '{tag}{filter}{endtag}'",
"Name" : "Nome",
"Size" : "Tamanho",
"Modified" : "Modificado",
@@ -68,15 +74,16 @@
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Favorito",
"Favorite" : "Favorito",
- "Local link" : "Link local",
"Folder" : "Pasta",
"New folder" : "Nova pasta",
"Upload" : "Enviar",
"An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas",
- "A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limite de notificações sobre a criação e alterações em seus <strong>arquivos favoritos</strong> <em>(apenas Stream)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Um arquivo ou pasta foi <strong>excluído</strong>",
- "A file or folder has been <strong>restored</strong>" : "Um arquivo ou pasta foi <strong>restaurado</strong>",
+ "File changes" : "Alterações do arquivo",
+ "Changed by %2$s" : "Modificado por %2$s",
+ "Deleted by %2$s" : "Excluído por %2$s",
+ "Restored by %2$s" : "Restaurado por %2$s",
+ "Renamed by %2$s" : "Renomeado por %2$s",
+ "Moved by %2$s" : "Movido por %2$s",
"You created %1$s" : "Você criou %1$s",
"%2$s created %1$s" : "%2$s criou %1$s",
"%1$s was created in a public folder" : "%1$s foi criado em uma pasta pública",
@@ -86,9 +93,13 @@
"%2$s deleted %1$s" : "%2$s excluiu %1$s",
"You restored %1$s" : "Você restaurou %1$s",
"%2$s restored %1$s" : "%2$s restaurou %1$s",
- "Changed by %2$s" : "Modificado por %2$s",
- "Deleted by %2$s" : "Excluído por %2$s",
- "Restored by %2$s" : "Restaurado por %2$s",
+ "You renamed %2$s to %1$s" : "Voce renomeou %2$s para %1$s",
+ "%2$s renamed %3$s to %1$s" : "%2$s renomeado %3$s para %1$s",
+ "You moved %2$s to %1$s" : "Você moveu %2$s para %1$s",
+ "%2$s moved %3$s to %1$s" : "%2$s moveu %3$s para %1$s",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Um arquivo ou pasta foi <strong>alterado</strong> ou <strong>renomeado</strong>",
+ "A new file or folder has been <strong>created</strong>" : "Um novo arquivo ou pasta foi <strong>criado</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limite de notificações sobre a criação e alterações em seus <strong>arquivos favoritos</strong> <em>(apenas Stream)</em>",
"Upload (max. %s)" : "Envio (max. %s)",
"File handling" : "Tratamento de arquivo",
"Maximum upload size" : "Tamanho máximo para envio",
@@ -108,6 +119,11 @@
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os arquivos que você está tentando enviar excedeu o tamanho máximo para arquivos no servidor.",
"No favorites" : "Sem favoritos",
"Files and folders you mark as favorite will show up here" : "Arquivos e pastas que você marcou como favoritos são mostrados aqui",
+ "Shared with you" : "Compartilhado com voce",
+ "Shared with others" : "Compartilhado com outros",
+ "Shared by link" : "Compartilhado via link",
+ "Tags" : "Tags",
+ "Deleted files" : "Arquivos deletados",
"Text file" : "Arquivo texto",
"New text file.txt" : "Novo texto file.txt",
"Storage not available" : "Armazenamento não disponível",
@@ -130,8 +146,11 @@
"Error uploading file \"{fileName}\": {message}" : "Erro enviando o arquivo \"{fileName}\": {message}",
"Could not get result from server." : "Não foi possível obter o resultado do servidor.",
"No entries in this folder match '{filter}'" : "Nenhuma entrada nesta pasta coincide com '{filter}'",
+ "Local link" : "Link local",
"{newname} already exists" : "{newname} já existe",
"A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Um arquivo ou pasta foi <strong>excluído</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Um arquivo ou pasta foi <strong>restaurado</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Use este endereço para <a href=\"%s\" target=\"_blank\">acessar seus arquivos via WebDAV</a>",
"Cancel upload" : "Cancelar envio"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index d0a70ff74ea..07988a078ce 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -76,16 +76,15 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байтов","%n байта(ов)"],
"Favorited" : "Избранное",
"Favorite" : "Избранное",
- "Local link" : "Локальная ссылка",
"Folder" : "Каталог",
"New folder" : "Новый каталог",
"Upload" : "Загрузить",
"An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка",
- "A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Фаил или каталог <strong>изменён</strong> или <strong>переименован</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ограничить уведомления о создании и изменении ваших <strong>избранных файлов</strong> <em>(отображать только в приложении события)</em>",
- "A file or folder has been <strong>deleted</strong>" : "<strong>Удалён</strong> файл или каталог",
- "A file or folder has been <strong>restored</strong>" : "<strong>Восстановлен</strong> файл или каталог",
+ "Changed by %2$s" : "Изменено %2$s",
+ "Deleted by %2$s" : "Удалено %2$s",
+ "Restored by %2$s" : "Восстановлено %2$s",
+ "Renamed by %2$s" : "Переименовано %2$s",
+ "Moved by %2$s" : "Перемещено %2$s",
"You created %1$s" : "Вы создали %1$s",
"%2$s created %1$s" : "%2$s создал %1$s",
"%1$s was created in a public folder" : "%1$s создан в общем каталоге",
@@ -99,11 +98,9 @@ OC.L10N.register(
"%2$s renamed %3$s to %1$s" : "%2$s переименовал %3$s в %1$s",
"You moved %2$s to %1$s" : "Вы переместили %2$s в %1$s",
"%2$s moved %3$s to %1$s" : "%2$s переместил %3$s в %1$s",
- "Changed by %2$s" : "Изменено %2$s",
- "Deleted by %2$s" : "Удалено %2$s",
- "Restored by %2$s" : "Восстановлено %2$s",
- "Renamed by %2$s" : "Переименовано %2$s",
- "Moved by %2$s" : "Перемещено %2$s",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Фаил или каталог <strong>изменён</strong> или <strong>переименован</strong>",
+ "A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ограничить уведомления о создании и изменении ваших <strong>избранных файлов</strong> <em>(отображать только в приложении события)</em>",
"Upload (max. %s)" : "Загрузка (максимум %s)",
"File handling" : "Управление файлами",
"Maximum upload size" : "Максимальный размер загружаемого файла",
@@ -150,8 +147,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Ошибка загрузки файла \"{fileName}\": {message}",
"Could not get result from server." : "Не удалось получить ответ от сервера.",
"No entries in this folder match '{filter}'" : "В данном каталоге нет элементов соответствующих '{filter}'",
+ "Local link" : "Локальная ссылка",
"{newname} already exists" : "{newname} уже существует",
"A file or folder has been <strong>changed</strong>" : "<strong>Изменён</strong> файл или каталог",
+ "A file or folder has been <strong>deleted</strong>" : "<strong>Удалён</strong> файл или каталог",
+ "A file or folder has been <strong>restored</strong>" : "<strong>Восстановлен</strong> файл или каталог",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Используйте этот адрес для <a href=\"%s\" target=\"_blank\">получения доступа к вашим файлам через WebDAV</a>",
"Cancel upload" : "Отменить загрузку"
},
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index bc4d3f52b6b..eb7b55b13e0 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -74,16 +74,15 @@
"_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байтов","%n байта(ов)"],
"Favorited" : "Избранное",
"Favorite" : "Избранное",
- "Local link" : "Локальная ссылка",
"Folder" : "Каталог",
"New folder" : "Новый каталог",
"Upload" : "Загрузить",
"An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка",
- "A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог",
- "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Фаил или каталог <strong>изменён</strong> или <strong>переименован</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ограничить уведомления о создании и изменении ваших <strong>избранных файлов</strong> <em>(отображать только в приложении события)</em>",
- "A file or folder has been <strong>deleted</strong>" : "<strong>Удалён</strong> файл или каталог",
- "A file or folder has been <strong>restored</strong>" : "<strong>Восстановлен</strong> файл или каталог",
+ "Changed by %2$s" : "Изменено %2$s",
+ "Deleted by %2$s" : "Удалено %2$s",
+ "Restored by %2$s" : "Восстановлено %2$s",
+ "Renamed by %2$s" : "Переименовано %2$s",
+ "Moved by %2$s" : "Перемещено %2$s",
"You created %1$s" : "Вы создали %1$s",
"%2$s created %1$s" : "%2$s создал %1$s",
"%1$s was created in a public folder" : "%1$s создан в общем каталоге",
@@ -97,11 +96,9 @@
"%2$s renamed %3$s to %1$s" : "%2$s переименовал %3$s в %1$s",
"You moved %2$s to %1$s" : "Вы переместили %2$s в %1$s",
"%2$s moved %3$s to %1$s" : "%2$s переместил %3$s в %1$s",
- "Changed by %2$s" : "Изменено %2$s",
- "Deleted by %2$s" : "Удалено %2$s",
- "Restored by %2$s" : "Восстановлено %2$s",
- "Renamed by %2$s" : "Переименовано %2$s",
- "Moved by %2$s" : "Перемещено %2$s",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Фаил или каталог <strong>изменён</strong> или <strong>переименован</strong>",
+ "A new file or folder has been <strong>created</strong>" : "<strong>Создан</strong> новый файл или каталог",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Ограничить уведомления о создании и изменении ваших <strong>избранных файлов</strong> <em>(отображать только в приложении события)</em>",
"Upload (max. %s)" : "Загрузка (максимум %s)",
"File handling" : "Управление файлами",
"Maximum upload size" : "Максимальный размер загружаемого файла",
@@ -148,8 +145,11 @@
"Error uploading file \"{fileName}\": {message}" : "Ошибка загрузки файла \"{fileName}\": {message}",
"Could not get result from server." : "Не удалось получить ответ от сервера.",
"No entries in this folder match '{filter}'" : "В данном каталоге нет элементов соответствующих '{filter}'",
+ "Local link" : "Локальная ссылка",
"{newname} already exists" : "{newname} уже существует",
"A file or folder has been <strong>changed</strong>" : "<strong>Изменён</strong> файл или каталог",
+ "A file or folder has been <strong>deleted</strong>" : "<strong>Удалён</strong> файл или каталог",
+ "A file or folder has been <strong>restored</strong>" : "<strong>Восстановлен</strong> файл или каталог",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Используйте этот адрес для <a href=\"%s\" target=\"_blank\">получения доступа к вашим файлам через WebDAV</a>",
"Cancel upload" : "Отменить загрузку"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index 1d99d3c80a0..2498801e059 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -70,15 +70,13 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"],
"Favorited" : "Označeno kot priljubljeno",
"Favorite" : "Priljubljene",
- "Local link" : "Krajevna povezava",
"Folder" : "Mapa",
"New folder" : "Nova mapa",
"Upload" : "Pošlji",
"An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak",
- "A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omeji obvestila o ustvarjanju in spreminjanju <strong>najpogosteje uporabljenih </strong> datotek <em>(omogoči pretok)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Datoteka ali mapa je <strong>izbrisana</strong>.",
- "A file or folder has been <strong>restored</strong>" : "Datoteka ali mapa je <strong>obnovljena</strong>.",
+ "Changed by %2$s" : "Zadnja sprememba: %2$s",
+ "Deleted by %2$s" : "Izbrisano: %2$s",
+ "Restored by %2$s" : "Obnovljeno: %2$s",
"You created %1$s" : "Ustvarili ste %1$s",
"%2$s created %1$s" : "%2$s je ustvaril %1$s",
"%1$s was created in a public folder" : "Datoteka %1$s je ustvarjena v javni mapi.",
@@ -88,9 +86,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s je izbrisal %1$s",
"You restored %1$s" : "Obnovljen je predmet %1$s",
"%2$s restored %1$s" : "Uporabnik %2$s je obnovil predmet %1$s.",
- "Changed by %2$s" : "Zadnja sprememba: %2$s",
- "Deleted by %2$s" : "Izbrisano: %2$s",
- "Restored by %2$s" : "Obnovljeno: %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omeji obvestila o ustvarjanju in spreminjanju <strong>najpogosteje uporabljenih </strong> datotek <em>(omogoči pretok)</em>",
"Upload (max. %s)" : "Pošiljanje (omejitev %s)",
"File handling" : "Upravljanje z datotekami",
"Maximum upload size" : "Največja velikost za pošiljanja",
@@ -132,8 +129,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Napaka pošiljanja datoteke \"{fileName}\": {message}",
"Could not get result from server." : "Ni mogoče pridobiti podatkov s strežnika.",
"No entries in this folder match '{filter}'" : "Ni zadetkov, ki bi bili skladni z nizom '{filter}'",
+ "Local link" : "Krajevna povezava",
"{newname} already exists" : "{newname} že obstaja",
"A file or folder has been <strong>changed</strong>" : "Datoteka ali mapa je <strong>spremenjena</strong>.",
+ "A file or folder has been <strong>deleted</strong>" : "Datoteka ali mapa je <strong>izbrisana</strong>.",
+ "A file or folder has been <strong>restored</strong>" : "Datoteka ali mapa je <strong>obnovljena</strong>.",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uporabi ta naslov za <a href=\"%s\" target=\"_blank\">dostop do tvojih datotek preko WebDAV</a>",
"Cancel upload" : "Prekini nalaganje"
},
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index 6ebbe8c12a3..965db6b4eb1 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -68,15 +68,13 @@
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"],
"Favorited" : "Označeno kot priljubljeno",
"Favorite" : "Priljubljene",
- "Local link" : "Krajevna povezava",
"Folder" : "Mapa",
"New folder" : "Nova mapa",
"Upload" : "Pošlji",
"An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak",
- "A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omeji obvestila o ustvarjanju in spreminjanju <strong>najpogosteje uporabljenih </strong> datotek <em>(omogoči pretok)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Datoteka ali mapa je <strong>izbrisana</strong>.",
- "A file or folder has been <strong>restored</strong>" : "Datoteka ali mapa je <strong>obnovljena</strong>.",
+ "Changed by %2$s" : "Zadnja sprememba: %2$s",
+ "Deleted by %2$s" : "Izbrisano: %2$s",
+ "Restored by %2$s" : "Obnovljeno: %2$s",
"You created %1$s" : "Ustvarili ste %1$s",
"%2$s created %1$s" : "%2$s je ustvaril %1$s",
"%1$s was created in a public folder" : "Datoteka %1$s je ustvarjena v javni mapi.",
@@ -86,9 +84,8 @@
"%2$s deleted %1$s" : "%2$s je izbrisal %1$s",
"You restored %1$s" : "Obnovljen je predmet %1$s",
"%2$s restored %1$s" : "Uporabnik %2$s je obnovil predmet %1$s.",
- "Changed by %2$s" : "Zadnja sprememba: %2$s",
- "Deleted by %2$s" : "Izbrisano: %2$s",
- "Restored by %2$s" : "Obnovljeno: %2$s",
+ "A new file or folder has been <strong>created</strong>" : "Nova datoteka ali mapa je <strong>ustvarjena</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Omeji obvestila o ustvarjanju in spreminjanju <strong>najpogosteje uporabljenih </strong> datotek <em>(omogoči pretok)</em>",
"Upload (max. %s)" : "Pošiljanje (omejitev %s)",
"File handling" : "Upravljanje z datotekami",
"Maximum upload size" : "Največja velikost za pošiljanja",
@@ -130,8 +127,11 @@
"Error uploading file \"{fileName}\": {message}" : "Napaka pošiljanja datoteke \"{fileName}\": {message}",
"Could not get result from server." : "Ni mogoče pridobiti podatkov s strežnika.",
"No entries in this folder match '{filter}'" : "Ni zadetkov, ki bi bili skladni z nizom '{filter}'",
+ "Local link" : "Krajevna povezava",
"{newname} already exists" : "{newname} že obstaja",
"A file or folder has been <strong>changed</strong>" : "Datoteka ali mapa je <strong>spremenjena</strong>.",
+ "A file or folder has been <strong>deleted</strong>" : "Datoteka ali mapa je <strong>izbrisana</strong>.",
+ "A file or folder has been <strong>restored</strong>" : "Datoteka ali mapa je <strong>obnovljena</strong>.",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Uporabi ta naslov za <a href=\"%s\" target=\"_blank\">dostop do tvojih datotek preko WebDAV</a>",
"Cancel upload" : "Prekini nalaganje"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index 12fffc08700..704a2ff4dd3 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -70,15 +70,13 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"],
"Favorited" : "Favoriserad",
"Favorite" : "Favorit",
- "Local link" : "Lokal länk",
"Folder" : "Mapp",
"New folder" : "Ny mapp",
"Upload" : "Ladda upp",
"An error occurred while trying to update the tags" : "Ett fel uppstod när uppdatera taggarna",
- "A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begränsa notiser om skapande och ändringar till dina <strong>favoritfiler</strong> <em>(Endast ström)</em>",
- "A file or folder has been <strong>deleted</strong>" : "En ny fil eller mapp har blivit <strong>raderad</strong>",
- "A file or folder has been <strong>restored</strong>" : "En ny fil eller mapp har blivit <strong>återskapad</strong>",
+ "Changed by %2$s" : "Ändrad av %2$s",
+ "Deleted by %2$s" : "Bortagen av %2$s",
+ "Restored by %2$s" : "Återställd av %2$s",
"You created %1$s" : "Du skapade %1$s",
"%2$s created %1$s" : "%2$s skapade %1$s",
"%1$s was created in a public folder" : "%1$s skapades i en publik mapp",
@@ -88,9 +86,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s raderade %1$s",
"You restored %1$s" : "Du återkapade %1$s",
"%2$s restored %1$s" : "%2$s återskapade %1$s",
- "Changed by %2$s" : "Ändrad av %2$s",
- "Deleted by %2$s" : "Bortagen av %2$s",
- "Restored by %2$s" : "Återställd av %2$s",
+ "A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begränsa notiser om skapande och ändringar till dina <strong>favoritfiler</strong> <em>(Endast ström)</em>",
"Upload (max. %s)" : "Ladda upp (max. %s)",
"File handling" : "Filhantering",
"Maximum upload size" : "Maximal storlek att ladda upp",
@@ -132,8 +129,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "Fel vid uppladdning av fil \"{fileName}\": {message}",
"Could not get result from server." : "Gick inte att hämta resultat från server.",
"No entries in this folder match '{filter}'" : "Inga poster i denna mapp match \"{filter}\"",
+ "Local link" : "Lokal länk",
"{newname} already exists" : "{newname} existerar redan",
"A file or folder has been <strong>changed</strong>" : "En ny fil eller mapp har blivit <strong>ändrad</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "En ny fil eller mapp har blivit <strong>raderad</strong>",
+ "A file or folder has been <strong>restored</strong>" : "En ny fil eller mapp har blivit <strong>återskapad</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Använd denna adress för att <a href=\"%s\" target=\"_blank\">få tillgång till filer via WebDAV</a>",
"Cancel upload" : "Avbryt uppladdning"
},
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index 4e45d2d0656..34573ec50ef 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -68,15 +68,13 @@
"_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"],
"Favorited" : "Favoriserad",
"Favorite" : "Favorit",
- "Local link" : "Lokal länk",
"Folder" : "Mapp",
"New folder" : "Ny mapp",
"Upload" : "Ladda upp",
"An error occurred while trying to update the tags" : "Ett fel uppstod när uppdatera taggarna",
- "A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begränsa notiser om skapande och ändringar till dina <strong>favoritfiler</strong> <em>(Endast ström)</em>",
- "A file or folder has been <strong>deleted</strong>" : "En ny fil eller mapp har blivit <strong>raderad</strong>",
- "A file or folder has been <strong>restored</strong>" : "En ny fil eller mapp har blivit <strong>återskapad</strong>",
+ "Changed by %2$s" : "Ändrad av %2$s",
+ "Deleted by %2$s" : "Bortagen av %2$s",
+ "Restored by %2$s" : "Återställd av %2$s",
"You created %1$s" : "Du skapade %1$s",
"%2$s created %1$s" : "%2$s skapade %1$s",
"%1$s was created in a public folder" : "%1$s skapades i en publik mapp",
@@ -86,9 +84,8 @@
"%2$s deleted %1$s" : "%2$s raderade %1$s",
"You restored %1$s" : "Du återkapade %1$s",
"%2$s restored %1$s" : "%2$s återskapade %1$s",
- "Changed by %2$s" : "Ändrad av %2$s",
- "Deleted by %2$s" : "Bortagen av %2$s",
- "Restored by %2$s" : "Återställd av %2$s",
+ "A new file or folder has been <strong>created</strong>" : "En ny fil eller mapp har blivit <strong>skapad</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begränsa notiser om skapande och ändringar till dina <strong>favoritfiler</strong> <em>(Endast ström)</em>",
"Upload (max. %s)" : "Ladda upp (max. %s)",
"File handling" : "Filhantering",
"Maximum upload size" : "Maximal storlek att ladda upp",
@@ -130,8 +127,11 @@
"Error uploading file \"{fileName}\": {message}" : "Fel vid uppladdning av fil \"{fileName}\": {message}",
"Could not get result from server." : "Gick inte att hämta resultat från server.",
"No entries in this folder match '{filter}'" : "Inga poster i denna mapp match \"{filter}\"",
+ "Local link" : "Lokal länk",
"{newname} already exists" : "{newname} existerar redan",
"A file or folder has been <strong>changed</strong>" : "En ny fil eller mapp har blivit <strong>ändrad</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "En ny fil eller mapp har blivit <strong>raderad</strong>",
+ "A file or folder has been <strong>restored</strong>" : "En ny fil eller mapp har blivit <strong>återskapad</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "Använd denna adress för att <a href=\"%s\" target=\"_blank\">få tillgång till filer via WebDAV</a>",
"Cancel upload" : "Avbryt uppladdning"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 1f52f014deb..ae78b25fda2 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -74,10 +74,9 @@ OC.L10N.register(
"New folder" : "Yeni klasör",
"Upload" : "Yükle",
"An error occurred while trying to update the tags" : "Etiketler güncellenmeye çalışılırken bir hata oluştu",
- "A new file or folder has been <strong>created</strong>" : "Yeni bir dosya veya klasör <strong>oluşturuldu</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>Sık kullanılan dosyalarınızın</strong> oluşturulma ve değiştirilme hakkındaki bildirimlerini sınırla <em>(Sadece akışta)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Bir dosya veya klasör <strong>silindi</strong>",
- "A file or folder has been <strong>restored</strong>" : "Bir dosya veya klasör <strong>geri alındı</strong>",
+ "Changed by %2$s" : "%2$s tarafından değiştirildi",
+ "Deleted by %2$s" : "%2$s tarafından silindi",
+ "Restored by %2$s" : "%2$s tarafından geri yüklendi",
"You created %1$s" : "%1$s dosyasını oluşturdunuz",
"%2$s created %1$s" : "%2$s, %1$s dosyasını oluşturdu",
"%1$s was created in a public folder" : "%1$s herkese açık klasörde oluşturuldu",
@@ -87,9 +86,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s, %1$s dosyasını sildi",
"You restored %1$s" : "%1$s ögesini geri aldınız",
"%2$s restored %1$s" : "%2$s, %1$s ögesini geri aldı",
- "Changed by %2$s" : "%2$s tarafından değiştirildi",
- "Deleted by %2$s" : "%2$s tarafından silindi",
- "Restored by %2$s" : "%2$s tarafından geri yüklendi",
+ "A new file or folder has been <strong>created</strong>" : "Yeni bir dosya veya klasör <strong>oluşturuldu</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>Sık kullanılan dosyalarınızın</strong> oluşturulma ve değiştirilme hakkındaki bildirimlerini sınırla <em>(Sadece akışta)</em>",
"Upload (max. %s)" : "Yükle (azami: %s)",
"File handling" : "Dosya işlemleri",
"Maximum upload size" : "Azami yükleme boyutu",
@@ -132,6 +130,8 @@ OC.L10N.register(
"Could not get result from server." : "Sunucudan sonuç alınamadı.",
"No entries in this folder match '{filter}'" : "Bu klasörde hiçbir girdi '{filter}' ile eşleşmiyor",
"{newname} already exists" : "{newname} zaten mevcut",
- "A file or folder has been <strong>changed</strong>" : "Bir dosya veya klasör <strong>değiştirildi</strong>"
+ "A file or folder has been <strong>changed</strong>" : "Bir dosya veya klasör <strong>değiştirildi</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Bir dosya veya klasör <strong>silindi</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Bir dosya veya klasör <strong>geri alındı</strong>"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index c9b75f91c7e..378457d6a6a 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -72,10 +72,9 @@
"New folder" : "Yeni klasör",
"Upload" : "Yükle",
"An error occurred while trying to update the tags" : "Etiketler güncellenmeye çalışılırken bir hata oluştu",
- "A new file or folder has been <strong>created</strong>" : "Yeni bir dosya veya klasör <strong>oluşturuldu</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>Sık kullanılan dosyalarınızın</strong> oluşturulma ve değiştirilme hakkındaki bildirimlerini sınırla <em>(Sadece akışta)</em>",
- "A file or folder has been <strong>deleted</strong>" : "Bir dosya veya klasör <strong>silindi</strong>",
- "A file or folder has been <strong>restored</strong>" : "Bir dosya veya klasör <strong>geri alındı</strong>",
+ "Changed by %2$s" : "%2$s tarafından değiştirildi",
+ "Deleted by %2$s" : "%2$s tarafından silindi",
+ "Restored by %2$s" : "%2$s tarafından geri yüklendi",
"You created %1$s" : "%1$s dosyasını oluşturdunuz",
"%2$s created %1$s" : "%2$s, %1$s dosyasını oluşturdu",
"%1$s was created in a public folder" : "%1$s herkese açık klasörde oluşturuldu",
@@ -85,9 +84,8 @@
"%2$s deleted %1$s" : "%2$s, %1$s dosyasını sildi",
"You restored %1$s" : "%1$s ögesini geri aldınız",
"%2$s restored %1$s" : "%2$s, %1$s ögesini geri aldı",
- "Changed by %2$s" : "%2$s tarafından değiştirildi",
- "Deleted by %2$s" : "%2$s tarafından silindi",
- "Restored by %2$s" : "%2$s tarafından geri yüklendi",
+ "A new file or folder has been <strong>created</strong>" : "Yeni bir dosya veya klasör <strong>oluşturuldu</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "<strong>Sık kullanılan dosyalarınızın</strong> oluşturulma ve değiştirilme hakkındaki bildirimlerini sınırla <em>(Sadece akışta)</em>",
"Upload (max. %s)" : "Yükle (azami: %s)",
"File handling" : "Dosya işlemleri",
"Maximum upload size" : "Azami yükleme boyutu",
@@ -130,6 +128,8 @@
"Could not get result from server." : "Sunucudan sonuç alınamadı.",
"No entries in this folder match '{filter}'" : "Bu klasörde hiçbir girdi '{filter}' ile eşleşmiyor",
"{newname} already exists" : "{newname} zaten mevcut",
- "A file or folder has been <strong>changed</strong>" : "Bir dosya veya klasör <strong>değiştirildi</strong>"
+ "A file or folder has been <strong>changed</strong>" : "Bir dosya veya klasör <strong>değiştirildi</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Bir dosya veya klasör <strong>silindi</strong>",
+ "A file or folder has been <strong>restored</strong>" : "Bir dosya veya klasör <strong>geri alındı</strong>"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 8e7cb9d6239..1b9af8dc6cd 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -70,15 +70,15 @@ OC.L10N.register(
"_%n byte_::_%n bytes_" : ["%n 位元組"],
"Favorited" : "已加入最愛",
"Favorite" : "我的最愛",
- "Local link" : "本地連結",
"Folder" : "資料夾",
"New folder" : "新資料夾",
"Upload" : "上傳",
"An error occurred while trying to update the tags" : "更新標籤時發生錯誤",
- "A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "僅顯示<strong>已加星號的檔案</strong>的動態通知<em>(僅限訊息串)</em>",
- "A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
- "A file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
+ "Changed by %2$s" : "由 %2$s 改動",
+ "Deleted by %2$s" : "由 %2$s 刪除",
+ "Restored by %2$s" : "由 %2$s 還原",
+ "Renamed by %2$s" : "由 %2$s 重新命名",
+ "Moved by %2$s" : "由 %2$s 移動",
"You created %1$s" : "您建立了 %1$s",
"%2$s created %1$s" : "%2$s 已建立 %1$s",
"%1$s was created in a public folder" : "%1$s 已建立於公開的目錄",
@@ -88,11 +88,8 @@ OC.L10N.register(
"%2$s deleted %1$s" : "%2$s 已刪除 %1$s",
"You restored %1$s" : "您還原了 %1$s",
"%2$s restored %1$s" : "%2$s 還原了 %1$s",
- "Changed by %2$s" : "由 %2$s 改動",
- "Deleted by %2$s" : "由 %2$s 刪除",
- "Restored by %2$s" : "由 %2$s 還原",
- "Renamed by %2$s" : "由 %2$s 重新命名",
- "Moved by %2$s" : "由 %2$s 移動",
+ "A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "僅顯示<strong>已加星號的檔案</strong>的動態通知<em>(僅限訊息串)</em>",
"Upload (max. %s)" : "上傳(至多 %s)",
"File handling" : "檔案處理",
"Maximum upload size" : "上傳限制",
@@ -134,8 +131,11 @@ OC.L10N.register(
"Error uploading file \"{fileName}\": {message}" : "上傳檔案 \"{fileName}\" 發生錯誤:{message}",
"Could not get result from server." : "無法從伺服器取回結果",
"No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符",
+ "Local link" : "本地連結",
"{newname} already exists" : "{newname} 已經存在",
"A file or folder has been <strong>changed</strong>" : "檔案或目錄已被 <strong>變更</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
+ "A file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用這個位址來<a href=\"%s\" target=\"_blank\">使用 WebDAV 存取檔案</a>",
"Cancel upload" : "取消上傳"
},
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index b2afff5bcd7..383628a6b53 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -68,15 +68,15 @@
"_%n byte_::_%n bytes_" : ["%n 位元組"],
"Favorited" : "已加入最愛",
"Favorite" : "我的最愛",
- "Local link" : "本地連結",
"Folder" : "資料夾",
"New folder" : "新資料夾",
"Upload" : "上傳",
"An error occurred while trying to update the tags" : "更新標籤時發生錯誤",
- "A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>",
- "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "僅顯示<strong>已加星號的檔案</strong>的動態通知<em>(僅限訊息串)</em>",
- "A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
- "A file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
+ "Changed by %2$s" : "由 %2$s 改動",
+ "Deleted by %2$s" : "由 %2$s 刪除",
+ "Restored by %2$s" : "由 %2$s 還原",
+ "Renamed by %2$s" : "由 %2$s 重新命名",
+ "Moved by %2$s" : "由 %2$s 移動",
"You created %1$s" : "您建立了 %1$s",
"%2$s created %1$s" : "%2$s 已建立 %1$s",
"%1$s was created in a public folder" : "%1$s 已建立於公開的目錄",
@@ -86,11 +86,8 @@
"%2$s deleted %1$s" : "%2$s 已刪除 %1$s",
"You restored %1$s" : "您還原了 %1$s",
"%2$s restored %1$s" : "%2$s 還原了 %1$s",
- "Changed by %2$s" : "由 %2$s 改動",
- "Deleted by %2$s" : "由 %2$s 刪除",
- "Restored by %2$s" : "由 %2$s 還原",
- "Renamed by %2$s" : "由 %2$s 重新命名",
- "Moved by %2$s" : "由 %2$s 移動",
+ "A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>",
+ "Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "僅顯示<strong>已加星號的檔案</strong>的動態通知<em>(僅限訊息串)</em>",
"Upload (max. %s)" : "上傳(至多 %s)",
"File handling" : "檔案處理",
"Maximum upload size" : "上傳限制",
@@ -132,8 +129,11 @@
"Error uploading file \"{fileName}\": {message}" : "上傳檔案 \"{fileName}\" 發生錯誤:{message}",
"Could not get result from server." : "無法從伺服器取回結果",
"No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符",
+ "Local link" : "本地連結",
"{newname} already exists" : "{newname} 已經存在",
"A file or folder has been <strong>changed</strong>" : "檔案或目錄已被 <strong>變更</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
+ "A file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" : "使用這個位址來<a href=\"%s\" target=\"_blank\">使用 WebDAV 存取檔案</a>",
"Cancel upload" : "取消上傳"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files/lib/Activity.php b/apps/files/lib/Activity.php
deleted file mode 100644
index 25146456b4c..00000000000
--- a/apps/files/lib/Activity.php
+++ /dev/null
@@ -1,452 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Joas Schilling <coding@schilljs.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\Files;
-
-use OCP\IDBConnection;
-use OCP\L10N\IFactory;
-use OCP\Activity\IExtension;
-use OCP\Activity\IManager;
-use OCP\IConfig;
-use OCP\IL10N;
-use OCP\IURLGenerator;
-
-class Activity implements IExtension {
- const APP_FILES = 'files';
- const FILTER_FILES = 'files';
- const FILTER_FAVORITES = 'files_favorites';
-
- const TYPE_SHARE_CREATED = 'file_created';
- const TYPE_SHARE_CHANGED = 'file_changed';
- const TYPE_SHARE_DELETED = 'file_deleted';
- const TYPE_SHARE_RESTORED = 'file_restored';
- const TYPE_FAVORITES = 'files_favorites';
-
- /** @var IL10N */
- protected $l;
-
- /** @var IFactory */
- protected $languageFactory;
-
- /** @var IURLGenerator */
- protected $URLGenerator;
-
- /** @var \OCP\Activity\IManager */
- protected $activityManager;
-
- /** @var \OCP\IDBConnection */
- protected $connection;
-
- /** @var \OCP\IConfig */
- protected $config;
-
- /** @var \OCA\Files\ActivityHelper */
- protected $helper;
-
- /**
- * @param IFactory $languageFactory
- * @param IURLGenerator $URLGenerator
- * @param IManager $activityManager
- * @param ActivityHelper $helper
- * @param IDBConnection $connection
- * @param IConfig $config
- */
- public function __construct(IFactory $languageFactory, IURLGenerator $URLGenerator, IManager $activityManager, ActivityHelper $helper, IDBConnection $connection, IConfig $config) {
- $this->languageFactory = $languageFactory;
- $this->URLGenerator = $URLGenerator;
- $this->l = $this->getL10N();
- $this->activityManager = $activityManager;
- $this->helper = $helper;
- $this->connection = $connection;
- $this->config = $config;
- }
-
- /**
- * @param string|null $languageCode
- * @return IL10N
- */
- protected function getL10N($languageCode = null) {
- return $this->languageFactory->get(self::APP_FILES, $languageCode);
- }
-
- /**
- * The extension can return an array of additional notification types.
- * If no additional types are to be added false is to be returned
- *
- * @param string $languageCode
- * @return array|false Array "stringID of the type" => "translated string description for the setting"
- * or Array "stringID of the type" => [
- * 'desc' => "translated string description for the setting"
- * 'methods' => [self::METHOD_*],
- * ]
- */
- public function getNotificationTypes($languageCode) {
- $l = $this->getL10N($languageCode);
- return [
- self::TYPE_SHARE_CREATED => (string) $l->t('A new file or folder has been <strong>created</strong>'),
- self::TYPE_SHARE_CHANGED => (string) $l->t('A file or folder has been <strong>changed</strong> or <strong>renamed</strong>'),
- self::TYPE_FAVORITES => [
- 'desc' => (string) $l->t('Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>'),
- 'methods' => [self::METHOD_STREAM],
- ],
- self::TYPE_SHARE_DELETED => (string) $l->t('A file or folder has been <strong>deleted</strong>'),
- self::TYPE_SHARE_RESTORED => (string) $l->t('A file or folder has been <strong>restored</strong>'),
- ];
- }
-
- /**
- * For a given method additional types to be displayed in the settings can be returned.
- * In case no additional types are to be added false is to be returned.
- *
- * @param string $method
- * @return array|false
- */
- public function getDefaultTypes($method) {
- if ($method === self::METHOD_STREAM) {
- $settings = array();
- $settings[] = self::TYPE_SHARE_CREATED;
- $settings[] = self::TYPE_SHARE_CHANGED;
- $settings[] = self::TYPE_SHARE_DELETED;
- $settings[] = self::TYPE_SHARE_RESTORED;
- return $settings;
- }
-
- return false;
- }
-
- /**
- * The extension can translate a given message to the requested languages.
- * If no translation is available false is to be returned.
- *
- * @param string $app
- * @param string $text
- * @param array $params
- * @param boolean $stripPath
- * @param boolean $highlightParams
- * @param string $languageCode
- * @return string|false
- */
- public function translate($app, $text, $params, $stripPath, $highlightParams, $languageCode) {
- if ($app !== self::APP_FILES) {
- return false;
- }
-
- $l = $this->getL10N($languageCode);
-
- if ($this->activityManager->isFormattingFilteredObject()) {
- $translation = $this->translateShort($text, $l, $params);
- if ($translation !== false) {
- return $translation;
- }
- }
-
- return $this->translateLong($text, $l, $params);
- }
-
- /**
- * @param string $text
- * @param IL10N $l
- * @param array $params
- * @return string|false
- */
- protected function translateLong($text, IL10N $l, array $params) {
- switch ($text) {
- case 'created_self':
- return (string) $l->t('You created %1$s', $params);
- case 'created_by':
- return (string) $l->t('%2$s created %1$s', $params);
- case 'created_public':
- return (string) $l->t('%1$s was created in a public folder', $params);
- case 'changed_self':
- return (string) $l->t('You changed %1$s', $params);
- case 'changed_by':
- return (string) $l->t('%2$s changed %1$s', $params);
- case 'deleted_self':
- return (string) $l->t('You deleted %1$s', $params);
- case 'deleted_by':
- return (string) $l->t('%2$s deleted %1$s', $params);
- case 'restored_self':
- return (string) $l->t('You restored %1$s', $params);
- case 'restored_by':
- return (string) $l->t('%2$s restored %1$s', $params);
- case 'renamed_self':
- return (string) $l->t('You renamed %2$s to %1$s', $params);
- case 'renamed_by':
- return (string) $l->t('%2$s renamed %3$s to %1$s', $params);
- case 'moved_self':
- return (string) $l->t('You moved %2$s to %1$s', $params);
- case 'moved_by':
- return (string) $l->t('%2$s moved %3$s to %1$s', $params);
-
- default:
- return false;
- }
- }
-
- /**
- * @param string $text
- * @param IL10N $l
- * @param array $params
- * @return string|false
- */
- protected function translateShort($text, IL10N $l, array $params) {
- switch ($text) {
- case 'changed_by':
- return (string) $l->t('Changed by %2$s', $params);
- case 'deleted_by':
- return (string) $l->t('Deleted by %2$s', $params);
- case 'restored_by':
- return (string) $l->t('Restored by %2$s', $params);
- case 'renamed_by':
- return (string) $l->t('Renamed by %2$s', $params);
- case 'moved_by':
- return (string) $l->t('Moved by %2$s', $params);
-
- default:
- return false;
- }
- }
-
- /**
- * The extension can define the type of parameters for translation
- *
- * Currently known types are:
- * * file => will strip away the path of the file and add a tooltip with it
- * * username => will add the avatar of the user
- *
- * @param string $app
- * @param string $text
- * @return array|false
- */
- function getSpecialParameterList($app, $text) {
- if ($app === self::APP_FILES) {
- switch ($text) {
- case 'created_self':
- case 'created_by':
- case 'created_public':
- case 'changed_self':
- case 'changed_by':
- case 'deleted_self':
- case 'deleted_by':
- case 'restored_self':
- case 'restored_by':
- return [
- 0 => 'file',
- 1 => 'username',
- ];
- case 'renamed_self':
- case 'moved_self':
- return [
- 0 => 'file',
- 1 => 'file',
- ];
- case 'renamed_by':
- case 'moved_by':
- return [
- 0 => 'file',
- 1 => 'username',
- 2 => 'file',
- ];
- }
- }
-
- return false;
- }
-
- /**
- * A string naming the css class for the icon to be used can be returned.
- * If no icon is known for the given type false is to be returned.
- *
- * @param string $type
- * @return string|false
- */
- public function getTypeIcon($type) {
- switch ($type) {
- case self::TYPE_SHARE_CHANGED:
- return 'icon-change';
- case self::TYPE_SHARE_CREATED:
- return 'icon-add-color';
- case self::TYPE_SHARE_DELETED:
- return 'icon-delete-color';
-
- default:
- return false;
- }
- }
-
- /**
- * The extension can define the parameter grouping by returning the index as integer.
- * In case no grouping is required false is to be returned.
- *
- * @param array $activity
- * @return integer|false
- */
- public function getGroupParameter($activity) {
- if ($activity['app'] === self::APP_FILES) {
- switch ($activity['subject']) {
- case 'created_self':
- case 'created_by':
- case 'changed_self':
- case 'changed_by':
- case 'deleted_self':
- case 'deleted_by':
- case 'restored_self':
- case 'restored_by':
- return 0;
- }
- }
-
- return false;
- }
-
- /**
- * The extension can define additional navigation entries. The array returned has to contain two keys 'top'
- * and 'apps' which hold arrays with the relevant entries.
- * If no further entries are to be added false is no be returned.
- *
- * @return array|false
- */
- public function getNavigation() {
- return [
- 'top' => [
- self::FILTER_FAVORITES => [
- 'id' => self::FILTER_FAVORITES,
- 'icon' => 'icon-favorite',
- 'name' => (string) $this->l->t('Favorites'),
- 'url' => $this->URLGenerator->linkToRoute('activity.Activities.showList', ['filter' => self::FILTER_FAVORITES]),
- ],
- ],
- 'apps' => [
- self::FILTER_FILES => [
- 'id' => self::FILTER_FILES,
- 'icon' => 'icon-files-dark',
- 'name' => (string) $this->l->t('File changes'),
- 'url' => $this->URLGenerator->linkToRoute('activity.Activities.showList', ['filter' => self::FILTER_FILES]),
- ],
- ],
- ];
- }
-
- /**
- * The extension can check if a customer filter (given by a query string like filter=abc) is valid or not.
- *
- * @param string $filterValue
- * @return boolean
- */
- public function isFilterValid($filterValue) {
- return $filterValue === self::FILTER_FILES || $filterValue === self::FILTER_FAVORITES;
- }
-
- /**
- * The extension can filter the types based on the filter if required.
- * In case no filter is to be applied false is to be returned unchanged.
- *
- * @param array $types
- * @param string $filter
- * @return array|false
- */
- public function filterNotificationTypes($types, $filter) {
- if ($filter === self::FILTER_FILES || $filter === self::FILTER_FAVORITES) {
- return array_intersect([
- self::TYPE_SHARE_CREATED,
- self::TYPE_SHARE_CHANGED,
- self::TYPE_SHARE_DELETED,
- self::TYPE_SHARE_RESTORED,
- ], $types);
- }
- return false;
- }
-
- /**
- * For a given filter the extension can specify the sql query conditions including parameters for that query.
- * In case the extension does not know the filter false is to be returned.
- * The query condition and the parameters are to be returned as array with two elements.
- * E.g. return array('`app` = ? and `message` like ?', array('mail', 'ownCloud%'));
- *
- * @param string $filter
- * @return array|false
- */
- public function getQueryForFilter($filter) {
- $user = $this->activityManager->getCurrentUserId();
- // Display actions from all files
- if ($filter === self::FILTER_FILES) {
- return ['`app` = ?', [self::APP_FILES]];
- }
-
- if (!$user) {
- // Remaining filters only work with a user/token
- return false;
- }
-
- // Display actions from favorites only
- if ($filter === self::FILTER_FAVORITES || in_array($filter, ['all', 'by', 'self']) && $this->userSettingFavoritesOnly($user)) {
- try {
- $favorites = $this->helper->getFavoriteFilePaths($user);
- } catch (\RuntimeException $e) {
- // Too many favorites, can not put them into one query anymore...
- return ['`app` = ?', [self::APP_FILES]];
- }
-
- /*
- * Display activities only, when they are not `type` create/change
- * or `file` is a favorite or in a favorite folder
- */
- $parameters = $fileQueryList = [];
- $parameters[] = self::APP_FILES;
- $parameters[] = self::APP_FILES;
-
- $fileQueryList[] = '(`type` <> ? AND `type` <> ?)';
- $parameters[] = self::TYPE_SHARE_CREATED;
- $parameters[] = self::TYPE_SHARE_CHANGED;
-
- foreach ($favorites['items'] as $favorite) {
- $fileQueryList[] = '`file` = ?';
- $parameters[] = $favorite;
- }
- foreach ($favorites['folders'] as $favorite) {
- $fileQueryList[] = '`file` LIKE ?';
- $parameters[] = $this->connection->escapeLikeParameter($favorite) . '/%';
- }
-
- return [
- ' CASE '
- . 'WHEN `app` <> ? THEN 1 '
- . 'WHEN `app` = ? AND (' . implode(' OR ', $fileQueryList) . ') THEN 1 '
- . 'ELSE 0 '
- . 'END = 1 ',
- $parameters,
- ];
- }
- return false;
- }
-
- /**
- * Is the file actions favorite limitation enabled?
- *
- * @param string $user
- * @return bool
- */
- protected function userSettingFavoritesOnly($user) {
- return (bool) $this->config->getUserValue($user, 'activity', 'notify_' . self::METHOD_STREAM . '_' . self::TYPE_FAVORITES, false);
- }
-}
diff --git a/apps/files/lib/Activity/Filter/Favorites.php b/apps/files/lib/Activity/Filter/Favorites.php
new file mode 100644
index 00000000000..2639ae847fc
--- /dev/null
+++ b/apps/files/lib/Activity/Filter/Favorites.php
@@ -0,0 +1,160 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files\Activity\Filter;
+
+
+use OCA\Files\Activity\Helper;
+use OCP\Activity\IFilter;
+use OCP\Activity\IManager;
+use OCP\DB\QueryBuilder\IQueryBuilder;
+use OCP\IDBConnection;
+use OCP\IL10N;
+use OCP\IURLGenerator;
+
+class Favorites implements IFilter {
+
+ /** @var IL10N */
+ protected $l;
+
+ /** @var IURLGenerator */
+ protected $url;
+
+ /** @var IManager */
+ protected $activityManager;
+
+ /** @var Helper */
+ protected $helper;
+
+ /** @var IDBConnection */
+ protected $db;
+
+ /**
+ * @param IL10N $l
+ * @param IURLGenerator $url
+ * @param IManager $activityManager
+ * @param Helper $helper
+ * @param IDBConnection $db
+ */
+ public function __construct(IL10N $l, IURLGenerator $url, IManager $activityManager, Helper $helper, IDBConnection $db) {
+ $this->l = $l;
+ $this->url = $url;
+ $this->activityManager = $activityManager;
+ $this->helper = $helper;
+ $this->db = $db;
+ }
+
+ /**
+ * @return string Lowercase a-z only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'files_favorites';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('Favorites');
+ }
+
+ /**
+ * @return int
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 10;
+ }
+
+ /**
+ * @return string Full URL to an icon, empty string when none is given
+ * @since 11.0.0
+ */
+ public function getIcon() {
+ return $this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/star-dark.svg'));
+ }
+
+ /**
+ * @param string[] $types
+ * @return string[] An array of allowed apps from which activities should be displayed
+ * @since 11.0.0
+ */
+ public function filterTypes(array $types) {
+ return array_intersect([
+ 'file_created',
+ 'file_changed',
+ 'file_deleted',
+ 'file_restored',
+ ], $types);
+ }
+
+ /**
+ * @return string[] An array of allowed apps from which activities should be displayed
+ * @since 11.0.0
+ */
+ public function allowedApps() {
+ return ['files'];
+ }
+
+ /**
+ * @param IQueryBuilder $query
+ */
+ public function filterFavorites(IQueryBuilder $query) {
+ try {
+ $user = $this->activityManager->getCurrentUserId();
+ } catch (\UnexpectedValueException $e) {
+ return;
+ }
+
+ try {
+ $favorites = $this->helper->getFavoriteFilePaths($user);
+ } catch (\RuntimeException $e) {
+ return;
+ }
+
+ $limitations = [];
+ if (!empty($favorites['items'])) {
+ $limitations[] = $query->expr()->in('file', $query->createNamedParameter($favorites['items'], IQueryBuilder::PARAM_STR_ARRAY));
+ }
+ foreach ($favorites['folders'] as $favorite) {
+ $limitations[] = $query->expr()->like('file', $query->createNamedParameter(
+ $this->db->escapeLikeParameter($favorite . '/') . '%'
+ ));
+ }
+
+ if (empty($limitations)) {
+ return;
+ }
+
+ $function = $query->createFunction('
+ CASE
+ WHEN ' . $query->getColumnName('app') . ' <> ' . $query->createNamedParameter('files') . ' THEN 1
+ WHEN ' . $query->getColumnName('app') . ' = ' . $query->createNamedParameter('files') . '
+ AND (' . implode(' OR ', $limitations) . ')
+ THEN 1
+ END = 1'
+ );
+
+ $query->andWhere($function);
+ }
+}
diff --git a/apps/files/lib/Activity/Filter/FileChanges.php b/apps/files/lib/Activity/Filter/FileChanges.php
new file mode 100644
index 00000000000..dc7daf96bac
--- /dev/null
+++ b/apps/files/lib/Activity/Filter/FileChanges.php
@@ -0,0 +1,95 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files\Activity\Filter;
+
+
+use OCP\Activity\IFilter;
+use OCP\IL10N;
+use OCP\IURLGenerator;
+
+class FileChanges implements IFilter {
+
+ /** @var IL10N */
+ protected $l;
+
+ /** @var IURLGenerator */
+ protected $url;
+
+ public function __construct(IL10N $l, IURLGenerator $url) {
+ $this->l = $l;
+ $this->url = $url;
+ }
+
+ /**
+ * @return string Lowercase a-z only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'files';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('File changes');
+ }
+
+ /**
+ * @return int
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 30;
+ }
+
+ /**
+ * @return string Full URL to an icon, empty string when none is given
+ * @since 11.0.0
+ */
+ public function getIcon() {
+ return $this->url->getAbsoluteURL($this->url->imagePath('core', 'places/files-dark.svg'));
+ }
+
+ /**
+ * @param string[] $types
+ * @return string[] An array of allowed apps from which activities should be displayed
+ * @since 11.0.0
+ */
+ public function filterTypes(array $types) {
+ return array_intersect([
+ 'file_created',
+ 'file_changed',
+ 'file_deleted',
+ 'file_restored',
+ ], $types);
+ }
+
+ /**
+ * @return string[] An array of allowed apps from which activities should be displayed
+ * @since 11.0.0
+ */
+ public function allowedApps() {
+ return ['files'];
+ }
+}
diff --git a/apps/files/lib/ActivityHelper.php b/apps/files/lib/Activity/Helper.php
index f5660de4b37..d03d6e8e974 100644
--- a/apps/files/lib/ActivityHelper.php
+++ b/apps/files/lib/Activity/Helper.php
@@ -20,16 +20,16 @@
*
*/
-namespace OCA\Files;
+namespace OCA\Files\Activity;
use OCP\Files\Folder;
use OCP\ITagManager;
-class ActivityHelper {
+class Helper {
/** If a user has a lot of favorites the query might get too slow and long */
const FAVORITE_LIMIT = 50;
- /** @var \OCP\ITagManager */
+ /** @var ITagManager */
protected $tagManager;
/**
diff --git a/apps/files/lib/Activity/Provider.php b/apps/files/lib/Activity/Provider.php
new file mode 100644
index 00000000000..e95522a7d08
--- /dev/null
+++ b/apps/files/lib/Activity/Provider.php
@@ -0,0 +1,276 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Files\Activity;
+
+use OCP\Activity\IEvent;
+use OCP\Activity\IManager;
+use OCP\Activity\IProvider;
+use OCP\IL10N;
+use OCP\IURLGenerator;
+
+class Provider implements IProvider {
+
+ /** @var IL10N */
+ protected $l;
+
+ /** @var IURLGenerator */
+ protected $url;
+
+ /** @var IManager */
+ protected $activityManager;
+
+ /**
+ * @param IL10N $l
+ * @param IURLGenerator $url
+ * @param IManager $activityManager
+ */
+ public function __construct(IL10N $l, IURLGenerator $url, IManager $activityManager) {
+ $this->l = $l;
+ $this->url = $url;
+ $this->activityManager = $activityManager;
+ }
+
+ /**
+ * @param IEvent $event
+ * @param IEvent|null $previousEvent
+ * @return IEvent
+ * @throws \InvalidArgumentException
+ * @since 11.0.0
+ */
+ public function parse(IEvent $event, IEvent $previousEvent = null) {
+ if ($event->getApp() !== 'files') {
+ throw new \InvalidArgumentException();
+ }
+
+ if ($previousEvent instanceof IEvent && $event->getSubject() !== $previousEvent->getSubject()) {
+ // Different subject means not the same string, so no grouping
+ $previousEvent = null;
+ }
+
+ if ($this->activityManager->isFormattingFilteredObject()) {
+ try {
+ return $this->parseShortVersion($event);
+ } catch (\InvalidArgumentException $e) {
+ // Ignore and simply use the long version...
+ }
+ }
+
+ return $this->parseLongVersion($event);
+ }
+
+ /**
+ * @param IEvent $event
+ * @return IEvent
+ * @throws \InvalidArgumentException
+ * @since 11.0.0
+ */
+ public function parseShortVersion(IEvent $event) {
+ $parsedParameters = $this->getParsedParameters($event->getSubject(), $event->getSubjectParameters());
+ $richParameters = $this->getRichParameters($event->getSubject(), $event->getSubjectParameters());
+
+ if ($event->getSubject() === 'created_by') {
+ $event->setParsedSubject($this->l->t('Created by %s', [$parsedParameters[1]]))
+ ->setRichSubject($this->l->t('Created by {user1}'), ['user1' => $richParameters['user1']])
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg')));
+ } else if ($event->getSubject() === 'changed_by') {
+ $event->setParsedSubject($this->l->t('Changed by %2$s', [$parsedParameters[1]]))
+ ->setRichSubject($this->l->t('Changed by {user1}'), ['user1' => $richParameters['user1']])
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else if ($event->getSubject() === 'deleted_by') {
+ $event->setParsedSubject($this->l->t('Deleted by %2$s', [$parsedParameters[1]]))
+ ->setRichSubject($this->l->t('Deleted by {user1}'), ['user1' => $richParameters['user1']])
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg')));
+ } else if ($event->getSubject() === 'restored_by') {
+ $event->setParsedSubject($this->l->t('Restored by %2$s', [$parsedParameters[1]]))
+ ->setRichSubject($this->l->t('Restored by {user1}'), ['user1' => $richParameters['user1']]);
+ } else if ($event->getSubject() === 'renamed_by') {
+ $event->setParsedSubject($this->l->t('Renamed by %2$s', [$parsedParameters[1]]))
+ ->setRichSubject($this->l->t('Renamed by {user1}'), ['user1' => $richParameters['user1']])
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else if ($event->getSubject() === 'moved_by') {
+ $event->setParsedSubject($this->l->t('Moved by %2$s', [$parsedParameters[1]]))
+ ->setRichSubject($this->l->t('Moved by {user1}'), ['user1' => $richParameters['user1']])
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else {
+ throw new \InvalidArgumentException();
+ }
+
+ return $event;
+ }
+
+ /**
+ * @param IEvent $event
+ * @return IEvent
+ * @throws \InvalidArgumentException
+ * @since 11.0.0
+ */
+ public function parseLongVersion(IEvent $event) {
+ $parsedParameters = $this->getParsedParameters($event->getSubject(), $event->getSubjectParameters());
+ $richParameters = $this->getRichParameters($event->getSubject(), $event->getSubjectParameters());
+
+ if ($event->getSubject() === 'created_self') {
+ $event->setParsedSubject($this->l->t('You created %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('You created {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg')));
+ } else if ($event->getSubject() === 'created_by') {
+ $event->setParsedSubject($this->l->t('%2$s created %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('{user1} created {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg')));
+ } else if ($event->getSubject() === 'created_public') {
+ $event->setParsedSubject($this->l->t('%1$s was created in a public folder', $parsedParameters))
+ ->setRichSubject($this->l->t('{file1} was created in a public folder'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'add-color.svg')));
+ } else if ($event->getSubject() === 'changed_self') {
+ $event->setParsedSubject($this->l->t('You changed %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('You changed {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else if ($event->getSubject() === 'changed_by') {
+ $event->setParsedSubject($this->l->t('%2$s changed %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('{user1} changed {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else if ($event->getSubject() === 'deleted_self') {
+ $event->setParsedSubject($this->l->t('You deleted %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('You deleted {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg')));
+ } else if ($event->getSubject() === 'deleted_by') {
+ $event->setParsedSubject($this->l->t('%2$s deleted %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('{user1} deleted {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'delete-color.svg')));
+ } else if ($event->getSubject() === 'restored_self') {
+ $event->setParsedSubject($this->l->t('You restored %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('You restored {file1}'), $richParameters);
+ } else if ($event->getSubject() === 'restored_by') {
+ $event->setParsedSubject($this->l->t('%2$s restored %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('{user1} restored {file1}'), $richParameters);
+ } else if ($event->getSubject() === 'renamed_self') {
+ $event->setParsedSubject($this->l->t('You renamed %2$s to %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('You renamed {file2} to {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else if ($event->getSubject() === 'renamed_by') {
+ $event->setParsedSubject($this->l->t('%2$s renamed %3$s to %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('{user1} renamed {file2} to {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else if ($event->getSubject() === 'moved_self') {
+ $event->setParsedSubject($this->l->t('You moved %2$s to %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('You moved {file2} to {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else if ($event->getSubject() === 'moved_by') {
+ $event->setParsedSubject($this->l->t('%2$s moved %3$s to %1$s', $parsedParameters))
+ ->setRichSubject($this->l->t('{user1} moved {file2} to {file1}'), $richParameters)
+ ->setIcon($this->url->getAbsoluteURL($this->url->imagePath('files', 'change.svg')));
+ } else {
+ throw new \InvalidArgumentException();
+ }
+
+ return $event;
+ }
+
+ protected function getParsedParameters($subject, array $parameters) {
+ switch ($subject) {
+ case 'created_self':
+ case 'created_public':
+ case 'changed_self':
+ case 'deleted_self':
+ case 'restored_self':
+ return [
+ array_shift($parameters[0]),
+ ];
+ case 'created_by':
+ case 'changed_by':
+ case 'deleted_by':
+ case 'restored_by':
+ return [
+ array_shift($parameters[0]),
+ $parameters[1],
+ ];
+ case 'renamed_self':
+ case 'moved_self':
+ return [
+ array_shift($parameters[0]),
+ array_shift($parameters[1]),
+ ];
+ case 'renamed_by':
+ case 'moved_by':
+ return [
+ array_shift($parameters[0]),
+ $parameters[1],
+ array_shift($parameters[2]),
+ ];
+ }
+ return [];
+ }
+
+ protected function getRichParameters($subject, array $parameters) {
+ switch ($subject) {
+ case 'created_self':
+ case 'created_public':
+ case 'changed_self':
+ case 'deleted_self':
+ case 'restored_self':
+ return [
+ 'file1' => $this->getRichFileParameter($parameters[0]),
+ ];
+ case 'created_by':
+ case 'changed_by':
+ case 'deleted_by':
+ case 'restored_by':
+ return [
+ 'file1' => $this->getRichFileParameter($parameters[0]),
+ 'user1' => $this->getRichUserParameter($parameters[1]),
+ ];
+ case 'renamed_self':
+ case 'moved_self':
+ return [
+ 'file1' => $this->getRichFileParameter($parameters[0]),
+ 'file2' => $this->getRichFileParameter($parameters[1]),
+ ];
+ case 'renamed_by':
+ case 'moved_by':
+ return [
+ 'file1' => $this->getRichFileParameter($parameters[0]),
+ 'user1' => $this->getRichUserParameter($parameters[1]),
+ 'file2' => $this->getRichFileParameter($parameters[2]),
+ ];
+ }
+ return [];
+ }
+
+ protected function getRichFileParameter($parameter) {
+ $path = reset($parameter);
+ $id = key($parameter);
+ return [
+ 'type' => 'file',
+ 'id' => $id,
+ 'name' => basename($path),
+ 'path' => $path,
+ ];
+ }
+
+ protected function getRichUserParameter($parameter) {
+ return [
+ 'type' => 'user',
+ 'id' => $parameter,
+ 'name' => $parameter,// FIXME Use display name
+ ];
+ }
+}
diff --git a/apps/files/lib/Activity/Settings/FileChanged.php b/apps/files/lib/Activity/Settings/FileChanged.php
new file mode 100644
index 00000000000..1c20fb6f01a
--- /dev/null
+++ b/apps/files/lib/Activity/Settings/FileChanged.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileChanged implements ISetting {
+
+ /** @var IL10N */
+ protected $l;
+
+ /**
+ * @param IL10N $l
+ */
+ public function __construct(IL10N $l) {
+ $this->l = $l;
+ }
+
+ /**
+ * @return string Lowercase a-z and underscore only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'file_changed';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('A file or folder has been <strong>changed</strong> or <strong>renamed</strong>');
+ }
+
+ /**
+ * @return int whether the filter should be rather on the top or bottom of
+ * the admin section. The filters are arranged in ascending order of the
+ * priority values. It is required to return a value between 0 and 100.
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 1;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function canChangeStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the mail
+ * @since 11.0.0
+ */
+ public function canChangeMail() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledMail() {
+ return false;
+ }
+}
+
diff --git a/apps/files/lib/Activity/Settings/FileCreated.php b/apps/files/lib/Activity/Settings/FileCreated.php
new file mode 100644
index 00000000000..dfde00ae7ec
--- /dev/null
+++ b/apps/files/lib/Activity/Settings/FileCreated.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileCreated implements ISetting {
+
+ /** @var IL10N */
+ protected $l;
+
+ /**
+ * @param IL10N $l
+ */
+ public function __construct(IL10N $l) {
+ $this->l = $l;
+ }
+
+ /**
+ * @return string Lowercase a-z and underscore only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'file_created';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('A new file or folder has been <strong>created</strong>');
+ }
+
+ /**
+ * @return int whether the filter should be rather on the top or bottom of
+ * the admin section. The filters are arranged in ascending order of the
+ * priority values. It is required to return a value between 0 and 100.
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 0;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function canChangeStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the mail
+ * @since 11.0.0
+ */
+ public function canChangeMail() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledMail() {
+ return false;
+ }
+}
+
diff --git a/apps/files/lib/Activity/Settings/FileDeleted.php b/apps/files/lib/Activity/Settings/FileDeleted.php
new file mode 100644
index 00000000000..c4948ded2fa
--- /dev/null
+++ b/apps/files/lib/Activity/Settings/FileDeleted.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileDeleted implements ISetting {
+
+ /** @var IL10N */
+ protected $l;
+
+ /**
+ * @param IL10N $l
+ */
+ public function __construct(IL10N $l) {
+ $this->l = $l;
+ }
+
+ /**
+ * @return string Lowercase a-z and underscore only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'file_deleted';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('A new file or folder has been <strong>deleted</strong>');
+ }
+
+ /**
+ * @return int whether the filter should be rather on the top or bottom of
+ * the admin section. The filters are arranged in ascending order of the
+ * priority values. It is required to return a value between 0 and 100.
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 3;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function canChangeStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the mail
+ * @since 11.0.0
+ */
+ public function canChangeMail() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledMail() {
+ return false;
+ }
+}
+
diff --git a/apps/files/lib/Activity/Settings/FileFavorite.php b/apps/files/lib/Activity/Settings/FileFavorite.php
new file mode 100644
index 00000000000..b2f20688df9
--- /dev/null
+++ b/apps/files/lib/Activity/Settings/FileFavorite.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileFavorite implements ISetting {
+
+ /** @var IL10N */
+ protected $l;
+
+ /**
+ * @param IL10N $l
+ */
+ public function __construct(IL10N $l) {
+ $this->l = $l;
+ }
+
+ /**
+ * @return string Lowercase a-z and underscore only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'file_favorite';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>');
+ }
+
+ /**
+ * @return int whether the filter should be rather on the top or bottom of
+ * the admin section. The filters are arranged in ascending order of the
+ * priority values. It is required to return a value between 0 and 100.
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 2;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function canChangeStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledStream() {
+ return false;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the mail
+ * @since 11.0.0
+ */
+ public function canChangeMail() {
+ return false;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledMail() {
+ return false;
+ }
+}
+
diff --git a/apps/files/lib/Activity/Settings/FileRestored.php b/apps/files/lib/Activity/Settings/FileRestored.php
new file mode 100644
index 00000000000..cedfef441ed
--- /dev/null
+++ b/apps/files/lib/Activity/Settings/FileRestored.php
@@ -0,0 +1,98 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016 Joas Schilling <coding@schilljs.com>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Files\Activity\Settings;
+
+
+use OCP\Activity\ISetting;
+use OCP\IL10N;
+
+class FileRestored implements ISetting {
+
+ /** @var IL10N */
+ protected $l;
+
+ /**
+ * @param IL10N $l
+ */
+ public function __construct(IL10N $l) {
+ $this->l = $l;
+ }
+
+ /**
+ * @return string Lowercase a-z and underscore only identifier
+ * @since 11.0.0
+ */
+ public function getIdentifier() {
+ return 'file_restored';
+ }
+
+ /**
+ * @return string A translated string
+ * @since 11.0.0
+ */
+ public function getName() {
+ return $this->l->t('A new file or folder has been <strong>restored</strong>');
+ }
+
+ /**
+ * @return int whether the filter should be rather on the top or bottom of
+ * the admin section. The filters are arranged in ascending order of the
+ * priority values. It is required to return a value between 0 and 100.
+ * @since 11.0.0
+ */
+ public function getPriority() {
+ return 4;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function canChangeStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledStream() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the mail
+ * @since 11.0.0
+ */
+ public function canChangeMail() {
+ return true;
+ }
+
+ /**
+ * @return bool True when the option can be changed for the stream
+ * @since 11.0.0
+ */
+ public function isDefaultEnabledMail() {
+ return false;
+ }
+}
+
diff --git a/apps/files/lib/Command/TransferOwnership.php b/apps/files/lib/Command/TransferOwnership.php
index 3b51e4a9e6d..022db999200 100644
--- a/apps/files/lib/Command/TransferOwnership.php
+++ b/apps/files/lib/Command/TransferOwnership.php
@@ -96,12 +96,12 @@ class TransferOwnership extends Command {
if (!$sourceUserObject instanceof IUser) {
$output->writeln("<error>Unknown source user $this->sourceUser</error>");
- return;
+ return 1;
}
if (!$destinationUserObject instanceof IUser) {
$output->writeln("<error>Unknown destination user $this->destinationUser</error>");
- return;
+ return 1;
}
$this->sourceUser = $sourceUserObject->getUID();
@@ -110,7 +110,7 @@ class TransferOwnership extends Command {
// target user has to be ready
if (!\OC::$server->getEncryptionManager()->isReadyForUser($this->destinationUser)) {
$output->writeln("<error>The target user is not ready to accept files. The user has at least to be logged in once.</error>");
- return;
+ return 2;
}
$date = date('c');
@@ -188,7 +188,7 @@ class TransferOwnership extends Command {
$output->writeln("Collecting all share information for files and folder of $this->sourceUser ...");
$progress = new ProgressBar($output, count($this->shares));
- foreach([\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_LINK, \OCP\Share::SHARE_TYPE_REMOTE] as $shareType) {
+ foreach([\OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_LINK, \OCP\Share::SHARE_TYPE_REMOTE] as $shareType) {
$offset = 0;
while (true) {
$sharePage = $this->shareManager->getSharesBy($this->sourceUser, $shareType, null, true, 50, $offset);
@@ -224,22 +224,28 @@ class TransferOwnership extends Command {
$progress = new ProgressBar($output, count($this->shares));
foreach($this->shares as $share) {
- if ($share->getSharedWith() === $this->destinationUser) {
- // Unmount the shares before deleting, so we don't try to get the storage later on.
- $shareMountPoint = $this->mountManager->find('/' . $this->destinationUser . '/files' . $share->getTarget());
- if ($shareMountPoint) {
- $this->mountManager->removeMount($shareMountPoint->getMountPoint());
- }
- $this->shareManager->deleteShare($share);
- } else {
- if ($share->getShareOwner() === $this->sourceUser) {
- $share->setShareOwner($this->destinationUser);
- }
- if ($share->getSharedBy() === $this->sourceUser) {
- $share->setSharedBy($this->destinationUser);
- }
+ try {
+ if ($share->getSharedWith() === $this->destinationUser) {
+ // Unmount the shares before deleting, so we don't try to get the storage later on.
+ $shareMountPoint = $this->mountManager->find('/' . $this->destinationUser . '/files' . $share->getTarget());
+ if ($shareMountPoint) {
+ $this->mountManager->removeMount($shareMountPoint->getMountPoint());
+ }
+ $this->shareManager->deleteShare($share);
+ } else {
+ if ($share->getShareOwner() === $this->sourceUser) {
+ $share->setShareOwner($this->destinationUser);
+ }
+ if ($share->getSharedBy() === $this->sourceUser) {
+ $share->setSharedBy($this->destinationUser);
+ }
- $this->shareManager->updateShare($share);
+ $this->shareManager->updateShare($share);
+ }
+ } catch (\OCP\Files\NotFoundException $e) {
+ $output->writeln('<error>Share with id ' . $share->getId() . ' points at deleted file, skipping</error>');
+ } catch (\Exception $e) {
+ $output->writeln('<error>Could not restore share with id ' . $share->getId() . ':' . $e->getTraceAsString() . '</error>');
}
$progress->advance();
}
diff --git a/apps/files/tests/ActivityTest.php b/apps/files/tests/ActivityTest.php
deleted file mode 100644
index 65e914c1a54..00000000000
--- a/apps/files/tests/ActivityTest.php
+++ /dev/null
@@ -1,374 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Joas Schilling <coding@schilljs.com>
- * @author Morris Jobke <hey@morrisjobke.de>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\Files\Tests;
-
-use OCA\Files\Activity;
-use OCP\IL10N;
-use OCP\L10N\IFactory;
-use Test\TestCase;
-
-/**
- * Class ActivityTest
- *
- * @group DB
- * @package OCA\Files\Tests
- */
-class ActivityTest extends TestCase {
-
- /** @var \OCP\Activity\IManager */
- private $activityManager;
-
- /** @var \OCP\IRequest|\PHPUnit_Framework_MockObject_MockObject */
- protected $request;
-
- /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */
- protected $session;
-
- /** @var \OCP\IConfig|\PHPUnit_Framework_MockObject_MockObject */
- protected $config;
-
- /** @var \OCA\Files\ActivityHelper|\PHPUnit_Framework_MockObject_MockObject */
- protected $activityHelper;
-
- /** @var \OCP\L10N\IFactory|\PHPUnit_Framework_MockObject_MockObject */
- protected $l10nFactory;
-
- /** @var \OCA\Files\Activity */
- protected $activityExtension;
-
- protected function setUp() {
- parent::setUp();
-
- $this->request = $this->getMockBuilder('OCP\IRequest')
- ->disableOriginalConstructor()
- ->getMock();
- $this->session = $this->getMockBuilder('OCP\IUserSession')
- ->disableOriginalConstructor()
- ->getMock();
- $this->config = $this->getMockBuilder('OCP\IConfig')
- ->disableOriginalConstructor()
- ->getMock();
- $this->activityHelper = $this->getMockBuilder('OCA\Files\ActivityHelper')
- ->disableOriginalConstructor()
- ->getMock();
-
- $this->activityManager = new \OC\Activity\Manager(
- $this->request,
- $this->session,
- $this->config
- );
-
- $this->l10nFactory = $this->createMock(IFactory::class);
- $deL10n = $this->createMock(IL10N::class);
- $deL10n->expects($this->any())
- ->method('t')
- ->willReturnCallback(function ($argument) {
- return 'translate(' . $argument . ')';
- });
-
- $this->l10nFactory->expects($this->any())
- ->method('get')
- ->willReturnMap([
- ['files', null, \OC::$server->getL10N('files', 'en')],
- ['files', 'en', \OC::$server->getL10N('files', 'en')],
- ['files', 'de', $deL10n],
- ]);
-
- $this->activityExtension = $activityExtension = new Activity(
- $this->l10nFactory,
- $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(),
- $this->activityManager,
- $this->activityHelper,
- \OC::$server->getDatabaseConnection(),
- $this->config
- );
-
- $this->activityManager->registerExtension(function() use ($activityExtension) {
- return $activityExtension;
- });
- }
-
- public function testNotificationTypes() {
- $result = $this->activityExtension->getNotificationTypes('en');
- $this->assertTrue(is_array($result), 'Asserting getNotificationTypes() returns an array');
- $this->assertCount(5, $result);
- $this->assertArrayHasKey(Activity::TYPE_SHARE_CREATED, $result);
- $this->assertArrayHasKey(Activity::TYPE_SHARE_CHANGED, $result);
- $this->assertArrayHasKey(Activity::TYPE_FAVORITES, $result);
- $this->assertArrayHasKey(Activity::TYPE_SHARE_DELETED, $result);
- $this->assertArrayHasKey(Activity::TYPE_SHARE_RESTORED, $result);
- }
-
- public function testDefaultTypes() {
- $result = $this->activityExtension->getDefaultTypes('stream');
- $this->assertTrue(is_array($result), 'Asserting getDefaultTypes(stream) returns an array');
- $this->assertCount(4, $result);
- $result = array_flip($result);
- $this->assertArrayHasKey(Activity::TYPE_SHARE_CREATED, $result);
- $this->assertArrayHasKey(Activity::TYPE_SHARE_CHANGED, $result);
- $this->assertArrayNotHasKey(Activity::TYPE_FAVORITES, $result);
- $this->assertArrayHasKey(Activity::TYPE_SHARE_DELETED, $result);
- $this->assertArrayHasKey(Activity::TYPE_SHARE_RESTORED, $result);
-
- $result = $this->activityExtension->getDefaultTypes('email');
- $this->assertFalse($result, 'Asserting getDefaultTypes(email) returns false');
- }
-
- public function testTranslate() {
- $this->assertFalse(
- $this->activityExtension->translate('files_sharing', '', [], false, false, 'en'),
- 'Asserting that no translations are set for files_sharing'
- );
-
- // Test english
- $this->assertNotFalse(
- $this->activityExtension->translate('files', 'deleted_self', ['file'], false, false, 'en'),
- 'Asserting that translations are set for files.deleted_self'
- );
- $this->assertStringStartsWith(
- 'You deleted ',
- $this->activityExtension->translate('files', 'deleted_self', ['file'], false, false, 'en')
- );
-
- // Test translation
- $this->assertNotFalse(
- $this->activityExtension->translate('files', 'deleted_self', ['file'], false, false, 'de'),
- 'Asserting that translations are set for files.deleted_self'
- );
- $this->assertStringStartsWith(
- 'translate(You deleted ',
- $this->activityExtension->translate('files', 'deleted_self', ['file'], false, false, 'de')
- );
- }
-
- public function testGetSpecialParameterList() {
- $this->assertFalse(
- $this->activityExtension->getSpecialParameterList('files_sharing', ''),
- 'Asserting that no special parameters are set for files_sharing'
- );
- }
-
- public function typeIconData() {
- return [
- [Activity::TYPE_SHARE_CHANGED, 'icon-change'],
- [Activity::TYPE_SHARE_CREATED, 'icon-add-color'],
- [Activity::TYPE_SHARE_DELETED, 'icon-delete-color'],
- [Activity::TYPE_SHARE_RESTORED, false],
- [Activity::TYPE_FAVORITES, false],
- ['unknown type', false],
- ];
- }
-
- /**
- * @dataProvider typeIconData
- *
- * @param string $type
- * @param mixed $expected
- */
- public function testTypeIcon($type, $expected) {
- $this->assertSame($expected, $this->activityExtension->getTypeIcon($type));
- }
-
- public function testGroupParameter() {
- $this->assertFalse(
- $this->activityExtension->getGroupParameter(['app' => 'files_sharing']),
- 'Asserting that no group parameters are set for files_sharing'
- );
- }
-
- public function testNavigation() {
- $result = $this->activityExtension->getNavigation();
- $this->assertCount(1, $result['top']);
- $this->assertArrayHasKey(Activity::FILTER_FAVORITES, $result['top']);
-
- $this->assertCount(1, $result['apps']);
- $this->assertArrayHasKey(Activity::FILTER_FILES, $result['apps']);
- }
-
- public function testIsFilterValid() {
- $this->assertTrue($this->activityExtension->isFilterValid(Activity::FILTER_FAVORITES));
- $this->assertTrue($this->activityExtension->isFilterValid(Activity::FILTER_FILES));
- $this->assertFalse($this->activityExtension->isFilterValid('unknown filter'));
- }
-
- public function filterNotificationTypesData() {
- return [
- [
- Activity::FILTER_FILES,
- [
- 'NT0',
- Activity::TYPE_SHARE_CREATED,
- Activity::TYPE_SHARE_CHANGED,
- Activity::TYPE_SHARE_DELETED,
- Activity::TYPE_SHARE_RESTORED,
- Activity::TYPE_FAVORITES,
- ], [
- Activity::TYPE_SHARE_CREATED,
- Activity::TYPE_SHARE_CHANGED,
- Activity::TYPE_SHARE_DELETED,
- Activity::TYPE_SHARE_RESTORED,
- ],
- ],
- [
- Activity::FILTER_FILES,
- [
- 'NT0',
- Activity::TYPE_SHARE_CREATED,
- Activity::TYPE_FAVORITES,
- ],
- [
- Activity::TYPE_SHARE_CREATED,
- ],
- ],
- [
- Activity::FILTER_FAVORITES,
- [
- 'NT0',
- Activity::TYPE_SHARE_CREATED,
- Activity::TYPE_SHARE_CHANGED,
- Activity::TYPE_SHARE_DELETED,
- Activity::TYPE_SHARE_RESTORED,
- Activity::TYPE_FAVORITES,
- ], [
- Activity::TYPE_SHARE_CREATED,
- Activity::TYPE_SHARE_CHANGED,
- Activity::TYPE_SHARE_DELETED,
- Activity::TYPE_SHARE_RESTORED,
- ],
- ],
- [
- 'unknown filter',
- [
- 'NT0',
- Activity::TYPE_SHARE_CREATED,
- Activity::TYPE_SHARE_CHANGED,
- Activity::TYPE_SHARE_DELETED,
- Activity::TYPE_SHARE_RESTORED,
- Activity::TYPE_FAVORITES,
- ],
- false,
- ],
- ];
- }
-
- /**
- * @dataProvider filterNotificationTypesData
- *
- * @param string $filter
- * @param array $types
- * @param mixed $expected
- */
- public function testFilterNotificationTypes($filter, $types, $expected) {
- $result = $this->activityExtension->filterNotificationTypes($types, $filter);
- $this->assertEquals($expected, $result);
- }
-
- public function queryForFilterData() {
- return [
- [
- new \RuntimeException(),
- '`app` = ?',
- ['files']
- ],
- [
- [
- 'items' => [],
- 'folders' => [],
- ],
- ' CASE WHEN `app` <> ? THEN 1 WHEN `app` = ? AND ((`type` <> ? AND `type` <> ?)) THEN 1 ELSE 0 END = 1 ',
- ['files', 'files', Activity::TYPE_SHARE_CREATED, Activity::TYPE_SHARE_CHANGED]
- ],
- [
- [
- 'items' => ['file.txt', 'folder'],
- 'folders' => ['folder'],
- ],
- ' CASE WHEN `app` <> ? THEN 1 WHEN `app` = ? AND ((`type` <> ? AND `type` <> ?) OR `file` = ? OR `file` = ? OR `file` LIKE ?) THEN 1 ELSE 0 END = 1 ',
- ['files', 'files', Activity::TYPE_SHARE_CREATED, Activity::TYPE_SHARE_CHANGED, 'file.txt', 'folder', 'folder/%']
- ],
- ];
- }
-
- /**
- * @dataProvider queryForFilterData
- *
- * @param mixed $will
- * @param string $query
- * @param array $parameters
- */
- public function testQueryForFilter($will, $query, $parameters) {
- $this->mockUserSession('test');
-
- $this->config->expects($this->any())
- ->method('getUserValue')
- ->willReturnMap([
- ['test', 'activity', 'notify_stream_' . Activity::TYPE_FAVORITES, false, true],
- ]);
- if (is_array($will)) {
- $this->activityHelper->expects($this->any())
- ->method('getFavoriteFilePaths')
- ->with('test')
- ->willReturn($will);
- } else {
- $this->activityHelper->expects($this->any())
- ->method('getFavoriteFilePaths')
- ->with('test')
- ->willThrowException($will);
- }
-
- $result = $this->activityExtension->getQueryForFilter('all');
- $this->assertEquals([$query, $parameters], $result);
-
- $this->executeQueryForFilter($result);
- }
-
- public function executeQueryForFilter(array $result) {
- list($resultQuery, $resultParameters) = $result;
- $resultQuery = str_replace('`file`', '`user`', $resultQuery);
- $resultQuery = str_replace('`type`', '`key`', $resultQuery);
-
- $connection = \OC::$server->getDatabaseConnection();
- // Test the query on the privatedata table, because the activity table
- // does not exist in core
- $result = $connection->executeQuery('SELECT * FROM `*PREFIX*privatedata` WHERE ' . $resultQuery, $resultParameters);
- $rows = $result->fetchAll();
- $result->closeCursor();
- }
-
- protected function mockUserSession($user) {
- $mockUser = $this->getMockBuilder('\OCP\IUser')
- ->disableOriginalConstructor()
- ->getMock();
- $mockUser->expects($this->any())
- ->method('getUID')
- ->willReturn($user);
-
- $this->session->expects($this->any())
- ->method('isLoggedIn')
- ->willReturn(true);
- $this->session->expects($this->any())
- ->method('getUser')
- ->willReturn($mockUser);
- }
-}
diff --git a/apps/files/tests/Command/DeleteOrphanedFilesTest.php b/apps/files/tests/Command/DeleteOrphanedFilesTest.php
index b4d16e54617..32c8d628a80 100644
--- a/apps/files/tests/Command/DeleteOrphanedFilesTest.php
+++ b/apps/files/tests/Command/DeleteOrphanedFilesTest.php
@@ -24,8 +24,10 @@
namespace OCA\Files\Tests\Command;
+use OC\Files\View;
use OCA\Files\Command\DeleteOrphanedFiles;
use OCP\Files\StorageNotAvailableException;
+use Test\TestCase;
/**
* Class DeleteOrphanedFilesTest
@@ -34,7 +36,7 @@ use OCP\Files\StorageNotAvailableException;
*
* @package OCA\Files\Tests\Command
*/
-class DeleteOrphanedFilesTest extends \Test\TestCase {
+class DeleteOrphanedFilesTest extends TestCase {
/**
* @var DeleteOrphanedFiles
@@ -94,7 +96,7 @@ class DeleteOrphanedFilesTest extends \Test\TestCase {
$this->loginAsUser($this->user1);
- $view = new \OC\Files\View('/' . $this->user1 . '/');
+ $view = new View('/' . $this->user1 . '/');
$view->mkdir('files/test');
$fileInfo = $view->getFileInfo('files/test');
@@ -115,7 +117,7 @@ class DeleteOrphanedFilesTest extends \Test\TestCase {
$output
->expects($this->once())
->method('writeln')
- ->with('4 orphaned file cache entries deleted');
+ ->with('3 orphaned file cache entries deleted');
$this->command->execute($input, $output);
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index 15dab3b9882..d8fc3907d78 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -1120,6 +1120,34 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.files.length).toEqual(65);
expect($('#fileList tr').length).toEqual(20);
});
+ it('renders the full first page despite hidden rows', function() {
+ filesConfig.set('showhidden', false);
+ var files = _.map(generateFiles(0, 23), function(data) {
+ return _.extend(data, {
+ name: '.' + data.name
+ });
+ });
+ // only hidden files + one visible
+ files.push(testFiles[0]);
+ fileList.setFiles(files);
+ expect(fileList.files.length).toEqual(25);
+ // render 24 hidden elements + the visible one
+ expect($('#fileList tr').length).toEqual(25);
+ });
+ it('renders the full first page despite hidden rows', function() {
+ filesConfig.set('showhidden', true);
+ var files = _.map(generateFiles(0, 23), function(data) {
+ return _.extend(data, {
+ name: '.' + data.name
+ });
+ });
+ // only hidden files + one visible
+ files.push(testFiles[0]);
+ fileList.setFiles(files);
+ expect(fileList.files.length).toEqual(25);
+ // render 20 first hidden elements as visible
+ expect($('#fileList tr').length).toEqual(20);
+ });
it('renders the second page when scrolling down (trigger nextPage)', function() {
// TODO: can't simulate scrolling here, so calling nextPage directly
fileList._nextPage(true);
diff --git a/apps/files_external/appinfo/info.xml b/apps/files_external/appinfo/info.xml
index 375d660bf62..c221ba4145f 100644
--- a/apps/files_external/appinfo/info.xml
+++ b/apps/files_external/appinfo/info.xml
@@ -22,7 +22,7 @@
<namespace>Files_External</namespace>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<settings>
diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js
index 4bfa143e031..12d1c259e9e 100644
--- a/apps/files_external/l10n/cs_CZ.js
+++ b/apps/files_external/l10n/cs_CZ.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Save" : "Uložit",
"Empty response from the server" : "Prázdná odpověď serveru",
"Couldn't access. Please logout and login to activate this mount point" : "Nelze připojit. Pro aktivaci tohoto přípojného bodu se prosím odhlašte a znovu přihlašte",
+ "Couldn't get the information from the remote server: {code} {type}" : "Nelze obdržet informaci ze vzdáleného serveru: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Nelze obdržet seznam vzdálených přípojných bodů: {type}",
"There was an error with message: " : "Došlo k chybě s tímto hlášením:",
"External mount error" : "Chyba vzdáleného úložiště",
diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json
index c42f2dea71d..96738c4e689 100644
--- a/apps/files_external/l10n/cs_CZ.json
+++ b/apps/files_external/l10n/cs_CZ.json
@@ -23,6 +23,7 @@
"Save" : "Uložit",
"Empty response from the server" : "Prázdná odpověď serveru",
"Couldn't access. Please logout and login to activate this mount point" : "Nelze připojit. Pro aktivaci tohoto přípojného bodu se prosím odhlašte a znovu přihlašte",
+ "Couldn't get the information from the remote server: {code} {type}" : "Nelze obdržet informaci ze vzdáleného serveru: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Nelze obdržet seznam vzdálených přípojných bodů: {type}",
"There was an error with message: " : "Došlo k chybě s tímto hlášením:",
"External mount error" : "Chyba vzdáleného úložiště",
diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js
index 834c305dea3..65aed9991e9 100644
--- a/apps/files_external/l10n/de.js
+++ b/apps/files_external/l10n/de.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Save" : "Speichern",
"Empty response from the server" : "Leere Antwort vom Server",
"Couldn't access. Please logout and login to activate this mount point" : "Anmeldung nicht möglich. Bitte abmelden und erneut anmelden, damit von diesem Endpunkt zugegriffen werden kann.",
+ "Couldn't get the information from the remote server: {code} {type}" : "Konnte die Information vom entfernten Server nicht abrufen: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Die Liste der externen Endpunkte konnte nicht empfangen werden: {type}",
"There was an error with message: " : "Es ist ein Fehler mit folgender Meldung aufgetreten:",
"External mount error" : "Fehler beim Einbinden des externen Speichers",
@@ -125,7 +126,7 @@ OC.L10N.register(
"Delete" : "Löschen",
"Allow users to mount external storage" : "Benutzern erlauben, externen Speicher einzubinden",
"Allow users to mount the following external storage" : "Benutzern erlauben, den oder die folgenden externen Speicher einzubinden:",
- "Couldn't get the information from the ownCloud server: {code} {type}" : "Die gewünschten Informationen konnten nicht vom ownCloud-Server gelesen werden: {code} {type}",
+ "Couldn't get the information from the ownCloud server: {code} {type}" : "Die gewünschten Informationen konnten nicht vom Server gelesen werden: {code} {type}",
"Access granted" : "Zugriff gewährt",
"Global Credentials" : "Globale Anmeldeinformationen",
"ownCloud" : "ownCloud",
diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json
index 5d24d3758b1..cfd9ad3aa67 100644
--- a/apps/files_external/l10n/de.json
+++ b/apps/files_external/l10n/de.json
@@ -23,6 +23,7 @@
"Save" : "Speichern",
"Empty response from the server" : "Leere Antwort vom Server",
"Couldn't access. Please logout and login to activate this mount point" : "Anmeldung nicht möglich. Bitte abmelden und erneut anmelden, damit von diesem Endpunkt zugegriffen werden kann.",
+ "Couldn't get the information from the remote server: {code} {type}" : "Konnte die Information vom entfernten Server nicht abrufen: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Die Liste der externen Endpunkte konnte nicht empfangen werden: {type}",
"There was an error with message: " : "Es ist ein Fehler mit folgender Meldung aufgetreten:",
"External mount error" : "Fehler beim Einbinden des externen Speichers",
@@ -123,7 +124,7 @@
"Delete" : "Löschen",
"Allow users to mount external storage" : "Benutzern erlauben, externen Speicher einzubinden",
"Allow users to mount the following external storage" : "Benutzern erlauben, den oder die folgenden externen Speicher einzubinden:",
- "Couldn't get the information from the ownCloud server: {code} {type}" : "Die gewünschten Informationen konnten nicht vom ownCloud-Server gelesen werden: {code} {type}",
+ "Couldn't get the information from the ownCloud server: {code} {type}" : "Die gewünschten Informationen konnten nicht vom Server gelesen werden: {code} {type}",
"Access granted" : "Zugriff gewährt",
"Global Credentials" : "Globale Anmeldeinformationen",
"ownCloud" : "ownCloud",
diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js
index 23136291d4a..68df8208ada 100644
--- a/apps/files_external/l10n/de_DE.js
+++ b/apps/files_external/l10n/de_DE.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Save" : "Speichern",
"Empty response from the server" : "Leere Antwort vom Server erhalten",
"Couldn't access. Please logout and login to activate this mount point" : "Anmeldung nicht möglich. Bitte melden Sie sich ab und wieder an, damit Sie von diesem Endpunkt zugreifen können.",
+ "Couldn't get the information from the remote server: {code} {type}" : "Konnte die Information vom entfernten Server nicht abrufen: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Konnte die Liste von externen Speichern nicht laden: {type}",
"There was an error with message: " : "Ein Fehler ist aufgetreten:",
"External mount error" : "Externer Einhängefehler",
diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json
index d17651d3160..b2ee065a611 100644
--- a/apps/files_external/l10n/de_DE.json
+++ b/apps/files_external/l10n/de_DE.json
@@ -23,6 +23,7 @@
"Save" : "Speichern",
"Empty response from the server" : "Leere Antwort vom Server erhalten",
"Couldn't access. Please logout and login to activate this mount point" : "Anmeldung nicht möglich. Bitte melden Sie sich ab und wieder an, damit Sie von diesem Endpunkt zugreifen können.",
+ "Couldn't get the information from the remote server: {code} {type}" : "Konnte die Information vom entfernten Server nicht abrufen: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Konnte die Liste von externen Speichern nicht laden: {type}",
"There was an error with message: " : "Ein Fehler ist aufgetreten:",
"External mount error" : "Externer Einhängefehler",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index 40865b75add..75c40e540a8 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Save" : "Enregistrer",
"Empty response from the server" : "Réponse vide du serveur",
"Couldn't access. Please logout and login to activate this mount point" : "Impossible d'accéder. Veuillez vous déconnecter et vous reconnecter pour activer ce point de montage.",
+ "Couldn't get the information from the remote server: {code} {type}" : "Impossible d'obtenir l'information du serveur distant: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Impossible de récupérer la liste des points de montage externes : {type}",
"There was an error with message: " : "Il y a eu une erreur avec le message :",
"External mount error" : "Erreur de point de montage externe",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index 93b5d28be87..d9e9f9774d4 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -23,6 +23,7 @@
"Save" : "Enregistrer",
"Empty response from the server" : "Réponse vide du serveur",
"Couldn't access. Please logout and login to activate this mount point" : "Impossible d'accéder. Veuillez vous déconnecter et vous reconnecter pour activer ce point de montage.",
+ "Couldn't get the information from the remote server: {code} {type}" : "Impossible d'obtenir l'information du serveur distant: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Impossible de récupérer la liste des points de montage externes : {type}",
"There was an error with message: " : "Il y a eu une erreur avec le message :",
"External mount error" : "Erreur de point de montage externe",
diff --git a/apps/files_external/l10n/hu_HU.js b/apps/files_external/l10n/hu_HU.js
index 2e908d61099..71f51fc21c3 100644
--- a/apps/files_external/l10n/hu_HU.js
+++ b/apps/files_external/l10n/hu_HU.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Save" : "Mentés",
"Empty response from the server" : "Üres válasz a szervertől",
"Couldn't access. Please logout and login to activate this mount point" : "Nem férhető hozzá. Kérlek próbálj meg ki- és bejelentkezni a csatolási pont aktiválásához.",
+ "Couldn't get the information from the remote server: {code} {type}" : "Nem sikerült lekérdezni az információkat a távoli szerverről: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Nem lehet letölteni a külső csatolási pontok listáját: {type}",
"There was an error with message: " : "Hiba történt ezzel az üzenettel:",
"External mount error" : "Külső csatolási hiba",
diff --git a/apps/files_external/l10n/hu_HU.json b/apps/files_external/l10n/hu_HU.json
index 12acb22a326..92c7d6f472a 100644
--- a/apps/files_external/l10n/hu_HU.json
+++ b/apps/files_external/l10n/hu_HU.json
@@ -23,6 +23,7 @@
"Save" : "Mentés",
"Empty response from the server" : "Üres válasz a szervertől",
"Couldn't access. Please logout and login to activate this mount point" : "Nem férhető hozzá. Kérlek próbálj meg ki- és bejelentkezni a csatolási pont aktiválásához.",
+ "Couldn't get the information from the remote server: {code} {type}" : "Nem sikerült lekérdezni az információkat a távoli szerverről: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Nem lehet letölteni a külső csatolási pontok listáját: {type}",
"There was an error with message: " : "Hiba történt ezzel az üzenettel:",
"External mount error" : "Külső csatolási hiba",
diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js
index 3dcee1e5dd8..1c4030b1749 100644
--- a/apps/files_external/l10n/it.js
+++ b/apps/files_external/l10n/it.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"Save" : "Salva",
"Empty response from the server" : "Risposta vuota dal server",
"Couldn't access. Please logout and login to activate this mount point" : "Impossibile accedere. Chiudi la sessione e accedi nuovamente per attivare questo punto di mount",
+ "Couldn't get the information from the remote server: {code} {type}" : "Impossibile ottenere le informazioni dal server remoto: {code} {tipo}",
"Couldn't get the list of external mount points: {type}" : "Impossibile ottenere l'elenco dei punti di mount esterni: {type}",
"There was an error with message: " : "Si è verificato un errore con il messaggio:",
"External mount error" : "Errore di mount esterno",
diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json
index 5ebceca6af6..1b83578185f 100644
--- a/apps/files_external/l10n/it.json
+++ b/apps/files_external/l10n/it.json
@@ -23,6 +23,7 @@
"Save" : "Salva",
"Empty response from the server" : "Risposta vuota dal server",
"Couldn't access. Please logout and login to activate this mount point" : "Impossibile accedere. Chiudi la sessione e accedi nuovamente per attivare questo punto di mount",
+ "Couldn't get the information from the remote server: {code} {type}" : "Impossibile ottenere le informazioni dal server remoto: {code} {tipo}",
"Couldn't get the list of external mount points: {type}" : "Impossibile ottenere l'elenco dei punti di mount esterni: {type}",
"There was an error with message: " : "Si è verificato un errore con il messaggio:",
"External mount error" : "Errore di mount esterno",
diff --git a/apps/files_external/l10n/zh_TW.js b/apps/files_external/l10n/zh_TW.js
index c769b651d87..89f072a865b 100644
--- a/apps/files_external/l10n/zh_TW.js
+++ b/apps/files_external/l10n/zh_TW.js
@@ -7,6 +7,8 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "步驟 1 失敗,出現異常: %s",
"Step 2 failed. Exception: %s" : "步驟 2 失敗,出現異常: %s",
"External storage" : "外部儲存",
+ "Dropbox App Configuration" : "Dropbox 應用設置",
+ "Google Drive App Configuration" : "Google Drive 應用設置",
"Personal" : "個人",
"System" : "系統",
"Grant access" : "允許存取",
@@ -17,10 +19,15 @@ OC.L10N.register(
"All users. Type to select user or group." : "所有人都可以使用,或者選擇特定使用者、群組",
"(group)" : "(群組)",
"Saved" : "已儲存",
+ "Saving..." : "儲存中...",
"Save" : "儲存",
+ "Empty response from the server" : "服務器没有回應",
"Couldn't access. Please logout and login to activate this mount point" : "無法存取。請重新登出再登入啟動此掛載點。",
+ "Couldn't get the information from the remote server: {code} {type}" : "無法從遠程伺服器上獲取資料 : {code} {type}",
"Couldn't get the list of external mount points: {type}" : "無法得到外部掛載點的列表: {type}",
+ "There was an error with message: " : "錯誤信息:",
"External mount error" : "外部掛載錯誤",
+ "external-storage" : "外部儲存",
"Username" : "使用者名稱",
"Password" : "密碼",
"Storage with id \"%i\" not found" : "沒有找到編號 \"%i\" 的儲存空間 ",
@@ -77,6 +84,7 @@ OC.L10N.register(
"OpenStack Object Storage" : "OpenStack 物件儲存",
"Service name" : "服務名稱",
"Request timeout (seconds)" : "請求超時 (秒)",
+ "External storages" : "外部儲存",
"No external storage configured" : "目前尚未配置任何外部儲存",
"You can add external storages in the personal settings" : "在個人設定裡您可以自行加入外部儲存設定",
"Name" : "名稱",
@@ -84,6 +92,7 @@ OC.L10N.register(
"Scope" : "範圍",
"Enable encryption" : "啟用加密",
"Enable previews" : "啟動預覽",
+ "Enable sharing" : "啟動分享",
"Check for changes" : "檢查變動",
"Never" : "絕不",
"Folder name" : "資料夾名稱",
diff --git a/apps/files_external/l10n/zh_TW.json b/apps/files_external/l10n/zh_TW.json
index c23295d157c..9f6a9351ac8 100644
--- a/apps/files_external/l10n/zh_TW.json
+++ b/apps/files_external/l10n/zh_TW.json
@@ -5,6 +5,8 @@
"Step 1 failed. Exception: %s" : "步驟 1 失敗,出現異常: %s",
"Step 2 failed. Exception: %s" : "步驟 2 失敗,出現異常: %s",
"External storage" : "外部儲存",
+ "Dropbox App Configuration" : "Dropbox 應用設置",
+ "Google Drive App Configuration" : "Google Drive 應用設置",
"Personal" : "個人",
"System" : "系統",
"Grant access" : "允許存取",
@@ -15,10 +17,15 @@
"All users. Type to select user or group." : "所有人都可以使用,或者選擇特定使用者、群組",
"(group)" : "(群組)",
"Saved" : "已儲存",
+ "Saving..." : "儲存中...",
"Save" : "儲存",
+ "Empty response from the server" : "服務器没有回應",
"Couldn't access. Please logout and login to activate this mount point" : "無法存取。請重新登出再登入啟動此掛載點。",
+ "Couldn't get the information from the remote server: {code} {type}" : "無法從遠程伺服器上獲取資料 : {code} {type}",
"Couldn't get the list of external mount points: {type}" : "無法得到外部掛載點的列表: {type}",
+ "There was an error with message: " : "錯誤信息:",
"External mount error" : "外部掛載錯誤",
+ "external-storage" : "外部儲存",
"Username" : "使用者名稱",
"Password" : "密碼",
"Storage with id \"%i\" not found" : "沒有找到編號 \"%i\" 的儲存空間 ",
@@ -75,6 +82,7 @@
"OpenStack Object Storage" : "OpenStack 物件儲存",
"Service name" : "服務名稱",
"Request timeout (seconds)" : "請求超時 (秒)",
+ "External storages" : "外部儲存",
"No external storage configured" : "目前尚未配置任何外部儲存",
"You can add external storages in the personal settings" : "在個人設定裡您可以自行加入外部儲存設定",
"Name" : "名稱",
@@ -82,6 +90,7 @@
"Scope" : "範圍",
"Enable encryption" : "啟用加密",
"Enable previews" : "啟動預覽",
+ "Enable sharing" : "啟動分享",
"Check for changes" : "檢查變動",
"Never" : "絕不",
"Folder name" : "資料夾名稱",
diff --git a/apps/files_sharing/ajax/shareinfo.php b/apps/files_sharing/ajax/shareinfo.php
index 75d6e6081ec..a32b0a07328 100644
--- a/apps/files_sharing/ajax/shareinfo.php
+++ b/apps/files_sharing/ajax/shareinfo.php
@@ -63,9 +63,12 @@ $path = $data['realPath'];
$isWritable = $share->getPermissions() & (\OCP\Constants::PERMISSION_UPDATE | \OCP\Constants::PERMISSION_CREATE);
if (!$isWritable) {
+ // FIXME: should not add storage wrappers outside of preSetup, need to find a better way
+ $previousLog = \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper(false);
\OC\Files\Filesystem::addStorageWrapper('readonly', function ($mountPoint, $storage) {
return new \OC\Files\Storage\Wrapper\PermissionsMask(array('storage' => $storage, 'mask' => \OCP\Constants::PERMISSION_READ + \OCP\Constants::PERMISSION_SHARE));
});
+ \OC\Files\Filesystem::logWarningWhenAddingStorageWrapper($previousLog);
}
$rootInfo = \OC\Files\Filesystem::getFileInfo($path);
diff --git a/apps/files_sharing/appinfo/info.xml b/apps/files_sharing/appinfo/info.xml
index cc97f65a5e6..65b8d4af5d1 100644
--- a/apps/files_sharing/appinfo/info.xml
+++ b/apps/files_sharing/appinfo/info.xml
@@ -15,7 +15,7 @@ Turning the feature off removes shared files and folders on the server for all s
<filesystem/>
</types>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<public>
<files>public.php</files>
diff --git a/apps/files_sharing/css/sharetabview.css b/apps/files_sharing/css/sharetabview.css
index 1de0cc7c75d..6ac6dff0a66 100644
--- a/apps/files_sharing/css/sharetabview.css
+++ b/apps/files_sharing/css/sharetabview.css
@@ -2,7 +2,10 @@
min-height: 100px;
}
-.shareTabView .oneline { white-space: nowrap; }
+.shareTabView .oneline {
+ white-space: nowrap;
+ position: relative;
+}
.shareTabView .shareWithLoading {
padding-left: 10px;
@@ -12,7 +15,10 @@
.shareTabView .shareWithRemoteInfo,
.shareTabView .clipboardButton {
- padding-left: 10px;
+ position: absolute;
+ right: -7px;
+ top: -4px;
+ padding: 14px;
}
.shareTabView label {
@@ -24,15 +30,14 @@
vertical-align: middle;
}
-.shareTabView input[type="text"],
-.shareTabView input[type="password"] {
- width: 94%;
- margin-left: 0;
-}
.shareTabView input[type="text"].shareWithField,
.shareTabView input[type="text"].emailField,
-.shareTabView input[type="text"].linkText {
- width: 80%;
+.shareTabView input[type="text"].linkText,
+.shareTabView input[type="password"] {
+ width: 100%;
+ box-sizing: border-box;
+ padding-right: 32px;
+ text-overflow: ellipsis;
}
.shareTabView form {
@@ -54,16 +59,21 @@
}
#shareWithList .unshare img, #shareWithList .showCruds img {
- vertical-align:text-bottom; /* properly align icons */
+ vertical-align: text-bottom; /* properly align icons */
}
-#shareWithList .sharingOptionsGroup .icon-more,
-#shareWithList .unshare .icon-delete {
- vertical-align: sub;
+#shareWithList .sharingOptionsGroup .icon-more {
+ padding: 7px;
+ vertical-align: middle;
+ opacity: .5;
}
#shareWithList .unshare {
- padding: 0;
+ padding: 4px;
+ vertical-align: text-bottom;
+}
+#shareWithList .unshare .icon {
+ vertical-align: text-top;
}
#shareWithList .unshare .icon-delete {
@@ -71,21 +81,23 @@
background-position-x: 0;
}
-#shareWithList label input[type=checkbox]{
+#shareWithList label input[type=checkbox] {
margin-left: 0;
position: relative;
}
-#shareWithList .username{
+#shareWithList .username {
padding-right: 8px;
white-space: nowrap;
text-overflow: ellipsis;
- max-width: 254px;
+ max-width: 110px;
display: inline-block;
overflow: hidden;
vertical-align: middle;
}
-#shareWithList li label{
+#shareWithList li label {
+ padding: 6px;
margin-right: 8px;
+ vertical-align: text-top;
}
.shareTabView .icon-loading-small {
diff --git a/apps/files_sharing/js/files_drop.js b/apps/files_sharing/js/files_drop.js
index 64051844d03..f9f6959c952 100644
--- a/apps/files_sharing/js/files_drop.js
+++ b/apps/files_sharing/js/files_drop.js
@@ -117,7 +117,7 @@
};
$(document).ready(function() {
- if($('#upload-only-interface').val() === "1") {
+ if($('#upload-only-interface').val() === "1" && oc_config.enable_avatars) {
$('.avatardiv').avatar($('#sharingUserId').val(), 128, true);
}
diff --git a/apps/files_sharing/l10n/cs_CZ.js b/apps/files_sharing/l10n/cs_CZ.js
index b0ffee671a1..f2eba22fa17 100644
--- a/apps/files_sharing/l10n/cs_CZ.js
+++ b/apps/files_sharing/l10n/cs_CZ.js
@@ -20,7 +20,7 @@ OC.L10N.register(
"Sharing" : "Sdílení",
"A file or folder has been <strong>shared</strong>" : "Soubor nebo adresář byl <strong>nasdílen</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Soubor nebo adresář byl nasdílen z <strong>jiného serveru</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Byl <strong>stažen</strong> veřejně sdílený soubor nebo adresář",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Byl <strong>stažen</strong> soubor nebo adresář sdílený jako veřejný odkaz",
"You received a new remote share %2$s from %1$s" : "Obdrželi jste nové vzdálené sdílení %2$s od uživatele %1$s",
"You received a new remote share from %s" : "Obdrželi jste nové vzdálené sdílení z %s",
"%1$s accepted remote share %2$s" : "%1$s přijal(a) vzdálené sdílení %2$s",
@@ -44,6 +44,8 @@ OC.L10N.register(
"The public link of %2$s for %1$s expired" : "Veřejný odkaz na %2$s pro %1$s vypršel",
"%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s",
"%2$s removed the share for %1$s" : "%2$s odstranil(a) sdílení pro %1$s",
+ "File %1$s shared by email with %2$s was downloaded" : "Soubor %1$s sdílen pomocí emailu s %2$s byl stažen",
+ "Folder %1$s shared by email with %2$s was downloaded" : "Adresář %1$s sdílen pomocí emailu s %2$s byl stažen",
"Downloaded via public link" : "Staženo pomocí veřejného odkazu",
"Shared with %2$s" : "Sdíleno s %2$s",
"Shared with %3$s by %2$s" : "%2$s sdílí s %3$s",
@@ -60,6 +62,7 @@ OC.L10N.register(
"Public link expired" : "Veřejný odkaz vypršel",
"Public link of %2$s expired" : "Veřejný odkaz %2$s vypršel",
"Shared by %2$s" : "%2$s sdílel(a)",
+ "Downloaded by %2$s" : "Staženo uživatelem %2$s",
"File shares" : "Sdílení souboru",
"Wrong share ID, share doesn't exist" : "Špatné ID sdílení, sdílení neexistuje",
"could not delete share" : "nelze smazat sdílení",
@@ -105,6 +108,7 @@ OC.L10N.register(
"Select or drop files" : "Vyberte nebo přetáhněte soubory",
"Uploading files…" : "Probíhá nahrávání souborů...",
"Uploaded files:" : "Nahrané soubory:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Byl <strong>stažen</strong> veřejně sdílený soubor nebo adresář",
"Shares" : "Sdílení",
"Server to server sharing is not enabled on this server" : "Sdílení mezi servery není na tomto serveru povoleno",
"The mountpoint name contains invalid characters." : "Jméno přípojného bodu obsahuje nepovolené znaky.",
diff --git a/apps/files_sharing/l10n/cs_CZ.json b/apps/files_sharing/l10n/cs_CZ.json
index 08b9e23c81d..9d82343e895 100644
--- a/apps/files_sharing/l10n/cs_CZ.json
+++ b/apps/files_sharing/l10n/cs_CZ.json
@@ -18,7 +18,7 @@
"Sharing" : "Sdílení",
"A file or folder has been <strong>shared</strong>" : "Soubor nebo adresář byl <strong>nasdílen</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Soubor nebo adresář byl nasdílen z <strong>jiného serveru</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Byl <strong>stažen</strong> veřejně sdílený soubor nebo adresář",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Byl <strong>stažen</strong> soubor nebo adresář sdílený jako veřejný odkaz",
"You received a new remote share %2$s from %1$s" : "Obdrželi jste nové vzdálené sdílení %2$s od uživatele %1$s",
"You received a new remote share from %s" : "Obdrželi jste nové vzdálené sdílení z %s",
"%1$s accepted remote share %2$s" : "%1$s přijal(a) vzdálené sdílení %2$s",
@@ -42,6 +42,8 @@
"The public link of %2$s for %1$s expired" : "Veřejný odkaz na %2$s pro %1$s vypršel",
"%2$s shared %1$s with you" : "%2$s s vámi sdílí %1$s",
"%2$s removed the share for %1$s" : "%2$s odstranil(a) sdílení pro %1$s",
+ "File %1$s shared by email with %2$s was downloaded" : "Soubor %1$s sdílen pomocí emailu s %2$s byl stažen",
+ "Folder %1$s shared by email with %2$s was downloaded" : "Adresář %1$s sdílen pomocí emailu s %2$s byl stažen",
"Downloaded via public link" : "Staženo pomocí veřejného odkazu",
"Shared with %2$s" : "Sdíleno s %2$s",
"Shared with %3$s by %2$s" : "%2$s sdílí s %3$s",
@@ -58,6 +60,7 @@
"Public link expired" : "Veřejný odkaz vypršel",
"Public link of %2$s expired" : "Veřejný odkaz %2$s vypršel",
"Shared by %2$s" : "%2$s sdílel(a)",
+ "Downloaded by %2$s" : "Staženo uživatelem %2$s",
"File shares" : "Sdílení souboru",
"Wrong share ID, share doesn't exist" : "Špatné ID sdílení, sdílení neexistuje",
"could not delete share" : "nelze smazat sdílení",
@@ -103,6 +106,7 @@
"Select or drop files" : "Vyberte nebo přetáhněte soubory",
"Uploading files…" : "Probíhá nahrávání souborů...",
"Uploaded files:" : "Nahrané soubory:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Byl <strong>stažen</strong> veřejně sdílený soubor nebo adresář",
"Shares" : "Sdílení",
"Server to server sharing is not enabled on this server" : "Sdílení mezi servery není na tomto serveru povoleno",
"The mountpoint name contains invalid characters." : "Jméno přípojného bodu obsahuje nepovolené znaky.",
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index 5e12ec30eda..c901c9826c1 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -20,7 +20,7 @@ OC.L10N.register(
"Sharing" : "Teilen",
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder ein Ordner wurde von <strong>einem anderen Server</strong> geteilt",
- "A public shared file or folder was <strong>downloaded</strong>" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde <strong>heruntergeladen</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Eine Datei oder ein Ordner der per E-Mail oder öffentlich geteilt ist wurde <strong>heruntergeladen</strong>",
"You received a new remote share %2$s from %1$s" : "Du hast eine neue Remotefreigabe %2$s von %1$s erhalten",
"You received a new remote share from %s" : "Du hast eine neue Remotefreigabe von %s erhalten",
"%1$s accepted remote share %2$s" : "%1$s hat die Remotefreigabe von %2$s akzeptiert",
@@ -44,6 +44,8 @@ OC.L10N.register(
"The public link of %2$s for %1$s expired" : "Der öffentliche Link von %2$s für %1$s ist abgelaufen",
"%2$s shared %1$s with you" : "%2$s hat %1$s mit dir geteilt",
"%2$s removed the share for %1$s" : "%2$s hat die Freigabe für %1$s entfernt",
+ "File %1$s shared by email with %2$s was downloaded" : "Datei %1$s die per E-Mail mit %2$s geteilt wurde, wurde heruntergeladen",
+ "Folder %1$s shared by email with %2$s was downloaded" : "Ordner %1$s der per E-Mail mit %2$s geteilt wurde, wurde heruntergeladen",
"Downloaded via public link" : "Heruntergeladen mittels öffentlichen Link",
"Shared with %2$s" : "Geteilt mit %2$s",
"Shared with %3$s by %2$s" : "Geteilt mit %3$s von %2$s",
@@ -60,6 +62,7 @@ OC.L10N.register(
"Public link expired" : "öffentlicher Link ist abgelaufen",
"Public link of %2$s expired" : "Öffentlicher Link von %2$s ist abgelaufen",
"Shared by %2$s" : "Geteilt von %2$s",
+ "Downloaded by %2$s" : "Heruntergeladen von %2$s",
"File shares" : "Dateifreigaben",
"Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"could not delete share" : "Freigabe konnte nicht gelöscht werden",
@@ -105,6 +108,7 @@ OC.L10N.register(
"Select or drop files" : "Dateien auswählen oder hierher ziehen",
"Uploading files…" : "Dateien werden hochgeladen...",
"Uploaded files:" : "Hochgeladene Dateien: ",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde <strong>heruntergeladen</strong>",
"Shares" : "Freigaben",
"Server to server sharing is not enabled on this server" : "Das Server-zu-Server-Teilen ist auf diesem Server nicht aktiviert",
"The mountpoint name contains invalid characters." : "Der Name des Einhängepunktes enthält ungültige Zeichen.",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 73057d2ee5f..5fa3a884906 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -18,7 +18,7 @@
"Sharing" : "Teilen",
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder ein Ordner wurde von <strong>einem anderen Server</strong> geteilt",
- "A public shared file or folder was <strong>downloaded</strong>" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde <strong>heruntergeladen</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Eine Datei oder ein Ordner der per E-Mail oder öffentlich geteilt ist wurde <strong>heruntergeladen</strong>",
"You received a new remote share %2$s from %1$s" : "Du hast eine neue Remotefreigabe %2$s von %1$s erhalten",
"You received a new remote share from %s" : "Du hast eine neue Remotefreigabe von %s erhalten",
"%1$s accepted remote share %2$s" : "%1$s hat die Remotefreigabe von %2$s akzeptiert",
@@ -42,6 +42,8 @@
"The public link of %2$s for %1$s expired" : "Der öffentliche Link von %2$s für %1$s ist abgelaufen",
"%2$s shared %1$s with you" : "%2$s hat %1$s mit dir geteilt",
"%2$s removed the share for %1$s" : "%2$s hat die Freigabe für %1$s entfernt",
+ "File %1$s shared by email with %2$s was downloaded" : "Datei %1$s die per E-Mail mit %2$s geteilt wurde, wurde heruntergeladen",
+ "Folder %1$s shared by email with %2$s was downloaded" : "Ordner %1$s der per E-Mail mit %2$s geteilt wurde, wurde heruntergeladen",
"Downloaded via public link" : "Heruntergeladen mittels öffentlichen Link",
"Shared with %2$s" : "Geteilt mit %2$s",
"Shared with %3$s by %2$s" : "Geteilt mit %3$s von %2$s",
@@ -58,6 +60,7 @@
"Public link expired" : "öffentlicher Link ist abgelaufen",
"Public link of %2$s expired" : "Öffentlicher Link von %2$s ist abgelaufen",
"Shared by %2$s" : "Geteilt von %2$s",
+ "Downloaded by %2$s" : "Heruntergeladen von %2$s",
"File shares" : "Dateifreigaben",
"Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"could not delete share" : "Freigabe konnte nicht gelöscht werden",
@@ -103,6 +106,7 @@
"Select or drop files" : "Dateien auswählen oder hierher ziehen",
"Uploading files…" : "Dateien werden hochgeladen...",
"Uploaded files:" : "Hochgeladene Dateien: ",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde <strong>heruntergeladen</strong>",
"Shares" : "Freigaben",
"Server to server sharing is not enabled on this server" : "Das Server-zu-Server-Teilen ist auf diesem Server nicht aktiviert",
"The mountpoint name contains invalid characters." : "Der Name des Einhängepunktes enthält ungültige Zeichen.",
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index 8038c3009c1..aba96ce5929 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -20,7 +20,7 @@ OC.L10N.register(
"Sharing" : "Teilen",
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder ein Ordner wurde von <strong>einem anderen Server</strong> geteilt",
- "A public shared file or folder was <strong>downloaded</strong>" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde <strong>heruntergeladen</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Eine Datei oder ein Ordner der per E-Mail oder öffentlich geteilt ist wurde <strong>heruntergeladen</strong>",
"You received a new remote share %2$s from %1$s" : "Sie haben eine neue Remotefreigabe %2$s von %1$s erhalten",
"You received a new remote share from %s" : "Sie haben eine neue Remotefreigabe von %s erhalten",
"%1$s accepted remote share %2$s" : "%1$s hat die Remotefreigabe von %2$s akzeptiert",
@@ -44,6 +44,8 @@ OC.L10N.register(
"The public link of %2$s for %1$s expired" : "Die Freigabe als Link von %2$s für %1$s ist abgelaufen",
"%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt",
"%2$s removed the share for %1$s" : "%2$s hat die Freigabe für %1$s entfernt",
+ "File %1$s shared by email with %2$s was downloaded" : "Datei %1$s die per E-Mail mit %2$s geteilt wurde, wurde heruntergeladen",
+ "Folder %1$s shared by email with %2$s was downloaded" : "Ordner %1$s der per E-Mail mit %2$s geteilt wurde, wurde heruntergeladen",
"Downloaded via public link" : "Über den öffentlichen Link heruntergeladen",
"Shared with %2$s" : "Geteilt mit %2$s",
"Shared with %3$s by %2$s" : "Geteilt mit %3$s von %2$s",
@@ -60,6 +62,7 @@ OC.L10N.register(
"Public link expired" : "öffentlicher Link ist abgelaufen",
"Public link of %2$s expired" : "Öffentlicher Link von %2$s ist abgelaufen",
"Shared by %2$s" : "Geteilt von %2$s",
+ "Downloaded by %2$s" : "Heruntergeladen von %2$s",
"File shares" : "Dateifreigaben",
"Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"could not delete share" : "Freigabe konnte nicht gelöscht werden",
@@ -105,6 +108,7 @@ OC.L10N.register(
"Select or drop files" : "Dateien auswählen oder hierher ziehen",
"Uploading files…" : "Dateien werden hochgeladen...",
"Uploaded files:" : "Hochgeladene Dateien: ",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde <strong>heruntergeladen</strong>",
"Shares" : "Geteiltes",
"Server to server sharing is not enabled on this server" : "Das Server-zu-Server-Teilen ist auf diesem Server nicht aktiviert",
"The mountpoint name contains invalid characters." : "Der Name des Einhängepunktes enthält ungültige Zeichen.",
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index 27ff3862ce3..cee3ede6fa9 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -18,7 +18,7 @@
"Sharing" : "Teilen",
"A file or folder has been <strong>shared</strong>" : "Eine Datei oder ein Ordner wurde <strong>geteilt</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Eine Datei oder ein Ordner wurde von <strong>einem anderen Server</strong> geteilt",
- "A public shared file or folder was <strong>downloaded</strong>" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde <strong>heruntergeladen</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Eine Datei oder ein Ordner der per E-Mail oder öffentlich geteilt ist wurde <strong>heruntergeladen</strong>",
"You received a new remote share %2$s from %1$s" : "Sie haben eine neue Remotefreigabe %2$s von %1$s erhalten",
"You received a new remote share from %s" : "Sie haben eine neue Remotefreigabe von %s erhalten",
"%1$s accepted remote share %2$s" : "%1$s hat die Remotefreigabe von %2$s akzeptiert",
@@ -42,6 +42,8 @@
"The public link of %2$s for %1$s expired" : "Die Freigabe als Link von %2$s für %1$s ist abgelaufen",
"%2$s shared %1$s with you" : "%2$s hat %1$s mit Ihnen geteilt",
"%2$s removed the share for %1$s" : "%2$s hat die Freigabe für %1$s entfernt",
+ "File %1$s shared by email with %2$s was downloaded" : "Datei %1$s die per E-Mail mit %2$s geteilt wurde, wurde heruntergeladen",
+ "Folder %1$s shared by email with %2$s was downloaded" : "Ordner %1$s der per E-Mail mit %2$s geteilt wurde, wurde heruntergeladen",
"Downloaded via public link" : "Über den öffentlichen Link heruntergeladen",
"Shared with %2$s" : "Geteilt mit %2$s",
"Shared with %3$s by %2$s" : "Geteilt mit %3$s von %2$s",
@@ -58,6 +60,7 @@
"Public link expired" : "öffentlicher Link ist abgelaufen",
"Public link of %2$s expired" : "Öffentlicher Link von %2$s ist abgelaufen",
"Shared by %2$s" : "Geteilt von %2$s",
+ "Downloaded by %2$s" : "Heruntergeladen von %2$s",
"File shares" : "Dateifreigaben",
"Wrong share ID, share doesn't exist" : "Fehlerhafte Freigabe-ID, Freigabe existiert nicht",
"could not delete share" : "Freigabe konnte nicht gelöscht werden",
@@ -103,6 +106,7 @@
"Select or drop files" : "Dateien auswählen oder hierher ziehen",
"Uploading files…" : "Dateien werden hochgeladen...",
"Uploaded files:" : "Hochgeladene Dateien: ",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde <strong>heruntergeladen</strong>",
"Shares" : "Geteiltes",
"Server to server sharing is not enabled on this server" : "Das Server-zu-Server-Teilen ist auf diesem Server nicht aktiviert",
"The mountpoint name contains invalid characters." : "Der Name des Einhängepunktes enthält ungültige Zeichen.",
diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js
index 5456c41b576..d3f1542ad33 100644
--- a/apps/files_sharing/l10n/es.js
+++ b/apps/files_sharing/l10n/es.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Sharing" : "Compartiendo",
"A file or folder has been <strong>shared</strong>" : "Se ha <strong>compartido</strong> un archivo o carpeta",
"A file or folder was shared from <strong>another server</strong>" : "Se ha compartido un archivo o carpeta desde <strong>otro servidor</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Se ha <strong>descargado</strong> un archivo o carpeta compartido públicamente",
"You received a new remote share %2$s from %1$s" : "Recibió un nuevo recurso compartido remoto %2$s de %1$s",
"You received a new remote share from %s" : "Ha recibido un nuevo recurso compartido remoto de %s",
"%1$s accepted remote share %2$s" : "%1$s aceptó el recurso compartido remoto %2$s",
@@ -60,6 +59,7 @@ OC.L10N.register(
"Public link expired" : "El enlace público ha expirado",
"Public link of %2$s expired" : "El enlace público %2$s ha expirado",
"Shared by %2$s" : "Compartido por %2$s",
+ "Downloaded by %2$s" : "Descargado por %2$s",
"Wrong share ID, share doesn't exist" : "El ID del recurso compartido no es correcto, el recurso compartido no existe",
"could not delete share" : "No se ha podido eliminar el recurso compartido",
"Could not delete share" : "No se ha podido eliminar el recurso compartido",
@@ -103,6 +103,7 @@ OC.L10N.register(
"Select or drop files" : "Seleccione o arrastre y suelte archivos",
"Uploading files…" : "Subiendo archivos...",
"Uploaded files:" : "Archivos subidos:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Se ha <strong>descargado</strong> un archivo o carpeta compartido públicamente",
"Shares" : "Compartidos",
"Server to server sharing is not enabled on this server" : "Compartir entre servidores no está habilitado en este servidor",
"The mountpoint name contains invalid characters." : "El punto de montaje contiene caracteres inválidos.",
diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json
index 7cceadcc5aa..e03957a8eaf 100644
--- a/apps/files_sharing/l10n/es.json
+++ b/apps/files_sharing/l10n/es.json
@@ -18,7 +18,6 @@
"Sharing" : "Compartiendo",
"A file or folder has been <strong>shared</strong>" : "Se ha <strong>compartido</strong> un archivo o carpeta",
"A file or folder was shared from <strong>another server</strong>" : "Se ha compartido un archivo o carpeta desde <strong>otro servidor</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Se ha <strong>descargado</strong> un archivo o carpeta compartido públicamente",
"You received a new remote share %2$s from %1$s" : "Recibió un nuevo recurso compartido remoto %2$s de %1$s",
"You received a new remote share from %s" : "Ha recibido un nuevo recurso compartido remoto de %s",
"%1$s accepted remote share %2$s" : "%1$s aceptó el recurso compartido remoto %2$s",
@@ -58,6 +57,7 @@
"Public link expired" : "El enlace público ha expirado",
"Public link of %2$s expired" : "El enlace público %2$s ha expirado",
"Shared by %2$s" : "Compartido por %2$s",
+ "Downloaded by %2$s" : "Descargado por %2$s",
"Wrong share ID, share doesn't exist" : "El ID del recurso compartido no es correcto, el recurso compartido no existe",
"could not delete share" : "No se ha podido eliminar el recurso compartido",
"Could not delete share" : "No se ha podido eliminar el recurso compartido",
@@ -101,6 +101,7 @@
"Select or drop files" : "Seleccione o arrastre y suelte archivos",
"Uploading files…" : "Subiendo archivos...",
"Uploaded files:" : "Archivos subidos:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Se ha <strong>descargado</strong> un archivo o carpeta compartido públicamente",
"Shares" : "Compartidos",
"Server to server sharing is not enabled on this server" : "Compartir entre servidores no está habilitado en este servidor",
"The mountpoint name contains invalid characters." : "El punto de montaje contiene caracteres inválidos.",
diff --git a/apps/files_sharing/l10n/fi_FI.js b/apps/files_sharing/l10n/fi_FI.js
index 94da09b3b93..c53783f1d7b 100644
--- a/apps/files_sharing/l10n/fi_FI.js
+++ b/apps/files_sharing/l10n/fi_FI.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Sharing" : "Jakaminen",
"A file or folder has been <strong>shared</strong>" : "Tiedosto tai kansio on <strong>jaettu</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Tiedosto tai kansio jaettiin <strong>toiselta palvelimelta</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Julkisesti jaettu tiedosto tai kansio <strong>ladattiin</strong>",
"You received a new remote share %2$s from %1$s" : "Vastaanotit uuden etäjaon %2$s käyttäjältä %1$s",
"You received a new remote share from %s" : "Vastaanotit uuden etäjaon käyttäjältä %s",
"%1$s accepted remote share %2$s" : "%1$s hyväksyi etäjaon %2$s",
@@ -103,6 +102,7 @@ OC.L10N.register(
"Select or drop files" : "Valitse tai pudota tiedostoja",
"Uploading files…" : "Lähetetään tiedostoja…",
"Uploaded files:" : "Lähetetyt tiedostot:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Julkisesti jaettu tiedosto tai kansio <strong>ladattiin</strong>",
"Shares" : "Jaot",
"Server to server sharing is not enabled on this server" : "Palvelimelta-palvelimelle-jakaminen ei ole käytössä tällä palvelimella",
"The mountpoint name contains invalid characters." : "Liitospisteen nimi sisältää virheellisiä merkkejä.",
diff --git a/apps/files_sharing/l10n/fi_FI.json b/apps/files_sharing/l10n/fi_FI.json
index 723c89294f9..f19179aa63f 100644
--- a/apps/files_sharing/l10n/fi_FI.json
+++ b/apps/files_sharing/l10n/fi_FI.json
@@ -18,7 +18,6 @@
"Sharing" : "Jakaminen",
"A file or folder has been <strong>shared</strong>" : "Tiedosto tai kansio on <strong>jaettu</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Tiedosto tai kansio jaettiin <strong>toiselta palvelimelta</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Julkisesti jaettu tiedosto tai kansio <strong>ladattiin</strong>",
"You received a new remote share %2$s from %1$s" : "Vastaanotit uuden etäjaon %2$s käyttäjältä %1$s",
"You received a new remote share from %s" : "Vastaanotit uuden etäjaon käyttäjältä %s",
"%1$s accepted remote share %2$s" : "%1$s hyväksyi etäjaon %2$s",
@@ -101,6 +100,7 @@
"Select or drop files" : "Valitse tai pudota tiedostoja",
"Uploading files…" : "Lähetetään tiedostoja…",
"Uploaded files:" : "Lähetetyt tiedostot:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Julkisesti jaettu tiedosto tai kansio <strong>ladattiin</strong>",
"Shares" : "Jaot",
"Server to server sharing is not enabled on this server" : "Palvelimelta-palvelimelle-jakaminen ei ole käytössä tällä palvelimella",
"The mountpoint name contains invalid characters." : "Liitospisteen nimi sisältää virheellisiä merkkejä.",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index e2873d37f83..9cb19f4e288 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -20,7 +20,7 @@ OC.L10N.register(
"Sharing" : "Partage",
"A file or folder has been <strong>shared</strong>" : "Un fichier ou un répertoire a été <strong>partagé</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Un fichier ou un répertoire a été partagé depuis <strong>un autre serveur</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Un fichier ou un répertoire partagé publiquement a été <strong>téléchargé</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un fichier ou un dossier partagé par mail ou par lien public a été <strong>téléchargé</strong>",
"You received a new remote share %2$s from %1$s" : "L'utilisateur %1$s a partagé la ressource distante %2$s avec vous",
"You received a new remote share from %s" : "Vous avez reçu un partage distant de %s",
"%1$s accepted remote share %2$s" : "%1$s a accepté le partage distant %2$s",
@@ -44,6 +44,8 @@ OC.L10N.register(
"The public link of %2$s for %1$s expired" : "Le lien public de %2$s pour %1$s a expiré",
"%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous",
"%2$s removed the share for %1$s" : "%2$s a supprimé le partage pour %1$s",
+ "File %1$s shared by email with %2$s was downloaded" : "Le fichier %1$s partagé par mail avec %2$s a été téléchargé",
+ "Folder %1$s shared by email with %2$s was downloaded" : "Le dossier %1$s partagé par mail avec %2$s a été téléchargé",
"Downloaded via public link" : "Téléchargé par lien public",
"Shared with %2$s" : "Partagé avec %2$s",
"Shared with %3$s by %2$s" : "Partagé avec %3$s par %2$s",
@@ -60,6 +62,7 @@ OC.L10N.register(
"Public link expired" : "Lien public expiré",
"Public link of %2$s expired" : "Le lien public de %2$s a expiré",
"Shared by %2$s" : "Partagé par %2$s",
+ "Downloaded by %2$s" : "Téléchargé par %2$s",
"Wrong share ID, share doesn't exist" : "Mauvais ID de partage, le partage n'existe pas",
"could not delete share" : "impossible de supprimer le partage",
"Could not delete share" : "Impossible de supprimer le partage",
@@ -81,6 +84,7 @@ OC.L10N.register(
"Wrong or no update parameter given" : "Mauvais ou aucun paramètre donné ",
"Can't change permissions for public share links" : "Impossible de changer les permissions pour les liens de partage public",
"Cannot increase permissions" : "Impossible d'augmenter les permissions",
+ "%s is publicly shared" : "%s a été partagé publiquement",
"Share API is disabled" : "l'API de partage est désactivée",
"This share is password-protected" : "Ce partage est protégé par un mot de passe",
"The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.",
@@ -103,6 +107,7 @@ OC.L10N.register(
"Select or drop files" : "Sélectionner ou glisser-déposer vos fichiers",
"Uploading files…" : "Téléversement des fichiers...",
"Uploaded files:" : "Fichiers téléversés :",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Un fichier ou un répertoire partagé publiquement a été <strong>téléchargé</strong>",
"Shares" : "Partages",
"Server to server sharing is not enabled on this server" : "Le partage de serveur à serveur n'est pas activé sur ce serveur",
"The mountpoint name contains invalid characters." : "Le nom du point de montage contient des caractères invalides.",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index ed17c2cf958..c2d370429ab 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -18,7 +18,7 @@
"Sharing" : "Partage",
"A file or folder has been <strong>shared</strong>" : "Un fichier ou un répertoire a été <strong>partagé</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Un fichier ou un répertoire a été partagé depuis <strong>un autre serveur</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Un fichier ou un répertoire partagé publiquement a été <strong>téléchargé</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un fichier ou un dossier partagé par mail ou par lien public a été <strong>téléchargé</strong>",
"You received a new remote share %2$s from %1$s" : "L'utilisateur %1$s a partagé la ressource distante %2$s avec vous",
"You received a new remote share from %s" : "Vous avez reçu un partage distant de %s",
"%1$s accepted remote share %2$s" : "%1$s a accepté le partage distant %2$s",
@@ -42,6 +42,8 @@
"The public link of %2$s for %1$s expired" : "Le lien public de %2$s pour %1$s a expiré",
"%2$s shared %1$s with you" : "%2$s a partagé %1$s avec vous",
"%2$s removed the share for %1$s" : "%2$s a supprimé le partage pour %1$s",
+ "File %1$s shared by email with %2$s was downloaded" : "Le fichier %1$s partagé par mail avec %2$s a été téléchargé",
+ "Folder %1$s shared by email with %2$s was downloaded" : "Le dossier %1$s partagé par mail avec %2$s a été téléchargé",
"Downloaded via public link" : "Téléchargé par lien public",
"Shared with %2$s" : "Partagé avec %2$s",
"Shared with %3$s by %2$s" : "Partagé avec %3$s par %2$s",
@@ -58,6 +60,7 @@
"Public link expired" : "Lien public expiré",
"Public link of %2$s expired" : "Le lien public de %2$s a expiré",
"Shared by %2$s" : "Partagé par %2$s",
+ "Downloaded by %2$s" : "Téléchargé par %2$s",
"Wrong share ID, share doesn't exist" : "Mauvais ID de partage, le partage n'existe pas",
"could not delete share" : "impossible de supprimer le partage",
"Could not delete share" : "Impossible de supprimer le partage",
@@ -79,6 +82,7 @@
"Wrong or no update parameter given" : "Mauvais ou aucun paramètre donné ",
"Can't change permissions for public share links" : "Impossible de changer les permissions pour les liens de partage public",
"Cannot increase permissions" : "Impossible d'augmenter les permissions",
+ "%s is publicly shared" : "%s a été partagé publiquement",
"Share API is disabled" : "l'API de partage est désactivée",
"This share is password-protected" : "Ce partage est protégé par un mot de passe",
"The password is wrong. Try again." : "Le mot de passe est incorrect. Veuillez réessayer.",
@@ -101,6 +105,7 @@
"Select or drop files" : "Sélectionner ou glisser-déposer vos fichiers",
"Uploading files…" : "Téléversement des fichiers...",
"Uploaded files:" : "Fichiers téléversés :",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Un fichier ou un répertoire partagé publiquement a été <strong>téléchargé</strong>",
"Shares" : "Partages",
"Server to server sharing is not enabled on this server" : "Le partage de serveur à serveur n'est pas activé sur ce serveur",
"The mountpoint name contains invalid characters." : "Le nom du point de montage contient des caractères invalides.",
diff --git a/apps/files_sharing/l10n/hu_HU.js b/apps/files_sharing/l10n/hu_HU.js
index 8ddf54159b2..d34664508b7 100644
--- a/apps/files_sharing/l10n/hu_HU.js
+++ b/apps/files_sharing/l10n/hu_HU.js
@@ -20,7 +20,7 @@ OC.L10N.register(
"Sharing" : "Megosztás",
"A file or folder has been <strong>shared</strong>" : "Egy fájl vagy mappa <strong>megosztva</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Egy fájl vagy mappa meg lett osztva egy <strong>másik szerverről</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Egy nyilvánosan megosztott fáljt vagy mappát <strong>letöltöttek</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Egy e-mailben vagy nyilvános hivatkozással megosztott fájl vagy mappa <strong>letöltve</strong>",
"You received a new remote share %2$s from %1$s" : "A %2$s távoli megosztás érkezett a %1$s -től",
"You received a new remote share from %s" : "Új távoli megosztás érkezett a %s -től",
"%1$s accepted remote share %2$s" : "%1$s elfogadta a távoli megosztást %2$s",
@@ -44,6 +44,8 @@ OC.L10N.register(
"The public link of %2$s for %1$s expired" : "%2$s %1$s nyilvános hivatkozása lejárt",
"%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s",
"%2$s removed the share for %1$s" : "%2$s eltávolította %1$s megosztását",
+ "File %1$s shared by email with %2$s was downloaded" : "%2$s letöltötte az e-mailben megosztott fájlt: %1$s",
+ "Folder %1$s shared by email with %2$s was downloaded" : "%2$s letöltötte az e-mailben megosztott mappát: %1$s",
"Downloaded via public link" : "Letöltve nyilvános hivatkozással",
"Shared with %2$s" : "Megosztva vele: %2$s",
"Shared with %3$s by %2$s" : "Megosztva vele: %3$s, megosztó: %2$s",
@@ -60,6 +62,7 @@ OC.L10N.register(
"Public link expired" : "Nyilvános hivatkozás lejárt",
"Public link of %2$s expired" : "%2$s nyilvános hivatkozása lejárt",
"Shared by %2$s" : "Megosztó: %2$s",
+ "Downloaded by %2$s" : "Letöltötte: %2$s",
"File shares" : "Fájl megosztások",
"Wrong share ID, share doesn't exist" : "Hibás megosztás ID, a megosztás nem létezik",
"could not delete share" : "a megosztás nem törölhető",
@@ -105,6 +108,7 @@ OC.L10N.register(
"Select or drop files" : "Válassz ki vagy dobj ide fájlokat",
"Uploading files…" : "Fájlok feltöltése...",
"Uploaded files:" : "Felöltött fájlok:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Egy nyilvánosan megosztott fáljt vagy mappát <strong>letöltöttek</strong>",
"Shares" : "Megosztások",
"Server to server sharing is not enabled on this server" : "A szervertől-szerverig megosztás nem engedélyezett ezen a szerveren",
"The mountpoint name contains invalid characters." : "A csatolási pont neve érvénytelen karaktereket tartalmaz.",
diff --git a/apps/files_sharing/l10n/hu_HU.json b/apps/files_sharing/l10n/hu_HU.json
index 090b254aa6d..aa15d44fd2d 100644
--- a/apps/files_sharing/l10n/hu_HU.json
+++ b/apps/files_sharing/l10n/hu_HU.json
@@ -18,7 +18,7 @@
"Sharing" : "Megosztás",
"A file or folder has been <strong>shared</strong>" : "Egy fájl vagy mappa <strong>megosztva</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Egy fájl vagy mappa meg lett osztva egy <strong>másik szerverről</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Egy nyilvánosan megosztott fáljt vagy mappát <strong>letöltöttek</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Egy e-mailben vagy nyilvános hivatkozással megosztott fájl vagy mappa <strong>letöltve</strong>",
"You received a new remote share %2$s from %1$s" : "A %2$s távoli megosztás érkezett a %1$s -től",
"You received a new remote share from %s" : "Új távoli megosztás érkezett a %s -től",
"%1$s accepted remote share %2$s" : "%1$s elfogadta a távoli megosztást %2$s",
@@ -42,6 +42,8 @@
"The public link of %2$s for %1$s expired" : "%2$s %1$s nyilvános hivatkozása lejárt",
"%2$s shared %1$s with you" : "%2$s megosztotta velem ezt: %1$s",
"%2$s removed the share for %1$s" : "%2$s eltávolította %1$s megosztását",
+ "File %1$s shared by email with %2$s was downloaded" : "%2$s letöltötte az e-mailben megosztott fájlt: %1$s",
+ "Folder %1$s shared by email with %2$s was downloaded" : "%2$s letöltötte az e-mailben megosztott mappát: %1$s",
"Downloaded via public link" : "Letöltve nyilvános hivatkozással",
"Shared with %2$s" : "Megosztva vele: %2$s",
"Shared with %3$s by %2$s" : "Megosztva vele: %3$s, megosztó: %2$s",
@@ -58,6 +60,7 @@
"Public link expired" : "Nyilvános hivatkozás lejárt",
"Public link of %2$s expired" : "%2$s nyilvános hivatkozása lejárt",
"Shared by %2$s" : "Megosztó: %2$s",
+ "Downloaded by %2$s" : "Letöltötte: %2$s",
"File shares" : "Fájl megosztások",
"Wrong share ID, share doesn't exist" : "Hibás megosztás ID, a megosztás nem létezik",
"could not delete share" : "a megosztás nem törölhető",
@@ -103,6 +106,7 @@
"Select or drop files" : "Válassz ki vagy dobj ide fájlokat",
"Uploading files…" : "Fájlok feltöltése...",
"Uploaded files:" : "Felöltött fájlok:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Egy nyilvánosan megosztott fáljt vagy mappát <strong>letöltöttek</strong>",
"Shares" : "Megosztások",
"Server to server sharing is not enabled on this server" : "A szervertől-szerverig megosztás nem engedélyezett ezen a szerveren",
"The mountpoint name contains invalid characters." : "A csatolási pont neve érvénytelen karaktereket tartalmaz.",
diff --git a/apps/files_sharing/l10n/id.js b/apps/files_sharing/l10n/id.js
index 6a9ca3a6d0f..defd548990d 100644
--- a/apps/files_sharing/l10n/id.js
+++ b/apps/files_sharing/l10n/id.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"Sharing" : "Berbagi",
"A file or folder has been <strong>shared</strong>" : "Sebuah berkas atau folder telah <strong>dibagikan</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Sebuah berkas atau folder telah dibagikan dari <strong>server lainnya</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Sebuah berkas atau folder berbagi publik telah <strong>diunduh</strong>",
"You received a new remote share %2$s from %1$s" : "Anda menerima berbagi remote baru %2$s dari %1$s",
"You received a new remote share from %s" : "Anda menerima berbagi remote baru dari %s",
"%1$s accepted remote share %2$s" : "%1$s menerima berbagi remote %2$s",
@@ -102,6 +101,7 @@ OC.L10N.register(
"Select or drop files" : "Pilih atau drop berkas",
"Uploading files…" : "Mengunggah berkas...",
"Uploaded files:" : "Berkas terunggah:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Sebuah berkas atau folder berbagi publik telah <strong>diunduh</strong>",
"Shares" : "Dibagikan",
"Server to server sharing is not enabled on this server" : "Berbagi server ke server tidak diaktifkan pada server ini",
"The mountpoint name contains invalid characters." : "Nama mount point berisi karakter yang tidak sah.",
diff --git a/apps/files_sharing/l10n/id.json b/apps/files_sharing/l10n/id.json
index d6bf53a27b2..3afe5892383 100644
--- a/apps/files_sharing/l10n/id.json
+++ b/apps/files_sharing/l10n/id.json
@@ -17,7 +17,6 @@
"Sharing" : "Berbagi",
"A file or folder has been <strong>shared</strong>" : "Sebuah berkas atau folder telah <strong>dibagikan</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Sebuah berkas atau folder telah dibagikan dari <strong>server lainnya</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Sebuah berkas atau folder berbagi publik telah <strong>diunduh</strong>",
"You received a new remote share %2$s from %1$s" : "Anda menerima berbagi remote baru %2$s dari %1$s",
"You received a new remote share from %s" : "Anda menerima berbagi remote baru dari %s",
"%1$s accepted remote share %2$s" : "%1$s menerima berbagi remote %2$s",
@@ -100,6 +99,7 @@
"Select or drop files" : "Pilih atau drop berkas",
"Uploading files…" : "Mengunggah berkas...",
"Uploaded files:" : "Berkas terunggah:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Sebuah berkas atau folder berbagi publik telah <strong>diunduh</strong>",
"Shares" : "Dibagikan",
"Server to server sharing is not enabled on this server" : "Berbagi server ke server tidak diaktifkan pada server ini",
"The mountpoint name contains invalid characters." : "Nama mount point berisi karakter yang tidak sah.",
diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js
index c456e12eecd..eb4928e80eb 100644
--- a/apps/files_sharing/l10n/is.js
+++ b/apps/files_sharing/l10n/is.js
@@ -19,7 +19,6 @@ OC.L10N.register(
"Sharing" : "Deiling",
"A file or folder has been <strong>shared</strong>" : "Skjali eða möppu hefur verið <strong>deilt</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Skjali eð möppu hefur verið deilt <strong>frá öðrum þjóni</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Skrá eða mappa í almenningsaðgangi var <strong>sótt</strong>",
"You received a new remote share %2$s from %1$s" : "Þú tókst við nýrri fjartengdri sameign %2$s frá %1$s",
"You received a new remote share from %s" : "Þú tókst við nýrri fjartengdri sameign frá %s",
"%1$s accepted remote share %2$s" : "%1$s samþykkti fjartengda sameign %2$s",
@@ -102,6 +101,7 @@ OC.L10N.register(
"Select or drop files" : "Veldu eða slepptu skrám",
"Uploading files…" : "Sendi inn skrár…",
"Uploaded files:" : "Innsendar skrár:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Skrá eða mappa í almenningsaðgangi var <strong>sótt</strong>",
"Shares" : "Sameignir",
"Server to server sharing is not enabled on this server" : "Deiling frá þjóni til þjóns er ekki virk á þessum þjóni",
"The mountpoint name contains invalid characters." : "Heiti tengipunktsins inniheldur ógilda stafi.",
diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json
index a20c61ab863..195fa8ba06f 100644
--- a/apps/files_sharing/l10n/is.json
+++ b/apps/files_sharing/l10n/is.json
@@ -17,7 +17,6 @@
"Sharing" : "Deiling",
"A file or folder has been <strong>shared</strong>" : "Skjali eða möppu hefur verið <strong>deilt</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Skjali eð möppu hefur verið deilt <strong>frá öðrum þjóni</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Skrá eða mappa í almenningsaðgangi var <strong>sótt</strong>",
"You received a new remote share %2$s from %1$s" : "Þú tókst við nýrri fjartengdri sameign %2$s frá %1$s",
"You received a new remote share from %s" : "Þú tókst við nýrri fjartengdri sameign frá %s",
"%1$s accepted remote share %2$s" : "%1$s samþykkti fjartengda sameign %2$s",
@@ -100,6 +99,7 @@
"Select or drop files" : "Veldu eða slepptu skrám",
"Uploading files…" : "Sendi inn skrár…",
"Uploaded files:" : "Innsendar skrár:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Skrá eða mappa í almenningsaðgangi var <strong>sótt</strong>",
"Shares" : "Sameignir",
"Server to server sharing is not enabled on this server" : "Deiling frá þjóni til þjóns er ekki virk á þessum þjóni",
"The mountpoint name contains invalid characters." : "Heiti tengipunktsins inniheldur ógilda stafi.",
diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js
index 4411f4af004..6fe903c0dac 100644
--- a/apps/files_sharing/l10n/it.js
+++ b/apps/files_sharing/l10n/it.js
@@ -20,7 +20,7 @@ OC.L10N.register(
"Sharing" : "Condivisione",
"A file or folder has been <strong>shared</strong>" : "Un file o una cartella è stato <strong>condiviso</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Un file o una cartella è stato condiviso da <strong>un altro server</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Un file condiviso pubblicamente o una cartella è stato <strong>scaricato</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un file o una cartella condiviso via posta elettronica o collegamento pubblico è stato <strong>scaricato</strong>",
"You received a new remote share %2$s from %1$s" : "Hai ricevuto una nuova condivisione remota %2$s da %1$s",
"You received a new remote share from %s" : "Hai ricevuto una nuova condivisione remota da %s",
"%1$s accepted remote share %2$s" : "%1$s ha accettato la condivisione remota %2$s",
@@ -44,6 +44,8 @@ OC.L10N.register(
"The public link of %2$s for %1$s expired" : "il collegamento pubblico di %2$s per %1$s è scaduto",
"%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te",
"%2$s removed the share for %1$s" : "%2$s ha rimosso la condivisione per %1$s",
+ "File %1$s shared by email with %2$s was downloaded" : "Il file %1$s condiviso via posta elettronica con %2$s è stato scaricato",
+ "Folder %1$s shared by email with %2$s was downloaded" : "La cartella %1$s condivisa via posta elettronica con %2$s è stata scaricata",
"Downloaded via public link" : "Scaricata tramite collegamento pubblico",
"Shared with %2$s" : "Condivisa con %2$s",
"Shared with %3$s by %2$s" : "Condivisa con %3$s da %2$s",
@@ -60,6 +62,7 @@ OC.L10N.register(
"Public link expired" : "Collegamento pubblico scaduto",
"Public link of %2$s expired" : "il collegamento pubblico di %2$s è scaduto",
"Shared by %2$s" : "Condivisa da %2$s",
+ "Downloaded by %2$s" : "Scaricato da %2$s",
"File shares" : "Condivisioni dei file",
"Wrong share ID, share doesn't exist" : "ID di condivisione errato, la condivisione non esiste",
"could not delete share" : "impossibile eliminare la condivisione",
@@ -105,6 +108,7 @@ OC.L10N.register(
"Select or drop files" : "Seleziona o deseleziona file",
"Uploading files…" : "Caricamento file in corso...",
"Uploaded files:" : "File caricati:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Un file condiviso pubblicamente o una cartella è stato <strong>scaricato</strong>",
"Shares" : "Condivisioni",
"Server to server sharing is not enabled on this server" : "La condivisione tra server non è abilitata su questo server",
"The mountpoint name contains invalid characters." : "Il nome del punto di mount contiene caratteri non validi.",
diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json
index a9092a3b62b..99dbf0c939b 100644
--- a/apps/files_sharing/l10n/it.json
+++ b/apps/files_sharing/l10n/it.json
@@ -18,7 +18,7 @@
"Sharing" : "Condivisione",
"A file or folder has been <strong>shared</strong>" : "Un file o una cartella è stato <strong>condiviso</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Un file o una cartella è stato condiviso da <strong>un altro server</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Un file condiviso pubblicamente o una cartella è stato <strong>scaricato</strong>",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Un file o una cartella condiviso via posta elettronica o collegamento pubblico è stato <strong>scaricato</strong>",
"You received a new remote share %2$s from %1$s" : "Hai ricevuto una nuova condivisione remota %2$s da %1$s",
"You received a new remote share from %s" : "Hai ricevuto una nuova condivisione remota da %s",
"%1$s accepted remote share %2$s" : "%1$s ha accettato la condivisione remota %2$s",
@@ -42,6 +42,8 @@
"The public link of %2$s for %1$s expired" : "il collegamento pubblico di %2$s per %1$s è scaduto",
"%2$s shared %1$s with you" : "%2$s ha condiviso %1$s con te",
"%2$s removed the share for %1$s" : "%2$s ha rimosso la condivisione per %1$s",
+ "File %1$s shared by email with %2$s was downloaded" : "Il file %1$s condiviso via posta elettronica con %2$s è stato scaricato",
+ "Folder %1$s shared by email with %2$s was downloaded" : "La cartella %1$s condivisa via posta elettronica con %2$s è stata scaricata",
"Downloaded via public link" : "Scaricata tramite collegamento pubblico",
"Shared with %2$s" : "Condivisa con %2$s",
"Shared with %3$s by %2$s" : "Condivisa con %3$s da %2$s",
@@ -58,6 +60,7 @@
"Public link expired" : "Collegamento pubblico scaduto",
"Public link of %2$s expired" : "il collegamento pubblico di %2$s è scaduto",
"Shared by %2$s" : "Condivisa da %2$s",
+ "Downloaded by %2$s" : "Scaricato da %2$s",
"File shares" : "Condivisioni dei file",
"Wrong share ID, share doesn't exist" : "ID di condivisione errato, la condivisione non esiste",
"could not delete share" : "impossibile eliminare la condivisione",
@@ -103,6 +106,7 @@
"Select or drop files" : "Seleziona o deseleziona file",
"Uploading files…" : "Caricamento file in corso...",
"Uploaded files:" : "File caricati:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Un file condiviso pubblicamente o una cartella è stato <strong>scaricato</strong>",
"Shares" : "Condivisioni",
"Server to server sharing is not enabled on this server" : "La condivisione tra server non è abilitata su questo server",
"The mountpoint name contains invalid characters." : "Il nome del punto di mount contiene caratteri non validi.",
diff --git a/apps/files_sharing/l10n/nb_NO.js b/apps/files_sharing/l10n/nb_NO.js
index caa6880cd81..3a1abf17889 100644
--- a/apps/files_sharing/l10n/nb_NO.js
+++ b/apps/files_sharing/l10n/nb_NO.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Sharing" : "Deling",
"A file or folder has been <strong>shared</strong>" : "En fil eller mappe ble <strong>delt</strong>",
"A file or folder was shared from <strong>another server</strong>" : "En fil eller mappe ble delt fra <strong>en annen tjener</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "En offentlig delt fil eller mappe ble <strong>lastet ned</strong>",
"You received a new remote share %2$s from %1$s" : "Du mottok en ny ekstern deling %2$s fra %1$s",
"You received a new remote share from %s" : "Du mottok en ny ekstern deling fra %s",
"%1$s accepted remote share %2$s" : "%1$s aksepterte ekstern deling %2$s",
@@ -105,6 +104,7 @@ OC.L10N.register(
"Select or drop files" : "Velg eller slipp filer",
"Uploading files…" : "Laster opp filer...",
"Uploaded files:" : "Opplastede filer:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "En offentlig delt fil eller mappe ble <strong>lastet ned</strong>",
"Shares" : "Delinger",
"Server to server sharing is not enabled on this server" : "Tjener til tjenerdeling er ikke aktivert på denne tjeneren",
"The mountpoint name contains invalid characters." : "Navnet på oppkoblingspunktet inneholder ugyldige tegn.",
diff --git a/apps/files_sharing/l10n/nb_NO.json b/apps/files_sharing/l10n/nb_NO.json
index 4bd2212de1a..2811c6ad66d 100644
--- a/apps/files_sharing/l10n/nb_NO.json
+++ b/apps/files_sharing/l10n/nb_NO.json
@@ -18,7 +18,6 @@
"Sharing" : "Deling",
"A file or folder has been <strong>shared</strong>" : "En fil eller mappe ble <strong>delt</strong>",
"A file or folder was shared from <strong>another server</strong>" : "En fil eller mappe ble delt fra <strong>en annen tjener</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "En offentlig delt fil eller mappe ble <strong>lastet ned</strong>",
"You received a new remote share %2$s from %1$s" : "Du mottok en ny ekstern deling %2$s fra %1$s",
"You received a new remote share from %s" : "Du mottok en ny ekstern deling fra %s",
"%1$s accepted remote share %2$s" : "%1$s aksepterte ekstern deling %2$s",
@@ -103,6 +102,7 @@
"Select or drop files" : "Velg eller slipp filer",
"Uploading files…" : "Laster opp filer...",
"Uploaded files:" : "Opplastede filer:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "En offentlig delt fil eller mappe ble <strong>lastet ned</strong>",
"Shares" : "Delinger",
"Server to server sharing is not enabled on this server" : "Tjener til tjenerdeling er ikke aktivert på denne tjeneren",
"The mountpoint name contains invalid characters." : "Navnet på oppkoblingspunktet inneholder ugyldige tegn.",
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index 6c1f17716e1..7a90653289d 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Sharing" : "Delen",
"A file or folder has been <strong>shared</strong>" : "Een bestand of map is <strong>gedeeld</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Een bestand of map werd gedeeld vanaf <strong>een andere server</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Een openbaar gedeeld bestand of map werd <strong>gedownloaded</strong>",
"You received a new remote share %2$s from %1$s" : "Je ontving een nieuwe externe share %2$s van %1$s",
"You received a new remote share from %s" : "Je ontving een nieuwe externe share van %s",
"%1$s accepted remote share %2$s" : "%1$s accepteerde externe share %2$s",
@@ -60,6 +59,7 @@ OC.L10N.register(
"Public link expired" : "Openbare link is verlopen",
"Public link of %2$s expired" : "Openbare link van %2$s is verlopen",
"Shared by %2$s" : "Gedeeld door %2$s",
+ "Downloaded by %2$s" : "Gedownload door %2$s",
"File shares" : "File shares",
"Wrong share ID, share doesn't exist" : "Onjuist deel-ID, de share bestaat niet",
"could not delete share" : "Kon share niet verwijderen",
@@ -105,6 +105,7 @@ OC.L10N.register(
"Select or drop files" : "Selecteer of leg bestanden neer",
"Uploading files…" : "Uploaden bestanden...",
"Uploaded files:" : "Geüploade bestanden",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Een openbaar gedeeld bestand of map werd <strong>gedownloaded</strong>",
"Shares" : "Gedeeld",
"Server to server sharing is not enabled on this server" : "Server met server delen is niet geactiveerd op deze server",
"The mountpoint name contains invalid characters." : "De naam van het mountpoint bevat ongeldige karakters.",
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index 0a2a894725b..58d8fddba1f 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -18,7 +18,6 @@
"Sharing" : "Delen",
"A file or folder has been <strong>shared</strong>" : "Een bestand of map is <strong>gedeeld</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Een bestand of map werd gedeeld vanaf <strong>een andere server</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Een openbaar gedeeld bestand of map werd <strong>gedownloaded</strong>",
"You received a new remote share %2$s from %1$s" : "Je ontving een nieuwe externe share %2$s van %1$s",
"You received a new remote share from %s" : "Je ontving een nieuwe externe share van %s",
"%1$s accepted remote share %2$s" : "%1$s accepteerde externe share %2$s",
@@ -58,6 +57,7 @@
"Public link expired" : "Openbare link is verlopen",
"Public link of %2$s expired" : "Openbare link van %2$s is verlopen",
"Shared by %2$s" : "Gedeeld door %2$s",
+ "Downloaded by %2$s" : "Gedownload door %2$s",
"File shares" : "File shares",
"Wrong share ID, share doesn't exist" : "Onjuist deel-ID, de share bestaat niet",
"could not delete share" : "Kon share niet verwijderen",
@@ -103,6 +103,7 @@
"Select or drop files" : "Selecteer of leg bestanden neer",
"Uploading files…" : "Uploaden bestanden...",
"Uploaded files:" : "Geüploade bestanden",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Een openbaar gedeeld bestand of map werd <strong>gedownloaded</strong>",
"Shares" : "Gedeeld",
"Server to server sharing is not enabled on this server" : "Server met server delen is niet geactiveerd op deze server",
"The mountpoint name contains invalid characters." : "De naam van het mountpoint bevat ongeldige karakters.",
diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index e1e03f90953..840235ec885 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -14,12 +14,12 @@ OC.L10N.register(
"No compatible server found at {remote}" : "Nenhum servidor compativel encnotrado em {remote}",
"Invalid server URL" : "URL do servidor inválida",
"Failed to add the public link to your Nextcloud" : "Ocorreu uma falha ao adicionar o link público ao seu Nextcloud",
+ "Share" : "Compartilhamento",
"No expiration date set" : "Nenhuma data de expiração definida",
"Shared by" : "Compartilhado por",
"Sharing" : "Compartilhamento",
"A file or folder has been <strong>shared</strong>" : "Um arquivo ou pasta foi <strong>compartilhado</strong> ",
"A file or folder was shared from <strong>another server</strong>" : "Um arquivo ou pasta foi compartilhado a partir de <strong>outro servidor</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado publicamente foi <strong>baixado</strong>",
"You received a new remote share %2$s from %1$s" : "Você recebeu um novo conpartilhamento remoto %2$s de %1$s",
"You received a new remote share from %s" : "Você recebeu um novo compartilhamento remoto de %s",
"%1$s accepted remote share %2$s" : "%1$s aceitou o compartilhamento remoto %2$s",
@@ -59,6 +59,7 @@ OC.L10N.register(
"Public link expired" : "O link público expirou",
"Public link of %2$s expired" : "O link público de %2$s expirou",
"Shared by %2$s" : "Compartilhado por %2$s",
+ "File shares" : "Compartilhamentos de arquivos",
"Wrong share ID, share doesn't exist" : "ID de compartilhamento errado, o compartilhamento não existe",
"could not delete share" : "não foi possível excluir o compartilhamento",
"Could not delete share" : "Não foi possível eliminar o compartilhamento",
@@ -80,6 +81,7 @@ OC.L10N.register(
"Wrong or no update parameter given" : "Está errado ou nenhum parâmetro de atualização foi fornecido",
"Can't change permissions for public share links" : "Não é possível alterar permissões para compartilhar links públicos",
"Cannot increase permissions" : "Não pode haver aumento de permissões",
+ "%s is publicly shared" : "%s é um compartilhamento publico",
"Share API is disabled" : "O compartilhamento de API está desabilitado.",
"This share is password-protected" : "Este compartilhamento esta protegido por senha",
"The password is wrong. Try again." : "Senha incorreta. Tente novamente.",
@@ -102,6 +104,7 @@ OC.L10N.register(
"Select or drop files" : "Selecione e solte arquivos",
"Uploading files…" : "Carregando arquivos...",
"Uploaded files:" : "Arquivos carregados:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado publicamente foi <strong>baixado</strong>",
"Shares" : "Compartilhamentos",
"Storage not valid" : "Armazenamento inválido",
"Remote share" : "Compartilhamento remoto",
diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json
index 96503ef143c..b2f45ff6407 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -12,12 +12,12 @@
"No compatible server found at {remote}" : "Nenhum servidor compativel encnotrado em {remote}",
"Invalid server URL" : "URL do servidor inválida",
"Failed to add the public link to your Nextcloud" : "Ocorreu uma falha ao adicionar o link público ao seu Nextcloud",
+ "Share" : "Compartilhamento",
"No expiration date set" : "Nenhuma data de expiração definida",
"Shared by" : "Compartilhado por",
"Sharing" : "Compartilhamento",
"A file or folder has been <strong>shared</strong>" : "Um arquivo ou pasta foi <strong>compartilhado</strong> ",
"A file or folder was shared from <strong>another server</strong>" : "Um arquivo ou pasta foi compartilhado a partir de <strong>outro servidor</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado publicamente foi <strong>baixado</strong>",
"You received a new remote share %2$s from %1$s" : "Você recebeu um novo conpartilhamento remoto %2$s de %1$s",
"You received a new remote share from %s" : "Você recebeu um novo compartilhamento remoto de %s",
"%1$s accepted remote share %2$s" : "%1$s aceitou o compartilhamento remoto %2$s",
@@ -57,6 +57,7 @@
"Public link expired" : "O link público expirou",
"Public link of %2$s expired" : "O link público de %2$s expirou",
"Shared by %2$s" : "Compartilhado por %2$s",
+ "File shares" : "Compartilhamentos de arquivos",
"Wrong share ID, share doesn't exist" : "ID de compartilhamento errado, o compartilhamento não existe",
"could not delete share" : "não foi possível excluir o compartilhamento",
"Could not delete share" : "Não foi possível eliminar o compartilhamento",
@@ -78,6 +79,7 @@
"Wrong or no update parameter given" : "Está errado ou nenhum parâmetro de atualização foi fornecido",
"Can't change permissions for public share links" : "Não é possível alterar permissões para compartilhar links públicos",
"Cannot increase permissions" : "Não pode haver aumento de permissões",
+ "%s is publicly shared" : "%s é um compartilhamento publico",
"Share API is disabled" : "O compartilhamento de API está desabilitado.",
"This share is password-protected" : "Este compartilhamento esta protegido por senha",
"The password is wrong. Try again." : "Senha incorreta. Tente novamente.",
@@ -100,6 +102,7 @@
"Select or drop files" : "Selecione e solte arquivos",
"Uploading files…" : "Carregando arquivos...",
"Uploaded files:" : "Arquivos carregados:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "Um arquivo ou pasta compartilhado publicamente foi <strong>baixado</strong>",
"Shares" : "Compartilhamentos",
"Storage not valid" : "Armazenamento inválido",
"Remote share" : "Compartilhamento remoto",
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index 54a993e0dfc..239178f6df6 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Sharing" : "Общий доступ",
"A file or folder has been <strong>shared</strong>" : "<strong>Опубликован</strong> файл или каталог",
"A file or folder was shared from <strong>another server</strong>" : "Файлом или каталогом поделились с <strong>удаленного сервера</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "<strong>Скачан</strong> общий файл или каталог",
"You received a new remote share %2$s from %1$s" : "Вы получили новый удаленный общий ресурс %2$s от %1$s",
"You received a new remote share from %s" : "%s поделился с вами удаленным общим ресурсом",
"%1$s accepted remote share %2$s" : "%1$s принял удаленный общий ресурс %2$s",
@@ -44,7 +43,7 @@ OC.L10N.register(
"The public link of %2$s for %1$s expired" : "Срок действия публичной ссылки к %2$s для %1$s закончился",
"%2$s shared %1$s with you" : "%2$s поделился с вами %1$s",
"%2$s removed the share for %1$s" : "%2$s удалил общий доступ к %1$s",
- "Downloaded via public link" : "Загружено по открытой ссылке",
+ "Downloaded via public link" : "Скачано по открытой ссылке",
"Shared with %2$s" : "Поделился с %2$s",
"Shared with %3$s by %2$s" : "Поделился %2$s с %3$s",
"Removed share for %2$s" : "Удалён общий доступ к %2$s",
@@ -60,6 +59,7 @@ OC.L10N.register(
"Public link expired" : "Срок действия публичной ссылки закончился",
"Public link of %2$s expired" : "Срок действия публичной ссылки к %2$s закончился",
"Shared by %2$s" : "Поделился %2$s",
+ "Downloaded by %2$s" : "Скачано %2$s",
"Wrong share ID, share doesn't exist" : "Неверный идентификатор публикации, публикация не существует",
"could not delete share" : "Не удалось удалить общий ресурс",
"Could not delete share" : "Не удалось удалить публикацию",
@@ -103,6 +103,7 @@ OC.L10N.register(
"Select or drop files" : "Выбрать или сбросить файлы",
"Uploading files…" : "Загрузка файлов...",
"Uploaded files:" : "Загруженные файлы:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "<strong>Скачан</strong> общий файл или каталог",
"Shares" : "События обмена файлами",
"Server to server sharing is not enabled on this server" : "На данном сервере выключено межсерверное предоставление общего доступа",
"The mountpoint name contains invalid characters." : "Имя точки монтирования содержит недопустимые символы.",
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index f10b15b29da..2548e868c70 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -18,7 +18,6 @@
"Sharing" : "Общий доступ",
"A file or folder has been <strong>shared</strong>" : "<strong>Опубликован</strong> файл или каталог",
"A file or folder was shared from <strong>another server</strong>" : "Файлом или каталогом поделились с <strong>удаленного сервера</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "<strong>Скачан</strong> общий файл или каталог",
"You received a new remote share %2$s from %1$s" : "Вы получили новый удаленный общий ресурс %2$s от %1$s",
"You received a new remote share from %s" : "%s поделился с вами удаленным общим ресурсом",
"%1$s accepted remote share %2$s" : "%1$s принял удаленный общий ресурс %2$s",
@@ -42,7 +41,7 @@
"The public link of %2$s for %1$s expired" : "Срок действия публичной ссылки к %2$s для %1$s закончился",
"%2$s shared %1$s with you" : "%2$s поделился с вами %1$s",
"%2$s removed the share for %1$s" : "%2$s удалил общий доступ к %1$s",
- "Downloaded via public link" : "Загружено по открытой ссылке",
+ "Downloaded via public link" : "Скачано по открытой ссылке",
"Shared with %2$s" : "Поделился с %2$s",
"Shared with %3$s by %2$s" : "Поделился %2$s с %3$s",
"Removed share for %2$s" : "Удалён общий доступ к %2$s",
@@ -58,6 +57,7 @@
"Public link expired" : "Срок действия публичной ссылки закончился",
"Public link of %2$s expired" : "Срок действия публичной ссылки к %2$s закончился",
"Shared by %2$s" : "Поделился %2$s",
+ "Downloaded by %2$s" : "Скачано %2$s",
"Wrong share ID, share doesn't exist" : "Неверный идентификатор публикации, публикация не существует",
"could not delete share" : "Не удалось удалить общий ресурс",
"Could not delete share" : "Не удалось удалить публикацию",
@@ -101,6 +101,7 @@
"Select or drop files" : "Выбрать или сбросить файлы",
"Uploading files…" : "Загрузка файлов...",
"Uploaded files:" : "Загруженные файлы:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "<strong>Скачан</strong> общий файл или каталог",
"Shares" : "События обмена файлами",
"Server to server sharing is not enabled on this server" : "На данном сервере выключено межсерверное предоставление общего доступа",
"The mountpoint name contains invalid characters." : "Имя точки монтирования содержит недопустимые символы.",
diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js
index 37111ac24af..eacf48d6ee8 100644
--- a/apps/files_sharing/l10n/zh_TW.js
+++ b/apps/files_sharing/l10n/zh_TW.js
@@ -20,7 +20,6 @@ OC.L10N.register(
"Sharing" : "分享",
"A file or folder has been <strong>shared</strong>" : "檔案或目錄已被 <strong>分享</strong>",
"A file or folder was shared from <strong>another server</strong>" : "檔案或目錄已被 <strong>其他伺服器</strong> 分享",
- "A public shared file or folder was <strong>downloaded</strong>" : "共享檔案或目錄已被 <strong>下載</strong>",
"You received a new remote share %2$s from %1$s" : "您收到了一個遠端分享 %2$s 來自於 %1$s",
"You received a new remote share from %s" : "您收到了一個遠端分享來自於 %s",
"%1$s accepted remote share %2$s" : "%1$s 接受了遠端分享 %2$s",
@@ -94,6 +93,7 @@ OC.L10N.register(
"Select or drop files" : "選擇或拖曳檔案至此",
"Uploading files…" : "上傳檔案中…",
"Uploaded files:" : "已上傳的檔案:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "共享檔案或目錄已被 <strong>下載</strong>",
"Shares" : "分享",
"Server to server sharing is not enabled on this server" : "伺服器對伺服器共享在這台伺服器上面並未啟用",
"The mountpoint name contains invalid characters." : "掛載點名稱含有不合法的字元",
diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json
index ab07160648c..c5cdaa58628 100644
--- a/apps/files_sharing/l10n/zh_TW.json
+++ b/apps/files_sharing/l10n/zh_TW.json
@@ -18,7 +18,6 @@
"Sharing" : "分享",
"A file or folder has been <strong>shared</strong>" : "檔案或目錄已被 <strong>分享</strong>",
"A file or folder was shared from <strong>another server</strong>" : "檔案或目錄已被 <strong>其他伺服器</strong> 分享",
- "A public shared file or folder was <strong>downloaded</strong>" : "共享檔案或目錄已被 <strong>下載</strong>",
"You received a new remote share %2$s from %1$s" : "您收到了一個遠端分享 %2$s 來自於 %1$s",
"You received a new remote share from %s" : "您收到了一個遠端分享來自於 %s",
"%1$s accepted remote share %2$s" : "%1$s 接受了遠端分享 %2$s",
@@ -92,6 +91,7 @@
"Select or drop files" : "選擇或拖曳檔案至此",
"Uploading files…" : "上傳檔案中…",
"Uploaded files:" : "已上傳的檔案:",
+ "A public shared file or folder was <strong>downloaded</strong>" : "共享檔案或目錄已被 <strong>下載</strong>",
"Shares" : "分享",
"Server to server sharing is not enabled on this server" : "伺服器對伺服器共享在這台伺服器上面並未啟用",
"The mountpoint name contains invalid characters." : "掛載點名稱含有不合法的字元",
diff --git a/apps/files_sharing/lib/Cache.php b/apps/files_sharing/lib/Cache.php
index 6444dbb8a36..49765a7aab5 100644
--- a/apps/files_sharing/lib/Cache.php
+++ b/apps/files_sharing/lib/Cache.php
@@ -43,36 +43,32 @@ class Cache extends CacheJail {
private $storage;
/**
- * @var IStorage
- */
- private $sourceStorage;
-
- /**
* @var ICacheEntry
*/
private $sourceRootInfo;
- /**
- * @var \OCP\Files\Cache\ICache
- */
- private $sourceCache;
+ private $rootUnchanged = true;
/**
* @param \OCA\Files_Sharing\SharedStorage $storage
- * @param IStorage $sourceStorage
* @param ICacheEntry $sourceRootInfo
*/
- public function __construct($storage, IStorage $sourceStorage, ICacheEntry $sourceRootInfo) {
+ public function __construct($storage, ICacheEntry $sourceRootInfo) {
$this->storage = $storage;
- $this->sourceStorage = $sourceStorage;
$this->sourceRootInfo = $sourceRootInfo;
- $this->sourceCache = $sourceStorage->getCache();
parent::__construct(
- $this->sourceCache,
+ null,
$this->sourceRootInfo->getPath()
);
}
+ public function getCache() {
+ if (is_null($this->cache)) {
+ $this->cache = $this->storage->getSourceStorage()->getCache();
+ }
+ return $this->cache;
+ }
+
public function getNumericStorageId() {
if (isset($this->numericId)) {
return $this->numericId;
@@ -81,6 +77,33 @@ class Cache extends CacheJail {
}
}
+ public function get($file) {
+ if ($this->rootUnchanged && ($file === '' || $file === $this->sourceRootInfo->getId())) {
+ return $this->formatCacheEntry(clone $this->sourceRootInfo);
+ }
+ return parent::get($file);
+ }
+
+ public function update($id, array $data) {
+ $this->rootUnchanged = false;
+ parent::update($id, $data);
+ }
+
+ public function insert($file, array $data) {
+ $this->rootUnchanged = false;
+ return parent::insert($file, $data);
+ }
+
+ public function remove($file) {
+ $this->rootUnchanged = false;
+ parent::remove($file);
+ }
+
+ public function moveFromCache(\OCP\Files\Cache\ICache $sourceCache, $sourcePath, $targetPath) {
+ $this->rootUnchanged = false;
+ return parent::moveFromCache($sourceCache, $sourcePath, $targetPath);
+ }
+
protected function formatCacheEntry($entry) {
$path = isset($entry['path']) ? $entry['path'] : '';
$entry = parent::formatCacheEntry($entry);
diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php
index 1358663ea2b..90274beba49 100644
--- a/apps/files_sharing/lib/Controller/ShareAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareAPIController.php
@@ -692,6 +692,7 @@ class ShareAPIController extends OCSController {
if ($newPermissions !== null) {
$share->setPermissions($newPermissions);
+ $permissions = $newPermissions;
}
if ($expireDate === '') {
diff --git a/apps/files_sharing/lib/Controller/ShareesAPIController.php b/apps/files_sharing/lib/Controller/ShareesAPIController.php
index 5e01c9bfb09..09912b7758a 100644
--- a/apps/files_sharing/lib/Controller/ShareesAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareesAPIController.php
@@ -427,12 +427,23 @@ class ShareesAPIController extends OCSController {
$shareTypes = [
Share::SHARE_TYPE_USER,
- Share::SHARE_TYPE_REMOTE,
- Share::SHARE_TYPE_EMAIL
];
- if ($this->shareManager->allowGroupSharing()) {
+ if ($itemType === 'file' || $itemType === 'folder') {
+ if ($this->shareManager->allowGroupSharing()) {
+ $shareTypes[] = Share::SHARE_TYPE_GROUP;
+ }
+
+ if ($this->isRemoteSharingAllowed($itemType)) {
+ $shareTypes[] = Share::SHARE_TYPE_REMOTE;
+ }
+
+ if ($this->shareManager->shareProviderExists(Share::SHARE_TYPE_EMAIL)) {
+ $shareTypes[] = Share::SHARE_TYPE_EMAIL;
+ }
+ } else {
$shareTypes[] = Share::SHARE_TYPE_GROUP;
+ $shareTypes[] = Share::SHARE_TYPE_EMAIL;
}
if (isset($_GET['shareType']) && is_array($_GET['shareType'])) {
@@ -443,16 +454,6 @@ class ShareesAPIController extends OCSController {
sort($shareTypes);
}
- if (in_array(Share::SHARE_TYPE_REMOTE, $shareTypes) && !$this->isRemoteSharingAllowed($itemType)) {
- // Remove remote shares from type array, because it is not allowed.
- $shareTypes = array_diff($shareTypes, [Share::SHARE_TYPE_REMOTE]);
- }
-
- if (!$this->shareManager->shareProviderExists(Share::SHARE_TYPE_EMAIL)) {
- // Remove mail shares from type array, because the share provider is not loaded
- $shareTypes = array_diff($shareTypes, [Share::SHARE_TYPE_EMAIL]);
- }
-
$this->shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes';
$this->shareeEnumeration = $this->config->getAppValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes') === 'yes';
$this->limit = (int) $perPage;
diff --git a/apps/files_sharing/lib/MountProvider.php b/apps/files_sharing/lib/MountProvider.php
index 1ee6f2b35f6..40d2fb27535 100644
--- a/apps/files_sharing/lib/MountProvider.php
+++ b/apps/files_sharing/lib/MountProvider.php
@@ -172,6 +172,9 @@ class MountProvider implements IMountProvider {
$share->setTarget($superShare->getTarget());
$this->shareManager->moveShare($share, $user->getUID());
}
+ if (!is_null($share->getNodeCacheEntry())) {
+ $superShare->setNodeCacheEntry($share->getNodeCacheEntry());
+ }
}
$superShare->setPermissions($permissions);
diff --git a/apps/files_sharing/lib/SharedPropagator.php b/apps/files_sharing/lib/SharedPropagator.php
index 0273744da11..f35a5b1d22b 100644
--- a/apps/files_sharing/lib/SharedPropagator.php
+++ b/apps/files_sharing/lib/SharedPropagator.php
@@ -39,6 +39,6 @@ class SharedPropagator extends Propagator {
public function propagateChange($internalPath, $time, $sizeDifference = 0) {
/** @var \OC\Files\Storage\Storage $storage */
list($storage, $sourceInternalPath) = $this->storage->resolvePath($internalPath);
- return $storage->getPropagator()->propagateChange($sourceInternalPath, $time, $sizeDifference);
+ $storage->getPropagator()->propagateChange($sourceInternalPath, $time, $sizeDifference);
}
}
diff --git a/apps/files_sharing/lib/SharedStorage.php b/apps/files_sharing/lib/SharedStorage.php
index 8362a759135..5b4aa061800 100644
--- a/apps/files_sharing/lib/SharedStorage.php
+++ b/apps/files_sharing/lib/SharedStorage.php
@@ -71,6 +71,8 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
*/
private $logger;
+ private $options;
+
public function __construct($arguments) {
$this->ownerView = $arguments['ownerView'];
$this->logger = \OC::$server->getLogger();
@@ -86,6 +88,20 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
]);
}
+ /**
+ * @return ICacheEntry
+ */
+ private function getSourceRootInfo() {
+ if (is_null($this->sourceRootInfo)) {
+ if (is_null($this->superShare->getNodeCacheEntry())) {
+ $this->sourceRootInfo = $this->getWrapperStorage()->getCache()->get($this->rootPath);
+ } else {
+ $this->sourceRootInfo = $this->superShare->getNodeCacheEntry();
+ }
+ }
+ return $this->sourceRootInfo;
+ }
+
private function init() {
if ($this->initialized) {
return;
@@ -95,7 +111,6 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
Filesystem::initMountPoints($this->superShare->getShareOwner());
$sourcePath = $this->ownerView->getPath($this->superShare->getNodeId());
list($this->storage, $this->rootPath) = $this->ownerView->resolvePath($sourcePath);
- $this->sourceRootInfo = $this->storage->getCache()->get($this->rootPath);
} catch (NotFoundException $e) {
$this->storage = new FailedStorage(['exception' => $e]);
$this->rootPath = '';
@@ -110,6 +125,9 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
* @inheritdoc
*/
public function instanceOfStorage($class) {
+ if ($class === '\OC\Files\Storage\Common') {
+ return true;
+ }
if (in_array($class, ['\OC\Files\Storage\Home', '\OC\Files\ObjectStore\HomeObjectStoreStorage'])) {
return false;
}
@@ -124,8 +142,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
}
private function isValid() {
- $this->init();
- return $this->sourceRootInfo && ($this->sourceRootInfo->getPermissions() & Constants::PERMISSION_SHARE) === Constants::PERMISSION_SHARE;
+ return $this->getSourceRootInfo() && ($this->getSourceRootInfo()->getPermissions() & Constants::PERMISSION_SHARE) === Constants::PERMISSION_SHARE;
}
/**
@@ -311,14 +328,14 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
}
public function getCache($path = '', $storage = null) {
- $this->init();
- if (is_null($this->storage) || $this->storage instanceof FailedStorage) {
- return new FailedCache(false);
+ if ($this->cache) {
+ return $this->cache;
}
if (!$storage) {
$storage = $this;
}
- return new \OCA\Files_Sharing\Cache($storage, $this->storage, $this->sourceRootInfo);
+ $this->cache = new \OCA\Files_Sharing\Cache($storage, $this->getSourceRootInfo(), $this->superShare);
+ return $this->cache;
}
public function getScanner($path = '', $storage = null) {
@@ -445,4 +462,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
return parent::file_put_contents($path, $data);
}
+ public function setMountOptions(array $options) {
+ $this->mountOptions = $options;
+ }
}
diff --git a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
index 890fdb6eda0..ed4aa1dba9e 100644
--- a/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
+++ b/apps/files_sharing/tests/Controller/ShareAPIControllerTest.php
@@ -1205,7 +1205,7 @@ class ShareAPIControllerTest extends \Test\TestCase {
public function testUpdateLinkShareClear() {
$ocs = $this->mockFormatShare();
- $node = $this->getMockBuilder('\OCP\Files\Folder')->getMock();
+ $node = $this->getMockBuilder(Folder::class)->getMock();
$share = $this->newShare();
$share->setPermissions(\OCP\Constants::PERMISSION_ALL)
->setSharedBy($this->currentUser)
@@ -1229,6 +1229,9 @@ class ShareAPIControllerTest extends \Test\TestCase {
})
)->will($this->returnArgument(0));
+ $this->shareManager->method('getSharedWith')
+ ->willReturn([]);
+
$expected = new DataResponse(null);
$result = $ocs->updateShare(42, null, '', 'false', '');
@@ -1261,6 +1264,9 @@ class ShareAPIControllerTest extends \Test\TestCase {
})
)->will($this->returnArgument(0));
+ $this->shareManager->method('getSharedWith')
+ ->willReturn([]);
+
$expected = new DataResponse(null);
$result = $ocs->updateShare(42, null, 'password', 'true', '2000-01-01');
@@ -1483,6 +1489,9 @@ class ShareAPIControllerTest extends \Test\TestCase {
})
)->will($this->returnArgument(0));
+ $this->shareManager->method('getSharedWith')
+ ->willReturn([]);
+
$expected = new DataResponse(null);
$result = $ocs->updateShare(42, null, null, 'true', null);
@@ -1633,6 +1642,52 @@ class ShareAPIControllerTest extends \Test\TestCase {
}
}
+ public function testUpdateShareCannotIncreasePermissionsLinkShare() {
+ $ocs = $this->mockFormatShare();
+
+ $folder = $this->createMock(Folder::class);
+
+ $share = \OC::$server->getShareManager()->newShare();
+ $share
+ ->setId(42)
+ ->setSharedBy($this->currentUser)
+ ->setShareOwner('anotheruser')
+ ->setShareType(\OCP\Share::SHARE_TYPE_LINK)
+ ->setPermissions(\OCP\Constants::PERMISSION_READ)
+ ->setNode($folder);
+
+ // note: updateShare will modify the received instance but getSharedWith will reread from the database,
+ // so their values will be different
+ $incomingShare = \OC::$server->getShareManager()->newShare();
+ $incomingShare
+ ->setId(42)
+ ->setSharedBy($this->currentUser)
+ ->setShareOwner('anotheruser')
+ ->setShareType(\OCP\Share::SHARE_TYPE_USER)
+ ->setSharedWith('currentUser')
+ ->setPermissions(\OCP\Constants::PERMISSION_READ)
+ ->setNode($folder);
+
+ $this->shareManager->method('getShareById')->with('ocinternal:42')->willReturn($share);
+
+ $this->shareManager->expects($this->any())
+ ->method('getSharedWith')
+ ->will($this->returnValueMap([
+ ['currentUser', \OCP\Share::SHARE_TYPE_USER, $share->getNode(), -1, 0, [$incomingShare]],
+ ['currentUser', \OCP\Share::SHARE_TYPE_GROUP, $share->getNode(), -1, 0, []]
+ ]));
+
+ $this->shareManager->expects($this->never())->method('updateShare');
+ $this->shareManager->method('shareApiLinkAllowPublicUpload')->willReturn(true);
+
+ try {
+ $ocs->updateShare(42, null, null, 'true');
+ $this->fail();
+ } catch (OCSNotFoundException $e) {
+ $this->assertEquals('Cannot increase permissions', $e->getMessage());
+ }
+ }
+
public function testUpdateShareCanIncreasePermissionsIfOwner() {
$ocs = $this->mockFormatShare();
diff --git a/apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php b/apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php
index e8ee55d1845..336dcb70f0e 100644
--- a/apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php
+++ b/apps/files_sharing/tests/Controller/ShareesAPIControllerTest.php
@@ -1221,93 +1221,121 @@ class ShareesAPIControllerTest extends TestCase {
}
public function dataSearch() {
+ $noRemote = [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_EMAIL];
$allTypes = [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE, Share::SHARE_TYPE_EMAIL];
return [
- [[], '', 'yes', true, true, $allTypes, false, true, true],
+ [[], '', 'yes', true, true, $noRemote, false, true, true],
// Test itemType
[[
'search' => '',
- ], '', 'yes', true, true, $allTypes, false, true, true],
+ ], '', 'yes', true, true, $noRemote, false, true, true],
[[
'search' => 'foobar',
- ], '', 'yes', true, true, $allTypes, false, true, true],
+ ], '', 'yes', true, true, $noRemote, false, true, true],
[[
'search' => 0,
- ], '', 'yes', true, true, $allTypes, false, true, true],
+ ], '', 'yes', true, true, $noRemote, false, true, true],
// Test itemType
[[
'itemType' => '',
- ], '', 'yes', true, true, $allTypes, false, true, true],
+ ], '', 'yes', true, true, $noRemote, false, true, true],
[[
'itemType' => 'folder',
], '', 'yes', true, true, $allTypes, false, true, true],
[[
'itemType' => 0,
- ], '', 'yes', true, true, $allTypes, false, true, true],
+ ], '', 'yes', true, true, $noRemote, false, true, true],
// Test shareType
[[
+ 'itemType' => 'call',
+ ], '', 'yes', true, true, $noRemote, false, true, true],
+ [[
+ 'itemType' => 'folder',
], '', 'yes', true, true, $allTypes, false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => 0,
], '', 'yes', true, false, [0], false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => '0',
], '', 'yes', true, false, [0], false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => 1,
], '', 'yes', true, false, [1], false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => 12,
], '', 'yes', true, false, [], false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => 'foobar',
], '', 'yes', true, true, $allTypes, false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => [0, 1, 2],
], '', 'yes', false, false, [0, 1], false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => [0, 1],
], '', 'yes', false, false, [0, 1], false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => $allTypes,
], '', 'yes', true, true, $allTypes, false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => $allTypes,
], '', 'yes', false, false, [0, 1], false, true, true],
[[
+ 'itemType' => 'folder',
'shareType' => $allTypes,
], '', 'yes', true, false, [0, 6], false, true, false],
[[
+ 'itemType' => 'folder',
'shareType' => $allTypes,
], '', 'yes', false, true, [0, 4], false, true, false],
// Test pagination
[[
+ 'itemType' => 'folder',
'page' => 1,
], '', 'yes', true, true, $allTypes, false, true, true],
[[
+ 'itemType' => 'folder',
'page' => 10,
], '', 'yes', true, true, $allTypes, false, true, true],
// Test perPage
[[
+ 'itemType' => 'folder',
'perPage' => 1,
], '', 'yes', true, true, $allTypes, false, true, true],
[[
+ 'itemType' => 'folder',
'perPage' => 10,
], '', 'yes', true, true, $allTypes, false, true, true],
// Test $shareWithGroupOnly setting
- [[], 'no', 'yes', true, true, $allTypes, false, true, true],
- [[], 'yes', 'yes', true, true, $allTypes, true, true, true],
+ [[
+ 'itemType' => 'folder',
+ ], 'no', 'yes', true, true, $allTypes, false, true, true],
+ [[
+ 'itemType' => 'folder',
+ ], 'yes', 'yes', true, true, $allTypes, true, true, true],
// Test $shareeEnumeration setting
- [[], 'no', 'yes', true, true, $allTypes, false, true, true],
- [[], 'no', 'no', true, true, $allTypes, false, false, true],
+ [[
+ 'itemType' => 'folder',
+ ], 'no', 'yes', true, true, $allTypes, false, true, true],
+ [[
+ 'itemType' => 'folder',
+ ], 'no', 'no', true, true, $allTypes, false, false, true],
];
}
@@ -1318,6 +1346,7 @@ class ShareesAPIControllerTest extends TestCase {
* @param string $apiSetting
* @param string $enumSetting
* @param bool $remoteSharingEnabled
+ * @param bool $emailSharingEnabled
* @param array $shareTypes
* @param bool $shareWithGroupOnly
* @param bool $shareeEnumeration
@@ -1341,7 +1370,7 @@ class ShareesAPIControllerTest extends TestCase {
['core', 'shareapi_allow_share_dialog_user_enumeration', 'yes', $enumSetting],
]);
- $this->shareManager->expects($this->once())
+ $this->shareManager->expects($itemType === 'file' || $itemType === 'folder' ? $this->once() : $this->never())
->method('allowGroupSharing')
->willReturn($allowGroupSharing);
diff --git a/apps/files_sharing/tests/SizePropagationTest.php b/apps/files_sharing/tests/SizePropagationTest.php
index 04db505e8a5..9d80633b46a 100644
--- a/apps/files_sharing/tests/SizePropagationTest.php
+++ b/apps/files_sharing/tests/SizePropagationTest.php
@@ -102,6 +102,7 @@ class SizePropagationTest extends TestCase {
$this->assertTrue($recipientView->file_exists('/sharedfolder/subfolder/foo.txt'));
$recipientRootInfo = $recipientView->getFileInfo('', false);
$recipientRootInfoWithMounts = $recipientView->getFileInfo('', true);
+ $oldRecipientSize = $recipientRootInfoWithMounts->getSize();
// when file changed as recipient
$recipientView->file_put_contents('/sharedfolder/subfolder/foo.txt', 'foobar');
@@ -112,7 +113,7 @@ class SizePropagationTest extends TestCase {
// but the size including mountpoints increases
$newRecipientRootInfo = $recipientView->getFileInfo('', true);
- $this->assertEquals($recipientRootInfoWithMounts->getSize() +3, $newRecipientRootInfo->getSize());
+ $this->assertEquals($oldRecipientSize +3, $newRecipientRootInfo->getSize());
// size of owner's root increases
$this->loginAsUser(self::TEST_FILES_SHARING_API_USER2);
diff --git a/apps/files_trashbin/appinfo/info.xml b/apps/files_trashbin/appinfo/info.xml
index 2fd88ff7765..04b8a7293cb 100644
--- a/apps/files_trashbin/appinfo/info.xml
+++ b/apps/files_trashbin/appinfo/info.xml
@@ -16,7 +16,7 @@ To prevent a user from running out of disk space, the Deleted files app will not
</types>
<namespace>Files_Trashbin</namespace>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<documentation>
<user>user-trashbin</user>
diff --git a/apps/files_trashbin/l10n/bg_BG.js b/apps/files_trashbin/l10n/bg_BG.js
index 72abc2fea14..e21523b6627 100644
--- a/apps/files_trashbin/l10n/bg_BG.js
+++ b/apps/files_trashbin/l10n/bg_BG.js
@@ -4,7 +4,7 @@ OC.L10N.register(
"Couldn't delete %s permanently" : "Неуспешно безвъзвратно изтриване на %s.",
"Couldn't restore %s" : "Неуспешно възтановяване на %s.",
"Deleted files" : "Изтрити файлове",
- "Restore" : "Възстановяви",
+ "Restore" : "Възстановяне",
"Delete" : "Изтрий",
"Delete permanently" : "Изтрий завинаги",
"Error" : "Грешка",
diff --git a/apps/files_trashbin/l10n/bg_BG.json b/apps/files_trashbin/l10n/bg_BG.json
index f1efd5a4c26..ee5a21463cb 100644
--- a/apps/files_trashbin/l10n/bg_BG.json
+++ b/apps/files_trashbin/l10n/bg_BG.json
@@ -2,7 +2,7 @@
"Couldn't delete %s permanently" : "Неуспешно безвъзвратно изтриване на %s.",
"Couldn't restore %s" : "Неуспешно възтановяване на %s.",
"Deleted files" : "Изтрити файлове",
- "Restore" : "Възстановяви",
+ "Restore" : "Възстановяне",
"Delete" : "Изтрий",
"Delete permanently" : "Изтрий завинаги",
"Error" : "Грешка",
diff --git a/apps/files_versions/appinfo/info.xml b/apps/files_versions/appinfo/info.xml
index 026ed406d7c..5eb0df91d8d 100644
--- a/apps/files_versions/appinfo/info.xml
+++ b/apps/files_versions/appinfo/info.xml
@@ -14,7 +14,7 @@ In addition to the expiry of versions, the versions app makes certain never to u
</types>
<namespace>Files_Versions</namespace>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<documentation>
<user>user-versions</user>
diff --git a/apps/files_versions/css/versions.css b/apps/files_versions/css/versions.css
index b159de82ea3..cd63a90ab51 100644
--- a/apps/files_versions/css/versions.css
+++ b/apps/files_versions/css/versions.css
@@ -1,6 +1,7 @@
.versionsTabView .clear-float {
clear: both;
}
+
.versionsTabView li {
width: 100%;
cursor: default;
@@ -12,25 +13,30 @@
border-bottom: none;
}
-.versionsTabView li > * {
+.versionsTabView a,
+.versionsTabView div > span {
vertical-align: middle;
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
opacity: .5;
}
-.versionsTabView li > a,
-.versionsTabView li > span {
+.versionsTabView li a{
padding: 15px 10px 11px;
}
-.versionsTabView li > *:hover,
-.versionsTabView li > *:focus {
+.versionsTabView a:hover,
+.versionsTabView a:focus {
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
filter: alpha(opacity=100);
opacity: 1;
}
+.versionsTabView .preview-container {
+ display: inline-block;
+ vertical-align: top;
+}
+
.versionsTabView img {
cursor: pointer;
padding-right: 4px;
@@ -38,7 +44,10 @@
.versionsTabView img.preview {
cursor: default;
- opacity: 1;
+}
+
+.versionsTabView .version-container {
+ display: inline-block;
}
.versionsTabView .versiondate {
@@ -46,6 +55,14 @@
vertical-align: super;
}
+.versionsTabView .version-details {
+ text-align: left;
+}
+
+.versionsTabView .version-details > span {
+ padding: 0 10px;
+}
+
.versionsTabView .revertVersion {
cursor: pointer;
float: right;
diff --git a/apps/files_versions/js/versionstabview.js b/apps/files_versions/js/versionstabview.js
index 2e334edacb5..35abde6d34a 100644
--- a/apps/files_versions/js/versionstabview.js
+++ b/apps/files_versions/js/versionstabview.js
@@ -13,13 +13,26 @@
(function() {
var TEMPLATE_ITEM =
'<li data-revision="{{timestamp}}">' +
+ '<div>' +
+ '<div class="preview-container">' +
'<img class="preview" src="{{previewUrl}}"/>' +
+ '</div>' +
+ '<div class="version-container">' +
+ '<div>' +
'<a href="{{downloadUrl}}" class="downloadVersion"><img src="{{downloadIconUrl}}" />' +
'<span class="versiondate has-tooltip live-relative-timestamp" data-timestamp="{{millisecondsTimestamp}}" title="{{formattedTimestamp}}">{{relativeTimestamp}}</span>' +
'</a>' +
+ '</div>' +
+ '{{#hasDetails}}' +
+ '<div class="version-details">' +
+ '<span class="size has-tooltip" title="{{altSize}}">{{humanReadableSize}}</span>' +
+ '</div>' +
+ '{{/hasDetails}}' +
+ '</div>' +
'{{#canRevert}}' +
'<a href="#" class="revertVersion" title="{{revertLabel}}"><img src="{{revertIconUrl}}" /></a>' +
'{{/canRevert}}' +
+ '</div>' +
'</li>';
var TEMPLATE =
@@ -182,10 +195,14 @@
_formatItem: function(version) {
var timestamp = version.get('timestamp') * 1000;
+ var size = version.has('size') ? version.get('size') : 0;
return _.extend({
millisecondsTimestamp: timestamp,
formattedTimestamp: OC.Util.formatDate(timestamp),
relativeTimestamp: OC.Util.relativeModifiedDate(timestamp),
+ humanReadableSize: OC.Util.humanFileSize(size, true),
+ altSize: n('files', '%n byte', '%n bytes', size),
+ hasDetails: version.has('size'),
downloadUrl: version.getDownloadUrl(),
downloadIconUrl: OC.imagePath('core', 'actions/download'),
revertIconUrl: OC.imagePath('core', 'actions/history'),
diff --git a/apps/files_versions/l10n/bg_BG.js b/apps/files_versions/l10n/bg_BG.js
index cea297b6974..09b4ed63e0d 100644
--- a/apps/files_versions/l10n/bg_BG.js
+++ b/apps/files_versions/l10n/bg_BG.js
@@ -4,7 +4,7 @@ OC.L10N.register(
"Could not revert: %s" : "Грешка при връщане: %s",
"Versions" : "Версии",
"Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.",
- "Restore" : "Възтановяви",
+ "Restore" : "Възтановяване",
"No other versions available" : "Няма други налични версии",
"More versions..." : "Още версии..."
},
diff --git a/apps/files_versions/l10n/bg_BG.json b/apps/files_versions/l10n/bg_BG.json
index 826c7136d1a..339ea7b1a33 100644
--- a/apps/files_versions/l10n/bg_BG.json
+++ b/apps/files_versions/l10n/bg_BG.json
@@ -2,7 +2,7 @@
"Could not revert: %s" : "Грешка при връщане: %s",
"Versions" : "Версии",
"Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.",
- "Restore" : "Възтановяви",
+ "Restore" : "Възтановяване",
"No other versions available" : "Няма други налични версии",
"More versions..." : "Още версии..."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files_versions/tests/js/versionstabviewSpec.js b/apps/files_versions/tests/js/versionstabviewSpec.js
index 94285c93aba..9b788db1970 100644
--- a/apps/files_versions/tests/js/versionstabviewSpec.js
+++ b/apps/files_versions/tests/js/versionstabviewSpec.js
@@ -78,12 +78,14 @@ describe('OCA.Versions.VersionsTabView', function() {
var $item = $versions.eq(0);
expect($item.find('.downloadVersion').attr('href')).toEqual(version1.getDownloadUrl());
expect($item.find('.versiondate').text()).toEqual('seconds ago');
+ expect($item.find('.size').text()).toEqual('< 1 KB');
expect($item.find('.revertVersion').length).toEqual(1);
expect($item.find('.preview').attr('src')).toEqual(version1.getPreviewUrl());
$item = $versions.eq(1);
expect($item.find('.downloadVersion').attr('href')).toEqual(version2.getDownloadUrl());
expect($item.find('.versiondate').text()).toEqual('2 days ago');
+ expect($item.find('.size').text()).toEqual('< 1 KB');
expect($item.find('.revertVersion').length).toEqual(1);
expect($item.find('.preview').attr('src')).toEqual(version2.getPreviewUrl());
});
@@ -231,4 +233,3 @@ describe('OCA.Versions.VersionsTabView', function() {
});
});
});
-
diff --git a/apps/provisioning_api/appinfo/info.xml b/apps/provisioning_api/appinfo/info.xml
index 009bdca0c1e..0ebcee9a7f7 100644
--- a/apps/provisioning_api/appinfo/info.xml
+++ b/apps/provisioning_api/appinfo/info.xml
@@ -23,6 +23,6 @@
<prevent_group_restriction/>
</types>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
</info>
diff --git a/apps/sharebymail/appinfo/info.xml b/apps/sharebymail/appinfo/info.xml
index f1771fc9551..6c4882d349f 100644
--- a/apps/sharebymail/appinfo/info.xml
+++ b/apps/sharebymail/appinfo/info.xml
@@ -9,7 +9,7 @@
<namespace>ShareByMail</namespace>
<category>other</category>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<default_enable/>
</info>
diff --git a/apps/systemtags/appinfo/info.xml b/apps/systemtags/appinfo/info.xml
index 0a98d7ae680..3ed01d3d8c0 100644
--- a/apps/systemtags/appinfo/info.xml
+++ b/apps/systemtags/appinfo/info.xml
@@ -9,7 +9,7 @@
<default_enable/>
<version>1.1.3</version>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<namespace>SystemTags</namespace>
<types>
diff --git a/apps/systemtags/js/systemtagsfilelist.js b/apps/systemtags/js/systemtagsfilelist.js
index 56838018a2c..25f377785b7 100644
--- a/apps/systemtags/js/systemtagsfilelist.js
+++ b/apps/systemtags/js/systemtagsfilelist.js
@@ -115,6 +115,9 @@
escapeMarkup: function(m) {
// prevent double markup escape
return m;
+ },
+ formatNoMatches: function() {
+ return t('systemtags', 'No tags found');
}
});
this.$filterField.on('change', _.bind(this._onTagsChanged, this));
diff --git a/apps/systemtags/l10n/cs_CZ.js b/apps/systemtags/l10n/cs_CZ.js
index 2a9df127eac..a58f4456d74 100644
--- a/apps/systemtags/l10n/cs_CZ.js
+++ b/apps/systemtags/l10n/cs_CZ.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Select tag…" : "Zvolit značku…",
"Tagged files" : "Otagované soubory",
"Select tags to filter by" : "Vybrat tagy pro filtr",
+ "No tags found" : "Nebyly nalezeny žádné tagy",
"Please select tags to filter by" : "Vyberte prosím tagy pro filtrování",
"No files found for the selected tags" : "Nebyly nalezeny žádné soubory s vybranými tagy",
"<strong>System tags</strong> for a file have been modified" : "<strong>Systémové tagy</strong> souboru byly upraveny",
diff --git a/apps/systemtags/l10n/cs_CZ.json b/apps/systemtags/l10n/cs_CZ.json
index 2705db475c1..4c431198836 100644
--- a/apps/systemtags/l10n/cs_CZ.json
+++ b/apps/systemtags/l10n/cs_CZ.json
@@ -5,6 +5,7 @@
"Select tag…" : "Zvolit značku…",
"Tagged files" : "Otagované soubory",
"Select tags to filter by" : "Vybrat tagy pro filtr",
+ "No tags found" : "Nebyly nalezeny žádné tagy",
"Please select tags to filter by" : "Vyberte prosím tagy pro filtrování",
"No files found for the selected tags" : "Nebyly nalezeny žádné soubory s vybranými tagy",
"<strong>System tags</strong> for a file have been modified" : "<strong>Systémové tagy</strong> souboru byly upraveny",
diff --git a/apps/systemtags/l10n/de.js b/apps/systemtags/l10n/de.js
index 492ec7b6f7a..8539353929e 100644
--- a/apps/systemtags/l10n/de.js
+++ b/apps/systemtags/l10n/de.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Select tag…" : "Tag wählen",
"Tagged files" : "Mit Tags versehene Dateien",
"Select tags to filter by" : "Wähle Tags nach denen gefilter werden soll",
+ "No tags found" : "Keine Tags gefunden",
"Please select tags to filter by" : "Bitte wähle die Tags nach denen gefiltert werden soll",
"No files found for the selected tags" : "Keine Dateien für die ausgewählten Tags gefunden",
"<strong>System tags</strong> for a file have been modified" : "<strong>System-Tags</strong> für eine Datei sind geändert worden",
diff --git a/apps/systemtags/l10n/de.json b/apps/systemtags/l10n/de.json
index e0a676a305e..18e645fe551 100644
--- a/apps/systemtags/l10n/de.json
+++ b/apps/systemtags/l10n/de.json
@@ -5,6 +5,7 @@
"Select tag…" : "Tag wählen",
"Tagged files" : "Mit Tags versehene Dateien",
"Select tags to filter by" : "Wähle Tags nach denen gefilter werden soll",
+ "No tags found" : "Keine Tags gefunden",
"Please select tags to filter by" : "Bitte wähle die Tags nach denen gefiltert werden soll",
"No files found for the selected tags" : "Keine Dateien für die ausgewählten Tags gefunden",
"<strong>System tags</strong> for a file have been modified" : "<strong>System-Tags</strong> für eine Datei sind geändert worden",
diff --git a/apps/systemtags/l10n/de_DE.js b/apps/systemtags/l10n/de_DE.js
index 4b35bfd7dfc..e1dc3a6e9ce 100644
--- a/apps/systemtags/l10n/de_DE.js
+++ b/apps/systemtags/l10n/de_DE.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Select tag…" : "Tag wählen",
"Tagged files" : "Getaggte Dateien",
"Select tags to filter by" : "Wählen Sie Tags nach denen gefiltert werden soll",
+ "No tags found" : "Keine Tags gefunden",
"Please select tags to filter by" : "Bitte wählen Sie Tags nach denen gefiltert werden sollen",
"No files found for the selected tags" : "Keine Dateien für die ausgewählten Tags gefunden",
"<strong>System tags</strong> for a file have been modified" : "<strong>System-Tags</strong> für eine Datei sind geändert worden",
diff --git a/apps/systemtags/l10n/de_DE.json b/apps/systemtags/l10n/de_DE.json
index 64b59ec2e52..b5390340d05 100644
--- a/apps/systemtags/l10n/de_DE.json
+++ b/apps/systemtags/l10n/de_DE.json
@@ -5,6 +5,7 @@
"Select tag…" : "Tag wählen",
"Tagged files" : "Getaggte Dateien",
"Select tags to filter by" : "Wählen Sie Tags nach denen gefiltert werden soll",
+ "No tags found" : "Keine Tags gefunden",
"Please select tags to filter by" : "Bitte wählen Sie Tags nach denen gefiltert werden sollen",
"No files found for the selected tags" : "Keine Dateien für die ausgewählten Tags gefunden",
"<strong>System tags</strong> for a file have been modified" : "<strong>System-Tags</strong> für eine Datei sind geändert worden",
diff --git a/apps/systemtags/l10n/fr.js b/apps/systemtags/l10n/fr.js
index 1806e947a5b..75f2cebe771 100644
--- a/apps/systemtags/l10n/fr.js
+++ b/apps/systemtags/l10n/fr.js
@@ -4,18 +4,27 @@ OC.L10N.register(
"Tags" : "Étiquettes",
"Update" : "Mise à jour",
"Create" : "Créer",
- "Select tag…" : "Sélectionner une étiquette...",
+ "Select tag…" : "Sélectionner une étiquette…",
"Tagged files" : "Fichiers étiquetés",
"Select tags to filter by" : "Sélectionner les étiquettes par lesquelles filtrer",
+ "No tags found" : "Aucune étiquette trouvée",
"Please select tags to filter by" : "Veuillez sélectionner les étiquettes par lesquelles filtrer",
"No files found for the selected tags" : "Aucun fichier pour les étiquettes sélectionnées",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Les étiquettes systèmes</strong> pour un fichier ont été modifiées",
+ "<strong>System tags</strong> for a file have been modified" : "<strong>Les étiquettes collaboratives</strong> pour un fichier ont été modifiées",
+ "You added system tag %3$s" : "Vous avez ajouté l'étiquette collaborative %3$s",
+ "%1$s added system tag %3$s" : "%1$s a ajouté l'étiquette collaborative %3$s",
+ "You removed system tag %3$s" : "Vous avez supprimé l'étiquette collaborative %3$s",
+ "%1$s removed system tag %3$s" : "%1$s a supprimé l'étiquette collaborative %3$s",
"You created system tag %2$s" : "Vous avez créé l'étiquette collaborative %2$s",
- "%1$s created system tag %2$s" : "%1$s a créé l'étiquette système %2$s",
+ "%1$s created system tag %2$s" : "%1$s a créé l'étiquette collaborative %2$s",
"You deleted system tag %2$s" : "Vous avez supprimé l'étiquette collaborative %2$s",
"%1$s deleted system tag %2$s" : "%1$s a supprimé l'étiquette collaborative %2$s",
"You updated system tag %3$s to %2$s" : "Vous avez renommé l'étiquette collaborative %3$s en %2$s",
"%1$s updated system tag %3$s to %2$s" : "%1$s a renommé l'étiquette collaborative %3$s en %2$s",
+ "You added system tag %3$s to %2$s" : "Vous avez ajouté l'étiquette collaborative %3$s à %2$s",
+ "%1$s added system tag %3$s to %2$s" : "%1$s a ajouté l'étiquette collaborative %3$s à %2$s",
+ "You removed system tag %3$s from %2$s" : "Vous avez supprimé l'étiquette collaborative %3$s de %2$s",
+ "%1$s removed system tag %3$s from %2$s" : "%1$s a supprimé l'étiquette collaborative %3$s de %2$s",
"%s (restricted)" : "%s (restreint)",
"%s (invisible)" : "%s (invisible)",
"Collaborative tags" : "Étiquettes collaboratives ",
@@ -30,13 +39,13 @@ OC.L10N.register(
"Size" : "Taille",
"Modified" : "Modifié",
"You assigned system tag %3$s" : "Vous avez attribué l'étiquette collaborative %3$s",
- "%1$s assigned system tag %3$s" : "%1$s a attribué l'étiquette système %3$s",
+ "%1$s assigned system tag %3$s" : "%1$s a attribué l'étiquette collaborative %3$s",
"You unassigned system tag %3$s" : "Vous avez retiré l'étiquette collaborative %3$s",
- "%1$s unassigned system tag %3$s" : "%1$s a retiré l'étiquette système %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s a retiré l'étiquette collaborative %3$s",
"You assigned system tag %3$s to %2$s" : "Vous avez attribué l'étiquette collaborative %3$s à %2$s",
"%1$s assigned system tag %3$s to %2$s" : "%1$s a attribué l'étiquette collaborative %3$s à %2$s",
- "You unassigned system tag %3$s from %2$s" : "Vous avez retiré l'étiquette collaborative %3$s à %2$s",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s a retiré l'étiquette collaborative %3$s à %2$s",
+ "You unassigned system tag %3$s from %2$s" : "Vous avez retiré l'étiquette collaborative %3$s de %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s a retiré l'étiquette collaborative %3$s de %2$s",
"%s (not-assignable)" : "%s (non assignable)"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/systemtags/l10n/fr.json b/apps/systemtags/l10n/fr.json
index 5b67bb86577..840f2db168b 100644
--- a/apps/systemtags/l10n/fr.json
+++ b/apps/systemtags/l10n/fr.json
@@ -2,18 +2,27 @@
"Tags" : "Étiquettes",
"Update" : "Mise à jour",
"Create" : "Créer",
- "Select tag…" : "Sélectionner une étiquette...",
+ "Select tag…" : "Sélectionner une étiquette…",
"Tagged files" : "Fichiers étiquetés",
"Select tags to filter by" : "Sélectionner les étiquettes par lesquelles filtrer",
+ "No tags found" : "Aucune étiquette trouvée",
"Please select tags to filter by" : "Veuillez sélectionner les étiquettes par lesquelles filtrer",
"No files found for the selected tags" : "Aucun fichier pour les étiquettes sélectionnées",
- "<strong>System tags</strong> for a file have been modified" : "<strong>Les étiquettes systèmes</strong> pour un fichier ont été modifiées",
+ "<strong>System tags</strong> for a file have been modified" : "<strong>Les étiquettes collaboratives</strong> pour un fichier ont été modifiées",
+ "You added system tag %3$s" : "Vous avez ajouté l'étiquette collaborative %3$s",
+ "%1$s added system tag %3$s" : "%1$s a ajouté l'étiquette collaborative %3$s",
+ "You removed system tag %3$s" : "Vous avez supprimé l'étiquette collaborative %3$s",
+ "%1$s removed system tag %3$s" : "%1$s a supprimé l'étiquette collaborative %3$s",
"You created system tag %2$s" : "Vous avez créé l'étiquette collaborative %2$s",
- "%1$s created system tag %2$s" : "%1$s a créé l'étiquette système %2$s",
+ "%1$s created system tag %2$s" : "%1$s a créé l'étiquette collaborative %2$s",
"You deleted system tag %2$s" : "Vous avez supprimé l'étiquette collaborative %2$s",
"%1$s deleted system tag %2$s" : "%1$s a supprimé l'étiquette collaborative %2$s",
"You updated system tag %3$s to %2$s" : "Vous avez renommé l'étiquette collaborative %3$s en %2$s",
"%1$s updated system tag %3$s to %2$s" : "%1$s a renommé l'étiquette collaborative %3$s en %2$s",
+ "You added system tag %3$s to %2$s" : "Vous avez ajouté l'étiquette collaborative %3$s à %2$s",
+ "%1$s added system tag %3$s to %2$s" : "%1$s a ajouté l'étiquette collaborative %3$s à %2$s",
+ "You removed system tag %3$s from %2$s" : "Vous avez supprimé l'étiquette collaborative %3$s de %2$s",
+ "%1$s removed system tag %3$s from %2$s" : "%1$s a supprimé l'étiquette collaborative %3$s de %2$s",
"%s (restricted)" : "%s (restreint)",
"%s (invisible)" : "%s (invisible)",
"Collaborative tags" : "Étiquettes collaboratives ",
@@ -28,13 +37,13 @@
"Size" : "Taille",
"Modified" : "Modifié",
"You assigned system tag %3$s" : "Vous avez attribué l'étiquette collaborative %3$s",
- "%1$s assigned system tag %3$s" : "%1$s a attribué l'étiquette système %3$s",
+ "%1$s assigned system tag %3$s" : "%1$s a attribué l'étiquette collaborative %3$s",
"You unassigned system tag %3$s" : "Vous avez retiré l'étiquette collaborative %3$s",
- "%1$s unassigned system tag %3$s" : "%1$s a retiré l'étiquette système %3$s",
+ "%1$s unassigned system tag %3$s" : "%1$s a retiré l'étiquette collaborative %3$s",
"You assigned system tag %3$s to %2$s" : "Vous avez attribué l'étiquette collaborative %3$s à %2$s",
"%1$s assigned system tag %3$s to %2$s" : "%1$s a attribué l'étiquette collaborative %3$s à %2$s",
- "You unassigned system tag %3$s from %2$s" : "Vous avez retiré l'étiquette collaborative %3$s à %2$s",
- "%1$s unassigned system tag %3$s from %2$s" : "%1$s a retiré l'étiquette collaborative %3$s à %2$s",
+ "You unassigned system tag %3$s from %2$s" : "Vous avez retiré l'étiquette collaborative %3$s de %2$s",
+ "%1$s unassigned system tag %3$s from %2$s" : "%1$s a retiré l'étiquette collaborative %3$s de %2$s",
"%s (not-assignable)" : "%s (non assignable)"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/systemtags/l10n/hu_HU.js b/apps/systemtags/l10n/hu_HU.js
index a1f537f879c..3117a6727f9 100644
--- a/apps/systemtags/l10n/hu_HU.js
+++ b/apps/systemtags/l10n/hu_HU.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Select tag…" : "Címke választás...",
"Tagged files" : "Címkézett fájlok",
"Select tags to filter by" : "Kiválasztott címkék a szűrő által:",
+ "No tags found" : "Nem találhatók címkék",
"Please select tags to filter by" : "Kéjük, válasszon ki címkét a szűréshez:",
"No files found for the selected tags" : "Nem található fájl a kiválasztott címkéhez.",
"<strong>System tags</strong> for a file have been modified" : "A fájl <strong>rendszer címkéje</strong> módosítva lett",
diff --git a/apps/systemtags/l10n/hu_HU.json b/apps/systemtags/l10n/hu_HU.json
index acda5acdabb..b01bb83c104 100644
--- a/apps/systemtags/l10n/hu_HU.json
+++ b/apps/systemtags/l10n/hu_HU.json
@@ -5,6 +5,7 @@
"Select tag…" : "Címke választás...",
"Tagged files" : "Címkézett fájlok",
"Select tags to filter by" : "Kiválasztott címkék a szűrő által:",
+ "No tags found" : "Nem találhatók címkék",
"Please select tags to filter by" : "Kéjük, válasszon ki címkét a szűréshez:",
"No files found for the selected tags" : "Nem található fájl a kiválasztott címkéhez.",
"<strong>System tags</strong> for a file have been modified" : "A fájl <strong>rendszer címkéje</strong> módosítva lett",
diff --git a/apps/systemtags/l10n/it.js b/apps/systemtags/l10n/it.js
index fc0f1760311..f888d641ccd 100644
--- a/apps/systemtags/l10n/it.js
+++ b/apps/systemtags/l10n/it.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Select tag…" : "Seleziona etichetta...",
"Tagged files" : "File etichettati",
"Select tags to filter by" : "Seleziona le etichette per filtrare",
+ "No tags found" : "Nessuna etichetta trovata",
"Please select tags to filter by" : "Seleziona le etichette per filtrare",
"No files found for the selected tags" : "Nessun file trovato per le etichette selezionate",
"<strong>System tags</strong> for a file have been modified" : "Le <strong>etichette di sistema</strong> per un file sono state modificate",
diff --git a/apps/systemtags/l10n/it.json b/apps/systemtags/l10n/it.json
index 0ec6bba1f65..9ac5a2955f5 100644
--- a/apps/systemtags/l10n/it.json
+++ b/apps/systemtags/l10n/it.json
@@ -5,6 +5,7 @@
"Select tag…" : "Seleziona etichetta...",
"Tagged files" : "File etichettati",
"Select tags to filter by" : "Seleziona le etichette per filtrare",
+ "No tags found" : "Nessuna etichetta trovata",
"Please select tags to filter by" : "Seleziona le etichette per filtrare",
"No files found for the selected tags" : "Nessun file trovato per le etichette selezionate",
"<strong>System tags</strong> for a file have been modified" : "Le <strong>etichette di sistema</strong> per un file sono state modificate",
diff --git a/apps/systemtags/l10n/nl.js b/apps/systemtags/l10n/nl.js
index da07439d6d5..e7292e883be 100644
--- a/apps/systemtags/l10n/nl.js
+++ b/apps/systemtags/l10n/nl.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Select tag…" : "Selecteren markering…",
"Tagged files" : "Gemarkeerde bestanden",
"Select tags to filter by" : "Selecteer markering om op te filteren",
+ "No tags found" : "Geen tags gevonden",
"Please select tags to filter by" : "Selecteer markeringen om op te filteren",
"No files found for the selected tags" : "Geen bestanden gevonden voor de geselecteerde markeringen",
"<strong>System tags</strong> for a file have been modified" : "<strong>Systeemmarkeringen</strong> voor een bestand zijn gewijzigd",
diff --git a/apps/systemtags/l10n/nl.json b/apps/systemtags/l10n/nl.json
index 3fa3fdf24d8..7895bb4ff27 100644
--- a/apps/systemtags/l10n/nl.json
+++ b/apps/systemtags/l10n/nl.json
@@ -5,6 +5,7 @@
"Select tag…" : "Selecteren markering…",
"Tagged files" : "Gemarkeerde bestanden",
"Select tags to filter by" : "Selecteer markering om op te filteren",
+ "No tags found" : "Geen tags gevonden",
"Please select tags to filter by" : "Selecteer markeringen om op te filteren",
"No files found for the selected tags" : "Geen bestanden gevonden voor de geselecteerde markeringen",
"<strong>System tags</strong> for a file have been modified" : "<strong>Systeemmarkeringen</strong> voor een bestand zijn gewijzigd",
diff --git a/apps/testing/appinfo/info.xml b/apps/testing/appinfo/info.xml
index 0acccf357fb..41b07447d55 100644
--- a/apps/testing/appinfo/info.xml
+++ b/apps/testing/appinfo/info.xml
@@ -7,6 +7,6 @@
<author>Joas Schilling</author>
<version>1.1.0</version>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
</info>
diff --git a/apps/theming/appinfo/info.xml b/apps/theming/appinfo/info.xml
index 423d11d2aef..3a8867dc6f4 100644
--- a/apps/theming/appinfo/info.xml
+++ b/apps/theming/appinfo/info.xml
@@ -10,7 +10,7 @@
<category>other</category>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<types>
diff --git a/apps/theming/css/settings-admin.css b/apps/theming/css/settings-admin.css
index 5d2b08f5e43..60b9c080ad6 100644
--- a/apps/theming/css/settings-admin.css
+++ b/apps/theming/css/settings-admin.css
@@ -6,12 +6,30 @@
display: none;
}
+#theming div > label {
+ position: relative;
+}
+
#theming .theme-undo {
+ position: absolute;
+ top: -7px;
+ right: 7px;
cursor: pointer;
- opacity: .5;
- padding: 11px 5px;
+ opacity: .3;
+ padding: 7px;
vertical-align: top;
display: inline-block;
+ visibility: hidden;
+}
+#theming form .theme-undo {
+ position: relative;
+ top: 4px;
+ left: 158px;
+ visibility: visible;
+}
+#theming input[type='text']:focus + .theme-undo,
+#theming input[type='text']:active + .theme-undo {
+ visibility: visible;
}
#theming .icon-loading-small:after {
@@ -48,4 +66,4 @@ div#theming_settings_msg {
max-width: 20%;
max-height: 20%;
margin-top: 20px;
-} \ No newline at end of file
+}
diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php
index f274d245887..09b4a14f2b0 100644
--- a/apps/theming/lib/Controller/ThemingController.php
+++ b/apps/theming/lib/Controller/ThemingController.php
@@ -319,7 +319,7 @@ class ThemingController extends Controller {
$responseCss .= sprintf('input[type="checkbox"].checkbox:checked:enabled:not(.checkbox--white) + label:before {' .
'background-image:url(\'%s/core/img/actions/checkmark-white.svg\');' .
'background-color: %s; background-position: center center; background-size:contain;' .
- 'width:12px; height:12px; padding:0; margin:2px 6px 6px 9px; border-radius:1px;' .
+ 'width:12px; height:12px; padding:0; margin:2px 6px 6px 2px; border-radius:1px;' .
"}\n",
\OC::$WEBROOT,
$elementColor
diff --git a/apps/theming/templates/settings-admin.php b/apps/theming/templates/settings-admin.php
index b6c97040230..013b3bcf34f 100644
--- a/apps/theming/templates/settings-admin.php
+++ b/apps/theming/templates/settings-admin.php
@@ -34,50 +34,55 @@ style('theming', 'settings-admin');
<?php p($_['errorMessage']) ?>
</p>
<?php } else { ?>
- <p>
- <label><span><?php p($l->t('Name')) ?></span>
+ <div>
+ <label>
+ <span><?php p($l->t('Name')) ?></span>
<input id="theming-name" type="text" placeholder="<?php p($l->t('Name')); ?>" value="<?php p($_['name']) ?>" maxlength="250" />
+ <div data-setting="name" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></div>
</label>
- <span data-setting="name" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></span>
- </p>
- <p>
- <label><span><?php p($l->t('Web address')) ?></span>
+ </div>
+ <div>
+ <label>
+ <span><?php p($l->t('Web address')) ?></span>
<input id="theming-url" type="text" placeholder="<?php p($l->t('Web address https://…')); ?>" value="<?php p($_['url']) ?>" maxlength="500" />
+ <div data-setting="url" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></div>
</label>
- <span data-setting="url" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></span>
- </p>
- <p>
- <label><span><?php p($l->t('Slogan')) ?></span>
+ </div>
+ <div>
+ <label>
+ <span><?php p($l->t('Slogan')) ?></span>
<input id="theming-slogan" type="text" placeholder="<?php p($l->t('Slogan')); ?>" value="<?php p($_['slogan']) ?>" maxlength="500" />
+ <div data-setting="slogan" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></div>
</label>
- <span data-setting="slogan" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></span>
- </p>
- <p>
- <label><span><?php p($l->t('Color')) ?></span>
+ </div>
+ <div>
+ <label>
+ <span><?php p($l->t('Color')) ?></span>
<input id="theming-color" type="text" class="jscolor" maxlength="6" value="<?php p($_['color']) ?>" />
+ <div data-setting="color" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></div>
</label>
- <span data-setting="color" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></span>
- </p>
- <p>
- <form class="uploadButton" method="post" action="<?php p($_['uploadLogoRoute']) ?>">
+ </div>
+ <div>
+ <form class="uploadButton inlineblock" method="post" action="<?php p($_['uploadLogoRoute']) ?>">
<input type="hidden" id="current-logoMime" name="current-logoMime" value="<?php p($_['logoMime']); ?>" />
<label for="uploadlogo"><span><?php p($l->t('Logo')) ?></span></label>
<input id="uploadlogo" class="upload-logo-field" name="uploadlogo" type="file" />
<label for="uploadlogo" class="button icon-upload svg" id="uploadlogo" title="<?php p($l->t('Upload new logo')) ?>"></label>
- <span data-setting="logoMime" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></span>
+ <div data-setting="logoMime" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></div>
</form>
- </p>
- <p>
- <form class="uploadButton" method="post" action="<?php p($_['uploadLogoRoute']) ?>">
+ </div>
+ <div>
+ <form class="uploadButton inlineblock" method="post" action="<?php p($_['uploadLogoRoute']) ?>">
<input type="hidden" id="current-backgroundMime" name="current-backgroundMime" value="<?php p($_['backgroundMime']); ?>" />
<label for="upload-login-background"><span><?php p($l->t('Log in image')) ?></span></label>
<input id="upload-login-background" class="upload-logo-field" name="upload-login-background" type="file">
<label for="upload-login-background" class="button icon-upload svg" id="upload-login-background" title="<?php p($l->t("Upload new login background")) ?>"></label>
- <span data-setting="backgroundMime" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></span>
+ <div data-setting="backgroundMime" data-toggle="tooltip" data-original-title="<?php p($l->t('reset to default')); ?>" class="theme-undo icon icon-history"></div>
</form>
- </p>
- <div id="theming-preview" style="background-color:<?php p($_['color']);?>; background-image:url(<?php p($_['background']); ?>);">
- <img src="<?php p($_['logo']); ?>" id="theming-preview-logo" />
- </div>
+ </div>
+
+ <div id="theming-preview" style="background-color:<?php p($_['color']);?>; background-image:url(<?php p($_['background']); ?>);">
+ <img src="<?php p($_['logo']); ?>" id="theming-preview-logo" />
+ </div>
<?php } ?>
</div>
diff --git a/apps/theming/tests/Controller/ThemingControllerTest.php b/apps/theming/tests/Controller/ThemingControllerTest.php
index 4325e1988b2..d9d5005e25f 100644
--- a/apps/theming/tests/Controller/ThemingControllerTest.php
+++ b/apps/theming/tests/Controller/ThemingControllerTest.php
@@ -428,7 +428,7 @@ class ThemingControllerTest extends TestCase {
$expectedData .= sprintf('input[type="checkbox"].checkbox:checked:enabled:not(.checkbox--white) + label:before {' .
'background-image:url(\'%s/core/img/actions/checkmark-white.svg\');' .
'background-color: %s; background-position: center center; background-size:contain;' .
- 'width:12px; height:12px; padding:0; margin:2px 6px 6px 9px; border-radius:1px;' .
+ 'width:12px; height:12px; padding:0; margin:2px 6px 6px 2px; border-radius:1px;' .
"}\n",
\OC::$WEBROOT,
$color
@@ -517,7 +517,7 @@ class ThemingControllerTest extends TestCase {
$expectedData .= sprintf('input[type="checkbox"].checkbox:checked:enabled:not(.checkbox--white) + label:before {' .
'background-image:url(\'%s/core/img/actions/checkmark-white.svg\');' .
'background-color: #555555; background-position: center center; background-size:contain;' .
- 'width:12px; height:12px; padding:0; margin:2px 6px 6px 9px; border-radius:1px;' .
+ 'width:12px; height:12px; padding:0; margin:2px 6px 6px 2px; border-radius:1px;' .
"}\n",
\OC::$WEBROOT
);
@@ -691,7 +691,7 @@ class ThemingControllerTest extends TestCase {
$expectedData .= sprintf('input[type="checkbox"].checkbox:checked:enabled:not(.checkbox--white) + label:before {' .
'background-image:url(\'%s/core/img/actions/checkmark-white.svg\');' .
'background-color: %s; background-position: center center; background-size:contain;' .
- 'width:12px; height:12px; padding:0; margin:2px 6px 6px 9px; border-radius:1px;' .
+ 'width:12px; height:12px; padding:0; margin:2px 6px 6px 2px; border-radius:1px;' .
"}\n",
\OC::$WEBROOT,
$color
@@ -797,7 +797,7 @@ class ThemingControllerTest extends TestCase {
$expectedData .= sprintf('input[type="checkbox"].checkbox:checked:enabled:not(.checkbox--white) + label:before {' .
'background-image:url(\'%s/core/img/actions/checkmark-white.svg\');' .
'background-color: #555555; background-position: center center; background-size:contain;' .
- 'width:12px; height:12px; padding:0; margin:2px 6px 6px 9px; border-radius:1px;' .
+ 'width:12px; height:12px; padding:0; margin:2px 6px 6px 2px; border-radius:1px;' .
"}\n",
\OC::$WEBROOT
);
diff --git a/apps/twofactor_backupcodes/appinfo/info.xml b/apps/twofactor_backupcodes/appinfo/info.xml
index 7b9ef2d90e4..d5dd3f4db9e 100644
--- a/apps/twofactor_backupcodes/appinfo/info.xml
+++ b/apps/twofactor_backupcodes/appinfo/info.xml
@@ -14,6 +14,6 @@
</two-factor-providers>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
</info>
diff --git a/apps/twofactor_backupcodes/l10n/ja.js b/apps/twofactor_backupcodes/l10n/ja.js
new file mode 100644
index 00000000000..b9fb61e74bf
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ja.js
@@ -0,0 +1,17 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "Generate backup codes" : "バックアップコードを生成する",
+ "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "バックアップコードが生成されました。 {{total}} 中の {{used}} コードが使用されています。",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "これらはあなたのバックアップコードです。 後からこのコードは見ることはできないので、保存するか印刷しておいてください",
+ "Save backup codes" : "バックアップコードを保存",
+ "Print backup codes" : "バックアップコードを印刷",
+ "Regenerate backup codes" : "バックアップコードを再生成",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "バックアップコードを再生成すると、自動的に古いコードが無効になります。",
+ "An error occurred while generating your backup codes" : "バックアップコードの生成中にエラーが発生しました",
+ "Nextcloud backup codes" : "Nextcloud バックアップコード",
+ "Backup code" : "バックアップコード",
+ "Use backup code" : "バックアップコードを使用する",
+ "Second-factor backup codes" : "第2因子バックアップコード"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/twofactor_backupcodes/l10n/ja.json b/apps/twofactor_backupcodes/l10n/ja.json
new file mode 100644
index 00000000000..1d01299981f
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ja.json
@@ -0,0 +1,15 @@
+{ "translations": {
+ "Generate backup codes" : "バックアップコードを生成する",
+ "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "バックアップコードが生成されました。 {{total}} 中の {{used}} コードが使用されています。",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "これらはあなたのバックアップコードです。 後からこのコードは見ることはできないので、保存するか印刷しておいてください",
+ "Save backup codes" : "バックアップコードを保存",
+ "Print backup codes" : "バックアップコードを印刷",
+ "Regenerate backup codes" : "バックアップコードを再生成",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "バックアップコードを再生成すると、自動的に古いコードが無効になります。",
+ "An error occurred while generating your backup codes" : "バックアップコードの生成中にエラーが発生しました",
+ "Nextcloud backup codes" : "Nextcloud バックアップコード",
+ "Backup code" : "バックアップコード",
+ "Use backup code" : "バックアップコードを使用する",
+ "Second-factor backup codes" : "第2因子バックアップコード"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/ru.js b/apps/twofactor_backupcodes/l10n/ru.js
new file mode 100644
index 00000000000..ac137fb48d6
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ru.js
@@ -0,0 +1,17 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "Generate backup codes" : "Генерировать код восстановления",
+ "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Резервные коды были созданы. Использовано {{used}} из {{total}} кодов.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Это ваши резервные коды доступа. Пожалуйста, сохраните и/или распечатайте их, так как вы не сможете увидеть эти коды снова.",
+ "Save backup codes" : "Сохранить код восстановления",
+ "Print backup codes" : "Распечатать резервные коды",
+ "Regenerate backup codes" : "Пересоздать коды восстановления",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Если перевыпустить коды восстановления, то старые автоматически становятся не активными.",
+ "An error occurred while generating your backup codes" : "Произошла ошибка при создании резервных кодов",
+ "Nextcloud backup codes" : "Резервные коды Nextcloud",
+ "Backup code" : "Код восстановления",
+ "Use backup code" : "Использовать код восстановления",
+ "Second-factor backup codes" : "Резервные коды двухфакторной аутентификации"
+},
+"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/twofactor_backupcodes/l10n/ru.json b/apps/twofactor_backupcodes/l10n/ru.json
new file mode 100644
index 00000000000..1c5dd43437f
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/ru.json
@@ -0,0 +1,15 @@
+{ "translations": {
+ "Generate backup codes" : "Генерировать код восстановления",
+ "Backup codes have been generated. {{used}} of {{total}} codes have been used." : "Резервные коды были созданы. Использовано {{used}} из {{total}} кодов.",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Это ваши резервные коды доступа. Пожалуйста, сохраните и/или распечатайте их, так как вы не сможете увидеть эти коды снова.",
+ "Save backup codes" : "Сохранить код восстановления",
+ "Print backup codes" : "Распечатать резервные коды",
+ "Regenerate backup codes" : "Пересоздать коды восстановления",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Если перевыпустить коды восстановления, то старые автоматически становятся не активными.",
+ "An error occurred while generating your backup codes" : "Произошла ошибка при создании резервных кодов",
+ "Nextcloud backup codes" : "Резервные коды Nextcloud",
+ "Backup code" : "Код восстановления",
+ "Use backup code" : "Использовать код восстановления",
+ "Second-factor backup codes" : "Резервные коды двухфакторной аутентификации"
+},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
+} \ No newline at end of file
diff --git a/apps/updatenotification/appinfo/info.xml b/apps/updatenotification/appinfo/info.xml
index 2fe400a3587..4cd84ac827b 100644
--- a/apps/updatenotification/appinfo/info.xml
+++ b/apps/updatenotification/appinfo/info.xml
@@ -9,7 +9,7 @@
<namespace>UpdateNotification</namespace>
<default_enable/>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<background-jobs>
diff --git a/apps/updatenotification/js/admin.js b/apps/updatenotification/js/admin.js
index 813ec48c87a..589765348af 100644
--- a/apps/updatenotification/js/admin.js
+++ b/apps/updatenotification/js/admin.js
@@ -72,4 +72,6 @@ $(document).ready(function(){
groups = JSON.stringify(groups);
OCP.AppConfig.setValue('updatenotification', 'notify_groups', groups);
});
+
+ $('#oca_updatenotification_section .icon-info').tooltip({placement: 'right'});
});
diff --git a/apps/updatenotification/l10n/ru.js b/apps/updatenotification/l10n/ru.js
index efae143234f..3d9cfe465e7 100644
--- a/apps/updatenotification/l10n/ru.js
+++ b/apps/updatenotification/l10n/ru.js
@@ -9,7 +9,7 @@ OC.L10N.register(
"Update for %1$s to version %2$s is available." : "Доступно обновление для %1$s до версии %2$s.",
"A new version is available: %s" : "Доступна новая версия: %s",
"Open updater" : "Открыть окно обновления",
- "Download now" : "Загрузить сейчас",
+ "Download now" : "Скачать сейчас",
"Your version is up to date." : "Версия не требует обновления.",
"Checked on %s" : "Проверено %s",
"Update channel:" : "Канал обновлений:",
diff --git a/apps/updatenotification/l10n/ru.json b/apps/updatenotification/l10n/ru.json
index 0d51af107e0..1568dfa1e35 100644
--- a/apps/updatenotification/l10n/ru.json
+++ b/apps/updatenotification/l10n/ru.json
@@ -7,7 +7,7 @@
"Update for %1$s to version %2$s is available." : "Доступно обновление для %1$s до версии %2$s.",
"A new version is available: %s" : "Доступна новая версия: %s",
"Open updater" : "Открыть окно обновления",
- "Download now" : "Загрузить сейчас",
+ "Download now" : "Скачать сейчас",
"Your version is up to date." : "Версия не требует обновления.",
"Checked on %s" : "Проверено %s",
"Update channel:" : "Канал обновлений:",
diff --git a/apps/user_ldap/appinfo/info.xml b/apps/user_ldap/appinfo/info.xml
index b16824925c0..87eb61a0fba 100644
--- a/apps/user_ldap/appinfo/info.xml
+++ b/apps/user_ldap/appinfo/info.xml
@@ -18,7 +18,7 @@ A user logs into ownCloud with their LDAP or AD credentials, and is granted acce
</documentation>
<dependencies>
<lib>ldap</lib>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<namespace>User_LDAP</namespace>
diff --git a/apps/workflowengine/appinfo/info.xml b/apps/workflowengine/appinfo/info.xml
index aae234cc717..83f4be9e398 100644
--- a/apps/workflowengine/appinfo/info.xml
+++ b/apps/workflowengine/appinfo/info.xml
@@ -18,7 +18,7 @@
</types>
<dependencies>
- <owncloud min-version="9.2" max-version="9.2" />
+ <nextcloud min-version="11" max-version="11" />
</dependencies>
<settings>
diff --git a/apps/workflowengine/l10n/fr.js b/apps/workflowengine/l10n/fr.js
new file mode 100644
index 00000000000..8c9a7f2eed0
--- /dev/null
+++ b/apps/workflowengine/l10n/fr.js
@@ -0,0 +1,60 @@
+OC.L10N.register(
+ "workflowengine",
+ {
+ "Successfully saved" : "Enregistré avec succès",
+ "Saving failed:" : "L'enregistrement a échoué:",
+ "File mime type" : "Type MIME du fichier",
+ "is" : "est",
+ "is not" : "n'est pas",
+ "matches" : "correspond",
+ "does not match" : "ne correspond pas",
+ "Example: {placeholder}" : "Exemple: {placeholder}",
+ "File size (upload)" : "Taille du fichier ( à télécharger )",
+ "less" : "moins",
+ "less or equals" : "inférieur ou égal",
+ "greater or equals" : "supérieur ou égal",
+ "greater" : "plus grand que",
+ "File system tag" : "Étiquette collaborative du fichier",
+ "is tagged with" : "est étiqueté avec",
+ "is not tagged with" : "n'est pas étiqueté avec",
+ "Select tag…" : "Sélectionner une étiquette...",
+ "Request remote address" : "Demander une adresse distante",
+ "Request time" : "Temps de requête",
+ "between" : "entre",
+ "not between" : "en dehors de",
+ "Start" : "Commencer",
+ "End" : "Fin",
+ "Select timezone…" : "Sélectionner le fuseau horaire...",
+ "Request URL" : "Demande d'URL",
+ "Predefined URLs" : "URL prédéfinis",
+ "Files WebDAV" : "Fichiers WebDAV",
+ "Request user agent" : "Agent utilisateur requis",
+ "Sync clients" : "Clients de synchronisation",
+ "Android client" : "Client Android",
+ "iOS client" : "Client iOS",
+ "Desktop client" : "Client de bureau",
+ "is member of" : "est membre de",
+ "is not member of" : "n'est pas membre de",
+ "The given operator is invalid" : "L'opérateur donné est invalide",
+ "The given regular expression is invalid" : "L'expression régulière donnée est invalide",
+ "The given file size is invalid" : "La taille du fichier donné est invalide",
+ "The given tag id is invalid" : "L’identifiant de l'étiquette donné est invalide",
+ "The given IP range is invalid" : "La plage d'adresse IP donnée est invalide",
+ "The given IP range is not valid for IPv4" : "La plage d'adresse IP donnée n'est pas valide pour l'IPv4",
+ "The given IP range is not valid for IPv6" : "La plage d'adresse IP donnée n'est pas valide pour l'IPv6",
+ "The given start time is invalid" : "La date de début est invalide",
+ "The given end time is invalid" : "La date de fin est invalide",
+ "The given group does not exist" : "Le groupe donné n'existe pas",
+ "Check %s is invalid or does not exist" : "Vérifiez si %s est invalide ou n'existe pas",
+ "Operation #%s does not exist" : "L'opération #%s n'existe pas",
+ "Operation %s does not exist" : "L'opération %s n'existe pas",
+ "Operation %s is invalid" : "L'opération %s est invalide",
+ "Open documentation" : "Voir la documentation",
+ "Add rule group" : "Ajouter une règle de groupe",
+ "Add rule" : "Ajouter règle",
+ "Reset" : "Réinitialiser",
+ "Save" : "Enregistrer",
+ "Saving…" : "Enregistrement...",
+ "Loading…" : "Chargement..."
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/workflowengine/l10n/fr.json b/apps/workflowengine/l10n/fr.json
new file mode 100644
index 00000000000..099be959b7a
--- /dev/null
+++ b/apps/workflowengine/l10n/fr.json
@@ -0,0 +1,58 @@
+{ "translations": {
+ "Successfully saved" : "Enregistré avec succès",
+ "Saving failed:" : "L'enregistrement a échoué:",
+ "File mime type" : "Type MIME du fichier",
+ "is" : "est",
+ "is not" : "n'est pas",
+ "matches" : "correspond",
+ "does not match" : "ne correspond pas",
+ "Example: {placeholder}" : "Exemple: {placeholder}",
+ "File size (upload)" : "Taille du fichier ( à télécharger )",
+ "less" : "moins",
+ "less or equals" : "inférieur ou égal",
+ "greater or equals" : "supérieur ou égal",
+ "greater" : "plus grand que",
+ "File system tag" : "Étiquette collaborative du fichier",
+ "is tagged with" : "est étiqueté avec",
+ "is not tagged with" : "n'est pas étiqueté avec",
+ "Select tag…" : "Sélectionner une étiquette...",
+ "Request remote address" : "Demander une adresse distante",
+ "Request time" : "Temps de requête",
+ "between" : "entre",
+ "not between" : "en dehors de",
+ "Start" : "Commencer",
+ "End" : "Fin",
+ "Select timezone…" : "Sélectionner le fuseau horaire...",
+ "Request URL" : "Demande d'URL",
+ "Predefined URLs" : "URL prédéfinis",
+ "Files WebDAV" : "Fichiers WebDAV",
+ "Request user agent" : "Agent utilisateur requis",
+ "Sync clients" : "Clients de synchronisation",
+ "Android client" : "Client Android",
+ "iOS client" : "Client iOS",
+ "Desktop client" : "Client de bureau",
+ "is member of" : "est membre de",
+ "is not member of" : "n'est pas membre de",
+ "The given operator is invalid" : "L'opérateur donné est invalide",
+ "The given regular expression is invalid" : "L'expression régulière donnée est invalide",
+ "The given file size is invalid" : "La taille du fichier donné est invalide",
+ "The given tag id is invalid" : "L’identifiant de l'étiquette donné est invalide",
+ "The given IP range is invalid" : "La plage d'adresse IP donnée est invalide",
+ "The given IP range is not valid for IPv4" : "La plage d'adresse IP donnée n'est pas valide pour l'IPv4",
+ "The given IP range is not valid for IPv6" : "La plage d'adresse IP donnée n'est pas valide pour l'IPv6",
+ "The given start time is invalid" : "La date de début est invalide",
+ "The given end time is invalid" : "La date de fin est invalide",
+ "The given group does not exist" : "Le groupe donné n'existe pas",
+ "Check %s is invalid or does not exist" : "Vérifiez si %s est invalide ou n'existe pas",
+ "Operation #%s does not exist" : "L'opération #%s n'existe pas",
+ "Operation %s does not exist" : "L'opération %s n'existe pas",
+ "Operation %s is invalid" : "L'opération %s est invalide",
+ "Open documentation" : "Voir la documentation",
+ "Add rule group" : "Ajouter une règle de groupe",
+ "Add rule" : "Ajouter règle",
+ "Reset" : "Réinitialiser",
+ "Save" : "Enregistrer",
+ "Saving…" : "Enregistrement...",
+ "Loading…" : "Chargement..."
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/ja.js b/apps/workflowengine/l10n/ja.js
new file mode 100644
index 00000000000..bcdc41f0691
--- /dev/null
+++ b/apps/workflowengine/l10n/ja.js
@@ -0,0 +1,63 @@
+OC.L10N.register(
+ "workflowengine",
+ {
+ "Successfully saved" : "保存しました",
+ "Saving failed:" : "保存に失敗しました:",
+ "matches" : "合致",
+ "does not match" : "合致しない",
+ "File size (upload)" : "ファイルサイズ(アップロード)",
+ "less or equals" : "より小さいか等しい",
+ "greater or equals" : "大きいか等しい",
+ "greater" : "大きい",
+ "File system tag" : "ファイルシステムタグ",
+ "is tagged with" : "に次のタグが付いている",
+ "is not tagged with" : "に次のタグが付いていない",
+ "Select tag…" : "タグを選択...",
+ "matches IPv4" : "次の IPv4アドレスに合致",
+ "does not match IPv4" : "次の IPv4アドレスに合致しない",
+ "matches IPv6" : "次の IPv6アドレスに合致",
+ "does not match IPv6" : "次の IPv6アドレスに合致しない",
+ "Request time" : "ルール適用の時刻",
+ "Start" : "開始",
+ "End" : "終了",
+ "Select timezone…" : "タイムゾーンを選択...",
+ "Request URL" : "呼びだしたURL",
+ "Predefined URLs" : "定義済みのURL",
+ "Files WebDAV" : "ファイルWebDAV",
+ "Request user agent" : "リクエスト時のユーザーエージェント",
+ "Sync clients" : "同期クライアントタイプ",
+ "Android client" : "アンドロイドクライアント",
+ "iOS client" : "iOSクライアント",
+ "Desktop client" : "デスクトップクライアント",
+ "User group membership" : "ユーザーがグループのメンバーかどうか",
+ "is member of" : "が次のグループのメンバーである",
+ "is not member of" : "が次のグループのメンバーではない",
+ "The given operator is invalid" : "指定された演算子は無効",
+ "The given regular expression is invalid" : "指定の正規表現は無効",
+ "The given file size is invalid" : "指定されたファイルサイズは無効",
+ "The given tag id is invalid" : "指定されたIDタグは無効",
+ "The given IP range is invalid" : "指定されたIP範囲は無効",
+ "The given IP range is not valid for IPv4" : "指定されたIPはIPv4の範囲ではありません",
+ "The given IP range is not valid for IPv6" : "指定されたIPはIPv6の範囲ではありません",
+ "The given time span is invalid" : "指定された期間は無効です",
+ "The given start time is invalid" : "指定された開始時刻は無効です",
+ "The given end time is invalid" : "指定された終了時刻は無効です",
+ "The given group does not exist" : "指定されたグループは存在しません",
+ "Check %s is invalid or does not exist" : "%sのチェックは無効か存在しません",
+ "Operation #%s does not exist" : "#%s 操作は存在しません",
+ "Operation %s does not exist" : "%s 操作は存在しません",
+ "Operation %s is invalid" : "%s 操作は無効です",
+ "Check %s does not exist" : "チェック %s は存在しません",
+ "Check %s is invalid" : "チェック %s は無効です",
+ "Check #%s does not exist" : "チェック #%s は存在しません",
+ "Workflow" : "ワークフロー",
+ "Open documentation" : "ドキュメントを開く",
+ "Add rule group" : "ルールグループを追加する",
+ "Short rule description" : "ルールの簡潔な説明",
+ "Add rule" : "ルールを追加",
+ "Reset" : "リセット",
+ "Save" : "保存",
+ "Saving…" : "保存中...",
+ "Loading…" : "読み込み中..."
+},
+"nplurals=1; plural=0;");
diff --git a/apps/workflowengine/l10n/ja.json b/apps/workflowengine/l10n/ja.json
new file mode 100644
index 00000000000..670baa856ec
--- /dev/null
+++ b/apps/workflowengine/l10n/ja.json
@@ -0,0 +1,61 @@
+{ "translations": {
+ "Successfully saved" : "保存しました",
+ "Saving failed:" : "保存に失敗しました:",
+ "matches" : "合致",
+ "does not match" : "合致しない",
+ "File size (upload)" : "ファイルサイズ(アップロード)",
+ "less or equals" : "より小さいか等しい",
+ "greater or equals" : "大きいか等しい",
+ "greater" : "大きい",
+ "File system tag" : "ファイルシステムタグ",
+ "is tagged with" : "に次のタグが付いている",
+ "is not tagged with" : "に次のタグが付いていない",
+ "Select tag…" : "タグを選択...",
+ "matches IPv4" : "次の IPv4アドレスに合致",
+ "does not match IPv4" : "次の IPv4アドレスに合致しない",
+ "matches IPv6" : "次の IPv6アドレスに合致",
+ "does not match IPv6" : "次の IPv6アドレスに合致しない",
+ "Request time" : "ルール適用の時刻",
+ "Start" : "開始",
+ "End" : "終了",
+ "Select timezone…" : "タイムゾーンを選択...",
+ "Request URL" : "呼びだしたURL",
+ "Predefined URLs" : "定義済みのURL",
+ "Files WebDAV" : "ファイルWebDAV",
+ "Request user agent" : "リクエスト時のユーザーエージェント",
+ "Sync clients" : "同期クライアントタイプ",
+ "Android client" : "アンドロイドクライアント",
+ "iOS client" : "iOSクライアント",
+ "Desktop client" : "デスクトップクライアント",
+ "User group membership" : "ユーザーがグループのメンバーかどうか",
+ "is member of" : "が次のグループのメンバーである",
+ "is not member of" : "が次のグループのメンバーではない",
+ "The given operator is invalid" : "指定された演算子は無効",
+ "The given regular expression is invalid" : "指定の正規表現は無効",
+ "The given file size is invalid" : "指定されたファイルサイズは無効",
+ "The given tag id is invalid" : "指定されたIDタグは無効",
+ "The given IP range is invalid" : "指定されたIP範囲は無効",
+ "The given IP range is not valid for IPv4" : "指定されたIPはIPv4の範囲ではありません",
+ "The given IP range is not valid for IPv6" : "指定されたIPはIPv6の範囲ではありません",
+ "The given time span is invalid" : "指定された期間は無効です",
+ "The given start time is invalid" : "指定された開始時刻は無効です",
+ "The given end time is invalid" : "指定された終了時刻は無効です",
+ "The given group does not exist" : "指定されたグループは存在しません",
+ "Check %s is invalid or does not exist" : "%sのチェックは無効か存在しません",
+ "Operation #%s does not exist" : "#%s 操作は存在しません",
+ "Operation %s does not exist" : "%s 操作は存在しません",
+ "Operation %s is invalid" : "%s 操作は無効です",
+ "Check %s does not exist" : "チェック %s は存在しません",
+ "Check %s is invalid" : "チェック %s は無効です",
+ "Check #%s does not exist" : "チェック #%s は存在しません",
+ "Workflow" : "ワークフロー",
+ "Open documentation" : "ドキュメントを開く",
+ "Add rule group" : "ルールグループを追加する",
+ "Short rule description" : "ルールの簡潔な説明",
+ "Add rule" : "ルールを追加",
+ "Reset" : "リセット",
+ "Save" : "保存",
+ "Saving…" : "保存中...",
+ "Loading…" : "読み込み中..."
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/zh_TW.js b/apps/workflowengine/l10n/zh_TW.js
new file mode 100644
index 00000000000..dc258533eb2
--- /dev/null
+++ b/apps/workflowengine/l10n/zh_TW.js
@@ -0,0 +1,67 @@
+OC.L10N.register(
+ "workflowengine",
+ {
+ "Successfully saved" : "成功保存",
+ "Saving failed:" : "保存失敗:",
+ "File mime type" : "檔案mime類型",
+ "is" : "是",
+ "is not" : "不是",
+ "matches" : "匹配",
+ "does not match" : "不能匹配",
+ "Example: {placeholder}" : "例子:{placeholder}",
+ "File size (upload)" : "檔案大小(上傳)",
+ "less" : "更少",
+ "less or equals" : "小於或等於",
+ "greater or equals" : "大於或等於",
+ "greater" : "更大",
+ "File system tag" : "檔案系統標籤",
+ "is tagged with" : "標記為",
+ "is not tagged with" : "没有標記為",
+ "Select tag…" : "選擇標籤",
+ "Request remote address" : "請求遠端地址",
+ "matches IPv4" : "匹配 IPv4",
+ "does not match IPv4" : "不能匹配 IPv4",
+ "matches IPv6" : "匹配 IPv6",
+ "does not match IPv6" : "不能匹配 IPv6",
+ "Request time" : "請求時間",
+ "between" : "之間",
+ "Start" : "開始",
+ "End" : "結束",
+ "Select timezone…" : "選擇時區...",
+ "Request URL" : "請求網址",
+ "Predefined URLs" : "預定義網址",
+ "Files WebDAV" : "檔案 WebDAV",
+ "Request user agent" : "請求用戶代理",
+ "Sync clients" : "同步客戶端",
+ "Android client" : "Android 客戶端",
+ "iOS client" : "iOS 客戶端",
+ "Desktop client" : "桌面客戶端",
+ "The given operator is invalid" : "指定的操作無效",
+ "The given regular expression is invalid" : "指定的規則表達式無效",
+ "The given file size is invalid" : "指定的檔案大小無效",
+ "The given tag id is invalid" : "指定的標籤 Id無效",
+ "The given IP range is invalid" : "指定的IP 範圍無效",
+ "The given IP range is not valid for IPv4" : "指定的IP範圍不是有效的IPv4",
+ "The given IP range is not valid for IPv6" : "指定的IP範圍不是有效的IPv6",
+ "The given time span is invalid" : "指定的時間範圍無效",
+ "The given start time is invalid" : "指定的開始時間無效",
+ "The given end time is invalid" : "指定的結束時間無效",
+ "The given group does not exist" : "指定的群組不存在",
+ "Check %s is invalid or does not exist" : "檢查 %s 無效或不存在",
+ "Operation #%s does not exist" : "操作 #%s 不存在",
+ "Operation %s does not exist" : "操作 %s 不存在",
+ "Operation %s is invalid" : "操作 #%s 無效",
+ "Check %s does not exist" : "檢查 %s 不存在",
+ "Check %s is invalid" : "檢查 %s 無效",
+ "Check #%s does not exist" : "檢查 #%s 不存在",
+ "Workflow" : "工作流程",
+ "Open documentation" : "開啟說明文件",
+ "Add rule group" : "新增群組規則",
+ "Short rule description" : "簡短規則描述",
+ "Add rule" : "添加規則",
+ "Reset" : "重設",
+ "Save" : "儲存",
+ "Saving…" : "儲存中...",
+ "Loading…" : "載入中…"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/workflowengine/l10n/zh_TW.json b/apps/workflowengine/l10n/zh_TW.json
new file mode 100644
index 00000000000..09496de4892
--- /dev/null
+++ b/apps/workflowengine/l10n/zh_TW.json
@@ -0,0 +1,65 @@
+{ "translations": {
+ "Successfully saved" : "成功保存",
+ "Saving failed:" : "保存失敗:",
+ "File mime type" : "檔案mime類型",
+ "is" : "是",
+ "is not" : "不是",
+ "matches" : "匹配",
+ "does not match" : "不能匹配",
+ "Example: {placeholder}" : "例子:{placeholder}",
+ "File size (upload)" : "檔案大小(上傳)",
+ "less" : "更少",
+ "less or equals" : "小於或等於",
+ "greater or equals" : "大於或等於",
+ "greater" : "更大",
+ "File system tag" : "檔案系統標籤",
+ "is tagged with" : "標記為",
+ "is not tagged with" : "没有標記為",
+ "Select tag…" : "選擇標籤",
+ "Request remote address" : "請求遠端地址",
+ "matches IPv4" : "匹配 IPv4",
+ "does not match IPv4" : "不能匹配 IPv4",
+ "matches IPv6" : "匹配 IPv6",
+ "does not match IPv6" : "不能匹配 IPv6",
+ "Request time" : "請求時間",
+ "between" : "之間",
+ "Start" : "開始",
+ "End" : "結束",
+ "Select timezone…" : "選擇時區...",
+ "Request URL" : "請求網址",
+ "Predefined URLs" : "預定義網址",
+ "Files WebDAV" : "檔案 WebDAV",
+ "Request user agent" : "請求用戶代理",
+ "Sync clients" : "同步客戶端",
+ "Android client" : "Android 客戶端",
+ "iOS client" : "iOS 客戶端",
+ "Desktop client" : "桌面客戶端",
+ "The given operator is invalid" : "指定的操作無效",
+ "The given regular expression is invalid" : "指定的規則表達式無效",
+ "The given file size is invalid" : "指定的檔案大小無效",
+ "The given tag id is invalid" : "指定的標籤 Id無效",
+ "The given IP range is invalid" : "指定的IP 範圍無效",
+ "The given IP range is not valid for IPv4" : "指定的IP範圍不是有效的IPv4",
+ "The given IP range is not valid for IPv6" : "指定的IP範圍不是有效的IPv6",
+ "The given time span is invalid" : "指定的時間範圍無效",
+ "The given start time is invalid" : "指定的開始時間無效",
+ "The given end time is invalid" : "指定的結束時間無效",
+ "The given group does not exist" : "指定的群組不存在",
+ "Check %s is invalid or does not exist" : "檢查 %s 無效或不存在",
+ "Operation #%s does not exist" : "操作 #%s 不存在",
+ "Operation %s does not exist" : "操作 %s 不存在",
+ "Operation %s is invalid" : "操作 #%s 無效",
+ "Check %s does not exist" : "檢查 %s 不存在",
+ "Check %s is invalid" : "檢查 %s 無效",
+ "Check #%s does not exist" : "檢查 #%s 不存在",
+ "Workflow" : "工作流程",
+ "Open documentation" : "開啟說明文件",
+ "Add rule group" : "新增群組規則",
+ "Short rule description" : "簡短規則描述",
+ "Add rule" : "添加規則",
+ "Reset" : "重設",
+ "Save" : "儲存",
+ "Saving…" : "儲存中...",
+ "Loading…" : "載入中…"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file