Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/dav/appinfo/app.php10
-rw-r--r--apps/dav/appinfo/v1/carddav.php4
-rw-r--r--apps/dav/l10n/de.js1
-rw-r--r--apps/dav/l10n/de.json1
-rw-r--r--apps/dav/lib/AppInfo/Application.php26
-rw-r--r--apps/dav/lib/CalDAV/Calendar.php9
-rw-r--r--apps/dav/lib/CardDAV/CardDavBackend.php36
-rw-r--r--apps/dav/lib/CardDAV/ImageExportPlugin.php120
-rw-r--r--apps/dav/lib/CardDAV/PhotoCache.php246
-rw-r--r--apps/dav/lib/Connector/Sabre/FilesPlugin.php7
-rw-r--r--apps/dav/lib/Server.php3
-rw-r--r--apps/dav/tests/unit/CalDAV/CalendarTest.php2
-rw-r--r--apps/dav/tests/unit/CalDAV/PublicCalendarTest.php2
-rw-r--r--apps/dav/tests/unit/CardDAV/CardDavBackendTest.php53
-rw-r--r--apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php233
-rw-r--r--apps/encryption/l10n/cs.js2
-rw-r--r--apps/encryption/l10n/cs.json2
-rw-r--r--apps/encryption/l10n/da.js2
-rw-r--r--apps/encryption/l10n/da.json2
-rw-r--r--apps/encryption/l10n/de.js2
-rw-r--r--apps/encryption/l10n/de.json2
-rw-r--r--apps/encryption/l10n/de_DE.js2
-rw-r--r--apps/encryption/l10n/de_DE.json2
-rw-r--r--apps/encryption/l10n/el.js2
-rw-r--r--apps/encryption/l10n/el.json2
-rw-r--r--apps/encryption/l10n/es.js2
-rw-r--r--apps/encryption/l10n/es.json2
-rw-r--r--apps/encryption/l10n/es_MX.js2
-rw-r--r--apps/encryption/l10n/es_MX.json2
-rw-r--r--apps/encryption/l10n/fi.js2
-rw-r--r--apps/encryption/l10n/fi.json2
-rw-r--r--apps/encryption/l10n/fr.js2
-rw-r--r--apps/encryption/l10n/fr.json2
-rw-r--r--apps/encryption/l10n/hu.js2
-rw-r--r--apps/encryption/l10n/hu.json2
-rw-r--r--apps/encryption/l10n/id.js2
-rw-r--r--apps/encryption/l10n/id.json2
-rw-r--r--apps/encryption/l10n/it.js2
-rw-r--r--apps/encryption/l10n/it.json2
-rw-r--r--apps/encryption/l10n/ja.js2
-rw-r--r--apps/encryption/l10n/ja.json2
-rw-r--r--apps/encryption/l10n/ko.js2
-rw-r--r--apps/encryption/l10n/ko.json2
-rw-r--r--apps/encryption/l10n/lt_LT.js2
-rw-r--r--apps/encryption/l10n/lt_LT.json2
-rw-r--r--apps/encryption/l10n/nb.js2
-rw-r--r--apps/encryption/l10n/nb.json2
-rw-r--r--apps/encryption/l10n/nl.js2
-rw-r--r--apps/encryption/l10n/nl.json2
-rw-r--r--apps/encryption/l10n/pl.js2
-rw-r--r--apps/encryption/l10n/pl.json2
-rw-r--r--apps/encryption/l10n/pt_BR.js2
-rw-r--r--apps/encryption/l10n/pt_BR.json2
-rw-r--r--apps/encryption/l10n/ru.js2
-rw-r--r--apps/encryption/l10n/ru.json2
-rw-r--r--apps/encryption/l10n/sk.js2
-rw-r--r--apps/encryption/l10n/sk.json2
-rw-r--r--apps/encryption/l10n/sq.js2
-rw-r--r--apps/encryption/l10n/sq.json2
-rw-r--r--apps/encryption/l10n/sv.js2
-rw-r--r--apps/encryption/l10n/sv.json2
-rw-r--r--apps/encryption/l10n/tr.js2
-rw-r--r--apps/encryption/l10n/tr.json2
-rw-r--r--apps/encryption/l10n/zh_CN.js2
-rw-r--r--apps/encryption/l10n/zh_CN.json2
-rw-r--r--apps/federatedfilesharing/l10n/fr.js1
-rw-r--r--apps/federatedfilesharing/l10n/fr.json1
-rw-r--r--apps/federation/l10n/ca.js4
-rw-r--r--apps/federation/l10n/ca.json4
-rw-r--r--apps/federation/l10n/cs.js4
-rw-r--r--apps/federation/l10n/cs.json4
-rw-r--r--apps/federation/l10n/de.js4
-rw-r--r--apps/federation/l10n/de.json4
-rw-r--r--apps/federation/l10n/de_DE.js4
-rw-r--r--apps/federation/l10n/de_DE.json4
-rw-r--r--apps/federation/l10n/el.js4
-rw-r--r--apps/federation/l10n/el.json4
-rw-r--r--apps/federation/l10n/es.js4
-rw-r--r--apps/federation/l10n/es.json4
-rw-r--r--apps/federation/l10n/es_MX.js4
-rw-r--r--apps/federation/l10n/es_MX.json4
-rw-r--r--apps/federation/l10n/fi.js4
-rw-r--r--apps/federation/l10n/fi.json4
-rw-r--r--apps/federation/l10n/fr.js4
-rw-r--r--apps/federation/l10n/fr.json4
-rw-r--r--apps/federation/l10n/hu.js4
-rw-r--r--apps/federation/l10n/hu.json4
-rw-r--r--apps/federation/l10n/ia.js4
-rw-r--r--apps/federation/l10n/ia.json4
-rw-r--r--apps/federation/l10n/id.js4
-rw-r--r--apps/federation/l10n/id.json4
-rw-r--r--apps/federation/l10n/is.js4
-rw-r--r--apps/federation/l10n/is.json4
-rw-r--r--apps/federation/l10n/it.js4
-rw-r--r--apps/federation/l10n/it.json4
-rw-r--r--apps/federation/l10n/ja.js4
-rw-r--r--apps/federation/l10n/ja.json4
-rw-r--r--apps/federation/l10n/ko.js4
-rw-r--r--apps/federation/l10n/ko.json4
-rw-r--r--apps/federation/l10n/lv.js4
-rw-r--r--apps/federation/l10n/lv.json4
-rw-r--r--apps/federation/l10n/nb.js4
-rw-r--r--apps/federation/l10n/nb.json4
-rw-r--r--apps/federation/l10n/nl.js4
-rw-r--r--apps/federation/l10n/nl.json4
-rw-r--r--apps/federation/l10n/pl.js4
-rw-r--r--apps/federation/l10n/pl.json4
-rw-r--r--apps/federation/l10n/pt_BR.js4
-rw-r--r--apps/federation/l10n/pt_BR.json4
-rw-r--r--apps/federation/l10n/ru.js4
-rw-r--r--apps/federation/l10n/ru.json4
-rw-r--r--apps/federation/l10n/sl.js4
-rw-r--r--apps/federation/l10n/sl.json4
-rw-r--r--apps/federation/l10n/sq.js4
-rw-r--r--apps/federation/l10n/sq.json4
-rw-r--r--apps/federation/l10n/sv.js4
-rw-r--r--apps/federation/l10n/sv.json4
-rw-r--r--apps/federation/l10n/tr.js4
-rw-r--r--apps/federation/l10n/tr.json4
-rw-r--r--apps/federation/l10n/zh_CN.js4
-rw-r--r--apps/federation/l10n/zh_CN.json4
-rw-r--r--apps/files_external/l10n/cs.js2
-rw-r--r--apps/files_external/l10n/cs.json2
-rw-r--r--apps/files_external/l10n/da.js2
-rw-r--r--apps/files_external/l10n/da.json2
-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.js2
-rw-r--r--apps/files_external/l10n/de_DE.json2
-rw-r--r--apps/files_external/l10n/el.js2
-rw-r--r--apps/files_external/l10n/el.json2
-rw-r--r--apps/files_external/l10n/en_GB.js2
-rw-r--r--apps/files_external/l10n/en_GB.json2
-rw-r--r--apps/files_external/l10n/es.js2
-rw-r--r--apps/files_external/l10n/es.json2
-rw-r--r--apps/files_external/l10n/es_MX.js2
-rw-r--r--apps/files_external/l10n/es_MX.json2
-rw-r--r--apps/files_external/l10n/fi.js2
-rw-r--r--apps/files_external/l10n/fi.json2
-rw-r--r--apps/files_external/l10n/fr.js2
-rw-r--r--apps/files_external/l10n/fr.json2
-rw-r--r--apps/files_external/l10n/he.js2
-rw-r--r--apps/files_external/l10n/he.json2
-rw-r--r--apps/files_external/l10n/hu.js2
-rw-r--r--apps/files_external/l10n/hu.json2
-rw-r--r--apps/files_external/l10n/id.js2
-rw-r--r--apps/files_external/l10n/id.json2
-rw-r--r--apps/files_external/l10n/is.js2
-rw-r--r--apps/files_external/l10n/is.json2
-rw-r--r--apps/files_external/l10n/it.js2
-rw-r--r--apps/files_external/l10n/it.json2
-rw-r--r--apps/files_external/l10n/ja.js2
-rw-r--r--apps/files_external/l10n/ja.json2
-rw-r--r--apps/files_external/l10n/ko.js2
-rw-r--r--apps/files_external/l10n/ko.json2
-rw-r--r--apps/files_external/l10n/nb.js2
-rw-r--r--apps/files_external/l10n/nb.json2
-rw-r--r--apps/files_external/l10n/nl.js2
-rw-r--r--apps/files_external/l10n/nl.json2
-rw-r--r--apps/files_external/l10n/pl.js2
-rw-r--r--apps/files_external/l10n/pl.json2
-rw-r--r--apps/files_external/l10n/pt_BR.js2
-rw-r--r--apps/files_external/l10n/pt_BR.json2
-rw-r--r--apps/files_external/l10n/pt_PT.js2
-rw-r--r--apps/files_external/l10n/pt_PT.json2
-rw-r--r--apps/files_external/l10n/ru.js2
-rw-r--r--apps/files_external/l10n/ru.json2
-rw-r--r--apps/files_external/l10n/sl.js2
-rw-r--r--apps/files_external/l10n/sl.json2
-rw-r--r--apps/files_external/l10n/sq.js2
-rw-r--r--apps/files_external/l10n/sq.json2
-rw-r--r--apps/files_external/l10n/sv.js2
-rw-r--r--apps/files_external/l10n/sv.json2
-rw-r--r--apps/files_external/l10n/th.js2
-rw-r--r--apps/files_external/l10n/th.json2
-rw-r--r--apps/files_external/l10n/tr.js2
-rw-r--r--apps/files_external/l10n/tr.json2
-rw-r--r--apps/files_external/l10n/zh_CN.js2
-rw-r--r--apps/files_external/l10n/zh_CN.json2
-rw-r--r--apps/files_external/l10n/zh_TW.js2
-rw-r--r--apps/files_external/l10n/zh_TW.json2
-rw-r--r--apps/files_sharing/l10n/de.js1
-rw-r--r--apps/files_sharing/l10n/de.json1
-rw-r--r--apps/files_versions/tests/VersioningTest.php24
-rw-r--r--apps/sharebymail/l10n/cs.js3
-rw-r--r--apps/sharebymail/l10n/cs.json3
-rw-r--r--apps/sharebymail/l10n/de.js3
-rw-r--r--apps/sharebymail/l10n/de.json3
-rw-r--r--apps/sharebymail/l10n/de_DE.js3
-rw-r--r--apps/sharebymail/l10n/de_DE.json3
-rw-r--r--apps/sharebymail/l10n/el.js3
-rw-r--r--apps/sharebymail/l10n/el.json3
-rw-r--r--apps/sharebymail/l10n/es.js3
-rw-r--r--apps/sharebymail/l10n/es.json3
-rw-r--r--apps/sharebymail/l10n/es_MX.js3
-rw-r--r--apps/sharebymail/l10n/es_MX.json3
-rw-r--r--apps/sharebymail/l10n/fr.js3
-rw-r--r--apps/sharebymail/l10n/fr.json3
-rw-r--r--apps/sharebymail/l10n/is.js3
-rw-r--r--apps/sharebymail/l10n/is.json3
-rw-r--r--apps/sharebymail/l10n/ko.js3
-rw-r--r--apps/sharebymail/l10n/ko.json3
-rw-r--r--apps/sharebymail/l10n/nb.js3
-rw-r--r--apps/sharebymail/l10n/nb.json3
-rw-r--r--apps/sharebymail/l10n/nl.js3
-rw-r--r--apps/sharebymail/l10n/nl.json3
-rw-r--r--apps/sharebymail/l10n/pl.js3
-rw-r--r--apps/sharebymail/l10n/pl.json3
-rw-r--r--apps/sharebymail/l10n/pt_BR.js3
-rw-r--r--apps/sharebymail/l10n/pt_BR.json3
-rw-r--r--apps/sharebymail/l10n/ru.js3
-rw-r--r--apps/sharebymail/l10n/ru.json3
-rw-r--r--apps/sharebymail/l10n/tr.js3
-rw-r--r--apps/sharebymail/l10n/tr.json3
-rw-r--r--apps/sharebymail/lib/ShareByMailProvider.php28
-rw-r--r--apps/sharebymail/tests/ShareByMailProviderTest.php32
-rw-r--r--apps/theming/l10n/de.js1
-rw-r--r--apps/theming/l10n/de.json1
-rw-r--r--apps/theming/l10n/el.js6
-rw-r--r--apps/theming/l10n/el.json6
-rw-r--r--apps/theming/l10n/es_MX.js1
-rw-r--r--apps/theming/l10n/es_MX.json1
-rw-r--r--apps/theming/l10n/nb.js2
-rw-r--r--apps/theming/l10n/nb.json2
-rw-r--r--apps/theming/lib/ThemingDefaults.php10
-rw-r--r--apps/theming/tests/ThemingDefaultsTest.php14
-rw-r--r--apps/twofactor_backupcodes/l10n/de.js1
-rw-r--r--apps/twofactor_backupcodes/l10n/de.json1
-rw-r--r--apps/twofactor_backupcodes/l10n/de_DE.js1
-rw-r--r--apps/twofactor_backupcodes/l10n/de_DE.json1
-rw-r--r--apps/updatenotification/l10n/de.js1
-rw-r--r--apps/updatenotification/l10n/de.json1
-rw-r--r--apps/user_ldap/l10n/el.js1
-rw-r--r--apps/user_ldap/l10n/el.json1
-rw-r--r--apps/user_ldap/l10n/fr.js3
-rw-r--r--apps/user_ldap/l10n/fr.json3
-rw-r--r--apps/workflowengine/l10n/fa.js73
-rw-r--r--apps/workflowengine/l10n/fa.json71
-rwxr-xr-xautotest.sh6
-rw-r--r--build/l10nParseAppInfo.php60
-rw-r--r--core/js/contactsmenu.js3
-rw-r--r--core/l10n/el.js3
-rw-r--r--core/l10n/el.json3
-rw-r--r--core/l10n/fr.js3
-rw-r--r--core/l10n/fr.json3
-rw-r--r--core/l10n/nb.js1
-rw-r--r--core/l10n/nb.json1
-rw-r--r--core/shipped.json1
-rw-r--r--core/templates/layout.guest.php3
-rw-r--r--l10n/l10n.pl3
-rw-r--r--lib/base.php5
-rw-r--r--lib/l10n/el.js1
-rw-r--r--lib/l10n/el.json1
-rw-r--r--lib/l10n/es_MX.js2
-rw-r--r--lib/l10n/es_MX.json2
-rw-r--r--lib/l10n/fr.js3
-rw-r--r--lib/l10n/fr.json3
-rw-r--r--lib/l10n/nb.js1
-rw-r--r--lib/l10n/nb.json1
-rw-r--r--lib/private/Config.php3
-rw-r--r--lib/private/Files/View.php6
-rw-r--r--lib/private/Mail/EMailTemplate.php2
-rw-r--r--lib/private/Setup.php1
-rw-r--r--lib/private/legacy/defaults.php17
-rw-r--r--lib/private/legacy/util.php20
-rw-r--r--lib/public/Defaults.php5
-rw-r--r--lib/public/Security/ISecureRandom.php7
-rw-r--r--settings/BackgroundJobs/VerifyUserData.php15
-rw-r--r--settings/Controller/AuthSettingsController.php8
-rw-r--r--settings/Controller/UsersController.php4
-rw-r--r--settings/css/settings.css2
-rw-r--r--settings/l10n/cs.js1
-rw-r--r--settings/l10n/cs.json1
-rw-r--r--settings/l10n/de.js2
-rw-r--r--settings/l10n/de.json2
-rw-r--r--settings/l10n/de_DE.js2
-rw-r--r--settings/l10n/de_DE.json2
-rw-r--r--settings/l10n/el.js18
-rw-r--r--settings/l10n/el.json18
-rw-r--r--settings/l10n/es.js2
-rw-r--r--settings/l10n/es.json2
-rw-r--r--settings/l10n/es_MX.js4
-rw-r--r--settings/l10n/es_MX.json4
-rw-r--r--settings/l10n/fr.js6
-rw-r--r--settings/l10n/fr.json6
-rw-r--r--settings/l10n/ko.js2
-rw-r--r--settings/l10n/ko.json2
-rw-r--r--settings/l10n/nb.js2
-rw-r--r--settings/l10n/nb.json2
-rw-r--r--settings/l10n/nl.js2
-rw-r--r--settings/l10n/nl.json2
-rw-r--r--settings/l10n/pt_BR.js2
-rw-r--r--settings/l10n/pt_BR.json2
-rw-r--r--settings/l10n/ru.js2
-rw-r--r--settings/l10n/ru.json2
-rw-r--r--settings/l10n/tr.js2
-rw-r--r--settings/l10n/tr.json2
-rw-r--r--tests/Settings/Controller/AuthSettingsControllerTest.php6
-rw-r--r--tests/acceptance/features/core/Actor.php91
-rw-r--r--tests/acceptance/features/core/ElementFinder.php205
-rw-r--r--tests/acceptance/features/core/ElementWrapper.php275
-rw-r--r--version.php4
302 files changed, 1678 insertions, 767 deletions
diff --git a/apps/dav/appinfo/app.php b/apps/dav/appinfo/app.php
index 0d417fd3fed..963073c4413 100644
--- a/apps/dav/appinfo/app.php
+++ b/apps/dav/appinfo/app.php
@@ -50,7 +50,13 @@ $eventDispatcher->addListener('OCP\Federation\TrustedServerEvent::remove',
$cm = \OC::$server->getContactsManager();
$cm->register(function() use ($cm, $app) {
$user = \OC::$server->getUserSession()->getUser();
- if (!is_null($user)) {
- $app->setupContactsProvider($cm, $user->getUID());
+ if (is_null($user)) {
+ return;
}
+ if (\OC::$server->getConfig()->getAppValue('core', 'shareapi_allow_share_dialog_user_enumeration', 'yes') !== 'yes') {
+ // Don't include system users
+ // This prevents user enumeration in the contacts menu and the mail app
+ return;
+ }
+ $app->setupContactsProvider($cm, $user->getUID());
});
diff --git a/apps/dav/appinfo/v1/carddav.php b/apps/dav/appinfo/v1/carddav.php
index 04344e83fde..8dea6684742 100644
--- a/apps/dav/appinfo/v1/carddav.php
+++ b/apps/dav/appinfo/v1/carddav.php
@@ -48,7 +48,7 @@ $principalBackend = new Principal(
'principals/'
);
$db = \OC::$server->getDatabaseConnection();
-$cardDavBackend = new CardDavBackend($db, $principalBackend, \OC::$server->getUserManager());
+$cardDavBackend = new CardDavBackend($db, $principalBackend, \OC::$server->getUserManager(), \OC::$server->getEventDispatcher());
$debugging = \OC::$server->getConfig()->getSystemValue('debug', false);
@@ -81,7 +81,7 @@ if ($debugging) {
$server->addPlugin(new \Sabre\DAV\Sync\Plugin());
$server->addPlugin(new \Sabre\CardDAV\VCFExportPlugin());
-$server->addPlugin(new \OCA\DAV\CardDAV\ImageExportPlugin(\OC::$server->getLogger()));
+$server->addPlugin(new \OCA\DAV\CardDAV\ImageExportPlugin(new \OCA\DAV\CardDAV\PhotoCache(\OC::$server->getAppDataDir('dav-photocache'))));
$server->addPlugin(new ExceptionLoggerPlugin('carddav', \OC::$server->getLogger()));
// And off we go!
diff --git a/apps/dav/l10n/de.js b/apps/dav/l10n/de.js
index d5ebd166a29..7936b476bff 100644
--- a/apps/dav/l10n/de.js
+++ b/apps/dav/l10n/de.js
@@ -42,6 +42,7 @@ OC.L10N.register(
"Contact birthdays" : "Geburtstage von Kontakten",
"Personal" : "Persönlich",
"Contacts" : "Kontakte",
+ "WebDAV" : "WebDAV",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Remote-Adresse: %s",
"Request ID: %s" : "Anfrage-ID: %s"
diff --git a/apps/dav/l10n/de.json b/apps/dav/l10n/de.json
index dbec1faa87b..bb10f21def4 100644
--- a/apps/dav/l10n/de.json
+++ b/apps/dav/l10n/de.json
@@ -40,6 +40,7 @@
"Contact birthdays" : "Geburtstage von Kontakten",
"Personal" : "Persönlich",
"Contacts" : "Kontakte",
+ "WebDAV" : "WebDAV",
"Technical details" : "Technische Details",
"Remote Address: %s" : "Remote-Adresse: %s",
"Request ID: %s" : "Anfrage-ID: %s"
diff --git a/apps/dav/lib/AppInfo/Application.php b/apps/dav/lib/AppInfo/Application.php
index b4f16f3cadf..5d89324d4a9 100644
--- a/apps/dav/lib/AppInfo/Application.php
+++ b/apps/dav/lib/AppInfo/Application.php
@@ -24,11 +24,13 @@
*/
namespace OCA\DAV\AppInfo;
+use OC\AppFramework\Utility\SimpleContainer;
use OCA\DAV\CalDAV\Activity\Backend;
use OCA\DAV\CalDAV\Activity\Provider\Event;
use OCA\DAV\CalDAV\BirthdayService;
use OCA\DAV\Capabilities;
use OCA\DAV\CardDAV\ContactsManager;
+use OCA\DAV\CardDAV\PhotoCache;
use OCA\DAV\CardDAV\SyncService;
use OCA\DAV\HookManager;
use \OCP\AppFramework\App;
@@ -44,10 +46,19 @@ class Application extends App {
public function __construct() {
parent::__construct('dav');
+ $container = $this->getContainer();
+ $server = $container->getServer();
+
+ $container->registerService(PhotoCache::class, function(SimpleContainer $s) use ($server) {
+ return new PhotoCache(
+ $server->getAppDataDir('dav-photocache')
+ );
+ });
+
/*
* Register capabilities
*/
- $this->getContainer()->registerCapability(Capabilities::class);
+ $container->registerCapability(Capabilities::class);
}
/**
@@ -101,6 +112,19 @@ class Application extends App {
}
});
+ $clearPhotoCache = function($event) {
+ if ($event instanceof GenericEvent) {
+ /** @var PhotoCache $p */
+ $p = $this->getContainer()->query(PhotoCache::class);
+ $p->delete(
+ $event->getArgument('addressBookId'),
+ $event->getArgument('cardUri')
+ );
+ }
+ };
+ $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $clearPhotoCache);
+ $dispatcher->addListener('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', $clearPhotoCache);
+
$dispatcher->addListener('OC\AccountManager::userUpdated', function(GenericEvent $event) {
$user = $event->getSubject();
$syncService = $this->getContainer()->query(SyncService::class);
diff --git a/apps/dav/lib/CalDAV/Calendar.php b/apps/dav/lib/CalDAV/Calendar.php
index a216e4e078b..9c56398b14c 100644
--- a/apps/dav/lib/CalDAV/Calendar.php
+++ b/apps/dav/lib/CalDAV/Calendar.php
@@ -145,11 +145,16 @@ class Calendar extends \Sabre\CalDAV\Calendar implements IShareable {
];
}
- if ($this->isShared()) {
+ $acl = $this->caldavBackend->applyShareAcl($this->getResourceId(), $acl);
+
+ if (!$this->isShared()) {
return $acl;
}
- return $this->caldavBackend->applyShareAcl($this->getResourceId(), $acl);
+ $allowedPrincipals = [$this->getOwner(), parent::getOwner(), 'principals/system/public'];
+ return array_filter($acl, function($rule) use ($allowedPrincipals) {
+ return in_array($rule['principal'], $allowedPrincipals);
+ });
}
public function getChildACL() {
diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php
index 5deb648fa7f..983220c6ba0 100644
--- a/apps/dav/lib/CardDAV/CardDavBackend.php
+++ b/apps/dav/lib/CardDAV/CardDavBackend.php
@@ -93,7 +93,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
public function __construct(IDBConnection $db,
Principal $principalBackend,
IUserManager $userManager,
- EventDispatcherInterface $dispatcher = null) {
+ EventDispatcherInterface $dispatcher) {
$this->db = $db;
$this->principalBackend = $principalBackend;
$this->userManager = $userManager;
@@ -612,13 +612,11 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$this->addChange($addressBookId, $cardUri, 1);
$this->updateProperties($addressBookId, $cardUri, $cardData);
- if (!is_null($this->dispatcher)) {
- $this->dispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::createCard',
- new GenericEvent(null, [
- 'addressBookId' => $addressBookId,
- 'cardUri' => $cardUri,
- 'cardData' => $cardData]));
- }
+ $this->dispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::createCard',
+ new GenericEvent(null, [
+ 'addressBookId' => $addressBookId,
+ 'cardUri' => $cardUri,
+ 'cardData' => $cardData]));
return '"' . $etag . '"';
}
@@ -664,13 +662,11 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$this->addChange($addressBookId, $cardUri, 2);
$this->updateProperties($addressBookId, $cardUri, $cardData);
- if (!is_null($this->dispatcher)) {
- $this->dispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::updateCard',
- new GenericEvent(null, [
- 'addressBookId' => $addressBookId,
- 'cardUri' => $cardUri,
- 'cardData' => $cardData]));
- }
+ $this->dispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::updateCard',
+ new GenericEvent(null, [
+ 'addressBookId' => $addressBookId,
+ 'cardUri' => $cardUri,
+ 'cardData' => $cardData]));
return '"' . $etag . '"';
}
@@ -696,12 +692,10 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$this->addChange($addressBookId, $cardUri, 3);
- if (!is_null($this->dispatcher)) {
- $this->dispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::deleteCard',
- new GenericEvent(null, [
- 'addressBookId' => $addressBookId,
- 'cardUri' => $cardUri]));
- }
+ $this->dispatcher->dispatch('\OCA\DAV\CardDAV\CardDavBackend::deleteCard',
+ new GenericEvent(null, [
+ 'addressBookId' => $addressBookId,
+ 'cardUri' => $cardUri]));
if ($ret === 1) {
if ($cardId !== null) {
diff --git a/apps/dav/lib/CardDAV/ImageExportPlugin.php b/apps/dav/lib/CardDAV/ImageExportPlugin.php
index 3ad7983451b..747c879ecd4 100644
--- a/apps/dav/lib/CardDAV/ImageExportPlugin.php
+++ b/apps/dav/lib/CardDAV/ImageExportPlugin.php
@@ -22,25 +22,28 @@
namespace OCA\DAV\CardDAV;
+use OCP\Files\NotFoundException;
use OCP\ILogger;
use Sabre\CardDAV\Card;
use Sabre\DAV\Server;
use Sabre\DAV\ServerPlugin;
use Sabre\HTTP\RequestInterface;
use Sabre\HTTP\ResponseInterface;
-use Sabre\VObject\Parameter;
-use Sabre\VObject\Property\Binary;
-use Sabre\VObject\Reader;
class ImageExportPlugin extends ServerPlugin {
/** @var Server */
protected $server;
- /** @var ILogger */
- private $logger;
+ /** @var PhotoCache */
+ private $cache;
- public function __construct(ILogger $logger) {
- $this->logger = $logger;
+ /**
+ * ImageExportPlugin constructor.
+ *
+ * @param PhotoCache $cache
+ */
+ public function __construct(PhotoCache $cache) {
+ $this->cache = $cache;
}
/**
@@ -49,8 +52,7 @@ class ImageExportPlugin extends ServerPlugin {
* @param Server $server
* @return void
*/
- function initialize(Server $server) {
-
+ public function initialize(Server $server) {
$this->server = $server;
$this->server->on('method:GET', [$this, 'httpGet'], 90);
}
@@ -60,9 +62,9 @@ class ImageExportPlugin extends ServerPlugin {
*
* @param RequestInterface $request
* @param ResponseInterface $response
- * @return bool|void
+ * @return bool
*/
- function httpGet(RequestInterface $request, ResponseInterface $response) {
+ public function httpGet(RequestInterface $request, ResponseInterface $response) {
$queryParams = $request->getQueryParameters();
// TODO: in addition to photo we should also add logo some point in time
@@ -70,6 +72,8 @@ class ImageExportPlugin extends ServerPlugin {
return true;
}
+ $size = isset($queryParams['size']) ? (int)$queryParams['size'] : -1;
+
$path = $request->getPath();
$node = $this->server->tree->getNodeForPath($path);
@@ -85,90 +89,28 @@ class ImageExportPlugin extends ServerPlugin {
$aclPlugin->checkPrivileges($path, '{DAV:}read');
}
- if ($result = $this->getPhoto($node)) {
- // Allow caching
- $response->setHeader('Cache-Control', 'private, max-age=3600, must-revalidate');
- $response->setHeader('Etag', $node->getETag() );
- $response->setHeader('Pragma', 'public');
+ // Fetch addressbook
+ $addressbookpath = explode('/', $path);
+ array_pop($addressbookpath);
+ $addressbookpath = implode('/', $addressbookpath);
+ /** @var AddressBook $addressbook */
+ $addressbook = $this->server->tree->getNodeForPath($addressbookpath);
- $response->setHeader('Content-Type', $result['Content-Type']);
+ $response->setHeader('Cache-Control', 'private, max-age=3600, must-revalidate');
+ $response->setHeader('Etag', $node->getETag() );
+ $response->setHeader('Pragma', 'public');
+
+ try {
+ $file = $this->cache->get($addressbook->getResourceId(), $node->getName(), $size, $node);
+ $response->setHeader('Content-Type', $file->getMimeType());
$response->setHeader('Content-Disposition', 'attachment');
$response->setStatus(200);
- $response->setBody($result['body']);
-
- // Returning false to break the event chain
- return false;
+ $response->setBody($file->getContent());
+ } catch (NotFoundException $e) {
+ $response->setStatus(404);
}
- return true;
- }
- function getPhoto(Card $node) {
- // TODO: this is kind of expensive - load carddav data from database and parse it
- // we might want to build up a cache one day
- try {
- $vObject = $this->readCard($node->get());
- if (!$vObject->PHOTO) {
- return false;
- }
-
- $photo = $vObject->PHOTO;
- $type = $this->getType($photo);
-
- $val = $photo->getValue();
- if ($photo->getValueType() === 'URI') {
- $parsed = \Sabre\URI\parse($val);
- //only allow data://
- if ($parsed['scheme'] !== 'data') {
- return false;
- }
- if (substr_count($parsed['path'], ';') === 1) {
- list($type,) = explode(';', $parsed['path']);
- }
- $val = file_get_contents($val);
- }
-
- $allowedContentTypes = [
- 'image/png',
- 'image/jpeg',
- 'image/gif',
- ];
-
- if(!in_array($type, $allowedContentTypes, true)) {
- $type = 'application/octet-stream';
- }
-
- return [
- 'Content-Type' => $type,
- 'body' => $val
- ];
- } catch(\Exception $ex) {
- $this->logger->logException($ex);
- }
return false;
}
-
- private function readCard($cardData) {
- return Reader::read($cardData);
- }
-
- /**
- * @param Binary $photo
- * @return Parameter
- */
- private function getType($photo) {
- $params = $photo->parameters();
- if (isset($params['TYPE']) || isset($params['MEDIATYPE'])) {
- /** @var Parameter $typeParam */
- $typeParam = isset($params['TYPE']) ? $params['TYPE'] : $params['MEDIATYPE'];
- $type = $typeParam->getValue();
-
- if (strpos($type, 'image/') === 0) {
- return $type;
- } else {
- return 'image/' . strtolower($type);
- }
- }
- return '';
- }
}
diff --git a/apps/dav/lib/CardDAV/PhotoCache.php b/apps/dav/lib/CardDAV/PhotoCache.php
new file mode 100644
index 00000000000..c9625914263
--- /dev/null
+++ b/apps/dav/lib/CardDAV/PhotoCache.php
@@ -0,0 +1,246 @@
+<?php
+
+namespace OCA\DAV\CardDAV;
+
+use OCP\Files\IAppData;
+use OCP\Files\NotFoundException;
+use OCP\Files\NotPermittedException;
+use OCP\Files\SimpleFS\ISimpleFile;
+use OCP\Files\SimpleFS\ISimpleFolder;
+use Sabre\CardDAV\Card;
+use Sabre\VObject\Property\Binary;
+use Sabre\VObject\Reader;
+
+class PhotoCache {
+
+ /** @var IAppData $appData */
+ protected $appData;
+
+ /**
+ * PhotoCache constructor.
+ *
+ * @param IAppData $appData
+ */
+ public function __construct(IAppData $appData) {
+ $this->appData = $appData;
+ }
+
+ /**
+ * @param int $addressBookId
+ * @param string $cardUri
+ * @param int $size
+ * @param Card $card
+ *
+ * @return ISimpleFile
+ * @throws NotFoundException
+ */
+ public function get($addressBookId, $cardUri, $size, Card $card) {
+ $folder = $this->getFolder($addressBookId, $cardUri);
+
+ if ($this->isEmpty($folder)) {
+ $this->init($folder, $card);
+ }
+
+ if (!$this->hasPhoto($folder)) {
+ throw new NotFoundException();
+ }
+
+ if ($size !== -1) {
+ $size = 2 ** ceil(log($size) / log(2));
+ }
+
+ return $this->getFile($folder, $size);
+ }
+
+ /**
+ * @param ISimpleFolder $folder
+ * @return bool
+ */
+ private function isEmpty(ISimpleFolder $folder) {
+ return $folder->getDirectoryListing() === [];
+ }
+
+ /**
+ * @param ISimpleFolder $folder
+ * @param Card $card
+ */
+ private function init(ISimpleFolder $folder, Card $card) {
+ $data = $this->getPhoto($card);
+
+ if ($data === false) {
+ $folder->newFile('nophoto');
+ } else {
+ switch ($data['Content-Type']) {
+ case 'image/png':
+ $ext = 'png';
+ break;
+ case 'image/jpeg':
+ $ext = 'jpg';
+ break;
+ case 'image/gif':
+ $ext = 'gif';
+ break;
+ }
+ $file = $folder->newFile('photo.' . $ext);
+ $file->putContent($data['body']);
+ }
+ }
+
+ private function hasPhoto(ISimpleFolder $folder) {
+ return !$folder->fileExists('nophoto');
+ }
+
+ private function getFile(ISimpleFolder $folder, $size) {
+ $ext = $this->getExtension($folder);
+
+ if ($size === -1) {
+ $path = 'photo.' . $ext;
+ } else {
+ $path = 'photo.' . $size . '.' . $ext;
+ }
+
+ try {
+ $file = $folder->getFile($path);
+ } catch (NotFoundException $e) {
+ if ($size <= 0) {
+ throw new NotFoundException;
+ }
+
+ $photo = new \OC_Image();
+ /** @var ISimpleFile $file */
+ $file = $folder->getFile('photo.' . $ext);
+ $photo->loadFromData($file->getContent());
+
+ $ratio = $photo->width() / $photo->height();
+ if ($ratio < 1) {
+ $ratio = 1/$ratio;
+ }
+ $size = (int)($size * $ratio);
+
+ if ($size !== -1) {
+ $photo->resize($size);
+ }
+ try {
+ $file = $folder->newFile($path);
+ $file->putContent($photo->data());
+ } catch (NotPermittedException $e) {
+
+ }
+ }
+
+ return $file;
+ }
+
+
+ /**
+ * @param int $addressBookId
+ * @param string $cardUri
+ * @return ISimpleFolder
+ */
+ private function getFolder($addressBookId, $cardUri) {
+ $hash = md5($addressBookId . ' ' . $cardUri);
+ try {
+ return $this->appData->getFolder($hash);
+ } catch (NotFoundException $e) {
+ return $this->appData->newFolder($hash);
+ }
+ }
+
+ /**
+ * Get the extension of the avatar. If there is no avatar throw Exception
+ *
+ * @param ISimpleFolder $folder
+ * @return string
+ * @throws NotFoundException
+ */
+ private function getExtension(ISimpleFolder $folder) {
+ if ($folder->fileExists('photo.jpg')) {
+ return 'jpg';
+ } elseif ($folder->fileExists('photo.png')) {
+ return 'png';
+ } elseif ($folder->fileExists('photo.gif')) {
+ return 'gif';
+ }
+ throw new NotFoundException;
+ }
+
+ private function getPhoto(Card $node) {
+ try {
+ $vObject = $this->readCard($node->get());
+ if (!$vObject->PHOTO) {
+ return false;
+ }
+
+ $photo = $vObject->PHOTO;
+ $type = $this->getType($photo);
+
+ $val = $photo->getValue();
+ if ($photo->getValueType() === 'URI') {
+ $parsed = \Sabre\URI\parse($val);
+ //only allow data://
+ if ($parsed['scheme'] !== 'data') {
+ return false;
+ }
+ if (substr_count($parsed['path'], ';') === 1) {
+ list($type,) = explode(';', $parsed['path']);
+ }
+ $val = file_get_contents($val);
+ }
+
+ $allowedContentTypes = [
+ 'image/png',
+ 'image/jpeg',
+ 'image/gif',
+ ];
+
+ if(!in_array($type, $allowedContentTypes, true)) {
+ $type = 'application/octet-stream';
+ }
+
+ return [
+ 'Content-Type' => $type,
+ 'body' => $val
+ ];
+ } catch(\Exception $ex) {
+
+ }
+ return false;
+ }
+
+ /**
+ * @param string $cardData
+ * @return \Sabre\VObject\Document
+ */
+ private function readCard($cardData) {
+ return Reader::read($cardData);
+ }
+
+ /**
+ * @param Binary $photo
+ * @return string
+ */
+ private function getType(Binary $photo) {
+ $params = $photo->parameters();
+ if (isset($params['TYPE']) || isset($params['MEDIATYPE'])) {
+ /** @var Parameter $typeParam */
+ $typeParam = isset($params['TYPE']) ? $params['TYPE'] : $params['MEDIATYPE'];
+ $type = $typeParam->getValue();
+
+ if (strpos($type, 'image/') === 0) {
+ return $type;
+ } else {
+ return 'image/' . strtolower($type);
+ }
+ }
+ return '';
+ }
+
+ /**
+ * @param int $addressBookId
+ * @param string $cardUri
+ */
+ public function delete($addressBookId, $cardUri) {
+ $folder = $this->getFolder($addressBookId, $cardUri);
+ $folder->delete();
+ }
+}
diff --git a/apps/dav/lib/Connector/Sabre/FilesPlugin.php b/apps/dav/lib/Connector/Sabre/FilesPlugin.php
index 4c426dd1052..30eeaaacf63 100644
--- a/apps/dav/lib/Connector/Sabre/FilesPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/FilesPlugin.php
@@ -343,6 +343,9 @@ class FilesPlugin extends ServerPlugin {
$propFind->handle(self::SIZE_PROPERTYNAME, function() use ($node) {
return $node->getSize();
});
+ $propFind->handle(self::MOUNT_TYPE_PROPERTYNAME, function () use ($node) {
+ return $node->getFileInfo()->getMountPoint()->getMountType();
+ });
}
if ($node instanceof \OCA\DAV\Connector\Sabre\Node) {
@@ -383,10 +386,6 @@ class FilesPlugin extends ServerPlugin {
return $node->getSize();
});
}
-
- $propFind->handle(self::MOUNT_TYPE_PROPERTYNAME, function () use ($node) {
- return $node->getFileInfo()->getMountPoint()->getMountType();
- });
}
/**
diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php
index 5b0715b0dad..df5b0ea05b6 100644
--- a/apps/dav/lib/Server.php
+++ b/apps/dav/lib/Server.php
@@ -30,6 +30,7 @@ namespace OCA\DAV;
use OCA\DAV\CalDAV\Schedule\IMipPlugin;
use OCA\DAV\CardDAV\ImageExportPlugin;
+use OCA\DAV\CardDAV\PhotoCache;
use OCA\DAV\Comments\CommentsPlugin;
use OCA\DAV\Connector\Sabre\Auth;
use OCA\DAV\Connector\Sabre\BlockLegacyClientPlugin;
@@ -137,7 +138,7 @@ class Server {
// addressbook plugins
$this->server->addPlugin(new \OCA\DAV\CardDAV\Plugin());
$this->server->addPlugin(new VCFExportPlugin());
- $this->server->addPlugin(new ImageExportPlugin(\OC::$server->getLogger()));
+ $this->server->addPlugin(new ImageExportPlugin(new PhotoCache(\OC::$server->getAppDataDir('dav-photocache'))));
// system tags plugins
$this->server->addPlugin(new SystemTagPlugin(
diff --git a/apps/dav/tests/unit/CalDAV/CalendarTest.php b/apps/dav/tests/unit/CalDAV/CalendarTest.php
index 4ede886d31e..cf295f01065 100644
--- a/apps/dav/tests/unit/CalDAV/CalendarTest.php
+++ b/apps/dav/tests/unit/CalDAV/CalendarTest.php
@@ -246,6 +246,7 @@ class CalendarTest extends TestCase {
]);
$backend->expects($this->any())->method('getCalendarObject')
->willReturn($calObject2)->with(666, 'event-2');
+ $backend->expects($this->any())->method('applyShareAcl')->willReturnArgument(1);
$calendarInfo = [
'principaluri' => 'user2',
@@ -333,6 +334,7 @@ EOD;
]);
$backend->expects($this->any())->method('getCalendarObject')
->willReturn($calObject1)->with(666, 'event-1');
+ $backend->expects($this->any())->method('applyShareAcl')->willReturnArgument(1);
$calendarInfo = [
'{http://owncloud.org/ns}owner-principal' => $isShared ? 'user1' : 'user2',
diff --git a/apps/dav/tests/unit/CalDAV/PublicCalendarTest.php b/apps/dav/tests/unit/CalDAV/PublicCalendarTest.php
index 6b2bf58d392..03cbf71d6ca 100644
--- a/apps/dav/tests/unit/CalDAV/PublicCalendarTest.php
+++ b/apps/dav/tests/unit/CalDAV/PublicCalendarTest.php
@@ -51,6 +51,7 @@ class PublicCalendarTest extends CalendarTest {
]);
$backend->expects($this->any())->method('getCalendarObject')
->willReturn($calObject2)->with(666, 'event-2');
+ $backend->expects($this->any())->method('applyShareAcl')->willReturnArgument(1);
$calendarInfo = [
'{http://owncloud.org/ns}owner-principal' => 'user2',
@@ -135,6 +136,7 @@ EOD;
]);
$backend->expects($this->any())->method('getCalendarObject')
->willReturn($calObject1)->with(666, 'event-1');
+ $backend->expects($this->any())->method('applyShareAcl')->willReturnArgument(1);
$calendarInfo = [
'{http://owncloud.org/ns}owner-principal' => 'user1',
diff --git a/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php b/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
index c108432d65b..f3a271a2db2 100644
--- a/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
+++ b/apps/dav/tests/unit/CardDAV/CardDavBackendTest.php
@@ -34,9 +34,12 @@ use OCA\DAV\Connector\Sabre\Principal;
use OCP\DB\QueryBuilder\IQueryBuilder;
use OCP\IDBConnection;
use OCP\IL10N;
+use OCP\IUserManager;
use Sabre\DAV\PropPatch;
use Sabre\VObject\Component\VCard;
use Sabre\VObject\Property\Text;
+use Symfony\Component\EventDispatcher\EventDispatcherInterface;
+use Symfony\Component\EventDispatcher\GenericEvent;
use Test\TestCase;
/**
@@ -54,9 +57,12 @@ class CardDavBackendTest extends TestCase {
/** @var Principal | \PHPUnit_Framework_MockObject_MockObject */
private $principal;
- /** @var \OCP\IUserManager|\PHPUnit_Framework_MockObject_MockObject */
+ /** @var IUserManager|\PHPUnit_Framework_MockObject_MockObject */
private $userManager;
+ /** @var EventDispatcherInterface|\PHPUnit_Framework_MockObject_MockObject */
+ private $dispatcher;
+
/** @var IDBConnection */
private $db;
@@ -73,9 +79,7 @@ class CardDavBackendTest extends TestCase {
public function setUp() {
parent::setUp();
- $this->userManager = $this->getMockBuilder('OCP\IUserManager')
- ->disableOriginalConstructor()
- ->getMock();
+ $this->userManager = $this->createMock(IUserManager::class);
$this->principal = $this->getMockBuilder('OCA\DAV\Connector\Sabre\Principal')
->disableOriginalConstructor()
->setMethods(['getPrincipalByPath', 'getGroupMembership'])
@@ -88,11 +92,11 @@ class CardDavBackendTest extends TestCase {
$this->principal->method('getGroupMembership')
->withAnyParameters()
->willReturn([self::UNIT_TEST_GROUP]);
+ $this->dispatcher = $this->createMock(EventDispatcherInterface::class);
$this->db = \OC::$server->getDatabaseConnection();
- $this->backend = new CardDavBackend($this->db, $this->principal, $this->userManager, null);
-
+ $this->backend = new CardDavBackend($this->db, $this->principal, $this->userManager, $this->dispatcher);
// start every test with a empty cards_properties and cards table
$query = $this->db->getQueryBuilder();
$query->delete('cards_properties')->execute();
@@ -172,7 +176,7 @@ class CardDavBackendTest extends TestCase {
/** @var CardDavBackend | \PHPUnit_Framework_MockObject_MockObject $backend */
$backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, null])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->dispatcher])
->setMethods(['updateProperties', 'purgeProperties'])->getMock();
// create a new address book
@@ -185,6 +189,16 @@ class CardDavBackendTest extends TestCase {
// updateProperties is expected twice, once for createCard and once for updateCard
$backend->expects($this->at(0))->method('updateProperties')->with($bookId, $uri, '');
$backend->expects($this->at(1))->method('updateProperties')->with($bookId, $uri, '***');
+
+ // Expect event
+ $this->dispatcher->expects($this->at(0))
+ ->method('dispatch')
+ ->with('\OCA\DAV\CardDAV\CardDavBackend::createCard', $this->callback(function(GenericEvent $e) use ($bookId, $uri) {
+ return $e->getArgument('addressBookId') === $bookId &&
+ $e->getArgument('cardUri') === $uri &&
+ $e->getArgument('cardData') === '';
+ }));
+
// create a card
$backend->createCard($bookId, $uri, '');
@@ -203,11 +217,28 @@ class CardDavBackendTest extends TestCase {
$this->assertArrayHasKey('size', $card);
$this->assertEquals('', $card['carddata']);
+ // Expect event
+ $this->dispatcher->expects($this->at(0))
+ ->method('dispatch')
+ ->with('\OCA\DAV\CardDAV\CardDavBackend::updateCard', $this->callback(function(GenericEvent $e) use ($bookId, $uri) {
+ return $e->getArgument('addressBookId') === $bookId &&
+ $e->getArgument('cardUri') === $uri &&
+ $e->getArgument('cardData') === '***';
+ }));
+
// update the card
$backend->updateCard($bookId, $uri, '***');
$card = $backend->getCard($bookId, $uri);
$this->assertEquals('***', $card['carddata']);
+ // Expect event
+ $this->dispatcher->expects($this->at(0))
+ ->method('dispatch')
+ ->with('\OCA\DAV\CardDAV\CardDavBackend::deleteCard', $this->callback(function(GenericEvent $e) use ($bookId, $uri) {
+ return $e->getArgument('addressBookId') === $bookId &&
+ $e->getArgument('cardUri') === $uri;
+ }));
+
// delete the card
$backend->expects($this->once())->method('purgeProperties')->with($bookId, $card['id']);
$backend->deleteCard($bookId, $uri);
@@ -218,7 +249,7 @@ class CardDavBackendTest extends TestCase {
public function testMultiCard() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, null])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->dispatcher])
->setMethods(['updateProperties'])->getMock();
// create a new address book
@@ -264,7 +295,7 @@ class CardDavBackendTest extends TestCase {
public function testDeleteWithoutCard() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, null])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->dispatcher])
->setMethods([
'getCardId',
'addChange',
@@ -304,7 +335,7 @@ class CardDavBackendTest extends TestCase {
public function testSyncSupport() {
$this->backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, null])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->dispatcher])
->setMethods(['updateProperties'])->getMock();
// create a new address book
@@ -363,7 +394,7 @@ class CardDavBackendTest extends TestCase {
$cardId = 2;
$backend = $this->getMockBuilder(CardDavBackend::class)
- ->setConstructorArgs([$this->db, $this->principal, $this->userManager, null])
+ ->setConstructorArgs([$this->db, $this->principal, $this->userManager, $this->dispatcher])
->setMethods(['getCardId'])->getMock();
$backend->expects($this->any())->method('getCardId')->willReturn($cardId);
diff --git a/apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php b/apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php
index ed311e79f4a..e773e41ba5e 100644
--- a/apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php
+++ b/apps/dav/tests/unit/CardDAV/ImageExportPluginTest.php
@@ -25,9 +25,13 @@
namespace OCA\DAV\Tests\unit\CardDAV;
+use OCA\DAV\CardDAV\AddressBook;
use OCA\DAV\CardDAV\ImageExportPlugin;
-use OCP\ILogger;
+use OCA\DAV\CardDAV\PhotoCache;
+use OCP\Files\NotFoundException;
+use OCP\Files\SimpleFS\ISimpleFile;
use Sabre\CardDAV\Card;
+use Sabre\DAV\Node;
use Sabre\DAV\Server;
use Sabre\DAV\Tree;
use Sabre\HTTP\RequestInterface;
@@ -36,32 +40,32 @@ use Test\TestCase;
class ImageExportPluginTest extends TestCase {
- /** @var ResponseInterface | \PHPUnit_Framework_MockObject_MockObject */
+ /** @var ResponseInterface|\PHPUnit_Framework_MockObject_MockObject */
private $response;
- /** @var RequestInterface | \PHPUnit_Framework_MockObject_MockObject */
+ /** @var RequestInterface|\PHPUnit_Framework_MockObject_MockObject */
private $request;
- /** @var ImageExportPlugin | \PHPUnit_Framework_MockObject_MockObject */
+ /** @var ImageExportPlugin|\PHPUnit_Framework_MockObject_MockObject */
private $plugin;
/** @var Server */
private $server;
- /** @var Tree | \PHPUnit_Framework_MockObject_MockObject */
+ /** @var Tree|\PHPUnit_Framework_MockObject_MockObject */
private $tree;
- /** @var ILogger | \PHPUnit_Framework_MockObject_MockObject */
- private $logger;
+ /** @var PhotoCache|\PHPUnit_Framework_MockObject_MockObject */
+ private $cache;
function setUp() {
parent::setUp();
- $this->request = $this->getMockBuilder('Sabre\HTTP\RequestInterface')->getMock();
- $this->response = $this->getMockBuilder('Sabre\HTTP\ResponseInterface')->getMock();
- $this->server = $this->getMockBuilder('Sabre\DAV\Server')->getMock();
- $this->tree = $this->getMockBuilder('Sabre\DAV\Tree')->disableOriginalConstructor()->getMock();
+ $this->request = $this->createMock(RequestInterface::class);
+ $this->response = $this->createMock(ResponseInterface::class);
+ $this->server = $this->createMock(Server::class);
+ $this->tree = $this->createMock(Tree::class);
$this->server->tree = $this->tree;
- $this->logger = $this->getMockBuilder('\OCP\ILogger')->getMock();
+ $this->cache = $this->createMock(PhotoCache::class);
- $this->plugin = $this->getMockBuilder('OCA\DAV\CardDAV\ImageExportPlugin')
+ $this->plugin = $this->getMockBuilder(ImageExportPlugin::class)
->setMethods(['getPhoto'])
- ->setConstructorArgs([$this->logger])
+ ->setConstructorArgs([$this->cache])
->getMock();
$this->plugin->initialize($this->server);
}
@@ -84,126 +88,115 @@ class ImageExportPluginTest extends TestCase {
];
}
- public function testNotACard() {
- $this->request->expects($this->once())->method('getQueryParameters')->willReturn(['photo' => true]);
- $this->request->expects($this->once())->method('getPath')->willReturn('/files/welcome.txt');
- $this->tree->expects($this->once())->method('getNodeForPath')->with('/files/welcome.txt')->willReturn(null);
+ public function testNoCard() {
+ $this->request->method('getQueryParameters')
+ ->willReturn([
+ 'photo'
+ ]);
+ $this->request->method('getPath')
+ ->willReturn('user/book/card');
+
+ $node = $this->createMock(Node::class);
+ $this->tree->method('getNodeForPath')
+ ->with('user/book/card')
+ ->willReturn($node);
+
$result = $this->plugin->httpGet($this->request, $this->response);
$this->assertTrue($result);
}
+ public function dataTestCard() {
+ return [
+ [null, false],
+ [null, true],
+ [32, false],
+ [32, true],
+ ];
+ }
+
/**
- * @dataProvider providesCardWithOrWithoutPhoto
- * @param bool $expected
- * @param array $getPhotoResult
+ * @dataProvider dataTestCard
+ *
+ * @param $size
+ * @param bool $photo
*/
- public function testCardWithOrWithoutPhoto($expected, $getPhotoResult) {
- $this->request->expects($this->once())->method('getQueryParameters')->willReturn(['photo' => true]);
- $this->request->expects($this->once())->method('getPath')->willReturn('/files/welcome.txt');
+ public function testCard($size, $photo) {
+ $query = ['photo' => null];
+ if ($size !== null) {
+ $query['size'] = $size;
+ }
+
+ $this->request->method('getQueryParameters')
+ ->willReturn($query);
+ $this->request->method('getPath')
+ ->willReturn('user/book/card');
- $card = $this->getMockBuilder('Sabre\CardDAV\Card')->disableOriginalConstructor()->getMock();
+ $card = $this->createMock(Card::class);
$card->method('getETag')
->willReturn('"myEtag"');
- $this->tree->expects($this->once())->method('getNodeForPath')->with('/files/welcome.txt')->willReturn($card);
-
- $this->plugin->expects($this->once())->method('getPhoto')->willReturn($getPhotoResult);
-
- if (!$expected) {
- $this->response
- ->expects($this->at(0))
- ->method('setHeader')
- ->with('Cache-Control', 'private, max-age=3600, must-revalidate');
- $this->response
- ->expects($this->at(1))
- ->method('setHeader')
- ->with('Etag', '"myEtag"');
- $this->response
- ->expects($this->at(2))
+ $card->method('getName')
+ ->willReturn('card');
+ $book = $this->createMock(AddressBook::class);
+ $book->method('getResourceId')
+ ->willReturn(1);
+
+ $this->tree->method('getNodeForPath')
+ ->willReturnCallback(function($path) use ($card, $book) {
+ if ($path === 'user/book/card') {
+ return $card;
+ } else if ($path === 'user/book') {
+ return $book;
+ }
+ $this->fail();
+ });
+
+ $this->response->expects($this->at(0))
+ ->method('setHeader')
+ ->with('Cache-Control', 'private, max-age=3600, must-revalidate');
+ $this->response->expects($this->at(1))
+ ->method('setHeader')
+ ->with('Etag', '"myEtag"');
+ $this->response->expects($this->at(2))
+ ->method('setHeader')
+ ->with('Pragma', 'public');
+
+ $size = $size === null ? -1 : $size;
+
+ if ($photo) {
+ $file = $this->createMock(ISimpleFile::class);
+ $file->method('getMimeType')
+ ->willReturn('imgtype');
+ $file->method('getContent')
+ ->willReturn('imgdata');
+
+ $this->cache->method('get')
+ ->with(1, 'card', $size, $card)
+ ->willReturn($file);
+
+ $this->response->expects($this->at(3))
->method('setHeader')
- ->with('Pragma', 'public');
- $this->response
- ->expects($this->at(3))
- ->method('setHeader')
- ->with('Content-Type', $getPhotoResult['Content-Type']);
- $this->response
- ->expects($this->at(4))
+ ->with('Content-Type', 'imgtype');
+ $this->response->expects($this->at(4))
->method('setHeader')
->with('Content-Disposition', 'attachment');
- $this->response
- ->expects($this->once())
- ->method('setStatus');
- $this->response
- ->expects($this->once())
- ->method('setBody');
+
+ $this->response->expects($this->once())
+ ->method('setStatus')
+ ->with(200);
+ $this->response->expects($this->once())
+ ->method('setBody')
+ ->with('imgdata');
+
+ } else {
+ $this->cache->method('get')
+ ->with(1, 'card', $size, $card)
+ ->willThrowException(new NotFoundException());
+ $this->response->expects($this->once())
+ ->method('setStatus')
+ ->with(404);
}
$result = $this->plugin->httpGet($this->request, $this->response);
- $this->assertEquals($expected, $result);
- }
-
- public function providesCardWithOrWithoutPhoto() {
- return [
- [true, null],
- [false, ['Content-Type' => 'image/jpeg', 'body' => '1234']],
- ];
- }
-
- /**
- * @dataProvider providesPhotoData
- * @param $expected
- * @param $cardData
- */
- public function testGetPhoto($expected, $cardData) {
- /** @var Card | \PHPUnit_Framework_MockObject_MockObject $card */
- $card = $this->getMockBuilder('Sabre\CardDAV\Card')->disableOriginalConstructor()->getMock();
- $card->expects($this->once())->method('get')->willReturn($cardData);
-
- $this->plugin = new ImageExportPlugin($this->logger);
- $this->plugin->initialize($this->server);
-
- $result = $this->plugin->getPhoto($card);
- $this->assertEquals($expected, $result);
- }
-
- public function providesPhotoData() {
- return [
- 'empty vcard' => [
- false,
- ''
- ],
- 'vcard without PHOTO' => [
- 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\nEND:VCARD\r\n"
- ],
- 'vcard 3 with PHOTO' => [
- [
- 'Content-Type' => 'image/jpeg',
- 'body' => '12345'
- ],
- "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\nPHOTO;ENCODING=b;TYPE=JPEG:MTIzNDU=\r\nEND:VCARD\r\n"
- ],
- 'vcard 3 with PHOTO URL' => [
- 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\nPHOTO;TYPE=JPEG;VALUE=URI:http://example.com/photo.jpg\r\nEND:VCARD\r\n"
- ],
- 'vcard 4 with PHOTO' => [
- [
- 'Content-Type' => 'image/jpeg',
- 'body' => '12345'
- ],
- "BEGIN:VCARD\r\nVERSION:4.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO:data:image/jpeg;base64,MTIzNDU=\r\nEND:VCARD\r\n"
- ],
- 'vcard 4 with PHOTO URL' => [
- false,
- "BEGIN:VCARD\r\nVERSION:4.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO;MEDIATYPE=image/jpeg:http://example.org/photo.jpg\r\nEND:VCARD\r\n"
- ],
- 'vcard 4 with PHOTO AND INVALID MIMEtYPE' => [
- [
- 'Content-Type' => 'application/octet-stream',
- 'body' => '12345'
- ],
- "BEGIN:VCARD\r\nVERSION:4.0\r\nPRODID:-//Sabre//Sabre VObject 4.1.1//EN\r\nUID:12345\r\nFN:12345\r\nN:12345;;;;\r\nPHOTO:data:image/svg;base64,MTIzNDU=\r\nEND:VCARD\r\n"
- ],
- ];
+ $this->assertFalse($result);
}
}
diff --git a/apps/encryption/l10n/cs.js b/apps/encryption/l10n/cs.js
index 00f0dc99e3e..caf843803a0 100644
--- a/apps/encryption/l10n/cs.js
+++ b/apps/encryption/l10n/cs.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "jednorázové heslo pro šifrování na straně serveru",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Soubor nelze načíst, pravděpodobně se jedná o sdílený soubor. Požádejte prosím vlastníka souboru, aby vám jej znovu sdílel.",
+ "Default encryption module" : "Výchozí šifrovací modul",
"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 '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" : "Ahoj!\n\nAdministrátor povolil šifrování dat na serveru. Vaše soubory byly zašifrovány za použití hesla '%s'.\n\nPřihlašte se do webového rozhraní, přejděte do nastavení 'základního šifrovacího modulu' a aktualizujte šifrovací heslo zadáním hesla výše do pole 'původní přihlašovací heslo' a svého aktuálního přihlašovacího hesla.\n\n",
"The share will expire on %s." : "Sdílení vyprší %s.",
"Cheers!" : "Ať slouží!",
"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>" : "Ahoj!<br><br>Administrátor povolil šifrování dat na serveru. Vaše soubory byly zašifrovány za použití hesla <strong>%s<strong>.<br><br>Přihlašte se do webového rozhraní, přejděte do nastavení \"základního šifrovacího modulu\" a aktualizujte šifrovací heslo zadáním hesla výše do pole \"původní přihlašovací heslo\" a svého aktuálního přihlašovacího hesla.<br><br>",
- "Default encryption module" : "Výchozí šifrovací modul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale šifrovací klíče ještě nejsou inicializované. Prosím odhlaste se a znovu se přihlaste",
"Encrypt the home storage" : "Zašifrovat domovské úložiště",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Povolení tohoto nastavení zašifruje všechny soubory uložené v hlavním úložišti, jinak budou šifrovány pouze soubory na externích úložištích.",
diff --git a/apps/encryption/l10n/cs.json b/apps/encryption/l10n/cs.json
index 202a1c1c5bf..923847a9773 100644
--- a/apps/encryption/l10n/cs.json
+++ b/apps/encryption/l10n/cs.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "jednorázové heslo pro šifrování na straně serveru",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento soubor se nepodařilo dešifrovat, pravděpodobně je sdílený. Požádejte prosím majitele souboru, aby jej s vámi znovu sdílel.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Soubor nelze načíst, pravděpodobně se jedná o sdílený soubor. Požádejte prosím vlastníka souboru, aby vám jej znovu sdílel.",
+ "Default encryption module" : "Výchozí šifrovací modul",
"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 '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" : "Ahoj!\n\nAdministrátor povolil šifrování dat na serveru. Vaše soubory byly zašifrovány za použití hesla '%s'.\n\nPřihlašte se do webového rozhraní, přejděte do nastavení 'základního šifrovacího modulu' a aktualizujte šifrovací heslo zadáním hesla výše do pole 'původní přihlašovací heslo' a svého aktuálního přihlašovacího hesla.\n\n",
"The share will expire on %s." : "Sdílení vyprší %s.",
"Cheers!" : "Ať slouží!",
"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>" : "Ahoj!<br><br>Administrátor povolil šifrování dat na serveru. Vaše soubory byly zašifrovány za použití hesla <strong>%s<strong>.<br><br>Přihlašte se do webového rozhraní, přejděte do nastavení \"základního šifrovacího modulu\" a aktualizujte šifrovací heslo zadáním hesla výše do pole \"původní přihlašovací heslo\" a svého aktuálního přihlašovacího hesla.<br><br>",
- "Default encryption module" : "Výchozí šifrovací modul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikace pro šifrování je zapnuta, ale šifrovací klíče ještě nejsou inicializované. Prosím odhlaste se a znovu se přihlaste",
"Encrypt the home storage" : "Zašifrovat domovské úložiště",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Povolení tohoto nastavení zašifruje všechny soubory uložené v hlavním úložišti, jinak budou šifrovány pouze soubory na externích úložištích.",
diff --git a/apps/encryption/l10n/da.js b/apps/encryption/l10n/da.js
index 4009d68b420..af3a850ea41 100644
--- a/apps/encryption/l10n/da.js
+++ b/apps/encryption/l10n/da.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "Engangs password for kryptering på serverdelen",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke kryptere denne fil, sandsynligvis fordi filen er delt. Bed venligst filens ejer om at dele den med dig på ny.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke læse denne fil, sandsynligvis fordi det er en delt fil. Bed venligst ejeren af filen om at dele filen med dig på ny.",
+ "Default encryption module" : "Standard krypterings modul",
"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 '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" : "Hejsa,\n\nadministrator aktiveret kryptering på serverdelen. '%s'.\n\nVenligst log på web brugerfladen, gå til sektionen \"grundlæggende krypterings modul\" for din personlige opsætninger og opdater dine krypterings kodeord ved at indtaste dette kodeord i \"gamle kodeord log\" feltet samt dit nuværende kodeord.\n\n",
"The share will expire on %s." : "Delingen vil udløbe om %s.",
"Cheers!" : "Hej!",
"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>" : "Hejsa,<br><br>administrator aktiveret kryptering på serverdelen. Dine file er blevet krypteret med kodeordet <strong>%s</strong>.<br><br>Venligst log på web brugerfladen, gå til sektionen \"grundlæggende krypterings modul\" for din personlige opsætninger og opdater dine krypterings kodeord ved at indtaste dette kodeord i \"gamle kodeord log\" feltet samt dit nuværende kodeord.<br><br>",
- "Default encryption module" : "Standard krypterings modul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsprogrammet er aktiveret men dine nøgler er ikke indlæst, log venligst ud og ind igen",
"Encrypt the home storage" : "Krypter hjemmelageret",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Ved at slå denne valgmulighed til krypteres alle filer i hovedlageret, ellers vil kun filer på eksternt lager blive krypteret",
diff --git a/apps/encryption/l10n/da.json b/apps/encryption/l10n/da.json
index 68fab4f623f..437e407509f 100644
--- a/apps/encryption/l10n/da.json
+++ b/apps/encryption/l10n/da.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "Engangs password for kryptering på serverdelen",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke kryptere denne fil, sandsynligvis fordi filen er delt. Bed venligst filens ejer om at dele den med dig på ny.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke læse denne fil, sandsynligvis fordi det er en delt fil. Bed venligst ejeren af filen om at dele filen med dig på ny.",
+ "Default encryption module" : "Standard krypterings modul",
"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 '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" : "Hejsa,\n\nadministrator aktiveret kryptering på serverdelen. '%s'.\n\nVenligst log på web brugerfladen, gå til sektionen \"grundlæggende krypterings modul\" for din personlige opsætninger og opdater dine krypterings kodeord ved at indtaste dette kodeord i \"gamle kodeord log\" feltet samt dit nuværende kodeord.\n\n",
"The share will expire on %s." : "Delingen vil udløbe om %s.",
"Cheers!" : "Hej!",
"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>" : "Hejsa,<br><br>administrator aktiveret kryptering på serverdelen. Dine file er blevet krypteret med kodeordet <strong>%s</strong>.<br><br>Venligst log på web brugerfladen, gå til sektionen \"grundlæggende krypterings modul\" for din personlige opsætninger og opdater dine krypterings kodeord ved at indtaste dette kodeord i \"gamle kodeord log\" feltet samt dit nuværende kodeord.<br><br>",
- "Default encryption module" : "Standard krypterings modul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsprogrammet er aktiveret men dine nøgler er ikke indlæst, log venligst ud og ind igen",
"Encrypt the home storage" : "Krypter hjemmelageret",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Ved at slå denne valgmulighed til krypteres alle filer i hovedlageret, ellers vil kun filer på eksternt lager blive krypteret",
diff --git a/apps/encryption/l10n/de.js b/apps/encryption/l10n/de.js
index 3da302d3c6f..c960ae6ff2c 100644
--- a/apps/encryption/l10n/de.js
+++ b/apps/encryption/l10n/de.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "Einmal-Passwort für serverseitige Verschlüsselung",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine freigegebene Datei. Bitte den Eigentümer der Datei kontaktieren, um die Datei erneut freizugeben.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.",
+ "Default encryption module" : "Standard Verschlüsselungsmodul",
"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 '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 '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\n",
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
"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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde dich im Web-Interface an, gehe in deine persönlichen Einstellungen. Dort findest du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort dein Verschlüsselungspasswort indem du das Passwort in das 'alte Log - in Passwort' und in das 'aktuellen Login - Passwort' Feld eingibst.<br><br>",
- "Default encryption module" : "Standard Verschlüsselungsmodul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. Bitte logge Dich aus und wieder ein.",
"Encrypt the home storage" : "Verschlüssle den Speicher",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Die Aktivierung dieser Option verschlüsselt alle Dateien die auf dem Hauptspeicher gespeichert sind, ansonsten werden nur Dateien auf dem externen Speicher verschlüsselt",
diff --git a/apps/encryption/l10n/de.json b/apps/encryption/l10n/de.json
index e7f42735ebe..5ff0d826b6d 100644
--- a/apps/encryption/l10n/de.json
+++ b/apps/encryption/l10n/de.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "Einmal-Passwort für serverseitige Verschlüsselung",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine freigegebene Datei. Bitte den Eigentümer der Datei kontaktieren, um die Datei erneut freizugeben.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktiere den Eigentümer der Datei und bitte darum, die Datei noch einmal mit Dir zu teilen.",
+ "Default encryption module" : "Standard Verschlüsselungsmodul",
"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 '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 '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\n",
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
"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>" : "Hallo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melde dich im Web-Interface an, gehe in deine persönlichen Einstellungen. Dort findest du die Option 'Basisverschlüsselungsmodul' und aktualisiere dort dein Verschlüsselungspasswort indem du das Passwort in das 'alte Log - in Passwort' und in das 'aktuellen Login - Passwort' Feld eingibst.<br><br>",
- "Default encryption module" : "Standard Verschlüsselungsmodul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. Bitte logge Dich aus und wieder ein.",
"Encrypt the home storage" : "Verschlüssle den Speicher",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Die Aktivierung dieser Option verschlüsselt alle Dateien die auf dem Hauptspeicher gespeichert sind, ansonsten werden nur Dateien auf dem externen Speicher verschlüsselt",
diff --git a/apps/encryption/l10n/de_DE.js b/apps/encryption/l10n/de_DE.js
index 6c011b3fad2..4b587ce03f3 100644
--- a/apps/encryption/l10n/de_DE.js
+++ b/apps/encryption/l10n/de_DE.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "Einmalpasswort für Serverseitige Verschlüsselung",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktieren Sie den Eigentümer der Datei und bitten Sie darum, die Datei noch einmal mit Ihnen zu teilen.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktieren Sie den Eigentümer der Datei und bitten Sie darum, die Datei noch einmal mit Ihnen zu teilen.",
+ "Default encryption module" : "Standard Verschlüsselungsmodul",
"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 '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 melden Sie sich im Web-Interface an, gehen Sie in ihre persönlichen Einstellungen. Dort finden Sie die Option 'Basisverschlüsselungsmodul' und aktualisieren Sie dort ihr Verschlüsselungspasswort indem Sie das Passwort in das 'alte Log - in Passwort' und in das 'aktuellen Login - Passwort' Feld eingeben.\n\n",
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
"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>" : "Hollo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melden Sie sich im Web-Interface an und gehen Sie in ihre persönlichen Einstellungen. Dort finden Sie die Option 'Basisverschlüsselungsmodul' und aktualisieren Sie dort Ihr Verschlüsselungspasswort indem Sie das Passwort in das 'alte Login-Passwort-' und in das 'aktuelles Login-Passwort' Feld eingeben.<br><br>",
- "Default encryption module" : "Standard Verschlüsselungsmodul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. Bitte melden Sie sich ab und wieder an",
"Encrypt the home storage" : "Benutzerverzeichnis verschlüsslen",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Die Aktivierung dieser Option verschlüsselt alle Dateien die auf dem Hauptspeicher gespeichert sind, ansonsten werden nur Dateien auf dem externen Speicher verschlüsselt",
diff --git a/apps/encryption/l10n/de_DE.json b/apps/encryption/l10n/de_DE.json
index dbcdf21203b..3ffb7ffd0b5 100644
--- a/apps/encryption/l10n/de_DE.json
+++ b/apps/encryption/l10n/de_DE.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "Einmalpasswort für Serverseitige Verschlüsselung",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht entschlüsselt werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktieren Sie den Eigentümer der Datei und bitten Sie darum, die Datei noch einmal mit Ihnen zu teilen.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Diese Datei kann nicht gelesen werden, es handelt sich wahrscheinlich um eine geteilte Datei. Bitte kontaktieren Sie den Eigentümer der Datei und bitten Sie darum, die Datei noch einmal mit Ihnen zu teilen.",
+ "Default encryption module" : "Standard Verschlüsselungsmodul",
"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 '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 melden Sie sich im Web-Interface an, gehen Sie in ihre persönlichen Einstellungen. Dort finden Sie die Option 'Basisverschlüsselungsmodul' und aktualisieren Sie dort ihr Verschlüsselungspasswort indem Sie das Passwort in das 'alte Log - in Passwort' und in das 'aktuellen Login - Passwort' Feld eingeben.\n\n",
"The share will expire on %s." : "Die Freigabe wird am %s ablaufen.",
"Cheers!" : "Noch einen schönen Tag!",
"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>" : "Hollo,<br><br>der Administrator hat die servereitige Verschlüsselung aktiviert. Die Dateien wurden mit dem Kennwort <strong>%s</strong> verschlüsselt.<br><br>Bitte melden Sie sich im Web-Interface an und gehen Sie in ihre persönlichen Einstellungen. Dort finden Sie die Option 'Basisverschlüsselungsmodul' und aktualisieren Sie dort Ihr Verschlüsselungspasswort indem Sie das Passwort in das 'alte Login-Passwort-' und in das 'aktuelles Login-Passwort' Feld eingeben.<br><br>",
- "Default encryption module" : "Standard Verschlüsselungsmodul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Verschlüsselungs-App ist aktiviert, aber die Schlüssel sind noch nicht initialisiert. Bitte melden Sie sich ab und wieder an",
"Encrypt the home storage" : "Benutzerverzeichnis verschlüsslen",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Die Aktivierung dieser Option verschlüsselt alle Dateien die auf dem Hauptspeicher gespeichert sind, ansonsten werden nur Dateien auf dem externen Speicher verschlüsselt",
diff --git a/apps/encryption/l10n/el.js b/apps/encryption/l10n/el.js
index 215f26fe2e6..9693895870b 100644
--- a/apps/encryption/l10n/el.js
+++ b/apps/encryption/l10n/el.js
@@ -29,11 +29,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "κωδικός μιας χρήσης για κρυπτογράφηση στο διακομιστή",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Δεν ήταν δυνατό να αποκρυπτογραφηθεί αυτό το αρχείο, πιθανόν πρόκειται για κοινόχρηστο αρχείο. Παρακαλώ ζητήστε από τον ιδιοκτήτη του αρχείου να το ξαναμοιραστεί μαζί σας.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Αδυναμία ανάγνωσης αυτού του αρχείου, πιθανό να είναι διαμοιραζόμενο αρχείο. Παρακαλώ ρωτήστε τον κάτοχο του αρχείου να το διαμοιράσει ξανά μαζί σας.",
+ "Default encryption module" : "Προεπιλεγμένη μονάδα κρυπτογράφησης",
"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 '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" : "Χαίρετε,\n\nο διαχειριστής ενεργοποίηση την κρυπτογράφηση στο διακομιστή. Τα αρχεία σας κρυπτογραφήθηκαν με τον κωδικό '%s'.\n\nΠαρακαλούμε συνδεθείτε στη διεπαφή ιστού, πηγαίνετε στην ενότητα 'μονάδα βασικής κρυπτογράφησης' στις προσωπικές σας ρυθμίσεις και ενημερώστε τον κωδικό κρυπτογράφησης εισάγοντας αυτό τον κωδικό στο πεδίο 'παλιός κωδικός σύνδεσης' και τον τωρινό σας κωδικό σύνδεσης.\n",
"The share will expire on %s." : "Ο διαμοιρασμός θα λήξει σε %s.",
"Cheers!" : "Χαιρετισμούς!",
"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>" : "Χαίρετε,<br><br>ο διαχειριστής ενεργοποίησε την κρυπτογράφηση στο διακομιστή. Τα αρχεία σας κρυπτογραφήθηκαν με τον κωδικό <strong>%s</strong>.<br><br>Παρακαλούμε συνδεθείτε στη διεπαφή ιστού, πηγαίνετε στην ενότητα \"μονάδα βασικής κρυπτογράφησης\" τωνπ ροσωπικών σας ρυθμίσεων και ενημερώστε τον κωδικό κρυπτογράφησης εισάγοντας αυτό τον κωδικό στο πεδίο \"παλιός κωδικός σύνδεσης\" και τον τωρινό σας κωδικό σύνδεσης.",
- "Default encryption module" : "Προεπιλεγμένη μονάδα κρυπτογράφησης",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη αλλά τα κλειδιά σας δεν έχουν καταγραφεί, παρακαλώ αποσυνδεθείτε και επανασυνδεθείτε.",
"Encrypt the home storage" : "Κρυπτογράφηση του κεντρικού χώρου αποθήκευσης",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Η ενεργοποίηση αυτή της επιλογής κρυπτογραφεί όλα τα αρχεία που βρίσκονται στον κύριο αποθηκευτικό χώρο, αλλιώς μόνο τα αρχεία σε εξωτερικούς αποθηκευτικούς χώρους θα κρυπτογραφηθούν.",
diff --git a/apps/encryption/l10n/el.json b/apps/encryption/l10n/el.json
index 2d92d421c13..c24465c32ad 100644
--- a/apps/encryption/l10n/el.json
+++ b/apps/encryption/l10n/el.json
@@ -27,11 +27,11 @@
"one-time password for server-side-encryption" : "κωδικός μιας χρήσης για κρυπτογράφηση στο διακομιστή",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Δεν ήταν δυνατό να αποκρυπτογραφηθεί αυτό το αρχείο, πιθανόν πρόκειται για κοινόχρηστο αρχείο. Παρακαλώ ζητήστε από τον ιδιοκτήτη του αρχείου να το ξαναμοιραστεί μαζί σας.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Αδυναμία ανάγνωσης αυτού του αρχείου, πιθανό να είναι διαμοιραζόμενο αρχείο. Παρακαλώ ρωτήστε τον κάτοχο του αρχείου να το διαμοιράσει ξανά μαζί σας.",
+ "Default encryption module" : "Προεπιλεγμένη μονάδα κρυπτογράφησης",
"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 '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" : "Χαίρετε,\n\nο διαχειριστής ενεργοποίηση την κρυπτογράφηση στο διακομιστή. Τα αρχεία σας κρυπτογραφήθηκαν με τον κωδικό '%s'.\n\nΠαρακαλούμε συνδεθείτε στη διεπαφή ιστού, πηγαίνετε στην ενότητα 'μονάδα βασικής κρυπτογράφησης' στις προσωπικές σας ρυθμίσεις και ενημερώστε τον κωδικό κρυπτογράφησης εισάγοντας αυτό τον κωδικό στο πεδίο 'παλιός κωδικός σύνδεσης' και τον τωρινό σας κωδικό σύνδεσης.\n",
"The share will expire on %s." : "Ο διαμοιρασμός θα λήξει σε %s.",
"Cheers!" : "Χαιρετισμούς!",
"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>" : "Χαίρετε,<br><br>ο διαχειριστής ενεργοποίησε την κρυπτογράφηση στο διακομιστή. Τα αρχεία σας κρυπτογραφήθηκαν με τον κωδικό <strong>%s</strong>.<br><br>Παρακαλούμε συνδεθείτε στη διεπαφή ιστού, πηγαίνετε στην ενότητα \"μονάδα βασικής κρυπτογράφησης\" τωνπ ροσωπικών σας ρυθμίσεων και ενημερώστε τον κωδικό κρυπτογράφησης εισάγοντας αυτό τον κωδικό στο πεδίο \"παλιός κωδικός σύνδεσης\" και τον τωρινό σας κωδικό σύνδεσης.",
- "Default encryption module" : "Προεπιλεγμένη μονάδα κρυπτογράφησης",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη αλλά τα κλειδιά σας δεν έχουν καταγραφεί, παρακαλώ αποσυνδεθείτε και επανασυνδεθείτε.",
"Encrypt the home storage" : "Κρυπτογράφηση του κεντρικού χώρου αποθήκευσης",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Η ενεργοποίηση αυτή της επιλογής κρυπτογραφεί όλα τα αρχεία που βρίσκονται στον κύριο αποθηκευτικό χώρο, αλλιώς μόνο τα αρχεία σε εξωτερικούς αποθηκευτικούς χώρους θα κρυπτογραφηθούν.",
diff --git a/apps/encryption/l10n/es.js b/apps/encryption/l10n/es.js
index 5b91875f1be..aeb9f47d271 100644
--- a/apps/encryption/l10n/es.js
+++ b/apps/encryption/l10n/es.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "Contraseña de un solo uso para el cifrado en el lado servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No fue posible descifrar este archivo, probablemente se trate de un archivo compartido. Solicite al propietario del mismo que vuelva a compartirlo con usted.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No se puede leer este archivo, probablemente sea un archivo compartido. Consulte con el propietario del mismo y que lo vuelva a compartir con usted.",
+ "Default encryption module" : "Módulo de cifrado por defecto",
"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 '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" : "Hola,\n\nel administrador ha activado el cifrado de datos en servidor. Tus archivos han sido cifrados usando la contraseña '%s'.\n\nPor favor, inicia tu sesión desde la interfaz web, ves a la sección 'módulo de cifrado básico' de tu área de ajustes personales y actualiza la contraseña de cifrado. Para ello, deberás introducir esta contraseña en el campo 'contraseña de acceso antigua' junto con tu actual contraseña de acceso.\n\n",
"The share will expire on %s." : "El objeto dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
"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>" : "Hola,<br><br>el administrador ha activado el cifrado de datos en servidor. Tus archivos han sido cifrados usando la contraseña <strong>%s</strong>.<br><br>Por favor, inicia tu sesión desde la interfaz web, ves a la sección 'módulo de cifrado básico' de tu área de ajustes personales y actualiza la contraseña de cifrado. Para ello, deberás introducir esta contraseña en el campo 'contraseña de acceso antigua' junto con tu actual contraseña de acceso.<br><br>",
- "Default encryption module" : "Módulo de cifrado por defecto",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "La app de cifrado está habilitada pero sus claves no se han inicializado, por favor, cierre la sesión y vuelva a iniciarla de nuevo.",
"Encrypt the home storage" : "Encriptar el almacenamiento personal",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Al activar esta opción se encriptarán todos los archivos almacenados en la memoria principal, de lo contrario serán cifrados sólo los archivos de almacenamiento externo",
diff --git a/apps/encryption/l10n/es.json b/apps/encryption/l10n/es.json
index 907b03487a4..528b559ee78 100644
--- a/apps/encryption/l10n/es.json
+++ b/apps/encryption/l10n/es.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "Contraseña de un solo uso para el cifrado en el lado servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No fue posible descifrar este archivo, probablemente se trate de un archivo compartido. Solicite al propietario del mismo que vuelva a compartirlo con usted.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No se puede leer este archivo, probablemente sea un archivo compartido. Consulte con el propietario del mismo y que lo vuelva a compartir con usted.",
+ "Default encryption module" : "Módulo de cifrado por defecto",
"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 '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" : "Hola,\n\nel administrador ha activado el cifrado de datos en servidor. Tus archivos han sido cifrados usando la contraseña '%s'.\n\nPor favor, inicia tu sesión desde la interfaz web, ves a la sección 'módulo de cifrado básico' de tu área de ajustes personales y actualiza la contraseña de cifrado. Para ello, deberás introducir esta contraseña en el campo 'contraseña de acceso antigua' junto con tu actual contraseña de acceso.\n\n",
"The share will expire on %s." : "El objeto dejará de ser compartido el %s.",
"Cheers!" : "¡Saludos!",
"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>" : "Hola,<br><br>el administrador ha activado el cifrado de datos en servidor. Tus archivos han sido cifrados usando la contraseña <strong>%s</strong>.<br><br>Por favor, inicia tu sesión desde la interfaz web, ves a la sección 'módulo de cifrado básico' de tu área de ajustes personales y actualiza la contraseña de cifrado. Para ello, deberás introducir esta contraseña en el campo 'contraseña de acceso antigua' junto con tu actual contraseña de acceso.<br><br>",
- "Default encryption module" : "Módulo de cifrado por defecto",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "La app de cifrado está habilitada pero sus claves no se han inicializado, por favor, cierre la sesión y vuelva a iniciarla de nuevo.",
"Encrypt the home storage" : "Encriptar el almacenamiento personal",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Al activar esta opción se encriptarán todos los archivos almacenados en la memoria principal, de lo contrario serán cifrados sólo los archivos de almacenamiento externo",
diff --git a/apps/encryption/l10n/es_MX.js b/apps/encryption/l10n/es_MX.js
index 3aec9628585..ca252c401d0 100644
--- a/apps/encryption/l10n/es_MX.js
+++ b/apps/encryption/l10n/es_MX.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "Contraseña de una-sola-vez para la encripción del lado del servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es posible decriptar este archivo, posiblemente sea un archivo compartido. Favor de solicitar al dueño del archivo que lo vuelva a compartir con usted.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es posible leer este archivo, posiblemente sea un archivo compatido. Favor de solicitar al dueño que vuelva a compartirlo con usted. ",
+ "Default encryption module" : "Módulo de encripción predeterminado",
"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 '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" : "Hola,\n\nel administrador ha habilitado la encripción de lado del servidor. Sus archivos fueron encriptados usando la contraseña '%s'\n\nFavor de iniciar sesión en la interface web, vaya a la sección \"módulo de encripción básica\" de sus ajustes personales y actualice su contraseña de encripción ingresando esta contraseña en el campo 'contraseña de inicio de sesión anterior' y su contraseña de inicio de sesión actual. \n",
"The share will expire on %s." : "El elemento compartido expirará el %s.",
"Cheers!" : "¡Saludos!",
"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>" : "Hola, <br><br>el administrador ha habilitado la encripción del lado del servidor. Sus archivos fueron encriptados usando la contraseña <strong>%s</strong>.<br><br> Favor de iniciar sesisón en la interface web, vaya a la sección \"módulo de encripción básica\" de sus ajustes personales y actualice su contraseña de encripción ingresando esta contraseña en el campo \"contraseña de inicio de sesión anterior\" y su contraseña de inicio de sesión actual. <br><br>",
- "Default encryption module" : "Módulo de encripción predeterminado",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de encripción esta habilitada pero sus llaves no han sido inicializadas, favor de salir y volver a entrar a la sesion",
"Encrypt the home storage" : "Encriptar el almacenamiento de inicio",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Habilitar esta opción encripta todos los archivos almacenados en el almacenamiento principal, de otro modo, sólo los archivos en el almacenamiento externo serán encriptados",
diff --git a/apps/encryption/l10n/es_MX.json b/apps/encryption/l10n/es_MX.json
index d29ac057514..86095ed56c4 100644
--- a/apps/encryption/l10n/es_MX.json
+++ b/apps/encryption/l10n/es_MX.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "Contraseña de una-sola-vez para la encripción del lado del servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es posible decriptar este archivo, posiblemente sea un archivo compartido. Favor de solicitar al dueño del archivo que lo vuelva a compartir con usted.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es posible leer este archivo, posiblemente sea un archivo compatido. Favor de solicitar al dueño que vuelva a compartirlo con usted. ",
+ "Default encryption module" : "Módulo de encripción predeterminado",
"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 '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" : "Hola,\n\nel administrador ha habilitado la encripción de lado del servidor. Sus archivos fueron encriptados usando la contraseña '%s'\n\nFavor de iniciar sesión en la interface web, vaya a la sección \"módulo de encripción básica\" de sus ajustes personales y actualice su contraseña de encripción ingresando esta contraseña en el campo 'contraseña de inicio de sesión anterior' y su contraseña de inicio de sesión actual. \n",
"The share will expire on %s." : "El elemento compartido expirará el %s.",
"Cheers!" : "¡Saludos!",
"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>" : "Hola, <br><br>el administrador ha habilitado la encripción del lado del servidor. Sus archivos fueron encriptados usando la contraseña <strong>%s</strong>.<br><br> Favor de iniciar sesisón en la interface web, vaya a la sección \"módulo de encripción básica\" de sus ajustes personales y actualice su contraseña de encripción ingresando esta contraseña en el campo \"contraseña de inicio de sesión anterior\" y su contraseña de inicio de sesión actual. <br><br>",
- "Default encryption module" : "Módulo de encripción predeterminado",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "La aplicación de encripción esta habilitada pero sus llaves no han sido inicializadas, favor de salir y volver a entrar a la sesion",
"Encrypt the home storage" : "Encriptar el almacenamiento de inicio",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Habilitar esta opción encripta todos los archivos almacenados en el almacenamiento principal, de otro modo, sólo los archivos en el almacenamiento externo serán encriptados",
diff --git a/apps/encryption/l10n/fi.js b/apps/encryption/l10n/fi.js
index 0a1887a5f3d..6498d1bc37a 100644
--- a/apps/encryption/l10n/fi.js
+++ b/apps/encryption/l10n/fi.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "kertakäyttöinen salasana palvelinpään salausta varten",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tämän tiedoston salauksen purkaminen ei onnistu. Kyseessä on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto kanssasi uudelleen.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tiedostoa ei voi lukea, se on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto uudelleen kanssasi.",
+ "Default encryption module" : "Oletus salausmoduuli",
"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 '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" : "Hei,\n\nYlläpiäjä on ottanut käyttöön palvelimen salauksen. Tiedostosi salattiin salasanalla '%s'.\n\nOle hyvä ja kirjaudu palveluun verkkokäyttöliittymän kautta, siirry henkilökohtaisten asetustesi kohtaan \"perussalausmoduuli\" ja päivitä salaukseen käytettävä salasanasi syöttämällä yllä mainittu salasana \"vanha kirjautumissalasana\"-kenttään ja nykyinen kirjautumissalasanasi.\n\n",
"The share will expire on %s." : "Jakaminen päättyy %s.",
"Cheers!" : "Kiitos!",
"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>" : "Hei,<br><br>Ylläpiäjä on ottanut käyttöön palvelimen salauksen. Tiedostosi salattiin salasanalla <strong>%s</srong>.<br><br>Ole hyvä ja kirjaudu palveluun verkkokäyttöliittymän kautta, siirry henkilökohtaisten asetustesi kohtaan \"perussalausmoduuli\" ja päivitä salaukseen käytettävä salasanasi syöttämällä yllä mainittu salasana \"vanha kirjautumissalasana\"-kenttään ja nykyinen kirjautumissalasanasi.<br><br>",
- "Default encryption module" : "Oletus salausmoduuli",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Salaussovellus on aktivoitu, mutta avaimia ei ole alustettu, kirjaudu uudelleen sisään",
"Encrypt the home storage" : "Salaa oma kotitila",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Tämän valinnan ollessa valittuna salataan kaikki päätallennustilaan tallennetut tiedostot. Muussa tapauksessa ainoastaan ulkoisessa tallennustilassa sijaitsevat tiedostot salataan.",
diff --git a/apps/encryption/l10n/fi.json b/apps/encryption/l10n/fi.json
index 5768d7a9d82..85ff9de3975 100644
--- a/apps/encryption/l10n/fi.json
+++ b/apps/encryption/l10n/fi.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "kertakäyttöinen salasana palvelinpään salausta varten",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tämän tiedoston salauksen purkaminen ei onnistu. Kyseessä on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto kanssasi uudelleen.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tiedostoa ei voi lukea, se on luultavasti jaettu tiedosto. Pyydä tiedoston omistajaa jakamaan tiedosto uudelleen kanssasi.",
+ "Default encryption module" : "Oletus salausmoduuli",
"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 '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" : "Hei,\n\nYlläpiäjä on ottanut käyttöön palvelimen salauksen. Tiedostosi salattiin salasanalla '%s'.\n\nOle hyvä ja kirjaudu palveluun verkkokäyttöliittymän kautta, siirry henkilökohtaisten asetustesi kohtaan \"perussalausmoduuli\" ja päivitä salaukseen käytettävä salasanasi syöttämällä yllä mainittu salasana \"vanha kirjautumissalasana\"-kenttään ja nykyinen kirjautumissalasanasi.\n\n",
"The share will expire on %s." : "Jakaminen päättyy %s.",
"Cheers!" : "Kiitos!",
"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>" : "Hei,<br><br>Ylläpiäjä on ottanut käyttöön palvelimen salauksen. Tiedostosi salattiin salasanalla <strong>%s</srong>.<br><br>Ole hyvä ja kirjaudu palveluun verkkokäyttöliittymän kautta, siirry henkilökohtaisten asetustesi kohtaan \"perussalausmoduuli\" ja päivitä salaukseen käytettävä salasanasi syöttämällä yllä mainittu salasana \"vanha kirjautumissalasana\"-kenttään ja nykyinen kirjautumissalasanasi.<br><br>",
- "Default encryption module" : "Oletus salausmoduuli",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Salaussovellus on aktivoitu, mutta avaimia ei ole alustettu, kirjaudu uudelleen sisään",
"Encrypt the home storage" : "Salaa oma kotitila",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Tämän valinnan ollessa valittuna salataan kaikki päätallennustilaan tallennetut tiedostot. Muussa tapauksessa ainoastaan ulkoisessa tallennustilassa sijaitsevat tiedostot salataan.",
diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js
index 4bc0670874e..daecb1c404e 100644
--- a/apps/encryption/l10n/fr.js
+++ b/apps/encryption/l10n/fr.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "Mot de passe à usage unique pour le chiffrement côté serveur",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier : il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le partager à nouveau avec vous.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de lire ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le repartager avec vous. ",
+ "Default encryption module" : "Module de chiffrement par défaut",
"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 '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" : "Bonjour,\n\nL'administrateur a activé le chiffrement sur le serveur. Vos fichiers ont été chiffrés avec le mot de passe suivant :\n\n%s\n\nVeuillez suivre ces instructions :\n\n1. Connectez-vous à l'interface web et trouvez la section \"Module de chiffrement de base d'\" dans vos paramètres personnels;\n\n2. Entrez le mot de passe fourni ci-dessus dans le champ \"Ancien mot de passe de connexion\";\n\n3. Entrez le mot de passe que vous utilisez actuellement pour vous connecter dans le champ \"Actuel mot de passe de connexion\";\n\n4. Validez en cliquant sur le bouton \"Mettre à jour le mot de passe de votre clef privée\".\n",
"The share will expire on %s." : "Le partage expirera le %s.",
"Cheers!" : "À bientôt !",
"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>" : "Bonjour,\n<br><br>\nL'administrateur a activé le chiffrement sur le serveur. Vos fichiers ont été chiffrés avec le mot de passe suivant :\n\n<p style=\"font-family: monospace;\"><b>%s</b></p>\n\n<p>\nVeuillez suivre ces instructions :\n<ol>\n<li>Connectez-vous à l'interface web et trouvez la section <em>\"Module de chiffrement de base d'\"</em> dans vos paramètres personnels;</li>\n<li>Entrez le mot de passe fourni ci-dessus dans le champ <em>\"Ancien mot de passe de connexion\"</em>;</li>\n<li>Entrez le mot de passe que vous utilisez actuellement pour vous connecter dans le champ <em>\"Actuel mot de passe de connexion\"</em>;</li>\n<li>Validez en cliquant sur le bouton <em>\"Mettre à jour le mot de passe de votre clef privée\"</em>.</li>\n</ol>\n</p>",
- "Default encryption module" : "Module de chiffrement par défaut",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.",
"Encrypt the home storage" : "Chiffrer l'espace de stockage principal",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'activation de cette option chiffre tous les fichiers du stockage principal, sinon seuls les espaces de stockage externes seront chiffrés",
diff --git a/apps/encryption/l10n/fr.json b/apps/encryption/l10n/fr.json
index bb194bcfb14..30727c5c610 100644
--- a/apps/encryption/l10n/fr.json
+++ b/apps/encryption/l10n/fr.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "Mot de passe à usage unique pour le chiffrement côté serveur",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de déchiffrer ce fichier : il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le partager à nouveau avec vous.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossible de lire ce fichier, il s'agit probablement d'un fichier partagé. Veuillez demander au propriétaire du fichier de le repartager avec vous. ",
+ "Default encryption module" : "Module de chiffrement par défaut",
"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 '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" : "Bonjour,\n\nL'administrateur a activé le chiffrement sur le serveur. Vos fichiers ont été chiffrés avec le mot de passe suivant :\n\n%s\n\nVeuillez suivre ces instructions :\n\n1. Connectez-vous à l'interface web et trouvez la section \"Module de chiffrement de base d'\" dans vos paramètres personnels;\n\n2. Entrez le mot de passe fourni ci-dessus dans le champ \"Ancien mot de passe de connexion\";\n\n3. Entrez le mot de passe que vous utilisez actuellement pour vous connecter dans le champ \"Actuel mot de passe de connexion\";\n\n4. Validez en cliquant sur le bouton \"Mettre à jour le mot de passe de votre clef privée\".\n",
"The share will expire on %s." : "Le partage expirera le %s.",
"Cheers!" : "À bientôt !",
"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>" : "Bonjour,\n<br><br>\nL'administrateur a activé le chiffrement sur le serveur. Vos fichiers ont été chiffrés avec le mot de passe suivant :\n\n<p style=\"font-family: monospace;\"><b>%s</b></p>\n\n<p>\nVeuillez suivre ces instructions :\n<ol>\n<li>Connectez-vous à l'interface web et trouvez la section <em>\"Module de chiffrement de base d'\"</em> dans vos paramètres personnels;</li>\n<li>Entrez le mot de passe fourni ci-dessus dans le champ <em>\"Ancien mot de passe de connexion\"</em>;</li>\n<li>Entrez le mot de passe que vous utilisez actuellement pour vous connecter dans le champ <em>\"Actuel mot de passe de connexion\"</em>;</li>\n<li>Validez en cliquant sur le bouton <em>\"Mettre à jour le mot de passe de votre clef privée\"</em>.</li>\n</ol>\n</p>",
- "Default encryption module" : "Module de chiffrement par défaut",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.",
"Encrypt the home storage" : "Chiffrer l'espace de stockage principal",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'activation de cette option chiffre tous les fichiers du stockage principal, sinon seuls les espaces de stockage externes seront chiffrés",
diff --git a/apps/encryption/l10n/hu.js b/apps/encryption/l10n/hu.js
index 0b93142bfd4..ded3e0ebbb5 100644
--- a/apps/encryption/l10n/hu.js
+++ b/apps/encryption/l10n/hu.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "szerver-oldali titkosítás egyszer használható jelszava",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "A fájlt nem sikerült visszafejteni, valószínűleg ez egy megosztott fájl. Kérje meg a fájl tulajdonosát, hogy újra ossza meg veled ezt az állományt!",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ez a fájl nem olvasható, valószínűleg ez egy megosztott fájl. Kérd meg a tulajdonosát, hogy ossza meg veled újra ezt a fájlt.",
+ "Default encryption module" : "Alapértelmezett titkosítási modul",
"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 '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" : "Szia!\n\nAz adminisztrátor bekapcsolta a szerver-oldali titkosítást. A fájljaid ezzel a jelszóval lettek titkosítva: '%s'.\n\nKérlek jelentkezz be a webes felületre és a személyes beállítások 'alap titkosítási modul' szekcióban frissítsd a titkosítási jelszavad, úgy hogy megadod a 'régi bejelentkezési jelszó' mezőben ezt a jelszót, majd az aktuális bejelentkezési jelszavad.\n\n",
"The share will expire on %s." : "A megosztás lejár ekkor %s",
"Cheers!" : "Üdv.",
"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>" : "Szia!<br><br>Az adminisztrátor bekapcsolta a szerver-oldali titkosítást. A fájljaid ezzel a jelszóval lettek titkosítva: <strong>%s</strong>.<br><br>Kérlek jelentkezz be a webes felületre és a személyes beállítások 'alap titkosítási modul' szekcióban frissítsd a titkosítási jelszavad, úgy hogy megadod a 'régi bejelentkezési jelszó' mezőben ezt a jelszót, majd az aktuális bejelentkezési jelszavad.<br><br>",
- "Default encryption module" : "Alapértelmezett titkosítási modul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "A titkosító alkalmazás engedélyezve van, de a kulcsaid még nincsenek inicializálva. Kérlek lépj ki, majd lépj be újra",
"Encrypt the home storage" : "Helyi tároló titkosítása",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "A lehetőség engedélyezésekor minden fájlt titkosít a fő tárolóban, egyébként csak a külső tárolókon lévő fájlok lesznek titkosítva",
diff --git a/apps/encryption/l10n/hu.json b/apps/encryption/l10n/hu.json
index 7f6814fa533..8eb3ecdc056 100644
--- a/apps/encryption/l10n/hu.json
+++ b/apps/encryption/l10n/hu.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "szerver-oldali titkosítás egyszer használható jelszava",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "A fájlt nem sikerült visszafejteni, valószínűleg ez egy megosztott fájl. Kérje meg a fájl tulajdonosát, hogy újra ossza meg veled ezt az állományt!",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Ez a fájl nem olvasható, valószínűleg ez egy megosztott fájl. Kérd meg a tulajdonosát, hogy ossza meg veled újra ezt a fájlt.",
+ "Default encryption module" : "Alapértelmezett titkosítási modul",
"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 '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" : "Szia!\n\nAz adminisztrátor bekapcsolta a szerver-oldali titkosítást. A fájljaid ezzel a jelszóval lettek titkosítva: '%s'.\n\nKérlek jelentkezz be a webes felületre és a személyes beállítások 'alap titkosítási modul' szekcióban frissítsd a titkosítási jelszavad, úgy hogy megadod a 'régi bejelentkezési jelszó' mezőben ezt a jelszót, majd az aktuális bejelentkezési jelszavad.\n\n",
"The share will expire on %s." : "A megosztás lejár ekkor %s",
"Cheers!" : "Üdv.",
"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>" : "Szia!<br><br>Az adminisztrátor bekapcsolta a szerver-oldali titkosítást. A fájljaid ezzel a jelszóval lettek titkosítva: <strong>%s</strong>.<br><br>Kérlek jelentkezz be a webes felületre és a személyes beállítások 'alap titkosítási modul' szekcióban frissítsd a titkosítási jelszavad, úgy hogy megadod a 'régi bejelentkezési jelszó' mezőben ezt a jelszót, majd az aktuális bejelentkezési jelszavad.<br><br>",
- "Default encryption module" : "Alapértelmezett titkosítási modul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "A titkosító alkalmazás engedélyezve van, de a kulcsaid még nincsenek inicializálva. Kérlek lépj ki, majd lépj be újra",
"Encrypt the home storage" : "Helyi tároló titkosítása",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "A lehetőség engedélyezésekor minden fájlt titkosít a fő tárolóban, egyébként csak a külső tárolókon lévő fájlok lesznek titkosítva",
diff --git a/apps/encryption/l10n/id.js b/apps/encryption/l10n/id.js
index 2da45ac1dd4..b8b6a77193e 100644
--- a/apps/encryption/l10n/id.js
+++ b/apps/encryption/l10n/id.js
@@ -29,11 +29,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "Sandi sekali pakai untuk server-side-encryption",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tidak dapat mendekripsi berkas ini, mungkin ini adalah berkas bersama. Silakan meminta pemilik berkas ini untuk membagikan kembali dengan Anda.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tidak dapat membaca berkas ini, kemungkinan merupakan berkas berbagi. Silakan minta pemilik berkas untuk membagikan ulang kepada Anda.",
+ "Default encryption module" : "Modul bawaan enkripsi",
"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 '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" : "Hai,\n\nadmin mengaktifkan server-side-encryption. Berkas-berkas Anda dienkripsi menggunakan sandi '%s'.\n\nSilakan masuk di antarmuka web, pergi ke bagian 'modul enkripsi dasar' pada pengaturan pribadi Anda dan perbarui sandi enkripsi Anda dengan memasukkan sandi ini kedalam kolom 'sandi masuk yang lama' dan sandi-masuk saat ini.\n\n",
"The share will expire on %s." : "Pembagian akan berakhir pada %s.",
"Cheers!" : "Horee!",
"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>" : "Hai,<br><br>admin mengaktifkan server-side-encryption. Berkas-berkas Anda dienkripsi menggunakan sandi <strong>%s</strong>.<br><br>Silakan masuk di antarmuka web, pergi ke bagian 'modul enkripsi dasar' pada pengaturan pribadi Anda dan perbarui sandi enkripsi Anda dengan memasukkan sandi ini kedalam kolom 'sandi masuk yang lama' dan sandi masuk yang baru.<br><br>",
- "Default encryption module" : "Modul bawaan enkripsi",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikasi enkripsi telah diaktifkan tetapi kunci tidak terinisialisasi, silakan log-out dan log-in lagi",
"Encrypt the home storage" : "Enkripsi penyimpanan rumah",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Mengaktifkan opsi ini akan mengenkripsi semua berkas yang disimpan pada penyimpanan utama, jika tidak diaktifkan maka hanya berkas pada penyimpanan eksternal saja yang akan dienkripsi.",
diff --git a/apps/encryption/l10n/id.json b/apps/encryption/l10n/id.json
index 1f139e2ea21..ad4636bbaa4 100644
--- a/apps/encryption/l10n/id.json
+++ b/apps/encryption/l10n/id.json
@@ -27,11 +27,11 @@
"one-time password for server-side-encryption" : "Sandi sekali pakai untuk server-side-encryption",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tidak dapat mendekripsi berkas ini, mungkin ini adalah berkas bersama. Silakan meminta pemilik berkas ini untuk membagikan kembali dengan Anda.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tidak dapat membaca berkas ini, kemungkinan merupakan berkas berbagi. Silakan minta pemilik berkas untuk membagikan ulang kepada Anda.",
+ "Default encryption module" : "Modul bawaan enkripsi",
"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 '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" : "Hai,\n\nadmin mengaktifkan server-side-encryption. Berkas-berkas Anda dienkripsi menggunakan sandi '%s'.\n\nSilakan masuk di antarmuka web, pergi ke bagian 'modul enkripsi dasar' pada pengaturan pribadi Anda dan perbarui sandi enkripsi Anda dengan memasukkan sandi ini kedalam kolom 'sandi masuk yang lama' dan sandi-masuk saat ini.\n\n",
"The share will expire on %s." : "Pembagian akan berakhir pada %s.",
"Cheers!" : "Horee!",
"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>" : "Hai,<br><br>admin mengaktifkan server-side-encryption. Berkas-berkas Anda dienkripsi menggunakan sandi <strong>%s</strong>.<br><br>Silakan masuk di antarmuka web, pergi ke bagian 'modul enkripsi dasar' pada pengaturan pribadi Anda dan perbarui sandi enkripsi Anda dengan memasukkan sandi ini kedalam kolom 'sandi masuk yang lama' dan sandi masuk yang baru.<br><br>",
- "Default encryption module" : "Modul bawaan enkripsi",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikasi enkripsi telah diaktifkan tetapi kunci tidak terinisialisasi, silakan log-out dan log-in lagi",
"Encrypt the home storage" : "Enkripsi penyimpanan rumah",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Mengaktifkan opsi ini akan mengenkripsi semua berkas yang disimpan pada penyimpanan utama, jika tidak diaktifkan maka hanya berkas pada penyimpanan eksternal saja yang akan dienkripsi.",
diff --git a/apps/encryption/l10n/it.js b/apps/encryption/l10n/it.js
index 004559ddc88..ce5a75dfa7d 100644
--- a/apps/encryption/l10n/it.js
+++ b/apps/encryption/l10n/it.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "password monouso per la cifratura lato server",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile decifrare questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile leggere questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
+ "Default encryption module" : "Modulo di cifratura predefinito",
"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 '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" : "Ciao,\n\nl'amministratore ha abilitato la cifratura lato server. I tuoi file sono stati\ncifrati utilizzando la password '%s'.\n\nAccedi all'interfaccia web, vai alla sezione 'modulo di cifratura base di' dalle nelle tue impostazioni personali e aggiorna la tua password di cifratura digitando la password nel campo 'vecchia password di accesso' e la tua nuova password.\n\n",
"The share will expire on %s." : "La condivisione scadrà il %s.",
"Cheers!" : "Saluti!",
"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>" : "Ciao,<br><br>l'amministratore ha abilitato la cifratura lato server. I tuoi file sono stati cifrati utilizzando la password <strong>%s</strong>.<br><br>Accedi all'interfaccia web, vai alla sezione \"modulo di cifratura base di\" dalle nelle tue impostazioni personali e aggiorna la tua password di cifratura digitando la password nel campo \"vecchia password di accesso\" e la tua nuova password.",
- "Default encryption module" : "Modulo di cifratura predefinito",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso",
"Encrypt the home storage" : "Cifra l'archiviazione principale",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'abilitazione di questa opzione cifra tutti i file memorizzati sull'archiviazione principale, altrimenti saranno cifrati solo i file sull'archiviazione esterna.",
diff --git a/apps/encryption/l10n/it.json b/apps/encryption/l10n/it.json
index 5f48dce72bd..5a7539c9dc7 100644
--- a/apps/encryption/l10n/it.json
+++ b/apps/encryption/l10n/it.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "password monouso per la cifratura lato server",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile decifrare questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Impossibile leggere questo file, probabilmente è un file condiviso. Chiedi al proprietario del file di condividere nuovamente il file con te.",
+ "Default encryption module" : "Modulo di cifratura predefinito",
"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 '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" : "Ciao,\n\nl'amministratore ha abilitato la cifratura lato server. I tuoi file sono stati\ncifrati utilizzando la password '%s'.\n\nAccedi all'interfaccia web, vai alla sezione 'modulo di cifratura base di' dalle nelle tue impostazioni personali e aggiorna la tua password di cifratura digitando la password nel campo 'vecchia password di accesso' e la tua nuova password.\n\n",
"The share will expire on %s." : "La condivisione scadrà il %s.",
"Cheers!" : "Saluti!",
"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>" : "Ciao,<br><br>l'amministratore ha abilitato la cifratura lato server. I tuoi file sono stati cifrati utilizzando la password <strong>%s</strong>.<br><br>Accedi all'interfaccia web, vai alla sezione \"modulo di cifratura base di\" dalle nelle tue impostazioni personali e aggiorna la tua password di cifratura digitando la password nel campo \"vecchia password di accesso\" e la tua nuova password.",
- "Default encryption module" : "Modulo di cifratura predefinito",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'applicazione di cifratura è abilitata, ma le chiavi non sono state inizializzate, disconnettiti ed effettua nuovamente l'accesso",
"Encrypt the home storage" : "Cifra l'archiviazione principale",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'abilitazione di questa opzione cifra tutti i file memorizzati sull'archiviazione principale, altrimenti saranno cifrati solo i file sull'archiviazione esterna.",
diff --git a/apps/encryption/l10n/ja.js b/apps/encryption/l10n/ja.js
index c013d1f9114..5ebe12d7365 100644
--- a/apps/encryption/l10n/ja.js
+++ b/apps/encryption/l10n/ja.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "サーバーサイド暗号化のワンタイムパスワード",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを読み取ることができません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
+ "Default encryption module" : "デフォルトの暗号化モジュール",
"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 '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" : "こんにちは、\n\n管理者がサーバーサイド暗号化を有効にしました。'%s'というパスワードであなたのファイルが暗号化されました。\n\nWeb画面からログインして、個人設定画面の'基本暗号化モジュール' セクションにいき、暗号化パスワードの更新をお願いします。 '旧ログインパスワード'部分に上記パスワードを入力し、現在のログインパスワードで更新します。\n",
"The share will expire on %s." : "共有は %s で有効期限が切れます。",
"Cheers!" : "それでは!",
"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>" : "こんにちは、<br><br>管理者がサーバーサイド暗号化を有効にしました。<strong>%s</strong>というパスワードであなたのファイルが暗号化されました。<br><br>Web画面からログインして、個人設定画面の\"基本暗号化モジュール\"のセクションにいき、暗号化パスワードの更新をお願いします。 \"旧ログインパスワード”部分に上記パスワードを入力し、現在のログインパスワードで更新します。<br><br>",
- "Default encryption module" : "デフォルトの暗号化モジュール",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
"Encrypt the home storage" : "メインストレージ暗号化",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "このオプションを有効にすると、外部ストレージ接続ストレージだけが暗号化されるのではなく、メインストレージのファイル全てが暗号化されます。",
diff --git a/apps/encryption/l10n/ja.json b/apps/encryption/l10n/ja.json
index 1ca8c504433..4408f7882d6 100644
--- a/apps/encryption/l10n/ja.json
+++ b/apps/encryption/l10n/ja.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "サーバーサイド暗号化のワンタイムパスワード",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを復号化できません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "このファイルを読み取ることができません、共有ファイルの可能性があります。ファイルの所有者にお願いして、ファイルを共有しなおしてもらってください。",
+ "Default encryption module" : "デフォルトの暗号化モジュール",
"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 '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" : "こんにちは、\n\n管理者がサーバーサイド暗号化を有効にしました。'%s'というパスワードであなたのファイルが暗号化されました。\n\nWeb画面からログインして、個人設定画面の'基本暗号化モジュール' セクションにいき、暗号化パスワードの更新をお願いします。 '旧ログインパスワード'部分に上記パスワードを入力し、現在のログインパスワードで更新します。\n",
"The share will expire on %s." : "共有は %s で有効期限が切れます。",
"Cheers!" : "それでは!",
"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>" : "こんにちは、<br><br>管理者がサーバーサイド暗号化を有効にしました。<strong>%s</strong>というパスワードであなたのファイルが暗号化されました。<br><br>Web画面からログインして、個人設定画面の\"基本暗号化モジュール\"のセクションにいき、暗号化パスワードの更新をお願いします。 \"旧ログインパスワード”部分に上記パスワードを入力し、現在のログインパスワードで更新します。<br><br>",
- "Default encryption module" : "デフォルトの暗号化モジュール",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
"Encrypt the home storage" : "メインストレージ暗号化",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "このオプションを有効にすると、外部ストレージ接続ストレージだけが暗号化されるのではなく、メインストレージのファイル全てが暗号化されます。",
diff --git a/apps/encryption/l10n/ko.js b/apps/encryption/l10n/ko.js
index 35705d0a7a0..f5817c10af1 100644
--- a/apps/encryption/l10n/ko.js
+++ b/apps/encryption/l10n/ko.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "서버 측 암호화용 일회용 암호",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "이 파일을 복호화할 수 없습니다. 공유된 파일일 수도 있습니다. 파일 소유자에게 공유를 다시 요청하십시오.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "이 파일을 읽을 수 없습니다. 공유된 파일이라면 파일 소유자에게 연락하여 다시 공유해 달라고 요청하십시오.",
+ "Default encryption module" : "기본 암호화 모듈",
"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 '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" : "안녕하세요,\n\n시스템 관리자가 서버 측 암호화를 활성화했습니다. 저장된 파일이 암호 '%s'으(로) 암호화되었습니다.\n\n웹 인터페이스에 로그인하여 개인 설정의 '기본 암호화 모듈'로 이동한 다음, '이전 로그인 암호' 필드에 위 암호를 입력하고 현재 로그인 암호로 변경하여 암호화 암호를 업데이트하십시오.\n\n",
"The share will expire on %s." : "이 공유는 %s에 만료됩니다.",
"Cheers!" : "감사합니다!",
"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>" : "안녕하세요,<br><br>시스템 관리자가 서버 측 암호화를 활성화했습니다. 저장된 파일이 암호 <strong>%s</strong>으(로) 암호화되었습니다.<br><br>웹 인터페이스에 로그인하여 개인 설정의 '기본 암호화 모듈'로 이동한 다음, '이전 로그인 암호' 필드에 위 암호를 입력하고 현재 로그인 암호로 변경하여 암호화 암호를 업데이트하십시오.<br><br>",
- "Default encryption module" : "기본 암호화 모듈",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "암호화 앱이 활성화되어 있지만 키가 초기화되지 않았습니다. 로그아웃한 후 다시 로그인하십시오",
"Encrypt the home storage" : "홈 저장소 암호화",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "이 옵션을 사용하면 주 저장소에 있는 모드 파일을 암호화하며, 사용하지 않으면 외부 저장소의 파일만 암호화합니다",
diff --git a/apps/encryption/l10n/ko.json b/apps/encryption/l10n/ko.json
index bcc081dd5e5..477ea4eec05 100644
--- a/apps/encryption/l10n/ko.json
+++ b/apps/encryption/l10n/ko.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "서버 측 암호화용 일회용 암호",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "이 파일을 복호화할 수 없습니다. 공유된 파일일 수도 있습니다. 파일 소유자에게 공유를 다시 요청하십시오.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "이 파일을 읽을 수 없습니다. 공유된 파일이라면 파일 소유자에게 연락하여 다시 공유해 달라고 요청하십시오.",
+ "Default encryption module" : "기본 암호화 모듈",
"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 '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" : "안녕하세요,\n\n시스템 관리자가 서버 측 암호화를 활성화했습니다. 저장된 파일이 암호 '%s'으(로) 암호화되었습니다.\n\n웹 인터페이스에 로그인하여 개인 설정의 '기본 암호화 모듈'로 이동한 다음, '이전 로그인 암호' 필드에 위 암호를 입력하고 현재 로그인 암호로 변경하여 암호화 암호를 업데이트하십시오.\n\n",
"The share will expire on %s." : "이 공유는 %s에 만료됩니다.",
"Cheers!" : "감사합니다!",
"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>" : "안녕하세요,<br><br>시스템 관리자가 서버 측 암호화를 활성화했습니다. 저장된 파일이 암호 <strong>%s</strong>으(로) 암호화되었습니다.<br><br>웹 인터페이스에 로그인하여 개인 설정의 '기본 암호화 모듈'로 이동한 다음, '이전 로그인 암호' 필드에 위 암호를 입력하고 현재 로그인 암호로 변경하여 암호화 암호를 업데이트하십시오.<br><br>",
- "Default encryption module" : "기본 암호화 모듈",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "암호화 앱이 활성화되어 있지만 키가 초기화되지 않았습니다. 로그아웃한 후 다시 로그인하십시오",
"Encrypt the home storage" : "홈 저장소 암호화",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "이 옵션을 사용하면 주 저장소에 있는 모드 파일을 암호화하며, 사용하지 않으면 외부 저장소의 파일만 암호화합니다",
diff --git a/apps/encryption/l10n/lt_LT.js b/apps/encryption/l10n/lt_LT.js
index b40b285458b..68d716eb2e9 100644
--- a/apps/encryption/l10n/lt_LT.js
+++ b/apps/encryption/l10n/lt_LT.js
@@ -27,9 +27,9 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "Vienkartinis slaptažodis šifravimui serverio pusėje",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nepavyksta iššifruoti šio failo, tikriausiai, tai yra bendrinamas failas. Paprašykite failo savininko iš naujo pradėti bendrinti su jumis šį failą.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nepavyksta perskaityti šio failo, tikriausiai, tai yra bendrinamas failas. Paprašykite failo savininko iš naujo pradėti bendrinti su jumis šį failą.",
+ "Default encryption module" : "Numatytasis šifravimo modulis",
"The share will expire on %s." : "Bendrinimo laikas pasibaigs %s.",
"Cheers!" : "Sveikinimai!",
- "Default encryption module" : "Numatytasis šifravimo modulis",
"Encrypt the home storage" : "Šifruoti namų saugyklą",
"Enable recovery key" : "Įjungti atstatymo raktą",
"Disable recovery key" : "Išjungti atstatymo raktą",
diff --git a/apps/encryption/l10n/lt_LT.json b/apps/encryption/l10n/lt_LT.json
index 7f40f03978a..85cc95c9302 100644
--- a/apps/encryption/l10n/lt_LT.json
+++ b/apps/encryption/l10n/lt_LT.json
@@ -25,9 +25,9 @@
"one-time password for server-side-encryption" : "Vienkartinis slaptažodis šifravimui serverio pusėje",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nepavyksta iššifruoti šio failo, tikriausiai, tai yra bendrinamas failas. Paprašykite failo savininko iš naujo pradėti bendrinti su jumis šį failą.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nepavyksta perskaityti šio failo, tikriausiai, tai yra bendrinamas failas. Paprašykite failo savininko iš naujo pradėti bendrinti su jumis šį failą.",
+ "Default encryption module" : "Numatytasis šifravimo modulis",
"The share will expire on %s." : "Bendrinimo laikas pasibaigs %s.",
"Cheers!" : "Sveikinimai!",
- "Default encryption module" : "Numatytasis šifravimo modulis",
"Encrypt the home storage" : "Šifruoti namų saugyklą",
"Enable recovery key" : "Įjungti atstatymo raktą",
"Disable recovery key" : "Išjungti atstatymo raktą",
diff --git a/apps/encryption/l10n/nb.js b/apps/encryption/l10n/nb.js
index d78770c9828..8c1ae4e59aa 100644
--- a/apps/encryption/l10n/nb.js
+++ b/apps/encryption/l10n/nb.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "engangspassord for tjenerkryptering",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke dekryptere denne filen. Dette er sannsynligvis en delt fil. Spør eieren av filen om å dele den med deg på nytt.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke lese denne filen, som sannsynligvis er en delt fil. Be eieren av filen om å dele den med deg på nytt.",
+ "Default encryption module" : "Standard krypteringsmodul",
"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 '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" : "Hei,\n\nAdministratoren har aktivert tjenerkryptering. Filene dine er blitt kryptert med passordet '%s'.\n\nlogg inn på vev-grensesnittet, gå til seksjonen 'grunnleggende krypteringsmodul' i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet 'gammelt påloggingspassord' sammen med ditt nåværende påloggingspassord.\n",
"The share will expire on %s." : "Delingen vil opphøre %s.",
"Cheers!" : "Ha det!",
"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>" : "Hei,<br><br>Administratoren har skrudd på tjenerkryptering. Filene dine er blitt kryptert med passordet <strong>%s</strong>.<br><br>Logg inn på vev-grensesnittet, gå til seksjonen \"grunnleggende krypteringsmodul\" i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet \"gammelt påloggingspassord\" sammen med ditt nåværende påloggingspassord.<br><br>",
- "Default encryption module" : "Standard krypteringsmodul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.",
"Encrypt the home storage" : "Krypter hjemmelageret",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivering av dette valget krypterer alle filer som er lagret på hovedlageret. Ellers vil kun filer på eksterne lagre bli kryptert.",
diff --git a/apps/encryption/l10n/nb.json b/apps/encryption/l10n/nb.json
index 27bc9150b70..6bd09db1dc3 100644
--- a/apps/encryption/l10n/nb.json
+++ b/apps/encryption/l10n/nb.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "engangspassord for tjenerkryptering",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke dekryptere denne filen. Dette er sannsynligvis en delt fil. Spør eieren av filen om å dele den med deg på nytt.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ikke lese denne filen, som sannsynligvis er en delt fil. Be eieren av filen om å dele den med deg på nytt.",
+ "Default encryption module" : "Standard krypteringsmodul",
"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 '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" : "Hei,\n\nAdministratoren har aktivert tjenerkryptering. Filene dine er blitt kryptert med passordet '%s'.\n\nlogg inn på vev-grensesnittet, gå til seksjonen 'grunnleggende krypteringsmodul' i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet 'gammelt påloggingspassord' sammen med ditt nåværende påloggingspassord.\n",
"The share will expire on %s." : "Delingen vil opphøre %s.",
"Cheers!" : "Ha det!",
"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>" : "Hei,<br><br>Administratoren har skrudd på tjenerkryptering. Filene dine er blitt kryptert med passordet <strong>%s</strong>.<br><br>Logg inn på vev-grensesnittet, gå til seksjonen \"grunnleggende krypteringsmodul\" i dine personlige innstillinger og oppdater krypteringspassordet ditt ved å legge inn dette passordet i feltet \"gammelt påloggingspassord\" sammen med ditt nåværende påloggingspassord.<br><br>",
- "Default encryption module" : "Standard krypteringsmodul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "App for kryptering er aktivert men nøklene dine er ikke satt opp. Logg ut og logg inn igjen.",
"Encrypt the home storage" : "Krypter hjemmelageret",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivering av dette valget krypterer alle filer som er lagret på hovedlageret. Ellers vil kun filer på eksterne lagre bli kryptert.",
diff --git a/apps/encryption/l10n/nl.js b/apps/encryption/l10n/nl.js
index 441326493e4..edf8be08e4f 100644
--- a/apps/encryption/l10n/nl.js
+++ b/apps/encryption/l10n/nl.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "eenmalig wachtwoord voor server-side versleuteling",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet ontcijferen, waarschijnlijk is het een gedeeld bestand, Vraag de eigenaar om het bestand opnieuw met je te delen.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet lezen, waarschijnlijk is het een gedeeld bestand. Vraag de eigenaar om het bestand opnieuw met je te delen.",
+ "Default encryption module" : "Standaard cryptomodule",
"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 '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" : "Hallo daar,\n\nde beheerder heeft server-side versleuteling ingeschakeld. Je bestanden werden versleuteld met het wachtwoord '%s'.\n\nLogin op de webinterface, ga naar 'basis cryptomodule' in je persoonlijke instellingen en pas je cryptowachtwoord aan door dit wachtwoord in het 'oude inlog wachtwoord' veld in te vullen alsmede in je huidige inlogwachtwoord.\n",
"The share will expire on %s." : "De share vervalt op %s.",
"Cheers!" : "Proficiat!",
"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>" : "Hallo daar,<br><br>de beheerder heeft server-side versleuteling ingeschakeld. Je bestanden werden versleuteld met het wachtwoord <strong>%s</strong>.<br><br>Login op de webinterface, ga naar 'basis cryptomodule' in je persoonlijke instellingen en pas je cryptowachtwoord aan door dit wachtwoord in het \"oude inlog wachtwoord\" veld in te vullen alsmede in je huidige inlogwachtwoord.<br><br>",
- "Default encryption module" : "Standaard cryptomodule",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Crypto app is ingeschakeld, maar je sleutels werden niet geïnitialiseerd. Log uit en log daarna opnieuw in.",
"Encrypt the home storage" : "Versleutel de eigen serveropslag",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Het inschakelen van deze optie zorgt voor versleutelen van alle bestanden op do hoofdopslag, anders worden alleen bestanden op externe opslag versleuteld",
diff --git a/apps/encryption/l10n/nl.json b/apps/encryption/l10n/nl.json
index a8c477566f8..8194099ad82 100644
--- a/apps/encryption/l10n/nl.json
+++ b/apps/encryption/l10n/nl.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "eenmalig wachtwoord voor server-side versleuteling",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet ontcijferen, waarschijnlijk is het een gedeeld bestand, Vraag de eigenaar om het bestand opnieuw met je te delen.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan dit bestand niet lezen, waarschijnlijk is het een gedeeld bestand. Vraag de eigenaar om het bestand opnieuw met je te delen.",
+ "Default encryption module" : "Standaard cryptomodule",
"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 '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" : "Hallo daar,\n\nde beheerder heeft server-side versleuteling ingeschakeld. Je bestanden werden versleuteld met het wachtwoord '%s'.\n\nLogin op de webinterface, ga naar 'basis cryptomodule' in je persoonlijke instellingen en pas je cryptowachtwoord aan door dit wachtwoord in het 'oude inlog wachtwoord' veld in te vullen alsmede in je huidige inlogwachtwoord.\n",
"The share will expire on %s." : "De share vervalt op %s.",
"Cheers!" : "Proficiat!",
"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>" : "Hallo daar,<br><br>de beheerder heeft server-side versleuteling ingeschakeld. Je bestanden werden versleuteld met het wachtwoord <strong>%s</strong>.<br><br>Login op de webinterface, ga naar 'basis cryptomodule' in je persoonlijke instellingen en pas je cryptowachtwoord aan door dit wachtwoord in het \"oude inlog wachtwoord\" veld in te vullen alsmede in je huidige inlogwachtwoord.<br><br>",
- "Default encryption module" : "Standaard cryptomodule",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Crypto app is ingeschakeld, maar je sleutels werden niet geïnitialiseerd. Log uit en log daarna opnieuw in.",
"Encrypt the home storage" : "Versleutel de eigen serveropslag",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Het inschakelen van deze optie zorgt voor versleutelen van alle bestanden op do hoofdopslag, anders worden alleen bestanden op externe opslag versleuteld",
diff --git a/apps/encryption/l10n/pl.js b/apps/encryption/l10n/pl.js
index c3d937559d8..38b7327c45e 100644
--- a/apps/encryption/l10n/pl.js
+++ b/apps/encryption/l10n/pl.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "jednorazowe hasło do serwera szyfrowania strony",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nie można odszyfrować tego pliku, prawdopodobnie jest to plik udostępniony. Poproś właściciela pliku o ponowne udostępnianie pliku Tobie.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nie można odczytać tego pliku, prawdopodobnie plik nie jest współdzielony. Proszę zwrócić się do właściciela pliku, aby udostępnił go dla Ciebie.",
+ "Default encryption module" : "Domyślny moduł szyfrujący",
"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 '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" : "Hej tam,\n\nadmin włączył szyfrowanie po stronie serwera. Twoje pliki zostały zaszyfrowane przy użyciu hasła '%s'.\n\nProszę zalogować się do interfejsu internetowego, przejdź do sekcji Nextcloud podstawowy moduł szyfrowania, następnie osobiste ustawienia i zaktualizuj hasło szyfrowania wpisując aktualny login, w polu stare hasło logowania wpisz stare hasło, a następnie aktualne hasło.\n\n",
"The share will expire on %s." : "Ten zasób wygaśnie %s",
"Cheers!" : "Dzięki!",
"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>" : "Hej tam,<br><br>admin włączył szyfrowanie po stronie serwera. Twoje pliki zostały zaszyfrowane przy użyciu hasła <strong>%s</strong>.<br><br>Proszę zalogować się do interfejsu internetowego, przejdź do sekcji Nextcloud podstawowy moduł szyfrowania, następnie osobiste ustawienia i zaktualizuj hasło szyfrowania wpisując aktualny login, w polu stare hasło logowania wpisz stare hasło, a następnie aktualne hasło.<br><br>",
- "Default encryption module" : "Domyślny moduł szyfrujący",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Szyfrowanie w aplikacji jest włączone, ale klucze nie są zainicjowane. Prosimy wylogować się i ponownie zalogować się.",
"Encrypt the home storage" : "Szyfrowanie przechowywanie w domu",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Włączenie tej opcji spowoduje szyfrowanie wszystkich plików zapisanych na pamięci wewnętrznej. W innym wypadku szyfrowane będą tylko pliki na pamięci zewnętrznej.",
diff --git a/apps/encryption/l10n/pl.json b/apps/encryption/l10n/pl.json
index 62e1668ce6d..5b63fcba4dc 100644
--- a/apps/encryption/l10n/pl.json
+++ b/apps/encryption/l10n/pl.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "jednorazowe hasło do serwera szyfrowania strony",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nie można odszyfrować tego pliku, prawdopodobnie jest to plik udostępniony. Poproś właściciela pliku o ponowne udostępnianie pliku Tobie.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nie można odczytać tego pliku, prawdopodobnie plik nie jest współdzielony. Proszę zwrócić się do właściciela pliku, aby udostępnił go dla Ciebie.",
+ "Default encryption module" : "Domyślny moduł szyfrujący",
"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 '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" : "Hej tam,\n\nadmin włączył szyfrowanie po stronie serwera. Twoje pliki zostały zaszyfrowane przy użyciu hasła '%s'.\n\nProszę zalogować się do interfejsu internetowego, przejdź do sekcji Nextcloud podstawowy moduł szyfrowania, następnie osobiste ustawienia i zaktualizuj hasło szyfrowania wpisując aktualny login, w polu stare hasło logowania wpisz stare hasło, a następnie aktualne hasło.\n\n",
"The share will expire on %s." : "Ten zasób wygaśnie %s",
"Cheers!" : "Dzięki!",
"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>" : "Hej tam,<br><br>admin włączył szyfrowanie po stronie serwera. Twoje pliki zostały zaszyfrowane przy użyciu hasła <strong>%s</strong>.<br><br>Proszę zalogować się do interfejsu internetowego, przejdź do sekcji Nextcloud podstawowy moduł szyfrowania, następnie osobiste ustawienia i zaktualizuj hasło szyfrowania wpisując aktualny login, w polu stare hasło logowania wpisz stare hasło, a następnie aktualne hasło.<br><br>",
- "Default encryption module" : "Domyślny moduł szyfrujący",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Szyfrowanie w aplikacji jest włączone, ale klucze nie są zainicjowane. Prosimy wylogować się i ponownie zalogować się.",
"Encrypt the home storage" : "Szyfrowanie przechowywanie w domu",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Włączenie tej opcji spowoduje szyfrowanie wszystkich plików zapisanych na pamięci wewnętrznej. W innym wypadku szyfrowane będą tylko pliki na pamięci zewnętrznej.",
diff --git a/apps/encryption/l10n/pt_BR.js b/apps/encryption/l10n/pt_BR.js
index 4d768482881..b21e483c86d 100644
--- a/apps/encryption/l10n/pt_BR.js
+++ b/apps/encryption/l10n/pt_BR.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "senha de uso único para criptografia do lado do servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser descriptografado pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não foi possível ler este arquivo pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.",
+ "Default encryption module" : "Módulo de criptografia padrão",
"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 '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" : "Olá,\n\nO administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha '%s'.\n\nPor favor faça o login na interface 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 senha de login atual.\n\n",
"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 a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha <strong>%s</strong>.<br><br>Por favor, faça o login na interface 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 senha de login atual.<br><br>",
- "Default encryption module" : "Módulo de criptografia padrão",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "O aplicativo de criptografia está habilitado, mas suas chaves não foram inicializadas. Por favor, saia e entre novamente.",
"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 irá criptografar todos os arquivos do armazenamento principal, caso contrário, apenas arquivos no armazenamento externo serão criptografados",
diff --git a/apps/encryption/l10n/pt_BR.json b/apps/encryption/l10n/pt_BR.json
index 9cebb7d437e..2d97b1c5e57 100644
--- a/apps/encryption/l10n/pt_BR.json
+++ b/apps/encryption/l10n/pt_BR.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "senha de uso único para criptografia do lado do servidor",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Este arquivo não pode ser descriptografado pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não foi possível ler este arquivo pois provavelmente é um arquivo compartilhado. Por favor, peça ao dono do arquivo para recompartilhá-lo com você.",
+ "Default encryption module" : "Módulo de criptografia padrão",
"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 '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" : "Olá,\n\nO administrador habilitou a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha '%s'.\n\nPor favor faça o login na interface 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 senha de login atual.\n\n",
"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 a criptografia do lado do servidor. Os seus arquivos foram criptografados usando a senha <strong>%s</strong>.<br><br>Por favor, faça o login na interface 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 senha de login atual.<br><br>",
- "Default encryption module" : "Módulo de criptografia padrão",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "O aplicativo de criptografia está habilitado, mas suas chaves não foram inicializadas. Por favor, saia e entre novamente.",
"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 irá criptografar todos os arquivos do armazenamento principal, caso contrário, apenas arquivos no armazenamento externo serão criptografados",
diff --git a/apps/encryption/l10n/ru.js b/apps/encryption/l10n/ru.js
index 772cb8e172b..e75543b8a96 100644
--- a/apps/encryption/l10n/ru.js
+++ b/apps/encryption/l10n/ru.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "одноразовый пароль для шифрования на стороне сервера",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не удалось расшифровать файл, возможно это опубликованный файл. Попросите владельца файла повторно открыть к нему доступ.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не удается прочитать файл, возможно это публичный файл. Пожалуйста попросите владельца открыть доступ снова.",
+ "Default encryption module" : "Модуль шифрования по-умолчанию",
"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 '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" : "Привет,\n\nадминистратор включил шифрование на стороне сервера. Ваши файлы были зашифрованы с использованием пароля «%s».\n\nПожалуйста войдите в веб-приложение, в разделе «простой модуль шифрования» в личных настройках вам нужно обновить пароль шифрования, указав этот пароль в поле \"старый пароль\".\n",
"The share will expire on %s." : "Доступ будет закрыт %s",
"Cheers!" : "Всего наилучшего!",
"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>" : "Привет,<br><br>администратор включил шифрование на стороне сервера. Ваши файлы были зашифрованы с помощью пароля <strong>%s</strong>.<br><br>Пожалуйста войдите в веб-приложение, в разделе «простой модуль шифрования» в личных настройках вам нужно обновить пароль шифрования, указав этот пароль в поле \"старый пароль\".<br><br>",
- "Default encryption module" : "Модуль шифрования по-умолчанию",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Приложение шифрования активно, но ваши ключи не инициализированы, выйдите из системы и войдите заново",
"Encrypt the home storage" : "Шифровать домашнюю директорию",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "При включении данного параметра будут зашифрованы все файлы, хранящиеся в основном хранилище. В противном случае шифруются только файлы на внешних хранилищах.",
diff --git a/apps/encryption/l10n/ru.json b/apps/encryption/l10n/ru.json
index 1fd205fa063..1ed8a5f3471 100644
--- a/apps/encryption/l10n/ru.json
+++ b/apps/encryption/l10n/ru.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "одноразовый пароль для шифрования на стороне сервера",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не удалось расшифровать файл, возможно это опубликованный файл. Попросите владельца файла повторно открыть к нему доступ.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Не удается прочитать файл, возможно это публичный файл. Пожалуйста попросите владельца открыть доступ снова.",
+ "Default encryption module" : "Модуль шифрования по-умолчанию",
"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 '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" : "Привет,\n\nадминистратор включил шифрование на стороне сервера. Ваши файлы были зашифрованы с использованием пароля «%s».\n\nПожалуйста войдите в веб-приложение, в разделе «простой модуль шифрования» в личных настройках вам нужно обновить пароль шифрования, указав этот пароль в поле \"старый пароль\".\n",
"The share will expire on %s." : "Доступ будет закрыт %s",
"Cheers!" : "Всего наилучшего!",
"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>" : "Привет,<br><br>администратор включил шифрование на стороне сервера. Ваши файлы были зашифрованы с помощью пароля <strong>%s</strong>.<br><br>Пожалуйста войдите в веб-приложение, в разделе «простой модуль шифрования» в личных настройках вам нужно обновить пароль шифрования, указав этот пароль в поле \"старый пароль\".<br><br>",
- "Default encryption module" : "Модуль шифрования по-умолчанию",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Приложение шифрования активно, но ваши ключи не инициализированы, выйдите из системы и войдите заново",
"Encrypt the home storage" : "Шифровать домашнюю директорию",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "При включении данного параметра будут зашифрованы все файлы, хранящиеся в основном хранилище. В противном случае шифруются только файлы на внешних хранилищах.",
diff --git a/apps/encryption/l10n/sk.js b/apps/encryption/l10n/sk.js
index 91b90843699..a64516950cb 100644
--- a/apps/encryption/l10n/sk.js
+++ b/apps/encryption/l10n/sk.js
@@ -29,11 +29,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "jednorazové heslo na šifrovanie na strane servera",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento súbor nie je možné rozšifrovať, môže ísť o súbor sprístupnený iným používateľom. Požiadajte majiteľa súboru, aby vám ho sprístupnil ešte raz.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento súbor nie je možné prečítať, môže ísť o súbor sprístupnený iným používateľom. Požiadajte majiteľa súboru, aby vám ho sprístupnil ešte raz.",
+ "Default encryption module" : "Predvolený šifrovací modul",
"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 '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" : "Dobrý deň,\n\nAdministrátor povolil šifrovanie na strane servera. Vaše súbory boli zašifrované pomocou hesla '%s'.\n\nPrihláste sa prosím cez webový prehliadač, choďte do sekcie základného šifrovacieho modulu v osobných nastaveniach a zadajte horeuvedené heslo do políčka 'staré prihlasovacie heslo' a vaše súčasné prihlasovacie heslo.\n\n",
"The share will expire on %s." : "Sprístupnenie vyprší %s.",
"Cheers!" : "Pekný deň!",
"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>" : "Dobrý deň,<br><br>Administrátor povolil šifrovanie na strane servera. Vaše súbory boli zašifrované pomocou hesla <strong>%s</strong>.<br><br>Prihláste sa prosím cez webový prehliadač, choďte do sekcie základného šifrovacieho modulu v osobných nastaveniach a zadajte horeuvedené heslo do políčka 'staré prihlasovacie heslo' a vaše súčasné prihlasovacie heslo.<br><br>",
- "Default encryption module" : "Predvolený šifrovací modul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikácia pre šifrovanie je povolená, ale vaše kľúče nie sú inicializované. Odhláste sa a znovu sa prihláste.",
"Encrypt the home storage" : "Šifrovať domáce úložisko",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Zapnutím tejto voľby zašifrujete všetky súbory v hlavnom úložisku, v opačnom prípade zašifrujete iba súbory na externom úložisku.",
diff --git a/apps/encryption/l10n/sk.json b/apps/encryption/l10n/sk.json
index aa753b04d90..0aeda976681 100644
--- a/apps/encryption/l10n/sk.json
+++ b/apps/encryption/l10n/sk.json
@@ -27,11 +27,11 @@
"one-time password for server-side-encryption" : "jednorazové heslo na šifrovanie na strane servera",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento súbor nie je možné rozšifrovať, môže ísť o súbor sprístupnený iným používateľom. Požiadajte majiteľa súboru, aby vám ho sprístupnil ešte raz.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Tento súbor nie je možné prečítať, môže ísť o súbor sprístupnený iným používateľom. Požiadajte majiteľa súboru, aby vám ho sprístupnil ešte raz.",
+ "Default encryption module" : "Predvolený šifrovací modul",
"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 '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" : "Dobrý deň,\n\nAdministrátor povolil šifrovanie na strane servera. Vaše súbory boli zašifrované pomocou hesla '%s'.\n\nPrihláste sa prosím cez webový prehliadač, choďte do sekcie základného šifrovacieho modulu v osobných nastaveniach a zadajte horeuvedené heslo do políčka 'staré prihlasovacie heslo' a vaše súčasné prihlasovacie heslo.\n\n",
"The share will expire on %s." : "Sprístupnenie vyprší %s.",
"Cheers!" : "Pekný deň!",
"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>" : "Dobrý deň,<br><br>Administrátor povolil šifrovanie na strane servera. Vaše súbory boli zašifrované pomocou hesla <strong>%s</strong>.<br><br>Prihláste sa prosím cez webový prehliadač, choďte do sekcie základného šifrovacieho modulu v osobných nastaveniach a zadajte horeuvedené heslo do políčka 'staré prihlasovacie heslo' a vaše súčasné prihlasovacie heslo.<br><br>",
- "Default encryption module" : "Predvolený šifrovací modul",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikácia pre šifrovanie je povolená, ale vaše kľúče nie sú inicializované. Odhláste sa a znovu sa prihláste.",
"Encrypt the home storage" : "Šifrovať domáce úložisko",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Zapnutím tejto voľby zašifrujete všetky súbory v hlavnom úložisku, v opačnom prípade zašifrujete iba súbory na externom úložisku.",
diff --git a/apps/encryption/l10n/sq.js b/apps/encryption/l10n/sq.js
index 9eb88f10c4e..df44d8b4154 100644
--- a/apps/encryption/l10n/sq.js
+++ b/apps/encryption/l10n/sq.js
@@ -29,11 +29,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "fjalëkalim vetëm për një herë, për fshehtëzim-më-anë-shërbyesi",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nuk shfshehtëzohet dot kjo kartelë, ndoshta është kartelë e ndarë me të tjerët. Ju lutemi, kërkojini të zotit të kartelës ta rindajë kartelën me ju.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "S’lexohet dot kjo kartelë, ndoshta është kartelë e ndarë me të tjerët. Ju lutemi, kërkojini të zotit të kartelës ta rindajë kartelën me ju.",
+ "Default encryption module" : "Modul i parazgjedhur fshehtëzimi",
"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 '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" : "Njatjeta,\n\npërgjegjësi aktivizoi fshehtëzim më anë shërbyesi. Kartelat tuaja qenë fshehtëzuar duke përdorur fjalëkalimin '%s'.\n\nJu lutemi, bëni hyrjen te ndërfaqja web, kaloni te ndarja 'modul i thjeshtëpër fshehtëzime' e rregullimeve tuaja personale dhe përditësoni fjalëkalimin tuaj për fshehtëzime duke dhënë këtë fjalëkalim te fusha 'old log-in password' dhe fjalëkalimin tuaj të tanishëm për hyrjet.\n\n",
"The share will expire on %s." : "Ndarja do të skadojë më %s.",
"Cheers!" : "Gëzuar!",
"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>" : "Njatjeta,<br><br>përgjegjësi aktivizoi fshehtëzim më anë shërbyesi. Kartelat tuaja qenë fshehtëzuar duke përdorur fjalëkalimin <strong>%s</strong>.<br><br>Ju lutemi, bëni hyrjen te ndërfaqja web, kaloni te ndarja \"modul i thjeshtëpër fshehtëzime\" e rregullimeve tuaja personale dhe përditësoni fjalëkalimin tuaj për fshehtëzime duke dhënë këtë fjalëkalim te fusha \"old log-in password\" dhe fjalëkalimin tuaj të tanishëm për hyrjet.<br><br>",
- "Default encryption module" : "Modul i parazgjedhur fshehtëzimi",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacioni i fshehtëzimeve është i aktivizuar, por kyçet tuaj s’janë vënë në punë, ju lutemi, dilni dhe ribëni hyrjen",
"Encrypt the home storage" : "Fshehtëzo depozitën bazë",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivizimi i kësaj mundësie fshehtëzon krejt kartelat e depozituara në depon bazë, përndryshe do të fshehtëzohen vetëm kartelat në depozitën e jashtme",
diff --git a/apps/encryption/l10n/sq.json b/apps/encryption/l10n/sq.json
index 5af3a598eaf..9805faaf3dd 100644
--- a/apps/encryption/l10n/sq.json
+++ b/apps/encryption/l10n/sq.json
@@ -27,11 +27,11 @@
"one-time password for server-side-encryption" : "fjalëkalim vetëm për një herë, për fshehtëzim-më-anë-shërbyesi",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Nuk shfshehtëzohet dot kjo kartelë, ndoshta është kartelë e ndarë me të tjerët. Ju lutemi, kërkojini të zotit të kartelës ta rindajë kartelën me ju.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "S’lexohet dot kjo kartelë, ndoshta është kartelë e ndarë me të tjerët. Ju lutemi, kërkojini të zotit të kartelës ta rindajë kartelën me ju.",
+ "Default encryption module" : "Modul i parazgjedhur fshehtëzimi",
"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 '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" : "Njatjeta,\n\npërgjegjësi aktivizoi fshehtëzim më anë shërbyesi. Kartelat tuaja qenë fshehtëzuar duke përdorur fjalëkalimin '%s'.\n\nJu lutemi, bëni hyrjen te ndërfaqja web, kaloni te ndarja 'modul i thjeshtëpër fshehtëzime' e rregullimeve tuaja personale dhe përditësoni fjalëkalimin tuaj për fshehtëzime duke dhënë këtë fjalëkalim te fusha 'old log-in password' dhe fjalëkalimin tuaj të tanishëm për hyrjet.\n\n",
"The share will expire on %s." : "Ndarja do të skadojë më %s.",
"Cheers!" : "Gëzuar!",
"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>" : "Njatjeta,<br><br>përgjegjësi aktivizoi fshehtëzim më anë shërbyesi. Kartelat tuaja qenë fshehtëzuar duke përdorur fjalëkalimin <strong>%s</strong>.<br><br>Ju lutemi, bëni hyrjen te ndërfaqja web, kaloni te ndarja \"modul i thjeshtëpër fshehtëzime\" e rregullimeve tuaja personale dhe përditësoni fjalëkalimin tuaj për fshehtëzime duke dhënë këtë fjalëkalim te fusha \"old log-in password\" dhe fjalëkalimin tuaj të tanishëm për hyrjet.<br><br>",
- "Default encryption module" : "Modul i parazgjedhur fshehtëzimi",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Aplikacioni i fshehtëzimeve është i aktivizuar, por kyçet tuaj s’janë vënë në punë, ju lutemi, dilni dhe ribëni hyrjen",
"Encrypt the home storage" : "Fshehtëzo depozitën bazë",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivizimi i kësaj mundësie fshehtëzon krejt kartelat e depozituara në depon bazë, përndryshe do të fshehtëzohen vetëm kartelat në depozitën e jashtme",
diff --git a/apps/encryption/l10n/sv.js b/apps/encryption/l10n/sv.js
index 4e0656dcc37..093363aa3fd 100644
--- a/apps/encryption/l10n/sv.js
+++ b/apps/encryption/l10n/sv.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "engångslösenord för kryptering på serversidan",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ej dekryptera denna fil, förmodligen är det en delad fil. Be ägaren av filen att dela den med dig.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Filen kan inte läsas, troligtvis är det en delad fil. Be ägaren av filen att dela den med dig igen.",
+ "Default encryption module" : "Krypteringsfunktion",
"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 '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" : "Hallå där, \n\nAdministratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: %s\n\nGå till i din profil för att ändra krypteringslösenordet till ditt egna lösenord. Ange lösenordet ovan som \"Gammalt lösenord\" och ange sedan ditt egna lösenord.\n\n",
"The share will expire on %s." : "Utdelningen kommer att upphöra %s.",
"Cheers!" : "Ha de fint!",
"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>" : "Hallå där, <br> Administratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: <strong>%s</ strong>. <br> Gå till i din profil för att ändra krypteringslösenordet till ditt egna lösenord. Ange lösenordet ovan som \"Gammalt lösenord\" och ange sedan ditt egna lösenord.<br>",
- "Default encryption module" : "Krypteringsfunktion",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsappen är aktiverad men dina krypteringsnycklar har inte aktiverats, logga ut och logga in igen.",
"Encrypt the home storage" : "Kryptera alla filer i molnet",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivering av det här alternativet krypterar alla filer som är lagrade på huvudlagringsplatsen, annars kommer bara filer på extern lagringsplats att krypteras",
diff --git a/apps/encryption/l10n/sv.json b/apps/encryption/l10n/sv.json
index 1ed22831c32..4f4368b811a 100644
--- a/apps/encryption/l10n/sv.json
+++ b/apps/encryption/l10n/sv.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "engångslösenord för kryptering på serversidan",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Kan ej dekryptera denna fil, förmodligen är det en delad fil. Be ägaren av filen att dela den med dig.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Filen kan inte läsas, troligtvis är det en delad fil. Be ägaren av filen att dela den med dig igen.",
+ "Default encryption module" : "Krypteringsfunktion",
"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 '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" : "Hallå där, \n\nAdministratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: %s\n\nGå till i din profil för att ändra krypteringslösenordet till ditt egna lösenord. Ange lösenordet ovan som \"Gammalt lösenord\" och ange sedan ditt egna lösenord.\n\n",
"The share will expire on %s." : "Utdelningen kommer att upphöra %s.",
"Cheers!" : "Ha de fint!",
"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>" : "Hallå där, <br> Administratören aktiverade serverkryptering. Alla dina filer har blivit krypterade med lösenordet: <strong>%s</ strong>. <br> Gå till i din profil för att ändra krypteringslösenordet till ditt egna lösenord. Ange lösenordet ovan som \"Gammalt lösenord\" och ange sedan ditt egna lösenord.<br>",
- "Default encryption module" : "Krypteringsfunktion",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Krypteringsappen är aktiverad men dina krypteringsnycklar har inte aktiverats, logga ut och logga in igen.",
"Encrypt the home storage" : "Kryptera alla filer i molnet",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Aktivering av det här alternativet krypterar alla filer som är lagrade på huvudlagringsplatsen, annars kommer bara filer på extern lagringsplats att krypteras",
diff --git a/apps/encryption/l10n/tr.js b/apps/encryption/l10n/tr.js
index ac1da486c1d..2956760ff29 100644
--- a/apps/encryption/l10n/tr.js
+++ b/apps/encryption/l10n/tr.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "sunucu tarafında şifreleme için tek kullanımlık parola",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya büyük olasılıkla paylaşılıyor olduğundan şifresi çözülemiyor. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya büyük olasılıkla paylaşılıyor olduğundan okunamıyor. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
+ "Default encryption module" : "Varsayılan şifreleme modülü",
"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 '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" : "Selam,\n\nSistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız '%s' parolası kullanılarak şifrelendi.\n\nLütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan 'temel şifreleme modülü'ne giderek 'eski oturum açma parolası' alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.\n\n",
"The share will expire on %s." : "Bu paylaşım %s tarihinde sona erecek.",
"Cheers!" : "Hoşçakalın!",
"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>" : "Selam,<br><br>Sistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız <strong>%s</strong> parolası kullanılarak şifrelendi.<br><br>Lütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan 'temel şifreleme modülü'ne giderek 'eski oturum açma parolası' alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.<br><br>",
- "Default encryption module" : "Varsayılan şifreleme modülü",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme uygulaması etkin ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
"Encrypt the home storage" : "Ana depolama şifrelensin",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek etkinleştirildiğinde, ana depolama alanındaki tüm dosyalar şifrelenir. Devre dışı bırakıldığında yalnız dış depolama alanındaki dosyalar şifrelenir",
diff --git a/apps/encryption/l10n/tr.json b/apps/encryption/l10n/tr.json
index 51e9c6d7bda..d2a9803ee74 100644
--- a/apps/encryption/l10n/tr.json
+++ b/apps/encryption/l10n/tr.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "sunucu tarafında şifreleme için tek kullanımlık parola",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya büyük olasılıkla paylaşılıyor olduğundan şifresi çözülemiyor. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Bu dosya büyük olasılıkla paylaşılıyor olduğundan okunamıyor. Lütfen dosya sahibi ile görüşerek sizinle yeniden paylaşmasını isteyin.",
+ "Default encryption module" : "Varsayılan şifreleme modülü",
"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 '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" : "Selam,\n\nSistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız '%s' parolası kullanılarak şifrelendi.\n\nLütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan 'temel şifreleme modülü'ne giderek 'eski oturum açma parolası' alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.\n\n",
"The share will expire on %s." : "Bu paylaşım %s tarihinde sona erecek.",
"Cheers!" : "Hoşçakalın!",
"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>" : "Selam,<br><br>Sistem yöneticisi sunucu tarafında şifrelemeyi etkinleştirdi. Dosyalarınız <strong>%s</strong> parolası kullanılarak şifrelendi.<br><br>Lütfen web arayüzünde oturum açın ve kişisel ayarlarınızdan 'temel şifreleme modülü'ne giderek 'eski oturum açma parolası' alanına bu parolayı ve geçerli oturum açma parolanızı yazarak şifreleme parolanızı güncelleyin.<br><br>",
- "Default encryption module" : "Varsayılan şifreleme modülü",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "Şifreleme uygulaması etkin ancak anahtarlarınız hazırlanmamış. Lütfen oturumunuzu kapatıp yeniden açın.",
"Encrypt the home storage" : "Ana depolama şifrelensin",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Bu seçenek etkinleştirildiğinde, ana depolama alanındaki tüm dosyalar şifrelenir. Devre dışı bırakıldığında yalnız dış depolama alanındaki dosyalar şifrelenir",
diff --git a/apps/encryption/l10n/zh_CN.js b/apps/encryption/l10n/zh_CN.js
index 9fa407bdac4..11d40b02a9f 100644
--- a/apps/encryption/l10n/zh_CN.js
+++ b/apps/encryption/l10n/zh_CN.js
@@ -30,11 +30,11 @@ OC.L10N.register(
"one-time password for server-side-encryption" : "用于服务器端加密的一次性密码",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : " 无法解密这个文件(或许这是一个共享文件?),请询问文件所有者重新与您分享这个文件。",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "无法读取此文件,可能这是一个共享文件。请让文件所有者重新共享该文件。",
+ "Default encryption module" : "默认加密模块",
"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 '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" : "您好,\n管理员已启用服务器端加密,您的文件已使用密码 '%s' 加密。\n\n请登陆网页界面,进入个人设置中的“基础加密模块”部分,在“旧登陆密码”处输入上述密码并输入您的当前登陆密码,即可更新加密密码。\n",
"The share will expire on %s." : "此分享将在 %s 过期。",
"Cheers!" : "干杯!",
"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>" : "您好,<br><br>管理员已启用服务器端加密,您的文件已使用密码 <strong>%s</strong> 加密。<br><br>\n请登陆网页界面,进入个人设置中的“基础加密模块”部分,在“旧登陆密码”处输入上述密码并输入您的当前登陆密码,即可更新加密密码。<br><br>",
- "Default encryption module" : "默认加密模块",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "加密应用程序已启用,但您的密钥未初始化,请注销并再次登录",
"Encrypt the home storage" : "加密主目录储存",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "启用此选项将加密存储在主存储上的所有文件,否则只会加密外部存储上的文件.",
diff --git a/apps/encryption/l10n/zh_CN.json b/apps/encryption/l10n/zh_CN.json
index 55288744ebc..fb7a1ac9e16 100644
--- a/apps/encryption/l10n/zh_CN.json
+++ b/apps/encryption/l10n/zh_CN.json
@@ -28,11 +28,11 @@
"one-time password for server-side-encryption" : "用于服务器端加密的一次性密码",
"Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : " 无法解密这个文件(或许这是一个共享文件?),请询问文件所有者重新与您分享这个文件。",
"Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "无法读取此文件,可能这是一个共享文件。请让文件所有者重新共享该文件。",
+ "Default encryption module" : "默认加密模块",
"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 '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" : "您好,\n管理员已启用服务器端加密,您的文件已使用密码 '%s' 加密。\n\n请登陆网页界面,进入个人设置中的“基础加密模块”部分,在“旧登陆密码”处输入上述密码并输入您的当前登陆密码,即可更新加密密码。\n",
"The share will expire on %s." : "此分享将在 %s 过期。",
"Cheers!" : "干杯!",
"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>" : "您好,<br><br>管理员已启用服务器端加密,您的文件已使用密码 <strong>%s</strong> 加密。<br><br>\n请登陆网页界面,进入个人设置中的“基础加密模块”部分,在“旧登陆密码”处输入上述密码并输入您的当前登陆密码,即可更新加密密码。<br><br>",
- "Default encryption module" : "默认加密模块",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "加密应用程序已启用,但您的密钥未初始化,请注销并再次登录",
"Encrypt the home storage" : "加密主目录储存",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "启用此选项将加密存储在主存储上的所有文件,否则只会加密外部存储上的文件.",
diff --git a/apps/federatedfilesharing/l10n/fr.js b/apps/federatedfilesharing/l10n/fr.js
index a82c1d28753..a47eda0868b 100644
--- a/apps/federatedfilesharing/l10n/fr.js
+++ b/apps/federatedfilesharing/l10n/fr.js
@@ -47,6 +47,7 @@ OC.L10N.register(
"Federated Cloud" : "Federated Cloud",
"You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Vous pouvez partager avec n'importe qui qui utilise Nextcloud, ownCloud ou Pydio ! Renseignez simplement leur Federated Cloud ID dans la boîte de dialogue de partage. Cela ressemble à person@cloud.example.com",
"Your Federated Cloud ID:" : "Votre identifiant Federated Cloud :",
+ "Share it so your friends can share files with you:" : "Partagez-le afin que vos amis puissent partager des fichiers avec vous :",
"Add to your website" : "Ajouter à votre site web",
"Share with me via Nextcloud" : "Partagez avec moi via Nextcloud",
"HTML Code:" : "Code HTML :",
diff --git a/apps/federatedfilesharing/l10n/fr.json b/apps/federatedfilesharing/l10n/fr.json
index d21d4dc6196..de47af67626 100644
--- a/apps/federatedfilesharing/l10n/fr.json
+++ b/apps/federatedfilesharing/l10n/fr.json
@@ -45,6 +45,7 @@
"Federated Cloud" : "Federated Cloud",
"You can share with anyone who uses Nextcloud, ownCloud or Pydio! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Vous pouvez partager avec n'importe qui qui utilise Nextcloud, ownCloud ou Pydio ! Renseignez simplement leur Federated Cloud ID dans la boîte de dialogue de partage. Cela ressemble à person@cloud.example.com",
"Your Federated Cloud ID:" : "Votre identifiant Federated Cloud :",
+ "Share it so your friends can share files with you:" : "Partagez-le afin que vos amis puissent partager des fichiers avec vous :",
"Add to your website" : "Ajouter à votre site web",
"Share with me via Nextcloud" : "Partagez avec moi via Nextcloud",
"HTML Code:" : "Code HTML :",
diff --git a/apps/federation/l10n/ca.js b/apps/federation/l10n/ca.js
index 9ac7ed3f641..239de6dcbcf 100644
--- a/apps/federation/l10n/ca.js
+++ b/apps/federation/l10n/ca.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "El servidor ja està a la llista de servidors de confiança",
"No server to federate with found" : "No s\\'ha trobar cap servidor federat",
"Could not add server" : "No s'ha pogut afegir el servidor",
+ "Federation" : "Federació",
"Trusted servers" : "Servidor de confiança",
"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." : "La federació li permet connectar amb altres servidors de confiança per a intercanviar directoris d\\'usuari. Per exemple, això s\\'utilitzarà per als usuaris externs d'auto-completat per a l\\'ús compartit federat.",
"Add server automatically once a federated share was created successfully" : "Afegir servidor automàticament quan s'hagi creat una federació correctament",
"+ Add trusted server" : "+Afegir servidor de confiança",
"Trusted server" : "Servidor de confiança",
- "Add" : "Afegir",
- "Federation" : "Federació"
+ "Add" : "Afegir"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/ca.json b/apps/federation/l10n/ca.json
index a6b26b0d840..045e4bc9e1c 100644
--- a/apps/federation/l10n/ca.json
+++ b/apps/federation/l10n/ca.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "El servidor ja està a la llista de servidors de confiança",
"No server to federate with found" : "No s\\'ha trobar cap servidor federat",
"Could not add server" : "No s'ha pogut afegir el servidor",
+ "Federation" : "Federació",
"Trusted servers" : "Servidor de confiança",
"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." : "La federació li permet connectar amb altres servidors de confiança per a intercanviar directoris d\\'usuari. Per exemple, això s\\'utilitzarà per als usuaris externs d'auto-completat per a l\\'ús compartit federat.",
"Add server automatically once a federated share was created successfully" : "Afegir servidor automàticament quan s'hagi creat una federació correctament",
"+ Add trusted server" : "+Afegir servidor de confiança",
"Trusted server" : "Servidor de confiança",
- "Add" : "Afegir",
- "Federation" : "Federació"
+ "Add" : "Afegir"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/cs.js b/apps/federation/l10n/cs.js
index 34190bbe010..8de9a1f9a1c 100644
--- a/apps/federation/l10n/cs.js
+++ b/apps/federation/l10n/cs.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Server je již přidán na seznam důvěryhodných serverů.",
"No server to federate with found" : "Nenalezen žádný server ke sdružování",
"Could not add server" : "Nepodařilo se přidat server",
+ "Federation" : "Sdružování",
"Trusted servers" : "Důvěryhodné servery",
"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." : "Sdružování vám umožňuje se připojit k dalším důvěryhodným serverům za účelem výměny uživatelských adresářů. Používá se to např. pro automatické doplňování uživatelů při sdruženém sdílení.",
"Add server automatically once a federated share was created successfully" : "Přidat server automaticky jakmile je úspěšně vytvořeno sdružené sdílení",
"+ Add trusted server" : "+ Přidat důvěryhodný server",
"Trusted server" : "Důvěryhodný server",
- "Add" : "Přidat",
- "Federation" : "Sdružování"
+ "Add" : "Přidat"
},
"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;");
diff --git a/apps/federation/l10n/cs.json b/apps/federation/l10n/cs.json
index 05da0723c41..9b681630906 100644
--- a/apps/federation/l10n/cs.json
+++ b/apps/federation/l10n/cs.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Server je již přidán na seznam důvěryhodných serverů.",
"No server to federate with found" : "Nenalezen žádný server ke sdružování",
"Could not add server" : "Nepodařilo se přidat server",
+ "Federation" : "Sdružování",
"Trusted servers" : "Důvěryhodné servery",
"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." : "Sdružování vám umožňuje se připojit k dalším důvěryhodným serverům za účelem výměny uživatelských adresářů. Používá se to např. pro automatické doplňování uživatelů při sdruženém sdílení.",
"Add server automatically once a federated share was created successfully" : "Přidat server automaticky jakmile je úspěšně vytvořeno sdružené sdílení",
"+ Add trusted server" : "+ Přidat důvěryhodný server",
"Trusted server" : "Důvěryhodný server",
- "Add" : "Přidat",
- "Federation" : "Sdružování"
+ "Add" : "Přidat"
},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/federation/l10n/de.js b/apps/federation/l10n/de.js
index e286b193091..2b476b94c95 100644
--- a/apps/federation/l10n/de.js
+++ b/apps/federation/l10n/de.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Der Server ist bereits in der Liste der vertrauenswürdigen Server.",
"No server to federate with found" : "Es wurde kein Server zum Verbinden per Federation gefunden",
"Could not add server" : "Konnte Server nicht hinzufügen",
+ "Federation" : "Federation",
"Trusted servers" : "Vertrauenswürdige Server",
"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 Dir, Dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.",
"Add server automatically once a federated share was created successfully" : "Einen mit ownCloud Federation verbundenen Server automatisch hinzufügen, sobald die Verbindung einmal erfolgreich erstellt wurde",
"+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen",
"Trusted server" : "Vertrauenswürdiger Server",
- "Add" : "Hinzufügen",
- "Federation" : "Federation"
+ "Add" : "Hinzufügen"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/de.json b/apps/federation/l10n/de.json
index 1ab888f3d2e..2c37fc10fa2 100644
--- a/apps/federation/l10n/de.json
+++ b/apps/federation/l10n/de.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Der Server ist bereits in der Liste der vertrauenswürdigen Server.",
"No server to federate with found" : "Es wurde kein Server zum Verbinden per Federation gefunden",
"Could not add server" : "Konnte Server nicht hinzufügen",
+ "Federation" : "Federation",
"Trusted servers" : "Vertrauenswürdige Server",
"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 Dir, Dich mit anderen vertrauenswürdigen Servern zu verbinden, um das Benutzerverzeichnis auszutauschen. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.",
"Add server automatically once a federated share was created successfully" : "Einen mit ownCloud Federation verbundenen Server automatisch hinzufügen, sobald die Verbindung einmal erfolgreich erstellt wurde",
"+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen",
"Trusted server" : "Vertrauenswürdiger Server",
- "Add" : "Hinzufügen",
- "Federation" : "Federation"
+ "Add" : "Hinzufügen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/de_DE.js b/apps/federation/l10n/de_DE.js
index 21e394f726a..1a8bef05ae9 100644
--- a/apps/federation/l10n/de_DE.js
+++ b/apps/federation/l10n/de_DE.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Server ist bereits in der Liste der vertrauenswürdigen Servern.",
"No server to federate with found" : "Es wurde kein Server zum Verbinden per Federation gefunden",
"Could not add server" : "Konnte Server nicht hinzufügen",
+ "Federation" : "Federation",
"Trusted servers" : "Vertrauenswürdige Server",
"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. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.",
"Add server automatically once a federated share was created successfully" : "Server automatisch hinzufügen sobald eine federated Freigabe erstellt wurde",
"+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen",
"Trusted server" : "Vertrauenswürdiger Server",
- "Add" : "Hinzufügen",
- "Federation" : "Federation"
+ "Add" : "Hinzufügen"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/de_DE.json b/apps/federation/l10n/de_DE.json
index 9e0212f5c23..c9b54c5f893 100644
--- a/apps/federation/l10n/de_DE.json
+++ b/apps/federation/l10n/de_DE.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Server ist bereits in der Liste der vertrauenswürdigen Servern.",
"No server to federate with found" : "Es wurde kein Server zum Verbinden per Federation gefunden",
"Could not add server" : "Konnte Server nicht hinzufügen",
+ "Federation" : "Federation",
"Trusted servers" : "Vertrauenswürdige Server",
"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. Dies wird zum Beispiel für die automatische Vervollständigung externer Benutzernamen beim Federated-Sharing verwendet.",
"Add server automatically once a federated share was created successfully" : "Server automatisch hinzufügen sobald eine federated Freigabe erstellt wurde",
"+ Add trusted server" : "+ Vertrauenswürdigen Server hinzufügen",
"Trusted server" : "Vertrauenswürdiger Server",
- "Add" : "Hinzufügen",
- "Federation" : "Federation"
+ "Add" : "Hinzufügen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/el.js b/apps/federation/l10n/el.js
index 02680613d43..895039f5f78 100644
--- a/apps/federation/l10n/el.js
+++ b/apps/federation/l10n/el.js
@@ -5,10 +5,10 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Ο διακομιστής περιλαμβάνεται ήδη στην λίστα των έμπιστων ownCloud",
"No server to federate with found" : "Δεν βρέθηκε διακομιστής για συνένωση",
"Could not add server" : "Αδυναμία προσθήκης διακομιστή",
+ "Federation" : "Federation",
"Trusted servers" : "Έμπιστοι διακομιστές",
"+ Add trusted server" : "+Προσθήκη έμπιστων διακομιστών",
"Trusted server" : "Έμπιστοι διακομιστές",
- "Add" : "Προσθήκη",
- "Federation" : "Federation"
+ "Add" : "Προσθήκη"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/el.json b/apps/federation/l10n/el.json
index f6ff9759777..fe2050d1b15 100644
--- a/apps/federation/l10n/el.json
+++ b/apps/federation/l10n/el.json
@@ -3,10 +3,10 @@
"Server is already in the list of trusted servers." : "Ο διακομιστής περιλαμβάνεται ήδη στην λίστα των έμπιστων ownCloud",
"No server to federate with found" : "Δεν βρέθηκε διακομιστής για συνένωση",
"Could not add server" : "Αδυναμία προσθήκης διακομιστή",
+ "Federation" : "Federation",
"Trusted servers" : "Έμπιστοι διακομιστές",
"+ Add trusted server" : "+Προσθήκη έμπιστων διακομιστών",
"Trusted server" : "Έμπιστοι διακομιστές",
- "Add" : "Προσθήκη",
- "Federation" : "Federation"
+ "Add" : "Προσθήκη"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/es.js b/apps/federation/l10n/es.js
index dd81ea6e385..90ffc965f11 100644
--- a/apps/federation/l10n/es.js
+++ b/apps/federation/l10n/es.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "El servidor ya está en la lista de servidores en los que se confía.",
"No server to federate with found" : "No se ha encontrado ningún servidor con el que federarse.",
"Could not add server" : "No se ha podido añadir el servidor",
+ "Federation" : "Federación",
"Trusted servers" : "Servidores de confianza",
"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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar directorios. Por ejemplo, ésto se usará para autocompletar la selección usuarios externos al compartir en federación. ",
"Add server automatically once a federated share was created successfully" : "Añadir el servidor automáticamente una vez que un compartido federado se haya creado exitosamente",
"+ Add trusted server" : "+ Añadir servidor de confianza",
"Trusted server" : "Servidor de confianza",
- "Add" : "Añadir",
- "Federation" : "Federación"
+ "Add" : "Añadir"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/es.json b/apps/federation/l10n/es.json
index ddd5791586b..ab7d0817b3f 100644
--- a/apps/federation/l10n/es.json
+++ b/apps/federation/l10n/es.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "El servidor ya está en la lista de servidores en los que se confía.",
"No server to federate with found" : "No se ha encontrado ningún servidor con el que federarse.",
"Could not add server" : "No se ha podido añadir el servidor",
+ "Federation" : "Federación",
"Trusted servers" : "Servidores de confianza",
"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." : "La federación te permite conectarte con otros servidores de confianza para intercambiar directorios. Por ejemplo, ésto se usará para autocompletar la selección usuarios externos al compartir en federación. ",
"Add server automatically once a federated share was created successfully" : "Añadir el servidor automáticamente una vez que un compartido federado se haya creado exitosamente",
"+ Add trusted server" : "+ Añadir servidor de confianza",
"Trusted server" : "Servidor de confianza",
- "Add" : "Añadir",
- "Federation" : "Federación"
+ "Add" : "Añadir"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/es_MX.js b/apps/federation/l10n/es_MX.js
index fa327fc7f10..af694d9d03c 100644
--- a/apps/federation/l10n/es_MX.js
+++ b/apps/federation/l10n/es_MX.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "El servidor ya se encuentra en la lista de servidores de confianza.",
"No server to federate with found" : "No se encontraron servidores para integrar a la federación",
"Could not add server" : "No fue posible agregar el servidor",
+ "Federation" : "Federación",
"Trusted servers" : "Servidores de confianza",
"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." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.",
"Add server automatically once a federated share was created successfully" : "Agregar el servidor automáticamente una vez que se genere exitosamente el elemento compartido federado",
"+ Add trusted server" : "+ Agregar servidor de confianza",
"Trusted server" : "Servidor de confianza",
- "Add" : "Agregar",
- "Federation" : "Federación"
+ "Add" : "Agregar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/es_MX.json b/apps/federation/l10n/es_MX.json
index d484a9e5897..67d8edb6053 100644
--- a/apps/federation/l10n/es_MX.json
+++ b/apps/federation/l10n/es_MX.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "El servidor ya se encuentra en la lista de servidores de confianza.",
"No server to federate with found" : "No se encontraron servidores para integrar a la federación",
"Could not add server" : "No fue posible agregar el servidor",
+ "Federation" : "Federación",
"Trusted servers" : "Servidores de confianza",
"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." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se usará para auto-completar usuarios externos en el recurso compartido federado.",
"Add server automatically once a federated share was created successfully" : "Agregar el servidor automáticamente una vez que se genere exitosamente el elemento compartido federado",
"+ Add trusted server" : "+ Agregar servidor de confianza",
"Trusted server" : "Servidor de confianza",
- "Add" : "Agregar",
- "Federation" : "Federación"
+ "Add" : "Agregar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/fi.js b/apps/federation/l10n/fi.js
index 3eb39aa5004..22259950477 100644
--- a/apps/federation/l10n/fi.js
+++ b/apps/federation/l10n/fi.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Palvelin on jo luotettujen palvelimien luettelossa.",
"No server to federate with found" : "Palvelinta, johon liittyä, ei löytynyt",
"Could not add server" : "Palvelimen lisääminen ei onnistunut",
+ "Federation" : "Federaatio",
"Trusted servers" : "Luotetut palvelimet",
"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." : "Federointi sallii sinun liittyä toisten luotettujen palvelimien käyttäjäluetteloihin. Sitä käytetään esimerkiksi ulkoisten käyttäjänimien automaattiseen täydentämiseen.",
"Add server automatically once a federated share was created successfully" : "Lisää palvelin automaattisesti, kun federoitu jako on luotu onnistuneesti",
"+ Add trusted server" : "+ Lisää luotettu palvelin",
"Trusted server" : "Luotettu palvelin",
- "Add" : "Lisää",
- "Federation" : "Federaatio"
+ "Add" : "Lisää"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/fi.json b/apps/federation/l10n/fi.json
index 367fb5fe1b3..3addcf72669 100644
--- a/apps/federation/l10n/fi.json
+++ b/apps/federation/l10n/fi.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Palvelin on jo luotettujen palvelimien luettelossa.",
"No server to federate with found" : "Palvelinta, johon liittyä, ei löytynyt",
"Could not add server" : "Palvelimen lisääminen ei onnistunut",
+ "Federation" : "Federaatio",
"Trusted servers" : "Luotetut palvelimet",
"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." : "Federointi sallii sinun liittyä toisten luotettujen palvelimien käyttäjäluetteloihin. Sitä käytetään esimerkiksi ulkoisten käyttäjänimien automaattiseen täydentämiseen.",
"Add server automatically once a federated share was created successfully" : "Lisää palvelin automaattisesti, kun federoitu jako on luotu onnistuneesti",
"+ Add trusted server" : "+ Lisää luotettu palvelin",
"Trusted server" : "Luotettu palvelin",
- "Add" : "Lisää",
- "Federation" : "Federaatio"
+ "Add" : "Lisää"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/fr.js b/apps/federation/l10n/fr.js
index d67862f6a01..eb78c28454c 100644
--- a/apps/federation/l10n/fr.js
+++ b/apps/federation/l10n/fr.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Le serveur est déjà dans la liste des serveurs de confiance.",
"No server to federate with found" : "Aucun serveur avec lequel fédérer n'a été trouvé",
"Could not add server" : "Impossible d'ajouter le serveur",
+ "Federation" : "Fédération",
"Trusted servers" : "Serveurs de confiance",
"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." : "La « fédération » vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des utilisateurs. Par exemple, ce sera utilisé pour auto-compléter les utilisateurs externes lors du partage fédéré.",
"Add server automatically once a federated share was created successfully" : "Ajouter un serveur automatiquement une fois que le partage a été créé avec succès",
"+ Add trusted server" : "+ Ajouter un serveur de confiance",
"Trusted server" : "Serveur de confiance",
- "Add" : "Ajouter",
- "Federation" : "Fédération"
+ "Add" : "Ajouter"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/federation/l10n/fr.json b/apps/federation/l10n/fr.json
index 24dc0aee7f6..1360d61a6bc 100644
--- a/apps/federation/l10n/fr.json
+++ b/apps/federation/l10n/fr.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Le serveur est déjà dans la liste des serveurs de confiance.",
"No server to federate with found" : "Aucun serveur avec lequel fédérer n'a été trouvé",
"Could not add server" : "Impossible d'ajouter le serveur",
+ "Federation" : "Fédération",
"Trusted servers" : "Serveurs de confiance",
"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." : "La « fédération » vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des utilisateurs. Par exemple, ce sera utilisé pour auto-compléter les utilisateurs externes lors du partage fédéré.",
"Add server automatically once a federated share was created successfully" : "Ajouter un serveur automatiquement une fois que le partage a été créé avec succès",
"+ Add trusted server" : "+ Ajouter un serveur de confiance",
"Trusted server" : "Serveur de confiance",
- "Add" : "Ajouter",
- "Federation" : "Fédération"
+ "Add" : "Ajouter"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/hu.js b/apps/federation/l10n/hu.js
index 06f9679fc24..70a86b87b27 100644
--- a/apps/federation/l10n/hu.js
+++ b/apps/federation/l10n/hu.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "A szerver már a megbízható szerverek közt van.",
"No server to federate with found" : "Nem található egyesíthető szerver",
"Could not add server" : "Nem lehet hozzáadni a szervert",
+ "Federation" : "Egyesítés",
"Trusted servers" : "Megbízható szerverek",
"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." : "Az egyesítés lehetővé teszi a kapcsolódást más megbízható szerverekhez a felhasználói könyvtárak kicseréléséhez. Például ennek segítségével lesznek automatikusan kiegészítve a külső felhasználók az egyesített megosztáshoz.",
"Add server automatically once a federated share was created successfully" : "Szerver automatikus hozzáadása, ha az egyesített megosztás létrehozása sikeres",
"+ Add trusted server" : "+ Megbízható szerver hozzáadása",
"Trusted server" : "Megbízható szerver",
- "Add" : "Hozzáadás",
- "Federation" : "Egyesítés"
+ "Add" : "Hozzáadás"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/hu.json b/apps/federation/l10n/hu.json
index af24f197c19..49c8d704a7f 100644
--- a/apps/federation/l10n/hu.json
+++ b/apps/federation/l10n/hu.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "A szerver már a megbízható szerverek közt van.",
"No server to federate with found" : "Nem található egyesíthető szerver",
"Could not add server" : "Nem lehet hozzáadni a szervert",
+ "Federation" : "Egyesítés",
"Trusted servers" : "Megbízható szerverek",
"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." : "Az egyesítés lehetővé teszi a kapcsolódást más megbízható szerverekhez a felhasználói könyvtárak kicseréléséhez. Például ennek segítségével lesznek automatikusan kiegészítve a külső felhasználók az egyesített megosztáshoz.",
"Add server automatically once a federated share was created successfully" : "Szerver automatikus hozzáadása, ha az egyesített megosztás létrehozása sikeres",
"+ Add trusted server" : "+ Megbízható szerver hozzáadása",
"Trusted server" : "Megbízható szerver",
- "Add" : "Hozzáadás",
- "Federation" : "Egyesítés"
+ "Add" : "Hozzáadás"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/ia.js b/apps/federation/l10n/ia.js
index 889d305cb5d..07b3066be14 100644
--- a/apps/federation/l10n/ia.js
+++ b/apps/federation/l10n/ia.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Servitor ja es in le lista de servitores fiduciari.",
"No server to federate with found" : "Nulle servitor pro associar se per federation esseva trovate",
"Could not add server" : "Impossibile adder le servitor",
+ "Federation" : "Federation",
"Trusted servers" : "Servitores fiduciari",
"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." : "Le federation permitte te connecter con altere servitores fiduciari pro excambiar le directorio del usator. Per exemplo, iste attributo essera usate pro completar automaticamente usatores externe pro le compartimento federate.",
"Add server automatically once a federated share was created successfully" : "Le functionalitate de adder un servitor automaticamente un vice que un compartimento federate es associate esseva create con successo",
"+ Add trusted server" : "+ Adder servitor fiduciari",
"Trusted server" : "Servitor fiduciari",
- "Add" : "Adder",
- "Federation" : "Federation"
+ "Add" : "Adder"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/ia.json b/apps/federation/l10n/ia.json
index 5b06ced40ea..cb3e8d94e39 100644
--- a/apps/federation/l10n/ia.json
+++ b/apps/federation/l10n/ia.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Servitor ja es in le lista de servitores fiduciari.",
"No server to federate with found" : "Nulle servitor pro associar se per federation esseva trovate",
"Could not add server" : "Impossibile adder le servitor",
+ "Federation" : "Federation",
"Trusted servers" : "Servitores fiduciari",
"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." : "Le federation permitte te connecter con altere servitores fiduciari pro excambiar le directorio del usator. Per exemplo, iste attributo essera usate pro completar automaticamente usatores externe pro le compartimento federate.",
"Add server automatically once a federated share was created successfully" : "Le functionalitate de adder un servitor automaticamente un vice que un compartimento federate es associate esseva create con successo",
"+ Add trusted server" : "+ Adder servitor fiduciari",
"Trusted server" : "Servitor fiduciari",
- "Add" : "Adder",
- "Federation" : "Federation"
+ "Add" : "Adder"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/id.js b/apps/federation/l10n/id.js
index 2e7137bc995..d7d02637ac5 100644
--- a/apps/federation/l10n/id.js
+++ b/apps/federation/l10n/id.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Server sudah ada pada daftar server terpercaya",
"No server to federate with found" : "Tidak ada server yang bisa difederasikan",
"Could not add server" : "Tidak dapat menambahkan server",
+ "Federation" : "Federasi",
"Trusted servers" : "Server terpercaya",
"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." : "Federasi memungkinkan Anda untuk terhubung dengan server lainnya yang terpercaya untuk menukar direktori pengguna. Contohnya, ini akan digunakan untuk pengisian-otomatis untuk pengguna eksternal untuk pembagian terfederasi.",
"Add server automatically once a federated share was created successfully" : "Tambah server secara otomatis saat pembagian terfederasi dibuat",
"+ Add trusted server" : "+ Tambah server terpercaya",
"Trusted server" : "Server terpercaya",
- "Add" : "Tambah",
- "Federation" : "Federasi"
+ "Add" : "Tambah"
},
"nplurals=1; plural=0;");
diff --git a/apps/federation/l10n/id.json b/apps/federation/l10n/id.json
index 835481d081c..5e23dd0ee05 100644
--- a/apps/federation/l10n/id.json
+++ b/apps/federation/l10n/id.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Server sudah ada pada daftar server terpercaya",
"No server to federate with found" : "Tidak ada server yang bisa difederasikan",
"Could not add server" : "Tidak dapat menambahkan server",
+ "Federation" : "Federasi",
"Trusted servers" : "Server terpercaya",
"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." : "Federasi memungkinkan Anda untuk terhubung dengan server lainnya yang terpercaya untuk menukar direktori pengguna. Contohnya, ini akan digunakan untuk pengisian-otomatis untuk pengguna eksternal untuk pembagian terfederasi.",
"Add server automatically once a federated share was created successfully" : "Tambah server secara otomatis saat pembagian terfederasi dibuat",
"+ Add trusted server" : "+ Tambah server terpercaya",
"Trusted server" : "Server terpercaya",
- "Add" : "Tambah",
- "Federation" : "Federasi"
+ "Add" : "Tambah"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federation/l10n/is.js b/apps/federation/l10n/is.js
index 0261141a59c..40848cc3d3b 100644
--- a/apps/federation/l10n/is.js
+++ b/apps/federation/l10n/is.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Þjónninn er nú þegar á listanum yfir treysta þjóna.",
"No server to federate with found" : "Enginn þjónn sem hæfur er til skýjasambands fannst",
"Could not add server" : "Gat ekki bætt við þjóni",
+ "Federation" : "Samband",
"Trusted servers" : "Treystir þjónar",
"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." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á notendaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notenda við deilingu sambandssameigna.",
"Add server automatically once a federated share was created successfully" : "Bæta þjóni við sjálfkrafa, hafi tekist að búa til sambandssameign",
"+ Add trusted server" : "+ Bæta við treystum þjóni",
"Trusted server" : "Treystur þjónn",
- "Add" : "Bæta við",
- "Federation" : "Samband"
+ "Add" : "Bæta við"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/federation/l10n/is.json b/apps/federation/l10n/is.json
index cd851a5bb90..b7d9cf613c1 100644
--- a/apps/federation/l10n/is.json
+++ b/apps/federation/l10n/is.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Þjónninn er nú þegar á listanum yfir treysta þjóna.",
"No server to federate with found" : "Enginn þjónn sem hæfur er til skýjasambands fannst",
"Could not add server" : "Gat ekki bætt við þjóni",
+ "Federation" : "Samband",
"Trusted servers" : "Treystir þjónar",
"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." : "Þjónasamband (federation) gerir þér kleift að tengjast öðrum treystum skýjum til að skiptast á notendaskrám. Þetta er til dæmis notað til að sjálfklára nöfn ytri notenda við deilingu sambandssameigna.",
"Add server automatically once a federated share was created successfully" : "Bæta þjóni við sjálfkrafa, hafi tekist að búa til sambandssameign",
"+ Add trusted server" : "+ Bæta við treystum þjóni",
"Trusted server" : "Treystur þjónn",
- "Add" : "Bæta við",
- "Federation" : "Samband"
+ "Add" : "Bæta við"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/it.js b/apps/federation/l10n/it.js
index a18901ee4e5..3adece3b0e5 100644
--- a/apps/federation/l10n/it.js
+++ b/apps/federation/l10n/it.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Il server è già nell'elenco dei server affidabili.",
"No server to federate with found" : "Non ho trovato alcun server per la federazione",
"Could not add server" : "Impossibile aggiungere il server",
+ "Federation" : "Federazione",
"Trusted servers" : "Server affidabili",
"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." : "La federazione consente di connettersi ad altri server affidabili per accedere alla cartella utente. Ad esempio, può essere utilizzata per il completamento automatico di utenti esterni per la condivisione federata.",
"Add server automatically once a federated share was created successfully" : "Aggiungi automaticamente il server dopo che una condivisione federata è stata creata con successo",
"+ Add trusted server" : "+ Aggiungi server affidabile",
"Trusted server" : "Server affidabile",
- "Add" : "Aggiungi",
- "Federation" : "Federazione"
+ "Add" : "Aggiungi"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/it.json b/apps/federation/l10n/it.json
index 9d732b0f5ac..8a25db1804d 100644
--- a/apps/federation/l10n/it.json
+++ b/apps/federation/l10n/it.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Il server è già nell'elenco dei server affidabili.",
"No server to federate with found" : "Non ho trovato alcun server per la federazione",
"Could not add server" : "Impossibile aggiungere il server",
+ "Federation" : "Federazione",
"Trusted servers" : "Server affidabili",
"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." : "La federazione consente di connettersi ad altri server affidabili per accedere alla cartella utente. Ad esempio, può essere utilizzata per il completamento automatico di utenti esterni per la condivisione federata.",
"Add server automatically once a federated share was created successfully" : "Aggiungi automaticamente il server dopo che una condivisione federata è stata creata con successo",
"+ Add trusted server" : "+ Aggiungi server affidabile",
"Trusted server" : "Server affidabile",
- "Add" : "Aggiungi",
- "Federation" : "Federazione"
+ "Add" : "Aggiungi"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/ja.js b/apps/federation/l10n/ja.js
index 6f8a9ee096c..3c5f78c3cf4 100644
--- a/apps/federation/l10n/ja.js
+++ b/apps/federation/l10n/ja.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "信頼済サーバーとして既に登録されています。",
"No server to federate with found" : "Nextcloud 連携サーバーはありません。",
"Could not add server" : "サーバーを追加できませんでした",
+ "Federation" : "連携",
"Trusted servers" : "信頼済サーバー",
"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." : "連携では他の信頼済サーバーとユーザーリストをやり取りすること許可します。例えば、連携共有時で他のサーバーのユーザーのIDを自動補完します。",
"Add server automatically once a federated share was created successfully" : "追加するサーバは自動的に統合され、共有が追加されました",
"+ Add trusted server" : "+ 信頼済サーバーに追加",
"Trusted server" : "信頼済サーバー",
- "Add" : "追加",
- "Federation" : "連携"
+ "Add" : "追加"
},
"nplurals=1; plural=0;");
diff --git a/apps/federation/l10n/ja.json b/apps/federation/l10n/ja.json
index 53147709788..4cb10002291 100644
--- a/apps/federation/l10n/ja.json
+++ b/apps/federation/l10n/ja.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "信頼済サーバーとして既に登録されています。",
"No server to federate with found" : "Nextcloud 連携サーバーはありません。",
"Could not add server" : "サーバーを追加できませんでした",
+ "Federation" : "連携",
"Trusted servers" : "信頼済サーバー",
"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." : "連携では他の信頼済サーバーとユーザーリストをやり取りすること許可します。例えば、連携共有時で他のサーバーのユーザーのIDを自動補完します。",
"Add server automatically once a federated share was created successfully" : "追加するサーバは自動的に統合され、共有が追加されました",
"+ Add trusted server" : "+ 信頼済サーバーに追加",
"Trusted server" : "信頼済サーバー",
- "Add" : "追加",
- "Federation" : "連携"
+ "Add" : "追加"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federation/l10n/ko.js b/apps/federation/l10n/ko.js
index 18e788fcead..b4d71a47532 100644
--- a/apps/federation/l10n/ko.js
+++ b/apps/federation/l10n/ko.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "신뢰할 수 있는 서버 목록에 이미 추가되었습니다.",
"No server to federate with found" : "연합 가능한 서버를 찾을 수 없음",
"Could not add server" : "서버를 추가할 수 없음",
+ "Federation" : "연합",
"Trusted servers" : "신뢰할 수 있는 서버",
"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." : "서버 연합을 통해서 다른 신뢰할 수 있는 서버와 사용자 디렉터리를 교환할 수 있습니다. 이 기능의 사용 예시로 연합 공유 시 외부 사용자를 자동 완성하는 데 사용할 수 있습니다.",
"Add server automatically once a federated share was created successfully" : "연합 공유를 생성했을 때 자동으로 서버 추가",
"+ Add trusted server" : "+ 신뢰할 수 있는 서버 추가",
"Trusted server" : "신뢰할 수 있는 서버",
- "Add" : "추가",
- "Federation" : "연합"
+ "Add" : "추가"
},
"nplurals=1; plural=0;");
diff --git a/apps/federation/l10n/ko.json b/apps/federation/l10n/ko.json
index ab8fbf93874..3b919704782 100644
--- a/apps/federation/l10n/ko.json
+++ b/apps/federation/l10n/ko.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "신뢰할 수 있는 서버 목록에 이미 추가되었습니다.",
"No server to federate with found" : "연합 가능한 서버를 찾을 수 없음",
"Could not add server" : "서버를 추가할 수 없음",
+ "Federation" : "연합",
"Trusted servers" : "신뢰할 수 있는 서버",
"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." : "서버 연합을 통해서 다른 신뢰할 수 있는 서버와 사용자 디렉터리를 교환할 수 있습니다. 이 기능의 사용 예시로 연합 공유 시 외부 사용자를 자동 완성하는 데 사용할 수 있습니다.",
"Add server automatically once a federated share was created successfully" : "연합 공유를 생성했을 때 자동으로 서버 추가",
"+ Add trusted server" : "+ 신뢰할 수 있는 서버 추가",
"Trusted server" : "신뢰할 수 있는 서버",
- "Add" : "추가",
- "Federation" : "연합"
+ "Add" : "추가"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/federation/l10n/lv.js b/apps/federation/l10n/lv.js
index 2d6c51ceb79..c6caa6c4c2c 100644
--- a/apps/federation/l10n/lv.js
+++ b/apps/federation/l10n/lv.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Serveris jau ir uzticamo serveru sarakstā .",
"No server to federate with found" : "Nav atrasts neviens serveris",
"Could not add server" : "Nevarēja pievienot serveri",
+ "Federation" : "Federācija",
"Trusted servers" : "Uzticami serveri",
"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." : "Federācija ļauj savienot ar citiem uzticamiem serveriem ar Exchange lietotāja direktoriju. Piemēram, tas tiks izmantots, lai automātiski pieslēgtu ārējiem lietotājiem integrēto koplietošanu.",
"Add server automatically once a federated share was created successfully" : "Automātiski pievienots serveris federācijas koplietojumam, veiksmīgi",
"+ Add trusted server" : "+ pievietot uzticamiem serveriem",
"Trusted server" : "Uzticams serveris",
- "Add" : "Pievienot",
- "Federation" : "Federācija"
+ "Add" : "Pievienot"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);");
diff --git a/apps/federation/l10n/lv.json b/apps/federation/l10n/lv.json
index ce6716fb58c..07d6a03638c 100644
--- a/apps/federation/l10n/lv.json
+++ b/apps/federation/l10n/lv.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Serveris jau ir uzticamo serveru sarakstā .",
"No server to federate with found" : "Nav atrasts neviens serveris",
"Could not add server" : "Nevarēja pievienot serveri",
+ "Federation" : "Federācija",
"Trusted servers" : "Uzticami serveri",
"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." : "Federācija ļauj savienot ar citiem uzticamiem serveriem ar Exchange lietotāja direktoriju. Piemēram, tas tiks izmantots, lai automātiski pieslēgtu ārējiem lietotājiem integrēto koplietošanu.",
"Add server automatically once a federated share was created successfully" : "Automātiski pievienots serveris federācijas koplietojumam, veiksmīgi",
"+ Add trusted server" : "+ pievietot uzticamiem serveriem",
"Trusted server" : "Uzticams serveris",
- "Add" : "Pievienot",
- "Federation" : "Federācija"
+ "Add" : "Pievienot"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/nb.js b/apps/federation/l10n/nb.js
index d64c4e1b1f2..01cf4e33916 100644
--- a/apps/federation/l10n/nb.js
+++ b/apps/federation/l10n/nb.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Tjeneren er allerede i listen av klarerte tjenere.",
"No server to federate with found" : "Ingen tjener å forene med ble funnet",
"Could not add server" : "Kunne ikke legge til tjener",
+ "Federation" : "Sammenknytting",
"Trusted servers" : "Klarerte tjenere",
"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." : "Føderasjon tillater deg å koble sammen andre betrodde tjenere for utviksling av bruker kataloger. For eksempel vil det bli brukt for autofullføring av eksterne brukere for føderal deling.",
"Add server automatically once a federated share was created successfully" : "Legg til tjener automatisk når en sammenknyttet deling er blitt opprettet",
"+ Add trusted server" : "+ Legg til klarert tjener",
"Trusted server" : "Klarert tjener",
- "Add" : "Legg til",
- "Federation" : "Sammenknytting"
+ "Add" : "Legg til"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/nb.json b/apps/federation/l10n/nb.json
index 4fd448becf5..6374cbe5f50 100644
--- a/apps/federation/l10n/nb.json
+++ b/apps/federation/l10n/nb.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Tjeneren er allerede i listen av klarerte tjenere.",
"No server to federate with found" : "Ingen tjener å forene med ble funnet",
"Could not add server" : "Kunne ikke legge til tjener",
+ "Federation" : "Sammenknytting",
"Trusted servers" : "Klarerte tjenere",
"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." : "Føderasjon tillater deg å koble sammen andre betrodde tjenere for utviksling av bruker kataloger. For eksempel vil det bli brukt for autofullføring av eksterne brukere for føderal deling.",
"Add server automatically once a federated share was created successfully" : "Legg til tjener automatisk når en sammenknyttet deling er blitt opprettet",
"+ Add trusted server" : "+ Legg til klarert tjener",
"Trusted server" : "Klarert tjener",
- "Add" : "Legg til",
- "Federation" : "Sammenknytting"
+ "Add" : "Legg til"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/nl.js b/apps/federation/l10n/nl.js
index 7dc7d94ba67..b85a8f00876 100644
--- a/apps/federation/l10n/nl.js
+++ b/apps/federation/l10n/nl.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Server bestaat reeds in de lijst van vertrouwde servers.",
"No server to federate with found" : "Geen server gevonden om mee te federeren",
"Could not add server" : "Kon server niet toevoegen",
+ "Federation" : "Federatie",
"Trusted servers" : "Vertrouwde servers",
"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." : "Federatie maakt het mogelijk om te verbinden met vertrouwde servers en de gebuikersadministratie te delen. Zo kun je automatisch externe gebruikers toevoegen voor federatief delen.",
"Add server automatically once a federated share was created successfully" : "Voeg server automatisch toe zodra een gefedereerde share succesvol gecreëerd is",
"+ Add trusted server" : "+ Toevoegen vertrouwde server",
"Trusted server" : "Vertrouwde server",
- "Add" : "Toevoegen",
- "Federation" : "Federatie"
+ "Add" : "Toevoegen"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/nl.json b/apps/federation/l10n/nl.json
index 898142b497e..31ab6dcee21 100644
--- a/apps/federation/l10n/nl.json
+++ b/apps/federation/l10n/nl.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Server bestaat reeds in de lijst van vertrouwde servers.",
"No server to federate with found" : "Geen server gevonden om mee te federeren",
"Could not add server" : "Kon server niet toevoegen",
+ "Federation" : "Federatie",
"Trusted servers" : "Vertrouwde servers",
"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." : "Federatie maakt het mogelijk om te verbinden met vertrouwde servers en de gebuikersadministratie te delen. Zo kun je automatisch externe gebruikers toevoegen voor federatief delen.",
"Add server automatically once a federated share was created successfully" : "Voeg server automatisch toe zodra een gefedereerde share succesvol gecreëerd is",
"+ Add trusted server" : "+ Toevoegen vertrouwde server",
"Trusted server" : "Vertrouwde server",
- "Add" : "Toevoegen",
- "Federation" : "Federatie"
+ "Add" : "Toevoegen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/pl.js b/apps/federation/l10n/pl.js
index a82f5663280..1ebe6741178 100644
--- a/apps/federation/l10n/pl.js
+++ b/apps/federation/l10n/pl.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Serwer znajduje się już na liście zaufanych serwerów.",
"No server to federate with found" : "Nie znaleziono stowarzyszonego serwera",
"Could not add server" : "Nie można dodać serwera",
+ "Federation" : "Stowarzyszenia",
"Trusted servers" : "Zaufane serwery",
"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." : "Stowarzyszenie pozwala łączyć się z innymi zaufanymi użytkownikami i wymieniać się z nimi katalogami. Na przykład, może to być wykorzystane do autouzupełniania w dzieleniu się ze stowarzyszonym użytkownikiem.",
"Add server automatically once a federated share was created successfully" : "Dodaj serwer automatycznie po pomyślnym utworzeniu stowarzyszonego udziału.",
"+ Add trusted server" : "+ Dodaj zaufany serwer",
"Trusted server" : "Zaufany serwer",
- "Add" : "Dodaj",
- "Federation" : "Stowarzyszenia"
+ "Add" : "Dodaj"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/federation/l10n/pl.json b/apps/federation/l10n/pl.json
index 4221b99c470..eec264cdc17 100644
--- a/apps/federation/l10n/pl.json
+++ b/apps/federation/l10n/pl.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Serwer znajduje się już na liście zaufanych serwerów.",
"No server to federate with found" : "Nie znaleziono stowarzyszonego serwera",
"Could not add server" : "Nie można dodać serwera",
+ "Federation" : "Stowarzyszenia",
"Trusted servers" : "Zaufane serwery",
"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." : "Stowarzyszenie pozwala łączyć się z innymi zaufanymi użytkownikami i wymieniać się z nimi katalogami. Na przykład, może to być wykorzystane do autouzupełniania w dzieleniu się ze stowarzyszonym użytkownikiem.",
"Add server automatically once a federated share was created successfully" : "Dodaj serwer automatycznie po pomyślnym utworzeniu stowarzyszonego udziału.",
"+ Add trusted server" : "+ Dodaj zaufany serwer",
"Trusted server" : "Zaufany serwer",
- "Add" : "Dodaj",
- "Federation" : "Stowarzyszenia"
+ "Add" : "Dodaj"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>=14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/pt_BR.js b/apps/federation/l10n/pt_BR.js
index dc358d66c34..683474b3726 100644
--- a/apps/federation/l10n/pt_BR.js
+++ b/apps/federation/l10n/pt_BR.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "O servidor já está na lista de servidores confiáveis.",
"No server to federate with found" : "Nenhum servidor encontrado para federar",
"Could not add server" : "Não foi possível adicionar servidor",
+ "Federation" : "Federação",
"Trusted servers" : "Servidores confiáveis",
"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." : "Federação permite que você conecte com outros servidores confiáveis para trocar o diretório do usuário. Por exemplo, este atributo será usado para completar automaticamente usuários externos para compartilhamento federado.",
"Add server automatically once a federated share was created successfully" : "Adicionar servidor automaticamente uma vez que um compartilhamento federado foi criado com êxito",
"+ Add trusted server" : "+Adicionar servidores confiáveis",
"Trusted server" : "Servidores confiáveis",
- "Add" : "Adicionar",
- "Federation" : "Federação"
+ "Add" : "Adicionar"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/federation/l10n/pt_BR.json b/apps/federation/l10n/pt_BR.json
index d9f1ef6147b..ea13a6ef4b2 100644
--- a/apps/federation/l10n/pt_BR.json
+++ b/apps/federation/l10n/pt_BR.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "O servidor já está na lista de servidores confiáveis.",
"No server to federate with found" : "Nenhum servidor encontrado para federar",
"Could not add server" : "Não foi possível adicionar servidor",
+ "Federation" : "Federação",
"Trusted servers" : "Servidores confiáveis",
"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." : "Federação permite que você conecte com outros servidores confiáveis para trocar o diretório do usuário. Por exemplo, este atributo será usado para completar automaticamente usuários externos para compartilhamento federado.",
"Add server automatically once a federated share was created successfully" : "Adicionar servidor automaticamente uma vez que um compartilhamento federado foi criado com êxito",
"+ Add trusted server" : "+Adicionar servidores confiáveis",
"Trusted server" : "Servidores confiáveis",
- "Add" : "Adicionar",
- "Federation" : "Federação"
+ "Add" : "Adicionar"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/ru.js b/apps/federation/l10n/ru.js
index 5e3c36f176a..d465c97ddfa 100644
--- a/apps/federation/l10n/ru.js
+++ b/apps/federation/l10n/ru.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Сервер уже есть в списке доверенных серверов.",
"No server to federate with found" : "Сервер для объединения не найден",
"Could not add server" : "Не удалось добавить сервер",
+ "Federation" : "Федерация",
"Trusted servers" : "Доверенные серверы",
"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." : "Федерация серверов позволит Вам подключиться к другим доверенным серверам для обмена каталогами пользователей. Это будет использовано, например, для автодополнения имён пользователей при открытии федеративного общего доступа.",
"Add server automatically once a federated share was created successfully" : "Добавить сервер автоматически после успешного создания федеративного ресурса общего доступа",
"+ Add trusted server" : "+ Добавить доверенный сервер",
"Trusted server" : "Доверенный сервер",
- "Add" : "Добавить",
- "Federation" : "Федерация"
+ "Add" : "Добавить"
},
"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/federation/l10n/ru.json b/apps/federation/l10n/ru.json
index cf988061685..fbb14ff083f 100644
--- a/apps/federation/l10n/ru.json
+++ b/apps/federation/l10n/ru.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Сервер уже есть в списке доверенных серверов.",
"No server to federate with found" : "Сервер для объединения не найден",
"Could not add server" : "Не удалось добавить сервер",
+ "Federation" : "Федерация",
"Trusted servers" : "Доверенные серверы",
"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." : "Федерация серверов позволит Вам подключиться к другим доверенным серверам для обмена каталогами пользователей. Это будет использовано, например, для автодополнения имён пользователей при открытии федеративного общего доступа.",
"Add server automatically once a federated share was created successfully" : "Добавить сервер автоматически после успешного создания федеративного ресурса общего доступа",
"+ Add trusted server" : "+ Добавить доверенный сервер",
"Trusted server" : "Доверенный сервер",
- "Add" : "Добавить",
- "Federation" : "Федерация"
+ "Add" : "Добавить"
},"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/federation/l10n/sl.js b/apps/federation/l10n/sl.js
index c89639b505e..e05f8e0f322 100644
--- a/apps/federation/l10n/sl.js
+++ b/apps/federation/l10n/sl.js
@@ -4,12 +4,12 @@ OC.L10N.register(
"Added to the list of trusted servers" : "Dodano na spisek varnih strežnikov",
"Server is already in the list of trusted servers." : "Strežnik je že na seznamu potrjenih strežnikov.",
"Could not add server" : "Ni mogoče dodati strežnika.",
+ "Federation" : "Zvezni oblaki",
"Trusted servers" : "Zanesljivi strežniki",
"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." : "Federiranje omogoča povezovanje z drugimi varnimi strežniki in izmenjavo spiska uporabnikov. Primer je samodejno dopolnjevanje zunanjih uporabnikov pri federacijski souporabi.",
"Add server automatically once a federated share was created successfully" : "Strežnik dodaj samodejno, ko je povezava zveznega oblaka uspešno ustvarjena",
"+ Add trusted server" : "+ Dodaj zanesljiv strežnik",
"Trusted server" : "Zanesljiv strežnik",
- "Add" : "Dodaj",
- "Federation" : "Zvezni oblaki"
+ "Add" : "Dodaj"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/federation/l10n/sl.json b/apps/federation/l10n/sl.json
index 3c3ee449df0..08f60f98b28 100644
--- a/apps/federation/l10n/sl.json
+++ b/apps/federation/l10n/sl.json
@@ -2,12 +2,12 @@
"Added to the list of trusted servers" : "Dodano na spisek varnih strežnikov",
"Server is already in the list of trusted servers." : "Strežnik je že na seznamu potrjenih strežnikov.",
"Could not add server" : "Ni mogoče dodati strežnika.",
+ "Federation" : "Zvezni oblaki",
"Trusted servers" : "Zanesljivi strežniki",
"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." : "Federiranje omogoča povezovanje z drugimi varnimi strežniki in izmenjavo spiska uporabnikov. Primer je samodejno dopolnjevanje zunanjih uporabnikov pri federacijski souporabi.",
"Add server automatically once a federated share was created successfully" : "Strežnik dodaj samodejno, ko je povezava zveznega oblaka uspešno ustvarjena",
"+ Add trusted server" : "+ Dodaj zanesljiv strežnik",
"Trusted server" : "Zanesljiv strežnik",
- "Add" : "Dodaj",
- "Federation" : "Zvezni oblaki"
+ "Add" : "Dodaj"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/sq.js b/apps/federation/l10n/sq.js
index dc4aeb8b7f7..460a3923d4e 100644
--- a/apps/federation/l10n/sq.js
+++ b/apps/federation/l10n/sq.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Server-i është tashmë në listën e server-ave të besuar.",
"No server to federate with found" : "Nuk u gjet server me të cilin mund të federohej",
"Could not add server" : "Server-i s’u shtua dot",
+ "Federation" : "Federim",
"Trusted servers" : "Servera të besuar",
"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." : "Federimi ju lejon të lidheni me server-a të tjerë për të shkëmbyer direktorinë e përdoruesit. Për shembull, kjo mund të përdoret për të parapërgatitur vendet e punës për përdorues të jashtëm në shpërndarjen e federuar.",
"Add server automatically once a federated share was created successfully" : "Shtoje vetvetiu server-in pasi të jetë krijuar me sukses një ndarje e federuar",
"+ Add trusted server" : "+ Shto server-a të besuar",
"Trusted server" : "Server i besuar",
- "Add" : "Shto",
- "Federation" : "Federim"
+ "Add" : "Shto"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/sq.json b/apps/federation/l10n/sq.json
index 5ed93828d67..89b569ce33c 100644
--- a/apps/federation/l10n/sq.json
+++ b/apps/federation/l10n/sq.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Server-i është tashmë në listën e server-ave të besuar.",
"No server to federate with found" : "Nuk u gjet server me të cilin mund të federohej",
"Could not add server" : "Server-i s’u shtua dot",
+ "Federation" : "Federim",
"Trusted servers" : "Servera të besuar",
"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." : "Federimi ju lejon të lidheni me server-a të tjerë për të shkëmbyer direktorinë e përdoruesit. Për shembull, kjo mund të përdoret për të parapërgatitur vendet e punës për përdorues të jashtëm në shpërndarjen e federuar.",
"Add server automatically once a federated share was created successfully" : "Shtoje vetvetiu server-in pasi të jetë krijuar me sukses një ndarje e federuar",
"+ Add trusted server" : "+ Shto server-a të besuar",
"Trusted server" : "Server i besuar",
- "Add" : "Shto",
- "Federation" : "Federim"
+ "Add" : "Shto"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/sv.js b/apps/federation/l10n/sv.js
index fa6ccf86dc9..d4ca3a40b47 100644
--- a/apps/federation/l10n/sv.js
+++ b/apps/federation/l10n/sv.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Servern finns redan i listan",
"No server to federate with found" : "Ingen server att federera med hittades",
"Could not add server" : "Kunde inte lägga till server",
+ "Federation" : "Federerad delning",
"Trusted servers" : "Betrodda servrar",
"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 låter dig ansluta till andra betrodda servrar för att utbyta användarinformation. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning.",
"Add server automatically once a federated share was created successfully" : "Lägg till servern automatiskt så fort en lyckad federerad delning skapats",
"+ Add trusted server" : "+ Lägg till betrodd server",
"Trusted server" : "Betrodd server",
- "Add" : "Lägg till",
- "Federation" : "Federerad delning"
+ "Add" : "Lägg till"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federation/l10n/sv.json b/apps/federation/l10n/sv.json
index ead6b203f7f..cb6cce1b1f6 100644
--- a/apps/federation/l10n/sv.json
+++ b/apps/federation/l10n/sv.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Servern finns redan i listan",
"No server to federate with found" : "Ingen server att federera med hittades",
"Could not add server" : "Kunde inte lägga till server",
+ "Federation" : "Federerad delning",
"Trusted servers" : "Betrodda servrar",
"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 låter dig ansluta till andra betrodda servrar för att utbyta användarinformation. Till exempel kommer detta användas för att auto-komplettera externa användare för federerad delning.",
"Add server automatically once a federated share was created successfully" : "Lägg till servern automatiskt så fort en lyckad federerad delning skapats",
"+ Add trusted server" : "+ Lägg till betrodd server",
"Trusted server" : "Betrodd server",
- "Add" : "Lägg till",
- "Federation" : "Federerad delning"
+ "Add" : "Lägg till"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/tr.js b/apps/federation/l10n/tr.js
index dd959026d0f..799047e953b 100644
--- a/apps/federation/l10n/tr.js
+++ b/apps/federation/l10n/tr.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "Sunucu zaten güvenilen sunucu listesine eklenmiş.",
"No server to federate with found" : "Birleştirilecek bir sunucu bulunamadı",
"Could not add server" : "Sunucu eklenemedi",
+ "Federation" : "Birleşim",
"Trusted servers" : "Güvenilen sunucular",
"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." : "Birleşim, diğer güvenilir sunucularla dosya/klasör paylaşımı yapılmasını sağlar. Örneğin, bu işlem birleştirilmiş paylaşım için dış kullanıcıların otomatik olarak tamamlanmasını sağlar.",
"Add server automatically once a federated share was created successfully" : "Bir birleşmiş paylaşım eklendiğinde sunucu otomatik olarak eklensin",
"+ Add trusted server" : "+ Güvenilir sunucu ekle",
"Trusted server" : "Güvenilen sunucu",
- "Add" : "Ekle",
- "Federation" : "Birleşim"
+ "Add" : "Ekle"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/federation/l10n/tr.json b/apps/federation/l10n/tr.json
index eb7971df9bb..a8b38fdc19d 100644
--- a/apps/federation/l10n/tr.json
+++ b/apps/federation/l10n/tr.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "Sunucu zaten güvenilen sunucu listesine eklenmiş.",
"No server to federate with found" : "Birleştirilecek bir sunucu bulunamadı",
"Could not add server" : "Sunucu eklenemedi",
+ "Federation" : "Birleşim",
"Trusted servers" : "Güvenilen sunucular",
"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." : "Birleşim, diğer güvenilir sunucularla dosya/klasör paylaşımı yapılmasını sağlar. Örneğin, bu işlem birleştirilmiş paylaşım için dış kullanıcıların otomatik olarak tamamlanmasını sağlar.",
"Add server automatically once a federated share was created successfully" : "Bir birleşmiş paylaşım eklendiğinde sunucu otomatik olarak eklensin",
"+ Add trusted server" : "+ Güvenilir sunucu ekle",
"Trusted server" : "Güvenilen sunucu",
- "Add" : "Ekle",
- "Federation" : "Birleşim"
+ "Add" : "Ekle"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/federation/l10n/zh_CN.js b/apps/federation/l10n/zh_CN.js
index bb30e2cb86d..0f73957db42 100644
--- a/apps/federation/l10n/zh_CN.js
+++ b/apps/federation/l10n/zh_CN.js
@@ -5,12 +5,12 @@ OC.L10N.register(
"Server is already in the list of trusted servers." : "服务器在线,并已成功添加至信任服务器列表。",
"No server to federate with found" : "没有找到联盟服务器",
"Could not add server" : "无法添加服务器",
+ "Federation" : "联合",
"Trusted servers" : "可信任服务器",
"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." : "联盟允许您与其他受信任的服务器连接并交换用户目录。 例如,这将用于自动完成外部用户组成共享联盟。",
"Add server automatically once a federated share was created successfully" : "一旦联合共享创建成功自动添加服务器",
"+ Add trusted server" : "+ 添加可信任服务器",
"Trusted server" : "可信任服务器",
- "Add" : "添加",
- "Federation" : "联合"
+ "Add" : "添加"
},
"nplurals=1; plural=0;");
diff --git a/apps/federation/l10n/zh_CN.json b/apps/federation/l10n/zh_CN.json
index 919c572ba34..2d424586d54 100644
--- a/apps/federation/l10n/zh_CN.json
+++ b/apps/federation/l10n/zh_CN.json
@@ -3,12 +3,12 @@
"Server is already in the list of trusted servers." : "服务器在线,并已成功添加至信任服务器列表。",
"No server to federate with found" : "没有找到联盟服务器",
"Could not add server" : "无法添加服务器",
+ "Federation" : "联合",
"Trusted servers" : "可信任服务器",
"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." : "联盟允许您与其他受信任的服务器连接并交换用户目录。 例如,这将用于自动完成外部用户组成共享联盟。",
"Add server automatically once a federated share was created successfully" : "一旦联合共享创建成功自动添加服务器",
"+ Add trusted server" : "+ 添加可信任服务器",
"Trusted server" : "可信任服务器",
- "Add" : "添加",
- "Federation" : "联合"
+ "Add" : "添加"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/cs.js b/apps/files_external/l10n/cs.js
index 7af05992729..84445e379b6 100644
--- a/apps/files_external/l10n/cs.js
+++ b/apps/files_external/l10n/cs.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s",
"Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s",
"External storages" : "Externí úložiště",
- "External storage" : "Externí úložiště",
"Dropbox App Configuration" : "Nastavení aplikace Dropbox",
"Google Drive App Configuration" : "Nastavení aplikace Disk Google",
"Personal" : "Osobní",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Nikdy",
"Once every direct access" : "Jednou pro každý přímý přístup",
"Folder name" : "Název adresáře",
+ "External storage" : "Externí úložiště",
"Authentication" : "Ověření",
"Configuration" : "Nastavení",
"Available for" : "Dostupné pro",
diff --git a/apps/files_external/l10n/cs.json b/apps/files_external/l10n/cs.json
index a4dd108ab39..2b7c1e911ba 100644
--- a/apps/files_external/l10n/cs.json
+++ b/apps/files_external/l10n/cs.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s",
"Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s",
"External storages" : "Externí úložiště",
- "External storage" : "Externí úložiště",
"Dropbox App Configuration" : "Nastavení aplikace Dropbox",
"Google Drive App Configuration" : "Nastavení aplikace Disk Google",
"Personal" : "Osobní",
@@ -116,6 +115,7 @@
"Never" : "Nikdy",
"Once every direct access" : "Jednou pro každý přímý přístup",
"Folder name" : "Název adresáře",
+ "External storage" : "Externí úložiště",
"Authentication" : "Ověření",
"Configuration" : "Nastavení",
"Available for" : "Dostupné pro",
diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js
index 9cdd171020d..92337ba6f92 100644
--- a/apps/files_external/l10n/da.js
+++ b/apps/files_external/l10n/da.js
@@ -6,7 +6,6 @@ OC.L10N.register(
"Please provide a valid app key and secret." : "Angiv venligst gyldig app-nøgle og -hemmelighed.",
"Step 1 failed. Exception: %s" : "Trin 1 mislykkedes. Undtagelse: %s",
"Step 2 failed. Exception: %s" : "Trin 2 mislykkedes. Undtagelse: %s",
- "External storage" : "Eksternt lager",
"Personal" : "Personligt",
"System" : "System",
"Grant access" : "Godkend adgang",
@@ -95,6 +94,7 @@ OC.L10N.register(
"Never" : "Aldrig",
"Once every direct access" : "Kun ved hver direkte tilgang",
"Folder name" : "Mappenavn",
+ "External storage" : "Eksternt lager",
"Authentication" : "Godkendelse",
"Configuration" : "Opsætning",
"Available for" : "Tilgængelig for",
diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json
index a42de28f84a..bf52994c84f 100644
--- a/apps/files_external/l10n/da.json
+++ b/apps/files_external/l10n/da.json
@@ -4,7 +4,6 @@
"Please provide a valid app key and secret." : "Angiv venligst gyldig app-nøgle og -hemmelighed.",
"Step 1 failed. Exception: %s" : "Trin 1 mislykkedes. Undtagelse: %s",
"Step 2 failed. Exception: %s" : "Trin 2 mislykkedes. Undtagelse: %s",
- "External storage" : "Eksternt lager",
"Personal" : "Personligt",
"System" : "System",
"Grant access" : "Godkend adgang",
@@ -93,6 +92,7 @@
"Never" : "Aldrig",
"Once every direct access" : "Kun ved hver direkte tilgang",
"Folder name" : "Mappenavn",
+ "External storage" : "Eksternt lager",
"Authentication" : "Godkendelse",
"Configuration" : "Opsætning",
"Available for" : "Tilgængelig for",
diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js
index 17054839f9a..0344d49da8b 100644
--- a/apps/files_external/l10n/de.js
+++ b/apps/files_external/l10n/de.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s",
"Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s",
"External storages" : "Externer Speicher",
- "External storage" : "Externer Speicher",
"Dropbox App Configuration" : "Dropbox-App Konfiguration",
"Google Drive App Configuration" : "Google Drive - App Konfiguration",
"Personal" : "Persönlich",
@@ -106,6 +105,7 @@ OC.L10N.register(
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die cURL-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie Sich zur Installation an den Systemadministrator.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die FTP-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie Sich zur Installation an den Systemadministrator.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie Sich zur Installation an den Systemadministrator.",
+ "External storage support" : "Unterstützung für externen Speicher",
"No external storage configured" : "Kein externer Speicher konfiguriert",
"You can add external storages in the personal settings" : "Externe Speicher können in den persönlichen Einstellungen hinzugefügt werden",
"Name" : "Name",
@@ -118,6 +118,7 @@ OC.L10N.register(
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem Direktzugriff",
"Folder name" : "Ordnername",
+ "External storage" : "Externer Speicher",
"Authentication" : "Authentifizierung",
"Configuration" : "Konfiguration",
"Available for" : "Verfügbar für",
diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json
index 8e8a0bf87e2..30f0685c5aa 100644
--- a/apps/files_external/l10n/de.json
+++ b/apps/files_external/l10n/de.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s",
"Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s",
"External storages" : "Externer Speicher",
- "External storage" : "Externer Speicher",
"Dropbox App Configuration" : "Dropbox-App Konfiguration",
"Google Drive App Configuration" : "Google Drive - App Konfiguration",
"Personal" : "Persönlich",
@@ -104,6 +103,7 @@
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die cURL-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie Sich zur Installation an den Systemadministrator.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Die FTP-Unterstützung von PHP ist deaktiviert oder nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie Sich zur Installation an den Systemadministrator.",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie Sich zur Installation an den Systemadministrator.",
+ "External storage support" : "Unterstützung für externen Speicher",
"No external storage configured" : "Kein externer Speicher konfiguriert",
"You can add external storages in the personal settings" : "Externe Speicher können in den persönlichen Einstellungen hinzugefügt werden",
"Name" : "Name",
@@ -116,6 +116,7 @@
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem Direktzugriff",
"Folder name" : "Ordnername",
+ "External storage" : "Externer Speicher",
"Authentication" : "Authentifizierung",
"Configuration" : "Konfiguration",
"Available for" : "Verfügbar für",
diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js
index 31abc0d21a6..6aefff1bb6b 100644
--- a/apps/files_external/l10n/de_DE.js
+++ b/apps/files_external/l10n/de_DE.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s",
"Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s",
"External storages" : "Externer Speicher",
- "External storage" : "Externer Speicher",
"Dropbox App Configuration" : "Dropbox-App Konfiguration",
"Google Drive App Configuration" : "Google Drive - App Konfiguration",
"Personal" : "Persönlich",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem Direktzugriff",
"Folder name" : "Ordnername",
+ "External storage" : "Externer Speicher",
"Authentication" : "Authentifizierung",
"Configuration" : "Konfiguration",
"Available for" : "Verfügbar für",
diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json
index a2ea06f1f19..d204abb625f 100644
--- a/apps/files_external/l10n/de_DE.json
+++ b/apps/files_external/l10n/de_DE.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s",
"Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s",
"External storages" : "Externer Speicher",
- "External storage" : "Externer Speicher",
"Dropbox App Configuration" : "Dropbox-App Konfiguration",
"Google Drive App Configuration" : "Google Drive - App Konfiguration",
"Personal" : "Persönlich",
@@ -116,6 +115,7 @@
"Never" : "Nie",
"Once every direct access" : "Einmal bei jedem Direktzugriff",
"Folder name" : "Ordnername",
+ "External storage" : "Externer Speicher",
"Authentication" : "Authentifizierung",
"Configuration" : "Konfiguration",
"Available for" : "Verfügbar für",
diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js
index be945df3026..6ef9f0a233a 100644
--- a/apps/files_external/l10n/el.js
+++ b/apps/files_external/l10n/el.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Το βήμα 1 απέτυχε. Εξαίρεση: %s",
"Step 2 failed. Exception: %s" : "Το βήμα 2 απέτυχε. Εξαίρεση: %s",
"External storages" : "Εξωτερική αποθήκευση",
- "External storage" : "Εξωτερική αποθήκευση",
"Dropbox App Configuration" : "Ρυθμίσεις εφαρμογής Dropbox",
"Google Drive App Configuration" : "Ρυθμίσεις εφαρμογής Google Drive",
"Personal" : "Προσωπικά",
@@ -117,6 +116,7 @@ OC.L10N.register(
"Never" : "Ποτέ",
"Once every direct access" : "Σε κάθε απευθείας πρόσβαση",
"Folder name" : "Όνομα φακέλου",
+ "External storage" : "Εξωτερική αποθήκευση",
"Authentication" : "Πιστοποίηση",
"Configuration" : "Ρυθμίσεις",
"Available for" : "Διαθέσιμο για",
diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json
index 0ddbc13e172..8855c86eab8 100644
--- a/apps/files_external/l10n/el.json
+++ b/apps/files_external/l10n/el.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Το βήμα 1 απέτυχε. Εξαίρεση: %s",
"Step 2 failed. Exception: %s" : "Το βήμα 2 απέτυχε. Εξαίρεση: %s",
"External storages" : "Εξωτερική αποθήκευση",
- "External storage" : "Εξωτερική αποθήκευση",
"Dropbox App Configuration" : "Ρυθμίσεις εφαρμογής Dropbox",
"Google Drive App Configuration" : "Ρυθμίσεις εφαρμογής Google Drive",
"Personal" : "Προσωπικά",
@@ -115,6 +114,7 @@
"Never" : "Ποτέ",
"Once every direct access" : "Σε κάθε απευθείας πρόσβαση",
"Folder name" : "Όνομα φακέλου",
+ "External storage" : "Εξωτερική αποθήκευση",
"Authentication" : "Πιστοποίηση",
"Configuration" : "Ρυθμίσεις",
"Available for" : "Διαθέσιμο για",
diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js
index 4584c322598..969853dd708 100644
--- a/apps/files_external/l10n/en_GB.js
+++ b/apps/files_external/l10n/en_GB.js
@@ -6,7 +6,6 @@ OC.L10N.register(
"Please provide a valid app key and secret." : "Please provide a valid app key and secret.",
"Step 1 failed. Exception: %s" : "Step 1 failed. Exception: %s",
"Step 2 failed. Exception: %s" : "Step 2 failed. Exception: %s",
- "External storage" : "External storage",
"Dropbox App Configuration" : "Dropbox App Configuration",
"Google Drive App Configuration" : "Google Drive App Configuration",
"Personal" : "Personal",
@@ -109,6 +108,7 @@ OC.L10N.register(
"Never" : "Never",
"Once every direct access" : "Once every direct access",
"Folder name" : "Folder name",
+ "External storage" : "External storage",
"Authentication" : "Authentication",
"Configuration" : "Configuration",
"Available for" : "Available for",
diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json
index 0536a3f61e0..032cda3b94c 100644
--- a/apps/files_external/l10n/en_GB.json
+++ b/apps/files_external/l10n/en_GB.json
@@ -4,7 +4,6 @@
"Please provide a valid app key and secret." : "Please provide a valid app key and secret.",
"Step 1 failed. Exception: %s" : "Step 1 failed. Exception: %s",
"Step 2 failed. Exception: %s" : "Step 2 failed. Exception: %s",
- "External storage" : "External storage",
"Dropbox App Configuration" : "Dropbox App Configuration",
"Google Drive App Configuration" : "Google Drive App Configuration",
"Personal" : "Personal",
@@ -107,6 +106,7 @@
"Never" : "Never",
"Once every direct access" : "Once every direct access",
"Folder name" : "Folder name",
+ "External storage" : "External storage",
"Authentication" : "Authentication",
"Configuration" : "Configuration",
"Available for" : "Available for",
diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js
index 97e0c9248a7..590ff19a4a5 100644
--- a/apps/files_external/l10n/es.js
+++ b/apps/files_external/l10n/es.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "El paso 1 falló. Excepción: %s",
"Step 2 failed. Exception: %s" : "El paso 2 falló. Excepción: %s",
"External storages" : "Almacenamientos externos",
- "External storage" : "Almacenamiento externo",
"Dropbox App Configuration" : "Configuración de la app de Dropbox",
"Google Drive App Configuration" : "Configuración de la app de Google Drive",
"Personal" : "Personal",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Nunca",
"Once every direct access" : "Una vez cada acceso directo",
"Folder name" : "Nombre de la carpeta",
+ "External storage" : "Almacenamiento externo",
"Authentication" : "Autentificación",
"Configuration" : "Configuración",
"Available for" : "Disponible para",
diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json
index 67024b59979..54c3495d7fb 100644
--- a/apps/files_external/l10n/es.json
+++ b/apps/files_external/l10n/es.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "El paso 1 falló. Excepción: %s",
"Step 2 failed. Exception: %s" : "El paso 2 falló. Excepción: %s",
"External storages" : "Almacenamientos externos",
- "External storage" : "Almacenamiento externo",
"Dropbox App Configuration" : "Configuración de la app de Dropbox",
"Google Drive App Configuration" : "Configuración de la app de Google Drive",
"Personal" : "Personal",
@@ -116,6 +115,7 @@
"Never" : "Nunca",
"Once every direct access" : "Una vez cada acceso directo",
"Folder name" : "Nombre de la carpeta",
+ "External storage" : "Almacenamiento externo",
"Authentication" : "Autentificación",
"Configuration" : "Configuración",
"Available for" : "Disponible para",
diff --git a/apps/files_external/l10n/es_MX.js b/apps/files_external/l10n/es_MX.js
index e16eaae639e..4cefd48b54d 100644
--- a/apps/files_external/l10n/es_MX.js
+++ b/apps/files_external/l10n/es_MX.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Falla en el paso 1: Excepción %s",
"Step 2 failed. Exception: %s" : "Paso 2 falló. Excepción: %s",
"External storages" : "Almacenamiento externo",
- "External storage" : "Almacenamiento externo",
"Dropbox App Configuration" : "Configuración de la aplicación Dropbox",
"Google Drive App Configuration" : "Configuración de Aplicación Google Drive",
"Personal" : "Personal",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Nunca",
"Once every direct access" : "Una vez cada acceso directo",
"Folder name" : "Nombre de la carpeta",
+ "External storage" : "Almacenamiento externo",
"Authentication" : "Autenticación",
"Configuration" : "Configuración",
"Available for" : "Disponible para",
diff --git a/apps/files_external/l10n/es_MX.json b/apps/files_external/l10n/es_MX.json
index 0d82a5723ce..b55d5f5edd6 100644
--- a/apps/files_external/l10n/es_MX.json
+++ b/apps/files_external/l10n/es_MX.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Falla en el paso 1: Excepción %s",
"Step 2 failed. Exception: %s" : "Paso 2 falló. Excepción: %s",
"External storages" : "Almacenamiento externo",
- "External storage" : "Almacenamiento externo",
"Dropbox App Configuration" : "Configuración de la aplicación Dropbox",
"Google Drive App Configuration" : "Configuración de Aplicación Google Drive",
"Personal" : "Personal",
@@ -116,6 +115,7 @@
"Never" : "Nunca",
"Once every direct access" : "Una vez cada acceso directo",
"Folder name" : "Nombre de la carpeta",
+ "External storage" : "Almacenamiento externo",
"Authentication" : "Autenticación",
"Configuration" : "Configuración",
"Available for" : "Disponible para",
diff --git a/apps/files_external/l10n/fi.js b/apps/files_external/l10n/fi.js
index 5b1a6449af6..f13462b4dc7 100644
--- a/apps/files_external/l10n/fi.js
+++ b/apps/files_external/l10n/fi.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Vaihe 1 epäonnistui. Poikkeus: %s",
"Step 2 failed. Exception: %s" : "Vaihe 2 epäonnistui. Poikkeus: %s",
"External storages" : "Ulkoiset tallennustilat",
- "External storage" : "Ulkoinen tallennustila",
"Dropbox App Configuration" : "Dropbox-sovelluksen määritys",
"Google Drive App Configuration" : "Google Drive -sovelluksen määritys",
"Personal" : "Henkilökohtainen",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Ei koskaan",
"Once every direct access" : "Kerran aina suoran käytön yhteydessä",
"Folder name" : "Kansion nimi",
+ "External storage" : "Ulkoinen tallennustila",
"Authentication" : "Tunnistautuminen",
"Configuration" : "Asetukset",
"Available for" : "Saatavuus",
diff --git a/apps/files_external/l10n/fi.json b/apps/files_external/l10n/fi.json
index 1a5c2872c5b..0455a925b9e 100644
--- a/apps/files_external/l10n/fi.json
+++ b/apps/files_external/l10n/fi.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Vaihe 1 epäonnistui. Poikkeus: %s",
"Step 2 failed. Exception: %s" : "Vaihe 2 epäonnistui. Poikkeus: %s",
"External storages" : "Ulkoiset tallennustilat",
- "External storage" : "Ulkoinen tallennustila",
"Dropbox App Configuration" : "Dropbox-sovelluksen määritys",
"Google Drive App Configuration" : "Google Drive -sovelluksen määritys",
"Personal" : "Henkilökohtainen",
@@ -116,6 +115,7 @@
"Never" : "Ei koskaan",
"Once every direct access" : "Kerran aina suoran käytön yhteydessä",
"Folder name" : "Kansion nimi",
+ "External storage" : "Ulkoinen tallennustila",
"Authentication" : "Tunnistautuminen",
"Configuration" : "Asetukset",
"Available for" : "Saatavuus",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index 7ecc68b0096..670b1f003bb 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "L’étape 1 a échoué. Erreur : %s",
"Step 2 failed. Exception: %s" : "L’étape 2 a échoué. Erreur : %s",
"External storages" : "Stockages externe",
- "External storage" : "Stockage externe",
"Dropbox App Configuration" : "Configuration de l'application Dropbox",
"Google Drive App Configuration" : "Configuration de l'application Google Drive",
"Personal" : "Personnel",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Jamais",
"Once every direct access" : "Une fois à chaque accès direct",
"Folder name" : "Nom du dossier",
+ "External storage" : "Stockage externe",
"Authentication" : "Authentification",
"Configuration" : "Configuration",
"Available for" : "Disponible pour",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index 057f5e0420a..6ebce219ae2 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "L’étape 1 a échoué. Erreur : %s",
"Step 2 failed. Exception: %s" : "L’étape 2 a échoué. Erreur : %s",
"External storages" : "Stockages externe",
- "External storage" : "Stockage externe",
"Dropbox App Configuration" : "Configuration de l'application Dropbox",
"Google Drive App Configuration" : "Configuration de l'application Google Drive",
"Personal" : "Personnel",
@@ -116,6 +115,7 @@
"Never" : "Jamais",
"Once every direct access" : "Une fois à chaque accès direct",
"Folder name" : "Nom du dossier",
+ "External storage" : "Stockage externe",
"Authentication" : "Authentification",
"Configuration" : "Configuration",
"Available for" : "Disponible pour",
diff --git a/apps/files_external/l10n/he.js b/apps/files_external/l10n/he.js
index f882f82799c..1945d866141 100644
--- a/apps/files_external/l10n/he.js
+++ b/apps/files_external/l10n/he.js
@@ -6,7 +6,6 @@ OC.L10N.register(
"Please provide a valid app key and secret." : "יש לספק מפתח יישום וסוד תקניים.",
"Step 1 failed. Exception: %s" : "שלב 1 נכשל. חריג: %s",
"Step 2 failed. Exception: %s" : "שלב 2 נכשל. חריג: %s",
- "External storage" : "אחסון חיצוני",
"Dropbox App Configuration" : "הגדרות יישום דרופבוקס",
"Google Drive App Configuration" : "הגדרות יישום גוגל דרייב",
"Personal" : "אישי",
@@ -106,6 +105,7 @@ OC.L10N.register(
"Never" : "לעולם לא",
"Once every direct access" : "פעם אחת כל כניסה ישירה",
"Folder name" : "שם התיקייה",
+ "External storage" : "אחסון חיצוני",
"Authentication" : "אימות",
"Configuration" : "הגדרות",
"Available for" : "זמין עבור",
diff --git a/apps/files_external/l10n/he.json b/apps/files_external/l10n/he.json
index 950ee01d7f1..6fd1bae007f 100644
--- a/apps/files_external/l10n/he.json
+++ b/apps/files_external/l10n/he.json
@@ -4,7 +4,6 @@
"Please provide a valid app key and secret." : "יש לספק מפתח יישום וסוד תקניים.",
"Step 1 failed. Exception: %s" : "שלב 1 נכשל. חריג: %s",
"Step 2 failed. Exception: %s" : "שלב 2 נכשל. חריג: %s",
- "External storage" : "אחסון חיצוני",
"Dropbox App Configuration" : "הגדרות יישום דרופבוקס",
"Google Drive App Configuration" : "הגדרות יישום גוגל דרייב",
"Personal" : "אישי",
@@ -104,6 +103,7 @@
"Never" : "לעולם לא",
"Once every direct access" : "פעם אחת כל כניסה ישירה",
"Folder name" : "שם התיקייה",
+ "External storage" : "אחסון חיצוני",
"Authentication" : "אימות",
"Configuration" : "הגדרות",
"Available for" : "זמין עבור",
diff --git a/apps/files_external/l10n/hu.js b/apps/files_external/l10n/hu.js
index d25aacc4867..ceec7cbd0e8 100644
--- a/apps/files_external/l10n/hu.js
+++ b/apps/files_external/l10n/hu.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "1. lépés sikertelen. Kivétel: %s",
"Step 2 failed. Exception: %s" : "2. lépés sikertelen. Kivétel: %s",
"External storages" : "Külső tárolók",
- "External storage" : "Külső tárolók",
"Dropbox App Configuration" : "Dropbox alkalmazás beállítás",
"Google Drive App Configuration" : "Google Drive alkalmazás beállítás",
"Personal" : "Személyes",
@@ -109,6 +108,7 @@ OC.L10N.register(
"Never" : "Soha",
"Once every direct access" : "Minden közvetlen elérésnél",
"Folder name" : "Mappa neve",
+ "External storage" : "Külső tárolók",
"Authentication" : "Azonisítás",
"Configuration" : "Beállítások",
"Available for" : "Elérhető számukra",
diff --git a/apps/files_external/l10n/hu.json b/apps/files_external/l10n/hu.json
index 483f59a4156..7413b33c954 100644
--- a/apps/files_external/l10n/hu.json
+++ b/apps/files_external/l10n/hu.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "1. lépés sikertelen. Kivétel: %s",
"Step 2 failed. Exception: %s" : "2. lépés sikertelen. Kivétel: %s",
"External storages" : "Külső tárolók",
- "External storage" : "Külső tárolók",
"Dropbox App Configuration" : "Dropbox alkalmazás beállítás",
"Google Drive App Configuration" : "Google Drive alkalmazás beállítás",
"Personal" : "Személyes",
@@ -107,6 +106,7 @@
"Never" : "Soha",
"Once every direct access" : "Minden közvetlen elérésnél",
"Folder name" : "Mappa neve",
+ "External storage" : "Külső tárolók",
"Authentication" : "Azonisítás",
"Configuration" : "Beállítások",
"Available for" : "Elérhető számukra",
diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js
index 071d4862025..ea4aa63c00d 100644
--- a/apps/files_external/l10n/id.js
+++ b/apps/files_external/l10n/id.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s",
"Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s",
"External storages" : "Penyimpanan Eksternal",
- "External storage" : "Penyimpanan eksternal",
"Dropbox App Configuration" : "Konfigurasi Aplikasi Dropbox",
"Google Drive App Configuration" : "Konfigurasi Aplikasi Google Drive",
"Personal" : "Pribadi",
@@ -116,6 +115,7 @@ OC.L10N.register(
"Never" : "Jangan pernah",
"Once every direct access" : "Setiap kali akses langsung",
"Folder name" : "Nama folder",
+ "External storage" : "Penyimpanan eksternal",
"Authentication" : "Otentikasi",
"Configuration" : "Konfigurasi",
"Available for" : "Tersedia untuk",
diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json
index 941781a838a..0126765f1c7 100644
--- a/apps/files_external/l10n/id.json
+++ b/apps/files_external/l10n/id.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s",
"Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s",
"External storages" : "Penyimpanan Eksternal",
- "External storage" : "Penyimpanan eksternal",
"Dropbox App Configuration" : "Konfigurasi Aplikasi Dropbox",
"Google Drive App Configuration" : "Konfigurasi Aplikasi Google Drive",
"Personal" : "Pribadi",
@@ -114,6 +113,7 @@
"Never" : "Jangan pernah",
"Once every direct access" : "Setiap kali akses langsung",
"Folder name" : "Nama folder",
+ "External storage" : "Penyimpanan eksternal",
"Authentication" : "Otentikasi",
"Configuration" : "Konfigurasi",
"Available for" : "Tersedia untuk",
diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js
index 970dc094bac..7136ca8196a 100644
--- a/apps/files_external/l10n/is.js
+++ b/apps/files_external/l10n/is.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Skref 1 mistókst. Undantekning: %s",
"Step 2 failed. Exception: %s" : "Skref 2 mistókst. Undantekning: %s",
"External storages" : "Utanáliggjandi gagnageymslur",
- "External storage" : "Ytri gagnageymsla",
"Dropbox App Configuration" : "Uppsetning Dropbox forrits",
"Google Drive App Configuration" : "Uppsetning Google Drive forrits",
"Personal" : "Einka",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Aldrei",
"Once every direct access" : "Einu sinni við hvern beinan aðgang",
"Folder name" : "Nafn möppu",
+ "External storage" : "Ytri gagnageymsla",
"Authentication" : "Auðkenning",
"Configuration" : "Uppsetning",
"Available for" : "Tiltækt fyrir",
diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json
index 375053e0a4d..8ecdf28dcac 100644
--- a/apps/files_external/l10n/is.json
+++ b/apps/files_external/l10n/is.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Skref 1 mistókst. Undantekning: %s",
"Step 2 failed. Exception: %s" : "Skref 2 mistókst. Undantekning: %s",
"External storages" : "Utanáliggjandi gagnageymslur",
- "External storage" : "Ytri gagnageymsla",
"Dropbox App Configuration" : "Uppsetning Dropbox forrits",
"Google Drive App Configuration" : "Uppsetning Google Drive forrits",
"Personal" : "Einka",
@@ -116,6 +115,7 @@
"Never" : "Aldrei",
"Once every direct access" : "Einu sinni við hvern beinan aðgang",
"Folder name" : "Nafn möppu",
+ "External storage" : "Ytri gagnageymsla",
"Authentication" : "Auðkenning",
"Configuration" : "Uppsetning",
"Available for" : "Tiltækt fyrir",
diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js
index ecc49b7413a..8bada6bf024 100644
--- a/apps/files_external/l10n/it.js
+++ b/apps/files_external/l10n/it.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Fase 1 non riuscita. Eccezione: %s",
"Step 2 failed. Exception: %s" : "Fase 2 non riuscita. Eccezione: %s",
"External storages" : "Archiviazioni esterne",
- "External storage" : "Archiviazione esterna",
"Dropbox App Configuration" : "Configurazione applicazione Dropbox",
"Google Drive App Configuration" : "Configurazione applicazione Google Drive",
"Personal" : "Personale",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Mai",
"Once every direct access" : "Una volta per ogni accesso diretto",
"Folder name" : "Nome della cartella",
+ "External storage" : "Archiviazione esterna",
"Authentication" : "Autenticazione",
"Configuration" : "Configurazione",
"Available for" : "Disponibile per",
diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json
index 532d18a281b..c3c916c2cc7 100644
--- a/apps/files_external/l10n/it.json
+++ b/apps/files_external/l10n/it.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Fase 1 non riuscita. Eccezione: %s",
"Step 2 failed. Exception: %s" : "Fase 2 non riuscita. Eccezione: %s",
"External storages" : "Archiviazioni esterne",
- "External storage" : "Archiviazione esterna",
"Dropbox App Configuration" : "Configurazione applicazione Dropbox",
"Google Drive App Configuration" : "Configurazione applicazione Google Drive",
"Personal" : "Personale",
@@ -116,6 +115,7 @@
"Never" : "Mai",
"Once every direct access" : "Una volta per ogni accesso diretto",
"Folder name" : "Nome della cartella",
+ "External storage" : "Archiviazione esterna",
"Authentication" : "Autenticazione",
"Configuration" : "Configurazione",
"Available for" : "Disponibile per",
diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js
index 60c40e2723a..361b1b8f9d8 100644
--- a/apps/files_external/l10n/ja.js
+++ b/apps/files_external/l10n/ja.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "ステップ 1 の実行に失敗しました。例外: %s",
"Step 2 failed. Exception: %s" : "ステップ 2 の実行に失敗しました。例外: %s",
"External storages" : "外部ストレージ",
- "External storage" : "外部ストレージ",
"Dropbox App Configuration" : "Dropbox アプリ設定",
"Google Drive App Configuration" : "Google アプリ設定",
"Personal" : "個人",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "更新無",
"Once every direct access" : "直指定時のみ",
"Folder name" : "フォルダー名",
+ "External storage" : "外部ストレージ",
"Authentication" : "認証",
"Configuration" : "設定",
"Available for" : "利用可能",
diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json
index 7b5d9857508..dceab2d640c 100644
--- a/apps/files_external/l10n/ja.json
+++ b/apps/files_external/l10n/ja.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "ステップ 1 の実行に失敗しました。例外: %s",
"Step 2 failed. Exception: %s" : "ステップ 2 の実行に失敗しました。例外: %s",
"External storages" : "外部ストレージ",
- "External storage" : "外部ストレージ",
"Dropbox App Configuration" : "Dropbox アプリ設定",
"Google Drive App Configuration" : "Google アプリ設定",
"Personal" : "個人",
@@ -116,6 +115,7 @@
"Never" : "更新無",
"Once every direct access" : "直指定時のみ",
"Folder name" : "フォルダー名",
+ "External storage" : "外部ストレージ",
"Authentication" : "認証",
"Configuration" : "設定",
"Available for" : "利用可能",
diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js
index 87e8e454aeb..cb081062c06 100644
--- a/apps/files_external/l10n/ko.js
+++ b/apps/files_external/l10n/ko.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "1단계 실패. 예외: %s",
"Step 2 failed. Exception: %s" : "2단계 실패. 예외: %s",
"External storages" : "외부 저장소",
- "External storage" : "외부 저장소",
"Dropbox App Configuration" : "Dropbox 앱 설정",
"Google Drive App Configuration" : "Google 드라이브 앱 설정",
"Personal" : "개인",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "하지 않음",
"Once every direct access" : "한 번 직접 접근할 때마다",
"Folder name" : "폴더 이름",
+ "External storage" : "외부 저장소",
"Authentication" : "인증",
"Configuration" : "설정",
"Available for" : "다음으로 사용 가능",
diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json
index c2922cf02b1..1e13f696dda 100644
--- a/apps/files_external/l10n/ko.json
+++ b/apps/files_external/l10n/ko.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "1단계 실패. 예외: %s",
"Step 2 failed. Exception: %s" : "2단계 실패. 예외: %s",
"External storages" : "외부 저장소",
- "External storage" : "외부 저장소",
"Dropbox App Configuration" : "Dropbox 앱 설정",
"Google Drive App Configuration" : "Google 드라이브 앱 설정",
"Personal" : "개인",
@@ -116,6 +115,7 @@
"Never" : "하지 않음",
"Once every direct access" : "한 번 직접 접근할 때마다",
"Folder name" : "폴더 이름",
+ "External storage" : "외부 저장소",
"Authentication" : "인증",
"Configuration" : "설정",
"Available for" : "다음으로 사용 가능",
diff --git a/apps/files_external/l10n/nb.js b/apps/files_external/l10n/nb.js
index c9ba7b267da..cb1e4d7f174 100644
--- a/apps/files_external/l10n/nb.js
+++ b/apps/files_external/l10n/nb.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Steg 1 mislyktes. Unntak: %s",
"Step 2 failed. Exception: %s" : "Steg 2 mislyktes. Unntak: %s",
"External storages" : "Ekstern lagring",
- "External storage" : "Ekstern lagringsplass",
"Dropbox App Configuration" : "Oppsett for Dropbox-program",
"Google Drive App Configuration" : "Oppsett av Google Drive-program",
"Personal" : "Personlig",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Aldri",
"Once every direct access" : "En gang pr. direkte tilgang",
"Folder name" : "Mappenavn",
+ "External storage" : "Ekstern lagringsplass",
"Authentication" : "Autentisering",
"Configuration" : "Oppsett",
"Available for" : "Tilgjengelig for",
diff --git a/apps/files_external/l10n/nb.json b/apps/files_external/l10n/nb.json
index f78d09efd4b..9e713c2bc1a 100644
--- a/apps/files_external/l10n/nb.json
+++ b/apps/files_external/l10n/nb.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Steg 1 mislyktes. Unntak: %s",
"Step 2 failed. Exception: %s" : "Steg 2 mislyktes. Unntak: %s",
"External storages" : "Ekstern lagring",
- "External storage" : "Ekstern lagringsplass",
"Dropbox App Configuration" : "Oppsett for Dropbox-program",
"Google Drive App Configuration" : "Oppsett av Google Drive-program",
"Personal" : "Personlig",
@@ -116,6 +115,7 @@
"Never" : "Aldri",
"Once every direct access" : "En gang pr. direkte tilgang",
"Folder name" : "Mappenavn",
+ "External storage" : "Ekstern lagringsplass",
"Authentication" : "Autentisering",
"Configuration" : "Oppsett",
"Available for" : "Tilgjengelig for",
diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js
index 15c579b9e7e..31e95aca97e 100644
--- a/apps/files_external/l10n/nl.js
+++ b/apps/files_external/l10n/nl.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Stap 1 is mislukt. Uitzondering: %s",
"Step 2 failed. Exception: %s" : "Stap 2 is mislukt. Uitzondering: %s",
"External storages" : "Externe opslag",
- "External storage" : "Externe opslag",
"Dropbox App Configuration" : "Dropbox app configuratie",
"Google Drive App Configuration" : "Google Drive app configuratie",
"Personal" : "Persoonlijk",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Nooit",
"Once every direct access" : "Een keer bij elke directe toegang",
"Folder name" : "Mapnaam",
+ "External storage" : "Externe opslag",
"Authentication" : "Authenticatie",
"Configuration" : "Configuratie",
"Available for" : "Beschikbaar voor",
diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json
index 5000b7d586c..64e98798d03 100644
--- a/apps/files_external/l10n/nl.json
+++ b/apps/files_external/l10n/nl.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Stap 1 is mislukt. Uitzondering: %s",
"Step 2 failed. Exception: %s" : "Stap 2 is mislukt. Uitzondering: %s",
"External storages" : "Externe opslag",
- "External storage" : "Externe opslag",
"Dropbox App Configuration" : "Dropbox app configuratie",
"Google Drive App Configuration" : "Google Drive app configuratie",
"Personal" : "Persoonlijk",
@@ -116,6 +115,7 @@
"Never" : "Nooit",
"Once every direct access" : "Een keer bij elke directe toegang",
"Folder name" : "Mapnaam",
+ "External storage" : "Externe opslag",
"Authentication" : "Authenticatie",
"Configuration" : "Configuratie",
"Available for" : "Beschikbaar voor",
diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js
index ecad2378aed..671b40eb557 100644
--- a/apps/files_external/l10n/pl.js
+++ b/apps/files_external/l10n/pl.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Krok 1 błędny. Błąd: %s",
"Step 2 failed. Exception: %s" : "Krok 2 błędny. Błąd: %s",
"External storages" : "Zewnętrzne zasoby dyskowe",
- "External storage" : "Zewnętrzne zasoby dyskowe",
"Dropbox App Configuration" : "Konfiguracja aplikacji Dropbox",
"Google Drive App Configuration" : "Konfiguracja aplikacji Google Drive",
"Personal" : "Osobiste",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Nigdy",
"Once every direct access" : "Jeden raz przy każdym dostępie",
"Folder name" : "Nazwa folderu",
+ "External storage" : "Zewnętrzne zasoby dyskowe",
"Authentication" : "Poświadczenie",
"Configuration" : "Konfiguracja",
"Available for" : "Dostępne przez",
diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json
index 55a1c33e28a..c2be0f41569 100644
--- a/apps/files_external/l10n/pl.json
+++ b/apps/files_external/l10n/pl.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Krok 1 błędny. Błąd: %s",
"Step 2 failed. Exception: %s" : "Krok 2 błędny. Błąd: %s",
"External storages" : "Zewnętrzne zasoby dyskowe",
- "External storage" : "Zewnętrzne zasoby dyskowe",
"Dropbox App Configuration" : "Konfiguracja aplikacji Dropbox",
"Google Drive App Configuration" : "Konfiguracja aplikacji Google Drive",
"Personal" : "Osobiste",
@@ -116,6 +115,7 @@
"Never" : "Nigdy",
"Once every direct access" : "Jeden raz przy każdym dostępie",
"Folder name" : "Nazwa folderu",
+ "External storage" : "Zewnętrzne zasoby dyskowe",
"Authentication" : "Poświadczenie",
"Configuration" : "Konfiguracja",
"Available for" : "Dostępne przez",
diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js
index 34e488e865d..e2d15249419 100644
--- a/apps/files_external/l10n/pt_BR.js
+++ b/apps/files_external/l10n/pt_BR.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s",
"Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s",
"External storages" : "Armazenamentos externos",
- "External storage" : "Armazenamento Externo",
"Dropbox App Configuration" : "Configuração do Aplicativo Dropbox",
"Google Drive App Configuration" : "Configuração do Aplicativo Google Drive",
"Personal" : "Pessoal",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Nunca",
"Once every direct access" : "Uma vez a cada acesso direto",
"Folder name" : "Nome da pasta",
+ "External storage" : "Armazenamento Externo",
"Authentication" : "Autenticação",
"Configuration" : "Configuração",
"Available for" : "Disponível por",
diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json
index 7b8b9f7f14c..0e07426fa07 100644
--- a/apps/files_external/l10n/pt_BR.json
+++ b/apps/files_external/l10n/pt_BR.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s",
"Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s",
"External storages" : "Armazenamentos externos",
- "External storage" : "Armazenamento Externo",
"Dropbox App Configuration" : "Configuração do Aplicativo Dropbox",
"Google Drive App Configuration" : "Configuração do Aplicativo Google Drive",
"Personal" : "Pessoal",
@@ -116,6 +115,7 @@
"Never" : "Nunca",
"Once every direct access" : "Uma vez a cada acesso direto",
"Folder name" : "Nome da pasta",
+ "External storage" : "Armazenamento Externo",
"Authentication" : "Autenticação",
"Configuration" : "Configuração",
"Available for" : "Disponível por",
diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js
index 69cdfac498f..c351c9f1ad0 100644
--- a/apps/files_external/l10n/pt_PT.js
+++ b/apps/files_external/l10n/pt_PT.js
@@ -6,7 +6,6 @@ OC.L10N.register(
"Please provide a valid app key and secret." : "Por favor, indique um código e segredo de app válidos.",
"Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s",
"Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s",
- "External storage" : "Armazenamento Externo",
"Dropbox App Configuration" : "Configuração da aplicação Dropbox",
"Google Drive App Configuration" : "Configuração da aplicação Google Drive",
"Personal" : "Pessoal",
@@ -106,6 +105,7 @@ OC.L10N.register(
"Never" : "Nunca",
"Once every direct access" : "Uma vez em cada acesso direto",
"Folder name" : "Nome da pasta",
+ "External storage" : "Armazenamento Externo",
"Authentication" : "Autenticação",
"Configuration" : "Configuração",
"Available for" : "Disponível para ",
diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json
index 62c87b32028..80eb41bb30c 100644
--- a/apps/files_external/l10n/pt_PT.json
+++ b/apps/files_external/l10n/pt_PT.json
@@ -4,7 +4,6 @@
"Please provide a valid app key and secret." : "Por favor, indique um código e segredo de app válidos.",
"Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s",
"Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s",
- "External storage" : "Armazenamento Externo",
"Dropbox App Configuration" : "Configuração da aplicação Dropbox",
"Google Drive App Configuration" : "Configuração da aplicação Google Drive",
"Personal" : "Pessoal",
@@ -104,6 +103,7 @@
"Never" : "Nunca",
"Once every direct access" : "Uma vez em cada acesso direto",
"Folder name" : "Nome da pasta",
+ "External storage" : "Armazenamento Externo",
"Authentication" : "Autenticação",
"Configuration" : "Configuração",
"Available for" : "Disponível para ",
diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js
index 7e8f493c759..71a3cc5df4d 100644
--- a/apps/files_external/l10n/ru.js
+++ b/apps/files_external/l10n/ru.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Шаг 1 неудачен. Исключение: %s",
"Step 2 failed. Exception: %s" : "Шаг 2 неудачен. Исключение: %s",
"External storages" : "Внешние хранилища",
- "External storage" : "Внешнее хранилище",
"Dropbox App Configuration" : "Настройка приложения Dropbox",
"Google Drive App Configuration" : "Настройка приложения Google Drive",
"Personal" : "Личное",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Никогда",
"Once every direct access" : "Один раз при прямом доступе",
"Folder name" : "Имя каталога",
+ "External storage" : "Внешнее хранилище",
"Authentication" : "Авторизация",
"Configuration" : "Конфигурация",
"Available for" : "Доступно для",
diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json
index b238ed72c59..514a57f90af 100644
--- a/apps/files_external/l10n/ru.json
+++ b/apps/files_external/l10n/ru.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Шаг 1 неудачен. Исключение: %s",
"Step 2 failed. Exception: %s" : "Шаг 2 неудачен. Исключение: %s",
"External storages" : "Внешние хранилища",
- "External storage" : "Внешнее хранилище",
"Dropbox App Configuration" : "Настройка приложения Dropbox",
"Google Drive App Configuration" : "Настройка приложения Google Drive",
"Personal" : "Личное",
@@ -116,6 +115,7 @@
"Never" : "Никогда",
"Once every direct access" : "Один раз при прямом доступе",
"Folder name" : "Имя каталога",
+ "External storage" : "Внешнее хранилище",
"Authentication" : "Авторизация",
"Configuration" : "Конфигурация",
"Available for" : "Доступно для",
diff --git a/apps/files_external/l10n/sl.js b/apps/files_external/l10n/sl.js
index 1bfc1504544..5ac0f649bad 100644
--- a/apps/files_external/l10n/sl.js
+++ b/apps/files_external/l10n/sl.js
@@ -6,7 +6,6 @@ OC.L10N.register(
"Please provide a valid app key and secret." : "Vpisati je treba veljaven ključ programa in kodo.",
"Step 1 failed. Exception: %s" : "1. korak je spodletel. Izjemna napaka: %s",
"Step 2 failed. Exception: %s" : "2. korak je spodletel. Izjemna napaka: %s",
- "External storage" : "Zunanja shramba",
"Dropbox App Configuration" : "Nastavitve programa Dropbox",
"Google Drive App Configuration" : "Nastavitve programa Google Drive",
"Personal" : "Osebno",
@@ -109,6 +108,7 @@ OC.L10N.register(
"Never" : "Nikoli",
"Once every direct access" : "Enkrat ob neposrednem dostopu",
"Folder name" : "Ime mape",
+ "External storage" : "Zunanja shramba",
"Authentication" : "Overitev",
"Configuration" : "Nastavitve",
"Available for" : "Na voljo za",
diff --git a/apps/files_external/l10n/sl.json b/apps/files_external/l10n/sl.json
index b695d2b93ae..d624689d955 100644
--- a/apps/files_external/l10n/sl.json
+++ b/apps/files_external/l10n/sl.json
@@ -4,7 +4,6 @@
"Please provide a valid app key and secret." : "Vpisati je treba veljaven ključ programa in kodo.",
"Step 1 failed. Exception: %s" : "1. korak je spodletel. Izjemna napaka: %s",
"Step 2 failed. Exception: %s" : "2. korak je spodletel. Izjemna napaka: %s",
- "External storage" : "Zunanja shramba",
"Dropbox App Configuration" : "Nastavitve programa Dropbox",
"Google Drive App Configuration" : "Nastavitve programa Google Drive",
"Personal" : "Osebno",
@@ -107,6 +106,7 @@
"Never" : "Nikoli",
"Once every direct access" : "Enkrat ob neposrednem dostopu",
"Folder name" : "Ime mape",
+ "External storage" : "Zunanja shramba",
"Authentication" : "Overitev",
"Configuration" : "Nastavitve",
"Available for" : "Na voljo za",
diff --git a/apps/files_external/l10n/sq.js b/apps/files_external/l10n/sq.js
index a112d2f7933..e45e1cf261b 100644
--- a/apps/files_external/l10n/sq.js
+++ b/apps/files_external/l10n/sq.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Hapi 1 dështoi. Përjashtim: %s",
"Step 2 failed. Exception: %s" : "Hapi 2 dështoi. Përjashtim: %s",
"External storages" : "Kujtesë e jashtëme",
- "External storage" : "Depozitë e jashtme",
"Dropbox App Configuration" : "Formësim i Aplikacionit Dropbox",
"Google Drive App Configuration" : "Formësim i Aplikacionit Google Drive",
"Personal" : "Personale",
@@ -116,6 +115,7 @@ OC.L10N.register(
"Never" : "Kurrë",
"Once every direct access" : "Çdo herë pas hyrjesh të drejtpërdrejta",
"Folder name" : "Emër dosjeje",
+ "External storage" : "Depozitë e jashtme",
"Authentication" : "Mirëfilltësim",
"Configuration" : "Formësim",
"Available for" : "E gatshme për",
diff --git a/apps/files_external/l10n/sq.json b/apps/files_external/l10n/sq.json
index 228c285b2d3..4fa3b01ce8d 100644
--- a/apps/files_external/l10n/sq.json
+++ b/apps/files_external/l10n/sq.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Hapi 1 dështoi. Përjashtim: %s",
"Step 2 failed. Exception: %s" : "Hapi 2 dështoi. Përjashtim: %s",
"External storages" : "Kujtesë e jashtëme",
- "External storage" : "Depozitë e jashtme",
"Dropbox App Configuration" : "Formësim i Aplikacionit Dropbox",
"Google Drive App Configuration" : "Formësim i Aplikacionit Google Drive",
"Personal" : "Personale",
@@ -114,6 +113,7 @@
"Never" : "Kurrë",
"Once every direct access" : "Çdo herë pas hyrjesh të drejtpërdrejta",
"Folder name" : "Emër dosjeje",
+ "External storage" : "Depozitë e jashtme",
"Authentication" : "Mirëfilltësim",
"Configuration" : "Formësim",
"Available for" : "E gatshme për",
diff --git a/apps/files_external/l10n/sv.js b/apps/files_external/l10n/sv.js
index afaca69a9dc..c47779943a8 100644
--- a/apps/files_external/l10n/sv.js
+++ b/apps/files_external/l10n/sv.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "Steg 1 flaerade. Undantag: %s",
"Step 2 failed. Exception: %s" : "Steg 2 falerade. Undantag: %s",
"External storages" : "Extern Lagring",
- "External storage" : "Extern lagring",
"Dropbox App Configuration" : "Dropbox Konfiguration",
"Google Drive App Configuration" : "Google Drive Konfiguration",
"Personal" : "Privat",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Aldrig",
"Once every direct access" : "En gång vid varje direktanslutning",
"Folder name" : "Mappnamn",
+ "External storage" : "Extern lagring",
"Authentication" : "Autentisering",
"Configuration" : "Konfiguration",
"Available for" : "Tillgänglig för",
diff --git a/apps/files_external/l10n/sv.json b/apps/files_external/l10n/sv.json
index 333e70ee047..e15b1322064 100644
--- a/apps/files_external/l10n/sv.json
+++ b/apps/files_external/l10n/sv.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "Steg 1 flaerade. Undantag: %s",
"Step 2 failed. Exception: %s" : "Steg 2 falerade. Undantag: %s",
"External storages" : "Extern Lagring",
- "External storage" : "Extern lagring",
"Dropbox App Configuration" : "Dropbox Konfiguration",
"Google Drive App Configuration" : "Google Drive Konfiguration",
"Personal" : "Privat",
@@ -116,6 +115,7 @@
"Never" : "Aldrig",
"Once every direct access" : "En gång vid varje direktanslutning",
"Folder name" : "Mappnamn",
+ "External storage" : "Extern lagring",
"Authentication" : "Autentisering",
"Configuration" : "Konfiguration",
"Available for" : "Tillgänglig för",
diff --git a/apps/files_external/l10n/th.js b/apps/files_external/l10n/th.js
index 6f6a34f900a..faaad69c684 100644
--- a/apps/files_external/l10n/th.js
+++ b/apps/files_external/l10n/th.js
@@ -6,7 +6,6 @@ OC.L10N.register(
"Please provide a valid app key and secret." : "โปรดระบุคีย์และรหัสลับของแอพฯ ให้ถูกต้อง",
"Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s",
"Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s",
- "External storage" : "จัดเก็บข้อมูลภายนอก",
"Personal" : "ส่วนตัว",
"System" : "ระบบ",
"Grant access" : "อนุญาตให้เข้าถึงได้",
@@ -103,6 +102,7 @@ OC.L10N.register(
"Never" : "ไม่เคย",
"Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง",
"Folder name" : "ชื่อโฟลเดอร์",
+ "External storage" : "จัดเก็บข้อมูลภายนอก",
"Authentication" : "รับรองความถูกต้อง",
"Configuration" : "การกำหนดค่า",
"Available for" : "สามารถใช้ได้สำหรับ",
diff --git a/apps/files_external/l10n/th.json b/apps/files_external/l10n/th.json
index 4235731072b..9349bc382ea 100644
--- a/apps/files_external/l10n/th.json
+++ b/apps/files_external/l10n/th.json
@@ -4,7 +4,6 @@
"Please provide a valid app key and secret." : "โปรดระบุคีย์และรหัสลับของแอพฯ ให้ถูกต้อง",
"Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s",
"Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s",
- "External storage" : "จัดเก็บข้อมูลภายนอก",
"Personal" : "ส่วนตัว",
"System" : "ระบบ",
"Grant access" : "อนุญาตให้เข้าถึงได้",
@@ -101,6 +100,7 @@
"Never" : "ไม่เคย",
"Once every direct access" : "เมื่อทุกคนเข้าถึงโดยตรง",
"Folder name" : "ชื่อโฟลเดอร์",
+ "External storage" : "จัดเก็บข้อมูลภายนอก",
"Authentication" : "รับรองความถูกต้อง",
"Configuration" : "การกำหนดค่า",
"Available for" : "สามารถใช้ได้สำหรับ",
diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js
index 8b1092b09ad..7d41d9f51fa 100644
--- a/apps/files_external/l10n/tr.js
+++ b/apps/files_external/l10n/tr.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "1. Adım tamamlanamadı. Sorun: %s",
"Step 2 failed. Exception: %s" : "2. Adım tamamlanamadı. Sorun: %s",
"External storages" : "Dış depolama",
- "External storage" : "Dış depolama",
"Dropbox App Configuration" : "Dropbox Uygulaması Yapılandırması",
"Google Drive App Configuration" : "Google Drive Uygulaması Yapılandırması",
"Personal" : "Kişisel",
@@ -118,6 +117,7 @@ OC.L10N.register(
"Never" : "Asla",
"Once every direct access" : "Her doğrudan erişimde bir kez",
"Folder name" : "Klasör adı",
+ "External storage" : "Dış depolama",
"Authentication" : "Kimlik Doğrulama",
"Configuration" : "Yapılandırma",
"Available for" : "Kullanabilecekler",
diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json
index 2712aaead8f..10f335568f0 100644
--- a/apps/files_external/l10n/tr.json
+++ b/apps/files_external/l10n/tr.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "1. Adım tamamlanamadı. Sorun: %s",
"Step 2 failed. Exception: %s" : "2. Adım tamamlanamadı. Sorun: %s",
"External storages" : "Dış depolama",
- "External storage" : "Dış depolama",
"Dropbox App Configuration" : "Dropbox Uygulaması Yapılandırması",
"Google Drive App Configuration" : "Google Drive Uygulaması Yapılandırması",
"Personal" : "Kişisel",
@@ -116,6 +115,7 @@
"Never" : "Asla",
"Once every direct access" : "Her doğrudan erişimde bir kez",
"Folder name" : "Klasör adı",
+ "External storage" : "Dış depolama",
"Authentication" : "Kimlik Doğrulama",
"Configuration" : "Yapılandırma",
"Available for" : "Kullanabilecekler",
diff --git a/apps/files_external/l10n/zh_CN.js b/apps/files_external/l10n/zh_CN.js
index f0d7b2f47e0..38c02e615f7 100644
--- a/apps/files_external/l10n/zh_CN.js
+++ b/apps/files_external/l10n/zh_CN.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "步骤 1 失败. 异常: %s",
"Step 2 failed. Exception: %s" : "步骤 2 失败. 异常: %s",
"External storages" : "外部存储",
- "External storage" : "外部存储",
"Dropbox App Configuration" : "Dropbox 配置",
"Google Drive App Configuration" : "Google Drive 配置",
"Personal" : "个人",
@@ -116,6 +115,7 @@ OC.L10N.register(
"Never" : "从不",
"Once every direct access" : "每次访问时",
"Folder name" : "目录名称",
+ "External storage" : "外部存储",
"Authentication" : "认证",
"Configuration" : "配置",
"Available for" : "可用于",
diff --git a/apps/files_external/l10n/zh_CN.json b/apps/files_external/l10n/zh_CN.json
index e12a494bd09..0b92a3167ca 100644
--- a/apps/files_external/l10n/zh_CN.json
+++ b/apps/files_external/l10n/zh_CN.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "步骤 1 失败. 异常: %s",
"Step 2 failed. Exception: %s" : "步骤 2 失败. 异常: %s",
"External storages" : "外部存储",
- "External storage" : "外部存储",
"Dropbox App Configuration" : "Dropbox 配置",
"Google Drive App Configuration" : "Google Drive 配置",
"Personal" : "个人",
@@ -114,6 +113,7 @@
"Never" : "从不",
"Once every direct access" : "每次访问时",
"Folder name" : "目录名称",
+ "External storage" : "外部存储",
"Authentication" : "认证",
"Configuration" : "配置",
"Available for" : "可用于",
diff --git a/apps/files_external/l10n/zh_TW.js b/apps/files_external/l10n/zh_TW.js
index 277fbb8454f..f33986f0fcb 100644
--- a/apps/files_external/l10n/zh_TW.js
+++ b/apps/files_external/l10n/zh_TW.js
@@ -7,7 +7,6 @@ OC.L10N.register(
"Step 1 failed. Exception: %s" : "步驟 1 失敗,出現異常: %s",
"Step 2 failed. Exception: %s" : "步驟 2 失敗,出現異常: %s",
"External storages" : "外部儲存",
- "External storage" : "外部儲存",
"Dropbox App Configuration" : "Dropbox 應用設置",
"Google Drive App Configuration" : "Google Drive 應用設置",
"Personal" : "個人",
@@ -95,6 +94,7 @@ OC.L10N.register(
"Check for changes" : "檢查變動",
"Never" : "絕不",
"Folder name" : "資料夾名稱",
+ "External storage" : "外部儲存",
"Authentication" : "驗證",
"Configuration" : "設定",
"Available for" : "可用的",
diff --git a/apps/files_external/l10n/zh_TW.json b/apps/files_external/l10n/zh_TW.json
index 8eb787c3584..db55e88b287 100644
--- a/apps/files_external/l10n/zh_TW.json
+++ b/apps/files_external/l10n/zh_TW.json
@@ -5,7 +5,6 @@
"Step 1 failed. Exception: %s" : "步驟 1 失敗,出現異常: %s",
"Step 2 failed. Exception: %s" : "步驟 2 失敗,出現異常: %s",
"External storages" : "外部儲存",
- "External storage" : "外部儲存",
"Dropbox App Configuration" : "Dropbox 應用設置",
"Google Drive App Configuration" : "Google Drive 應用設置",
"Personal" : "個人",
@@ -93,6 +92,7 @@
"Check for changes" : "檢查變動",
"Never" : "絕不",
"Folder name" : "資料夾名稱",
+ "External storage" : "外部儲存",
"Authentication" : "驗證",
"Configuration" : "設定",
"Available for" : "可用的",
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index 99684c3e7e6..0d22e991d88 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -89,6 +89,7 @@ OC.L10N.register(
"Cannot increase permissions" : "Berechtigungen können nicht erhöht werden",
"%s is publicly shared" : "%s wurde öffentlich geteilt",
"Share API is disabled" : "Teilen-API ist deaktivert",
+ "File sharing" : "Dateifreigaben",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
"The password is wrong. Try again." : "Das Passwort ist falsch. Versuche es erneut.",
"Password" : "Passwort",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 22d17d4e398..e7e758c0fcf 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -87,6 +87,7 @@
"Cannot increase permissions" : "Berechtigungen können nicht erhöht werden",
"%s is publicly shared" : "%s wurde öffentlich geteilt",
"Share API is disabled" : "Teilen-API ist deaktivert",
+ "File sharing" : "Dateifreigaben",
"This share is password-protected" : "Diese Freigabe ist durch ein Passwort geschützt",
"The password is wrong. Try again." : "Das Passwort ist falsch. Versuche es erneut.",
"Password" : "Passwort",
diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php
index a1649b2b600..4cd202113dd 100644
--- a/apps/files_versions/tests/VersioningTest.php
+++ b/apps/files_versions/tests/VersioningTest.php
@@ -289,11 +289,11 @@ class VersioningTest extends \Test\TestCase {
$this->runCommands();
- $this->assertFalse($this->rootView->file_exists($v1));
- $this->assertFalse($this->rootView->file_exists($v2));
+ $this->assertFalse($this->rootView->file_exists($v1), 'version 1 of old file does not exist');
+ $this->assertFalse($this->rootView->file_exists($v2), 'version 2 of old file does not exist');
- $this->assertTrue($this->rootView->file_exists($v1Renamed));
- $this->assertTrue($this->rootView->file_exists($v2Renamed));
+ $this->assertTrue($this->rootView->file_exists($v1Renamed), 'version 1 of renamed file exists');
+ $this->assertTrue($this->rootView->file_exists($v2Renamed), 'version 2 of renamed file exists');
}
public function testRenameInSharedFolder() {
@@ -337,11 +337,11 @@ class VersioningTest extends \Test\TestCase {
self::loginHelper(self::TEST_VERSIONS_USER);
- $this->assertFalse($this->rootView->file_exists($v1));
- $this->assertFalse($this->rootView->file_exists($v2));
+ $this->assertFalse($this->rootView->file_exists($v1), 'version 1 of old file does not exist');
+ $this->assertFalse($this->rootView->file_exists($v2), 'version 2 of old file does not exist');
- $this->assertTrue($this->rootView->file_exists($v1Renamed));
- $this->assertTrue($this->rootView->file_exists($v2Renamed));
+ $this->assertTrue($this->rootView->file_exists($v1Renamed), 'version 1 of renamed file exists');
+ $this->assertTrue($this->rootView->file_exists($v2Renamed), 'version 2 of renamed file exists');
\OC::$server->getShareManager()->deleteShare($share);
}
@@ -553,11 +553,11 @@ class VersioningTest extends \Test\TestCase {
$this->runCommands();
- $this->assertTrue($this->rootView->file_exists($v1));
- $this->assertTrue($this->rootView->file_exists($v2));
+ $this->assertTrue($this->rootView->file_exists($v1), 'version 1 of original file exists');
+ $this->assertTrue($this->rootView->file_exists($v2), 'version 2 of original file exists');
- $this->assertTrue($this->rootView->file_exists($v1Copied));
- $this->assertTrue($this->rootView->file_exists($v2Copied));
+ $this->assertTrue($this->rootView->file_exists($v1Copied), 'version 1 of copied file exists');
+ $this->assertTrue($this->rootView->file_exists($v2Copied), 'version 2 of copied file exists');
}
/**
diff --git a/apps/sharebymail/l10n/cs.js b/apps/sharebymail/l10n/cs.js
index 1b34e31d3df..860b5157705 100644
--- a/apps/sharebymail/l10n/cs.js
+++ b/apps/sharebymail/l10n/cs.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Nemůžeme vám zaslat automaticky vygenerované heslo. Nastavte si v osobním nastavení platnou e-mailovou adresu a zkuste to znovu.",
"Failed to send share by E-mail" : "Odeslání sdílení E-mailem se nezdařilo",
"%s shared »%s« with you" : "%s s vámi sdílel(a) »%s»",
- "%s shared »%s« with you on behalf of %s" : "%s s vámi sdílel »%s» místo %s",
"%s shared »%s« with you." : "%s s vámi nasdílel(a) »%s«.",
- "%s shared »%s« with you on behalf of %s." : "%s s vámi nasdílel(a) »%s» zastupující %s.",
"Click the button below to open it." : "Pro otevření kliknětena tlačítko níže.",
"Open »%s«" : "Otevřít »%s«",
"%s via %s" : "%s přes %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Dovoluje uživatelům odeslat personalizovaný odkaz na soubor nebo složku po zadání e-mailové adresy.",
"Send password by mail" : "Odeslat heslo e-mailem",
"Enforce password protection" : "Vynutit ochranu hesla",
+ "%s shared »%s« with you on behalf of %s" : "%s s vámi sdílel »%s» místo %s",
"Failed to create the E-mail" : "Vytváření E-mailu se nezdařilo",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Ahoj,\n\n%s s vámi sdílel(a) »%s» na místo %s\n\n%s",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Ahoj,\n\n\n%s s vámi sdílel »%s».\n\n%s",
diff --git a/apps/sharebymail/l10n/cs.json b/apps/sharebymail/l10n/cs.json
index 7ffeca9d571..f9491f6e2b6 100644
--- a/apps/sharebymail/l10n/cs.json
+++ b/apps/sharebymail/l10n/cs.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Nemůžeme vám zaslat automaticky vygenerované heslo. Nastavte si v osobním nastavení platnou e-mailovou adresu a zkuste to znovu.",
"Failed to send share by E-mail" : "Odeslání sdílení E-mailem se nezdařilo",
"%s shared »%s« with you" : "%s s vámi sdílel(a) »%s»",
- "%s shared »%s« with you on behalf of %s" : "%s s vámi sdílel »%s» místo %s",
"%s shared »%s« with you." : "%s s vámi nasdílel(a) »%s«.",
- "%s shared »%s« with you on behalf of %s." : "%s s vámi nasdílel(a) »%s» zastupující %s.",
"Click the button below to open it." : "Pro otevření kliknětena tlačítko níže.",
"Open »%s«" : "Otevřít »%s«",
"%s via %s" : "%s přes %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Dovoluje uživatelům odeslat personalizovaný odkaz na soubor nebo složku po zadání e-mailové adresy.",
"Send password by mail" : "Odeslat heslo e-mailem",
"Enforce password protection" : "Vynutit ochranu hesla",
+ "%s shared »%s« with you on behalf of %s" : "%s s vámi sdílel »%s» místo %s",
"Failed to create the E-mail" : "Vytváření E-mailu se nezdařilo",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Ahoj,\n\n%s s vámi sdílel(a) »%s» na místo %s\n\n%s",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Ahoj,\n\n\n%s s vámi sdílel »%s».\n\n%s",
diff --git a/apps/sharebymail/l10n/de.js b/apps/sharebymail/l10n/de.js
index 05fccf7252c..5cbe65f01f1 100644
--- a/apps/sharebymail/l10n/de.js
+++ b/apps/sharebymail/l10n/de.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erstelltes Passwort kann nicht versandt werden. Bitte gebe in Deinen persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche es erneut.",
"Failed to send share by E-mail" : "Senden der Freigabe über Mail ist fehlgeschlagen",
"%s shared »%s« with you" : "%s hat „%s“ mit dir geteilt",
- "%s shared »%s« with you on behalf of %s" : "%s hat »%s« im Auftrag von %s mit Dir geteilt",
"%s shared »%s« with you." : "%s hat mit dir »%s« geteilt.",
- "%s shared »%s« with you on behalf of %s." : "%s hat mit Dir »%s« im Auftrag von %s geteilt.",
"Click the button below to open it." : "Klicke zum Öffnen auf die untere Schaltfläche",
"Open »%s«" : "Öffne »%s«",
"%s via %s" : "%s via %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Ermöglicht Nutzern eine personalisierte Verknüpfung zu einer Datei oder einem Ordner durch Eingabe einer E-Mail-Adresse zu teilen.",
"Send password by mail" : "Passwort per Mail senden",
"Enforce password protection" : "Passwortschutz erzwingen",
+ "%s shared »%s« with you on behalf of %s" : "%s hat »%s« im Auftrag von %s mit Dir geteilt",
"Failed to create the E-mail" : "Erstellen der E-Mail ist fehlgeschalgen",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hallo,\n\n%s hat »%s« im Auftrag von %s mit Dir geteilt.\n\n%s\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hallo,\n\n%s hat »%s« mit Dir geteilt.\n\n%s\n",
diff --git a/apps/sharebymail/l10n/de.json b/apps/sharebymail/l10n/de.json
index 1d19e66c376..eab4b4ed126 100644
--- a/apps/sharebymail/l10n/de.json
+++ b/apps/sharebymail/l10n/de.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erstelltes Passwort kann nicht versandt werden. Bitte gebe in Deinen persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche es erneut.",
"Failed to send share by E-mail" : "Senden der Freigabe über Mail ist fehlgeschlagen",
"%s shared »%s« with you" : "%s hat „%s“ mit dir geteilt",
- "%s shared »%s« with you on behalf of %s" : "%s hat »%s« im Auftrag von %s mit Dir geteilt",
"%s shared »%s« with you." : "%s hat mit dir »%s« geteilt.",
- "%s shared »%s« with you on behalf of %s." : "%s hat mit Dir »%s« im Auftrag von %s geteilt.",
"Click the button below to open it." : "Klicke zum Öffnen auf die untere Schaltfläche",
"Open »%s«" : "Öffne »%s«",
"%s via %s" : "%s via %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Ermöglicht Nutzern eine personalisierte Verknüpfung zu einer Datei oder einem Ordner durch Eingabe einer E-Mail-Adresse zu teilen.",
"Send password by mail" : "Passwort per Mail senden",
"Enforce password protection" : "Passwortschutz erzwingen",
+ "%s shared »%s« with you on behalf of %s" : "%s hat »%s« im Auftrag von %s mit Dir geteilt",
"Failed to create the E-mail" : "Erstellen der E-Mail ist fehlgeschalgen",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hallo,\n\n%s hat »%s« im Auftrag von %s mit Dir geteilt.\n\n%s\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hallo,\n\n%s hat »%s« mit Dir geteilt.\n\n%s\n",
diff --git a/apps/sharebymail/l10n/de_DE.js b/apps/sharebymail/l10n/de_DE.js
index 5bbaa1c1d23..9cc47690cff 100644
--- a/apps/sharebymail/l10n/de_DE.js
+++ b/apps/sharebymail/l10n/de_DE.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erstelltes Passwort kann nicht versandt werden. Bitte geben Sie in Ihren persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche Sie es erneut.",
"Failed to send share by E-mail" : "Fehler beim Senden der Freigabe per E-Mail",
"%s shared »%s« with you" : "%s hat »%s« mit Ihnen geteilt",
- "%s shared »%s« with you on behalf of %s" : "%s hat »%s« im Auftrag von %s mit Ihnen geteilt",
"%s shared »%s« with you." : "%s hat mit ihnen »%s« geteilt.",
- "%s shared »%s« with you on behalf of %s." : "%s hat mit ihnen »%s« im Auftrag von %s geteilt.",
"Click the button below to open it." : "Klicken Sie zum Öffnen auf die untere Schaltfläche",
"Open »%s«" : "Öffne »%s«",
"%s via %s" : "%s via %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Ermöglicht Nutzern eine personalisierte Verknüpfung zu einer Datei oder einem Ordner durch Eingabe einer E-Mail-Adresse zu teilen.",
"Send password by mail" : "Passwort per Mail senden",
"Enforce password protection" : "Passwortschutz erzwingen",
+ "%s shared »%s« with you on behalf of %s" : "%s hat »%s« im Auftrag von %s mit Ihnen geteilt",
"Failed to create the E-mail" : "Erstellen der E-Mail fehlgeschlagen",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hallo,\n\n%s hat »%s« im Auftrag von %s mit Ihnen geteilt.\n\n%s\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hallo,\n\n%s hat »%s« mit Ihnen geteilt.\n\n%s\n",
diff --git a/apps/sharebymail/l10n/de_DE.json b/apps/sharebymail/l10n/de_DE.json
index bf55e9e0399..5142b767776 100644
--- a/apps/sharebymail/l10n/de_DE.json
+++ b/apps/sharebymail/l10n/de_DE.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Automatisch erstelltes Passwort kann nicht versandt werden. Bitte geben Sie in Ihren persönlichen Einstellungen eine gültige E-Mail-Adresse ein und versuche Sie es erneut.",
"Failed to send share by E-mail" : "Fehler beim Senden der Freigabe per E-Mail",
"%s shared »%s« with you" : "%s hat »%s« mit Ihnen geteilt",
- "%s shared »%s« with you on behalf of %s" : "%s hat »%s« im Auftrag von %s mit Ihnen geteilt",
"%s shared »%s« with you." : "%s hat mit ihnen »%s« geteilt.",
- "%s shared »%s« with you on behalf of %s." : "%s hat mit ihnen »%s« im Auftrag von %s geteilt.",
"Click the button below to open it." : "Klicken Sie zum Öffnen auf die untere Schaltfläche",
"Open »%s«" : "Öffne »%s«",
"%s via %s" : "%s via %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Ermöglicht Nutzern eine personalisierte Verknüpfung zu einer Datei oder einem Ordner durch Eingabe einer E-Mail-Adresse zu teilen.",
"Send password by mail" : "Passwort per Mail senden",
"Enforce password protection" : "Passwortschutz erzwingen",
+ "%s shared »%s« with you on behalf of %s" : "%s hat »%s« im Auftrag von %s mit Ihnen geteilt",
"Failed to create the E-mail" : "Erstellen der E-Mail fehlgeschlagen",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hallo,\n\n%s hat »%s« im Auftrag von %s mit Ihnen geteilt.\n\n%s\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hallo,\n\n%s hat »%s« mit Ihnen geteilt.\n\n%s\n",
diff --git a/apps/sharebymail/l10n/el.js b/apps/sharebymail/l10n/el.js
index 8d016e7b83b..1a5d426b8ff 100644
--- a/apps/sharebymail/l10n/el.js
+++ b/apps/sharebymail/l10n/el.js
@@ -14,9 +14,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Δεν μπορούμε να σας στείλουμε αυτοδημιουργημένο συνθηματικό. Παρακαλούμε βάλτε μία έγκυρη διεύθυνση email στις προσωπικές σας ρυθμίσεις και προσπαθήστε ξανά.",
"Failed to send share by E-mail" : "Αποτυχία αποστολής συνδέσμου διαμοιρασμού μέσω Ηλ.ταχυδρομείου",
"%s shared »%s« with you" : "%s διαμοιρασμένα »%s« με σένα",
- "%s shared »%s« with you on behalf of %s" : "%s διαμοιράστηκε »%s« με εσάς από μέρους του %s",
"%s shared »%s« with you." : "%s διαμοιράστηκε »%s« με εσάς.",
- "%s shared »%s« with you on behalf of %s." : "%s διαμοιράστηκε »%s« με εσάς από μέρους του %s.",
"Click the button below to open it." : "Κάντε κλικ στο παρακάτω κουμπί για να το ανοίξετε.",
"Open »%s«" : "Ανοίξτε »%s«",
"%s via %s" : "%s μέσω %s",
@@ -33,6 +31,7 @@ OC.L10N.register(
"Share by mail" : "Διαμοιρασμός με ηλεκτρονική αλληλογραφία",
"Send password by mail" : "Αποστολή συνθηματικου με ηλεκτρονική αλληλογραφία",
"Enforce password protection" : "Επιβάλετε προστασία συνθηματικού",
+ "%s shared »%s« with you on behalf of %s" : "%s διαμοιράστηκε »%s« με εσάς από μέρους του %s",
"Failed to create the E-mail" : "Αποτυχία δημιουργίας του Ηλ.ταχυδρομείου",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Γεια σας,\n\n%s διαμοιράστηκε »%s« με εσάς από μέρους του %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Γεια σας,\n\n%s διαμοιράστηκε »%s« με εσάς.\n\n%s\n",
diff --git a/apps/sharebymail/l10n/el.json b/apps/sharebymail/l10n/el.json
index 7b6e88d93cc..450c280b25b 100644
--- a/apps/sharebymail/l10n/el.json
+++ b/apps/sharebymail/l10n/el.json
@@ -12,9 +12,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Δεν μπορούμε να σας στείλουμε αυτοδημιουργημένο συνθηματικό. Παρακαλούμε βάλτε μία έγκυρη διεύθυνση email στις προσωπικές σας ρυθμίσεις και προσπαθήστε ξανά.",
"Failed to send share by E-mail" : "Αποτυχία αποστολής συνδέσμου διαμοιρασμού μέσω Ηλ.ταχυδρομείου",
"%s shared »%s« with you" : "%s διαμοιρασμένα »%s« με σένα",
- "%s shared »%s« with you on behalf of %s" : "%s διαμοιράστηκε »%s« με εσάς από μέρους του %s",
"%s shared »%s« with you." : "%s διαμοιράστηκε »%s« με εσάς.",
- "%s shared »%s« with you on behalf of %s." : "%s διαμοιράστηκε »%s« με εσάς από μέρους του %s.",
"Click the button below to open it." : "Κάντε κλικ στο παρακάτω κουμπί για να το ανοίξετε.",
"Open »%s«" : "Ανοίξτε »%s«",
"%s via %s" : "%s μέσω %s",
@@ -31,6 +29,7 @@
"Share by mail" : "Διαμοιρασμός με ηλεκτρονική αλληλογραφία",
"Send password by mail" : "Αποστολή συνθηματικου με ηλεκτρονική αλληλογραφία",
"Enforce password protection" : "Επιβάλετε προστασία συνθηματικού",
+ "%s shared »%s« with you on behalf of %s" : "%s διαμοιράστηκε »%s« με εσάς από μέρους του %s",
"Failed to create the E-mail" : "Αποτυχία δημιουργίας του Ηλ.ταχυδρομείου",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Γεια σας,\n\n%s διαμοιράστηκε »%s« με εσάς από μέρους του %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Γεια σας,\n\n%s διαμοιράστηκε »%s« με εσάς.\n\n%s\n",
diff --git a/apps/sharebymail/l10n/es.js b/apps/sharebymail/l10n/es.js
index c03d4ea441a..2a2c01935fe 100644
--- a/apps/sharebymail/l10n/es.js
+++ b/apps/sharebymail/l10n/es.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No podemos enviarte la contraseña autogenerada. Por favor, indica una dirección de correo electrónico válida en tu configuración personal y vuelve a intentarlo.",
"Failed to send share by E-mail" : "Falló enviar recurso compartido por correo electrónico",
"%s shared »%s« with you" : "%s compartió »%s« con usted",
- "%s shared »%s« with you on behalf of %s" : "%s compartió »%s« con usted a nombre de %s",
"%s shared »%s« with you." : "%s compartió »%s« con usted.",
- "%s shared »%s« with you on behalf of %s." : "%s compartió »%s« con usted en nombre de %s.",
"Click the button below to open it." : "Haga click en el botón debajo para abrirlo.",
"Open »%s«" : "Abrir »%s«",
"%s via %s" : "%s por %s",
@@ -39,6 +37,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite a los usuarios compartir un enlace personalizado a un archivo o carpeta enviándolo a una dirección de correo electrónico",
"Send password by mail" : "Enviar contraseñas por email",
"Enforce password protection" : "Imponer la protección de contraseña",
+ "%s shared »%s« with you on behalf of %s" : "%s compartió »%s« con usted a nombre de %s",
"Failed to create the E-mail" : "Falló crear el correo electrónico",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "¡Hola!,\n\n%s comapartió »%s« con usted a nombre de %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hola,\n\n%s compartió »%s« con usted.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/es.json b/apps/sharebymail/l10n/es.json
index 498c718e4d6..75dc73b3c88 100644
--- a/apps/sharebymail/l10n/es.json
+++ b/apps/sharebymail/l10n/es.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No podemos enviarte la contraseña autogenerada. Por favor, indica una dirección de correo electrónico válida en tu configuración personal y vuelve a intentarlo.",
"Failed to send share by E-mail" : "Falló enviar recurso compartido por correo electrónico",
"%s shared »%s« with you" : "%s compartió »%s« con usted",
- "%s shared »%s« with you on behalf of %s" : "%s compartió »%s« con usted a nombre de %s",
"%s shared »%s« with you." : "%s compartió »%s« con usted.",
- "%s shared »%s« with you on behalf of %s." : "%s compartió »%s« con usted en nombre de %s.",
"Click the button below to open it." : "Haga click en el botón debajo para abrirlo.",
"Open »%s«" : "Abrir »%s«",
"%s via %s" : "%s por %s",
@@ -37,6 +35,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite a los usuarios compartir un enlace personalizado a un archivo o carpeta enviándolo a una dirección de correo electrónico",
"Send password by mail" : "Enviar contraseñas por email",
"Enforce password protection" : "Imponer la protección de contraseña",
+ "%s shared »%s« with you on behalf of %s" : "%s compartió »%s« con usted a nombre de %s",
"Failed to create the E-mail" : "Falló crear el correo electrónico",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "¡Hola!,\n\n%s comapartió »%s« con usted a nombre de %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hola,\n\n%s compartió »%s« con usted.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/es_MX.js b/apps/sharebymail/l10n/es_MX.js
index 7125a06f248..30626404175 100644
--- a/apps/sharebymail/l10n/es_MX.js
+++ b/apps/sharebymail/l10n/es_MX.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarle la contraseña auto-generada. Favor de establecer una dirección de correo electrónico váilida en sus ajustes personales y volver a intentarlo.",
"Failed to send share by E-mail" : "Se presentó una falla al enviar el recurso compartido por correo electrónico",
"%s shared »%s« with you" : "%s ha compartido »%s« con usted",
- "%s shared »%s« with you on behalf of %s" : "%s ha compartido »%s« con usted a nombre de %s",
"%s shared »%s« with you." : "%s ha compartido »%s« con usted.",
- "%s shared »%s« with you on behalf of %s." : "%s ha compartido »%s« con usted de parte de %s.",
"Click the button below to open it." : "Haga click en el botón de abajo para abrirlo.",
"Open »%s«" : "Abrir »%s«",
"%s via %s" : "%s vía %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
"Send password by mail" : "La contraseña ha sido enviada por correo",
"Enforce password protection" : "Forzar protección con contraseña",
+ "%s shared »%s« with you on behalf of %s" : "%s ha compartido »%s« con usted a nombre de %s",
"Failed to create the E-mail" : "Se presentó una falla al crear el correo electrónico",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hola,\n\n%s ha compartido »%s« con usted a nombre de %s.\n\n%s\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hola,\n\n%s ha compartido »%s« con usted.\n\n%s\n",
diff --git a/apps/sharebymail/l10n/es_MX.json b/apps/sharebymail/l10n/es_MX.json
index 8742d099955..8f0fd45a508 100644
--- a/apps/sharebymail/l10n/es_MX.json
+++ b/apps/sharebymail/l10n/es_MX.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "No es posible enviarle la contraseña auto-generada. Favor de establecer una dirección de correo electrónico váilida en sus ajustes personales y volver a intentarlo.",
"Failed to send share by E-mail" : "Se presentó una falla al enviar el recurso compartido por correo electrónico",
"%s shared »%s« with you" : "%s ha compartido »%s« con usted",
- "%s shared »%s« with you on behalf of %s" : "%s ha compartido »%s« con usted a nombre de %s",
"%s shared »%s« with you." : "%s ha compartido »%s« con usted.",
- "%s shared »%s« with you on behalf of %s." : "%s ha compartido »%s« con usted de parte de %s.",
"Click the button below to open it." : "Haga click en el botón de abajo para abrirlo.",
"Open »%s«" : "Abrir »%s«",
"%s via %s" : "%s vía %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Le permite a los usuarios compartir una liga personalizada a un archivo o carpeta colocando una dirección de correo eletrónico. ",
"Send password by mail" : "La contraseña ha sido enviada por correo",
"Enforce password protection" : "Forzar protección con contraseña",
+ "%s shared »%s« with you on behalf of %s" : "%s ha compartido »%s« con usted a nombre de %s",
"Failed to create the E-mail" : "Se presentó una falla al crear el correo electrónico",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hola,\n\n%s ha compartido »%s« con usted a nombre de %s.\n\n%s\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hola,\n\n%s ha compartido »%s« con usted.\n\n%s\n",
diff --git a/apps/sharebymail/l10n/fr.js b/apps/sharebymail/l10n/fr.js
index 7e0234445de..a821a39dccd 100644
--- a/apps/sharebymail/l10n/fr.js
+++ b/apps/sharebymail/l10n/fr.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Nous ne pouvons pas vous envoyer le mot de passe généré automatiquement. Veuillez renseigner une adresse e-mail valide dans vos paramètres personnels puis réessayer.",
"Failed to send share by E-mail" : "Erreur lors de l'envoi du partage par email",
"%s shared »%s« with you" : "%s a partagé «%s» avec vous",
- "%s shared »%s« with you on behalf of %s" : "%s a partagé «%s» avec vous de la part de %s",
"%s shared »%s« with you." : "%s a partagé «%s» avec vous.",
- "%s shared »%s« with you on behalf of %s." : "%s a partagé «%s» avec vous de la part de %s.",
"Click the button below to open it." : "Cliquez sur le bouton ci-dessous pour l'ouvrir.",
"Open »%s«" : "Ouvrir «%s»",
"%s via %s" : "%s via %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Autoriser les utilisateurs de partager un lien personnalisé vers un fichier ou un dossier en renseignant une adresse e-mail.",
"Send password by mail" : "Envoyer le mot de passe par email",
"Enforce password protection" : "Imposer la protection par mot de passe",
+ "%s shared »%s« with you on behalf of %s" : "%s a partagé «%s» avec vous de la part de %s",
"Failed to create the E-mail" : "Erreur lors de la création du mail",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Bonjour,\n\n%s a partagé «%s» avec vous de la part de %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Bonjour,\n\n%s a partagé «%s» avec vous.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/fr.json b/apps/sharebymail/l10n/fr.json
index 7cec364918f..a2da5457618 100644
--- a/apps/sharebymail/l10n/fr.json
+++ b/apps/sharebymail/l10n/fr.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Nous ne pouvons pas vous envoyer le mot de passe généré automatiquement. Veuillez renseigner une adresse e-mail valide dans vos paramètres personnels puis réessayer.",
"Failed to send share by E-mail" : "Erreur lors de l'envoi du partage par email",
"%s shared »%s« with you" : "%s a partagé «%s» avec vous",
- "%s shared »%s« with you on behalf of %s" : "%s a partagé «%s» avec vous de la part de %s",
"%s shared »%s« with you." : "%s a partagé «%s» avec vous.",
- "%s shared »%s« with you on behalf of %s." : "%s a partagé «%s» avec vous de la part de %s.",
"Click the button below to open it." : "Cliquez sur le bouton ci-dessous pour l'ouvrir.",
"Open »%s«" : "Ouvrir «%s»",
"%s via %s" : "%s via %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Autoriser les utilisateurs de partager un lien personnalisé vers un fichier ou un dossier en renseignant une adresse e-mail.",
"Send password by mail" : "Envoyer le mot de passe par email",
"Enforce password protection" : "Imposer la protection par mot de passe",
+ "%s shared »%s« with you on behalf of %s" : "%s a partagé «%s» avec vous de la part de %s",
"Failed to create the E-mail" : "Erreur lors de la création du mail",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Bonjour,\n\n%s a partagé «%s» avec vous de la part de %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Bonjour,\n\n%s a partagé «%s» avec vous.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/is.js b/apps/sharebymail/l10n/is.js
index 15d6784a18a..f5a19b379b7 100644
--- a/apps/sharebymail/l10n/is.js
+++ b/apps/sharebymail/l10n/is.js
@@ -19,9 +19,7 @@ OC.L10N.register(
"Sharing %s failed, this item is already shared with %s" : "Deiling %s mistókst, því þessu atriði er þegar deilt með %s",
"Failed to send share by E-mail" : "Gat ekki sent sameign með tölvupósti",
"%s shared »%s« with you" : "%s deildi »%s« með þér",
- "%s shared »%s« with you on behalf of %s" : "%s deildi »%s« með þér fyrir hönd %s",
"%s shared »%s« with you." : "%s deildi »%s« með þér",
- "%s shared »%s« with you on behalf of %s." : "%s deildi »%s« með þér fyrir hönd %s",
"Click the button below to open it." : "Smelltu á tengilinn hér fyrir neðan til að opna það.",
"Open »%s«" : "Opna »%s«",
"%s via %s" : "%s með %s",
@@ -30,6 +28,7 @@ OC.L10N.register(
"Share by mail" : "Deila með tölvupósti",
"Send password by mail" : "Senda lykilorð með pósti",
"Enforce password protection" : "Krefjast verndunar með aðgangsorði",
+ "%s shared »%s« with you on behalf of %s" : "%s deildi »%s« með þér fyrir hönd %s",
"Failed to create the E-mail" : "Mistókst að útbúa tölvupóstinn",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Góðan daginn,\n\n%s deildi »%s« með þér fyrir hönd %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Góðan daginn,\n\n%s deildi »%s« með þér.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/is.json b/apps/sharebymail/l10n/is.json
index 4ba0afd02cf..3e221f7d2b2 100644
--- a/apps/sharebymail/l10n/is.json
+++ b/apps/sharebymail/l10n/is.json
@@ -17,9 +17,7 @@
"Sharing %s failed, this item is already shared with %s" : "Deiling %s mistókst, því þessu atriði er þegar deilt með %s",
"Failed to send share by E-mail" : "Gat ekki sent sameign með tölvupósti",
"%s shared »%s« with you" : "%s deildi »%s« með þér",
- "%s shared »%s« with you on behalf of %s" : "%s deildi »%s« með þér fyrir hönd %s",
"%s shared »%s« with you." : "%s deildi »%s« með þér",
- "%s shared »%s« with you on behalf of %s." : "%s deildi »%s« með þér fyrir hönd %s",
"Click the button below to open it." : "Smelltu á tengilinn hér fyrir neðan til að opna það.",
"Open »%s«" : "Opna »%s«",
"%s via %s" : "%s með %s",
@@ -28,6 +26,7 @@
"Share by mail" : "Deila með tölvupósti",
"Send password by mail" : "Senda lykilorð með pósti",
"Enforce password protection" : "Krefjast verndunar með aðgangsorði",
+ "%s shared »%s« with you on behalf of %s" : "%s deildi »%s« með þér fyrir hönd %s",
"Failed to create the E-mail" : "Mistókst að útbúa tölvupóstinn",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Góðan daginn,\n\n%s deildi »%s« með þér fyrir hönd %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Góðan daginn,\n\n%s deildi »%s« með þér.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/ko.js b/apps/sharebymail/l10n/ko.js
index 5ce14742f03..bf78656e4df 100644
--- a/apps/sharebymail/l10n/ko.js
+++ b/apps/sharebymail/l10n/ko.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "자동 생성된 암호를 이메일로 보낼 수 없습니다. 개인 설정에서 올바른 이메일 주소를 입력한 다음 다시 시도하십시오.",
"Failed to send share by E-mail" : "이메일로 공유를 보낼 수 없음",
"%s shared »%s« with you" : "%s 님이 %s을(를) 공유함",
- "%s shared »%s« with you on behalf of %s" : "%s 님이 %s을(를) 공유함(%s 님 대신)",
"%s shared »%s« with you." : "%s 님이 %s을(를) 공유했습니다.",
- "%s shared »%s« with you on behalf of %s." : "%s 님이 %s을(를) 공유했습니다(%s 님 대신).",
"Click the button below to open it." : "아래 단추를 눌러서 열 수 있습니다.",
"Open »%s«" : "%s 열기",
"%s via %s" : "%s(%s 경유)",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "파일이나 폴더를 공유하는 개인화된 링크를 이메일 주소를 통해서 공유합니다.",
"Send password by mail" : "이메일로 암호 보내기",
"Enforce password protection" : "암호 보호 강제",
+ "%s shared »%s« with you on behalf of %s" : "%s 님이 %s을(를) 공유함(%s 님 대신)",
"Failed to create the E-mail" : "이메일을 생성할 수 없음",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "안녕하세요,\n\n%s 님이 여러분과 %s을(를) 공유했습니다(%s 님 대신).\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "안녕하세요,\n\n%s 님이 여러분과 %s을(를) 공유했습니다.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/ko.json b/apps/sharebymail/l10n/ko.json
index 72fd3f11722..538b6621776 100644
--- a/apps/sharebymail/l10n/ko.json
+++ b/apps/sharebymail/l10n/ko.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "자동 생성된 암호를 이메일로 보낼 수 없습니다. 개인 설정에서 올바른 이메일 주소를 입력한 다음 다시 시도하십시오.",
"Failed to send share by E-mail" : "이메일로 공유를 보낼 수 없음",
"%s shared »%s« with you" : "%s 님이 %s을(를) 공유함",
- "%s shared »%s« with you on behalf of %s" : "%s 님이 %s을(를) 공유함(%s 님 대신)",
"%s shared »%s« with you." : "%s 님이 %s을(를) 공유했습니다.",
- "%s shared »%s« with you on behalf of %s." : "%s 님이 %s을(를) 공유했습니다(%s 님 대신).",
"Click the button below to open it." : "아래 단추를 눌러서 열 수 있습니다.",
"Open »%s«" : "%s 열기",
"%s via %s" : "%s(%s 경유)",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "파일이나 폴더를 공유하는 개인화된 링크를 이메일 주소를 통해서 공유합니다.",
"Send password by mail" : "이메일로 암호 보내기",
"Enforce password protection" : "암호 보호 강제",
+ "%s shared »%s« with you on behalf of %s" : "%s 님이 %s을(를) 공유함(%s 님 대신)",
"Failed to create the E-mail" : "이메일을 생성할 수 없음",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "안녕하세요,\n\n%s 님이 여러분과 %s을(를) 공유했습니다(%s 님 대신).\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "안녕하세요,\n\n%s 님이 여러분과 %s을(를) 공유했습니다.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/nb.js b/apps/sharebymail/l10n/nb.js
index 9d2ba5fc775..c054547dc3e 100644
--- a/apps/sharebymail/l10n/nb.js
+++ b/apps/sharebymail/l10n/nb.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Vi kan ikke sende det auto-genererte passordet. Angi en gyldig e-postadresse i dine personlige innstillinger og prøv igjen.",
"Failed to send share by E-mail" : "Feilet når delingen skulle sendes på epost",
"%s shared »%s« with you" : "%s delte »%s« med deg",
- "%s shared »%s« with you on behalf of %s" : "%s delte »%s« med deg på vegne av %s",
"%s shared »%s« with you." : "%s delte »%s« med deg.",
- "%s shared »%s« with you on behalf of %s." : "%s delte »%s« med deg på vegne av %s.",
"Click the button below to open it." : "Klikk på knappen nedenfor for å åpne den.",
"Open »%s«" : "Åpne »%s«",
"%s via %s" : "%s via %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Tillater brukere å dele en personalisert lenke til ei fil eller mappe ved å skrive inn en e-postadresse.",
"Send password by mail" : "Send passord via e-post",
"Enforce password protection" : "Krev passordbeskyttelse",
+ "%s shared »%s« with you on behalf of %s" : "%s delte »%s« med deg på vegne av %s",
"Failed to create the E-mail" : "Feilet ved opprettelse av epost",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hei,\n\n%s delte »%s« med deg på vegne av %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hei,\n\n%s delte »%s« med deg.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/nb.json b/apps/sharebymail/l10n/nb.json
index 58c50c7af91..896cc3b3729 100644
--- a/apps/sharebymail/l10n/nb.json
+++ b/apps/sharebymail/l10n/nb.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Vi kan ikke sende det auto-genererte passordet. Angi en gyldig e-postadresse i dine personlige innstillinger og prøv igjen.",
"Failed to send share by E-mail" : "Feilet når delingen skulle sendes på epost",
"%s shared »%s« with you" : "%s delte »%s« med deg",
- "%s shared »%s« with you on behalf of %s" : "%s delte »%s« med deg på vegne av %s",
"%s shared »%s« with you." : "%s delte »%s« med deg.",
- "%s shared »%s« with you on behalf of %s." : "%s delte »%s« med deg på vegne av %s.",
"Click the button below to open it." : "Klikk på knappen nedenfor for å åpne den.",
"Open »%s«" : "Åpne »%s«",
"%s via %s" : "%s via %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Tillater brukere å dele en personalisert lenke til ei fil eller mappe ved å skrive inn en e-postadresse.",
"Send password by mail" : "Send passord via e-post",
"Enforce password protection" : "Krev passordbeskyttelse",
+ "%s shared »%s« with you on behalf of %s" : "%s delte »%s« med deg på vegne av %s",
"Failed to create the E-mail" : "Feilet ved opprettelse av epost",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hei,\n\n%s delte »%s« med deg på vegne av %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hei,\n\n%s delte »%s« med deg.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/nl.js b/apps/sharebymail/l10n/nl.js
index 97fb2e2b806..0a3b2f0859c 100644
--- a/apps/sharebymail/l10n/nl.js
+++ b/apps/sharebymail/l10n/nl.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "We kunnen je geen automatisch gegenereerd wachtwoord toesturen. Vermeld een geldig e-mailadres in je persoonlijke instellingen en probeer het nogmaals.",
"Failed to send share by E-mail" : "Fout bij delen via e-mail",
"%s shared »%s« with you" : "%s deelde »%s« met jou",
- "%s shared »%s« with you on behalf of %s" : "%s deelde »%s« met jou in naam van %s",
"%s shared »%s« with you." : "%s deelde »%s« met jou.",
- "%s shared »%s« with you on behalf of %s." : "%s deelde »%s« met jou namens %s.",
"Click the button below to open it." : "Klik op onderstaande link om te openen.",
"Open »%s«" : "Open »%s«",
"%s via %s" : "%s via %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Staat gebruikers toe om een gepersonaliseerde link of map te delen door een e-mailadres in te voegen.",
"Send password by mail" : "Wachtwoord per E-mail verzenden",
"Enforce password protection" : "Afdwingenwachtwoordbeveiliging",
+ "%s shared »%s« with you on behalf of %s" : "%s deelde »%s« met jou in naam van %s",
"Failed to create the E-mail" : "Opmaken van de e-mail is mislukt",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hallo daar,\n\n%s deelde »%s« met jou namens %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hallo daar,\n\n%s deelde »%s« met jou.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/nl.json b/apps/sharebymail/l10n/nl.json
index d6c8dffc795..a2099c255a4 100644
--- a/apps/sharebymail/l10n/nl.json
+++ b/apps/sharebymail/l10n/nl.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "We kunnen je geen automatisch gegenereerd wachtwoord toesturen. Vermeld een geldig e-mailadres in je persoonlijke instellingen en probeer het nogmaals.",
"Failed to send share by E-mail" : "Fout bij delen via e-mail",
"%s shared »%s« with you" : "%s deelde »%s« met jou",
- "%s shared »%s« with you on behalf of %s" : "%s deelde »%s« met jou in naam van %s",
"%s shared »%s« with you." : "%s deelde »%s« met jou.",
- "%s shared »%s« with you on behalf of %s." : "%s deelde »%s« met jou namens %s.",
"Click the button below to open it." : "Klik op onderstaande link om te openen.",
"Open »%s«" : "Open »%s«",
"%s via %s" : "%s via %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Staat gebruikers toe om een gepersonaliseerde link of map te delen door een e-mailadres in te voegen.",
"Send password by mail" : "Wachtwoord per E-mail verzenden",
"Enforce password protection" : "Afdwingenwachtwoordbeveiliging",
+ "%s shared »%s« with you on behalf of %s" : "%s deelde »%s« met jou in naam van %s",
"Failed to create the E-mail" : "Opmaken van de e-mail is mislukt",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hallo daar,\n\n%s deelde »%s« met jou namens %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hallo daar,\n\n%s deelde »%s« met jou.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/pl.js b/apps/sharebymail/l10n/pl.js
index fc3059c5bd5..f41f74859d7 100644
--- a/apps/sharebymail/l10n/pl.js
+++ b/apps/sharebymail/l10n/pl.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Nie można wysłać automatycznie wygenerowanego hasła. Proszę ustawić prawidłowy adres e-mail w ustawieniach osobistych i spróbować ponownie.",
"Failed to send share by E-mail" : "Nie udało się wysłać współdzielenia przez e-maila",
"%s shared »%s« with you" : "%s współdzieli »%s« z tobą",
- "%s shared »%s« with you on behalf of %s" : "%s współdzieli »%s« z tobą w imieniu %s",
"%s shared »%s« with you." : "%s współdzieli »%s« z tobą.",
- "%s shared »%s« with you on behalf of %s." : "%s współdzieli »%s« z tobą w imieniu %s.",
"Click the button below to open it." : "Kliknij przycisk poniżej, żeby to otworzyć.",
"Open »%s«" : "Otwórz »%s«",
"%s via %s" : "%s przez %s",
@@ -39,6 +37,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Umożliwia współdzielenie spersonalizowanego linku do pliku lub folderu, umieszczając go w wiadomości e-mail.",
"Send password by mail" : "Wyślij hasło e-mailem",
"Enforce password protection" : "Wymuś zabezpieczenie hasłem",
+ "%s shared »%s« with you on behalf of %s" : "%s współdzieli »%s« z tobą w imieniu %s",
"Failed to create the E-mail" : "Nie udało się utworzyć e-maila",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hej,\n\n%s współdzieli »%s« z tobą w imieniu %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hej,\n\n%s współdzieli »%s« z tobą.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/pl.json b/apps/sharebymail/l10n/pl.json
index 9d96dfa1117..256a9b837db 100644
--- a/apps/sharebymail/l10n/pl.json
+++ b/apps/sharebymail/l10n/pl.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Nie można wysłać automatycznie wygenerowanego hasła. Proszę ustawić prawidłowy adres e-mail w ustawieniach osobistych i spróbować ponownie.",
"Failed to send share by E-mail" : "Nie udało się wysłać współdzielenia przez e-maila",
"%s shared »%s« with you" : "%s współdzieli »%s« z tobą",
- "%s shared »%s« with you on behalf of %s" : "%s współdzieli »%s« z tobą w imieniu %s",
"%s shared »%s« with you." : "%s współdzieli »%s« z tobą.",
- "%s shared »%s« with you on behalf of %s." : "%s współdzieli »%s« z tobą w imieniu %s.",
"Click the button below to open it." : "Kliknij przycisk poniżej, żeby to otworzyć.",
"Open »%s«" : "Otwórz »%s«",
"%s via %s" : "%s przez %s",
@@ -37,6 +35,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Umożliwia współdzielenie spersonalizowanego linku do pliku lub folderu, umieszczając go w wiadomości e-mail.",
"Send password by mail" : "Wyślij hasło e-mailem",
"Enforce password protection" : "Wymuś zabezpieczenie hasłem",
+ "%s shared »%s« with you on behalf of %s" : "%s współdzieli »%s« z tobą w imieniu %s",
"Failed to create the E-mail" : "Nie udało się utworzyć e-maila",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Hej,\n\n%s współdzieli »%s« z tobą w imieniu %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Hej,\n\n%s współdzieli »%s« z tobą.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/pt_BR.js b/apps/sharebymail/l10n/pt_BR.js
index b7cf2a33e13..19e142014b6 100644
--- a/apps/sharebymail/l10n/pt_BR.js
+++ b/apps/sharebymail/l10n/pt_BR.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Não pudemos enviar a você a senha auto-gerada. por favor defina um e-mail válido em sua configuração e tente novamente.",
"Failed to send share by E-mail" : "Falha ao enviar compartilhamento por e-mail",
"%s shared »%s« with you" : "%s compartilhou »%s« com você",
- "%s shared »%s« with you on behalf of %s" : "%s compartilhou »%s« com você em nome de %s",
"%s shared »%s« with you." : "%s compartilhou »%s« com você.",
- "%s shared »%s« with you on behalf of %s." : "%s compartilhou »%s« com você em nome de %s.",
"Click the button below to open it." : "Clique no botão abaixo para abrí-lo.",
"Open »%s«" : "Abrir »%s«",
"%s via %s" : "%s via %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuários compartilhem um link personalizado para um arquivo ou pasta, inserindo um endereço de e-mail.",
"Send password by mail" : "Enviar senha por e-mail",
"Enforce password protection" : "Reforce a proteção por senha",
+ "%s shared »%s« with you on behalf of %s" : "%s compartilhou »%s« com você em nome de %s",
"Failed to create the E-mail" : "Falhou ao criar o e-mail",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Olá,\n%s compartilhou »%s« com você em nome de %s.\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Olá,\n%s compartilhou »%s« com você.\n%s\n",
diff --git a/apps/sharebymail/l10n/pt_BR.json b/apps/sharebymail/l10n/pt_BR.json
index 7b225bc7b11..4770ba490b6 100644
--- a/apps/sharebymail/l10n/pt_BR.json
+++ b/apps/sharebymail/l10n/pt_BR.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Não pudemos enviar a você a senha auto-gerada. por favor defina um e-mail válido em sua configuração e tente novamente.",
"Failed to send share by E-mail" : "Falha ao enviar compartilhamento por e-mail",
"%s shared »%s« with you" : "%s compartilhou »%s« com você",
- "%s shared »%s« with you on behalf of %s" : "%s compartilhou »%s« com você em nome de %s",
"%s shared »%s« with you." : "%s compartilhou »%s« com você.",
- "%s shared »%s« with you on behalf of %s." : "%s compartilhou »%s« com você em nome de %s.",
"Click the button below to open it." : "Clique no botão abaixo para abrí-lo.",
"Open »%s«" : "Abrir »%s«",
"%s via %s" : "%s via %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Permite que os usuários compartilhem um link personalizado para um arquivo ou pasta, inserindo um endereço de e-mail.",
"Send password by mail" : "Enviar senha por e-mail",
"Enforce password protection" : "Reforce a proteção por senha",
+ "%s shared »%s« with you on behalf of %s" : "%s compartilhou »%s« com você em nome de %s",
"Failed to create the E-mail" : "Falhou ao criar o e-mail",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Olá,\n%s compartilhou »%s« com você em nome de %s.\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Olá,\n%s compartilhou »%s« com você.\n%s\n",
diff --git a/apps/sharebymail/l10n/ru.js b/apps/sharebymail/l10n/ru.js
index 79cd6b68781..48aefa4eb1b 100644
--- a/apps/sharebymail/l10n/ru.js
+++ b/apps/sharebymail/l10n/ru.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Не удаётся отправить вам автоматически созданный пароль. Укажите верный адрес email в своих личных настройках и попробуйте снова.",
"Failed to send share by E-mail" : "Не удалось поделиться по e-mail",
"%s shared »%s« with you" : "%s поделился »%s« с вами",
- "%s shared »%s« with you on behalf of %s" : "%s поделился »%s« с вами от имени %s",
"%s shared »%s« with you." : "%s поделился »%s« с вами.",
- "%s shared »%s« with you on behalf of %s." : "%s поделился »%s« с вами от имени %s.",
"Click the button below to open it." : "Для открытия нажмите на кнопку ниже.",
"Open »%s«" : "Открыть »%s«",
"%s via %s" : "%s через %s",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Позволяет пользователям делиться персонализированной ссылкой на файл или каталог, введя адрес электронной почты.",
"Send password by mail" : "Отправить пароль почтой",
"Enforce password protection" : "Требовать защиту паролем",
+ "%s shared »%s« with you on behalf of %s" : "%s поделился »%s« с вами от имени %s",
"Failed to create the E-mail" : "Не удалось создать e-mail",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Привет,\n\n%s предоставил вам общий доступ к »%s« от имени %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Привет,\n\n%s предоставил вам общий доступ к »%s«.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/ru.json b/apps/sharebymail/l10n/ru.json
index b541e33f98c..9eba949b568 100644
--- a/apps/sharebymail/l10n/ru.json
+++ b/apps/sharebymail/l10n/ru.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Не удаётся отправить вам автоматически созданный пароль. Укажите верный адрес email в своих личных настройках и попробуйте снова.",
"Failed to send share by E-mail" : "Не удалось поделиться по e-mail",
"%s shared »%s« with you" : "%s поделился »%s« с вами",
- "%s shared »%s« with you on behalf of %s" : "%s поделился »%s« с вами от имени %s",
"%s shared »%s« with you." : "%s поделился »%s« с вами.",
- "%s shared »%s« with you on behalf of %s." : "%s поделился »%s« с вами от имени %s.",
"Click the button below to open it." : "Для открытия нажмите на кнопку ниже.",
"Open »%s«" : "Открыть »%s«",
"%s via %s" : "%s через %s",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Позволяет пользователям делиться персонализированной ссылкой на файл или каталог, введя адрес электронной почты.",
"Send password by mail" : "Отправить пароль почтой",
"Enforce password protection" : "Требовать защиту паролем",
+ "%s shared »%s« with you on behalf of %s" : "%s поделился »%s« с вами от имени %s",
"Failed to create the E-mail" : "Не удалось создать e-mail",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Привет,\n\n%s предоставил вам общий доступ к »%s« от имени %s.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Привет,\n\n%s предоставил вам общий доступ к »%s«.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/tr.js b/apps/sharebymail/l10n/tr.js
index 191f0cfe54b..7bc91670ec3 100644
--- a/apps/sharebymail/l10n/tr.js
+++ b/apps/sharebymail/l10n/tr.js
@@ -20,9 +20,7 @@ OC.L10N.register(
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Otomatik üretilen parola size gönderilemedi. Lütfen kişisel ayarlarınızdan geçerli bir e-posta adresi ayarlayın ve yeniden deneyin.",
"Failed to send share by E-mail" : "Paylaşım e-postası gönderilemedi",
"%s shared »%s« with you" : "%s sizinle »%s« ögesini paylaştı",
- "%s shared »%s« with you on behalf of %s" : "%s sizinle »%s« ögesini %s adına paylaştı",
"%s shared »%s« with you." : "%s sizinle »%s« ögesini paylaştı.",
- "%s shared »%s« with you on behalf of %s." : "%s sizinle »%s« ögesini %s adına paylaştı.",
"Click the button below to open it." : "Açmak için aşağıdaki düğmeye tıklayın.",
"Open »%s«" : "»%s« Aç",
"%s via %s" : "%s, %s aracılığıyla",
@@ -40,6 +38,7 @@ OC.L10N.register(
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Kullanıcıların bir e-posta adresi yazarak bir dosya ya da klasör için kişisel bir bağlantı paylaşmasını sağlar.",
"Send password by mail" : "Parolayı e-posta ile gönder",
"Enforce password protection" : "Parola koruması dayatılsın",
+ "%s shared »%s« with you on behalf of %s" : "%s sizinle »%s« ögesini %s adına paylaştı",
"Failed to create the E-mail" : "E-posta oluşturulamadı",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Merhaba,\n\n%s sizinle »%s« ögesini %s adına paylaştı.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Merhaba,\n\n%s sizinle »%s« ögesini paylaştı.\n\n%s\n\n",
diff --git a/apps/sharebymail/l10n/tr.json b/apps/sharebymail/l10n/tr.json
index 9261dc3d3cb..996f79021da 100644
--- a/apps/sharebymail/l10n/tr.json
+++ b/apps/sharebymail/l10n/tr.json
@@ -18,9 +18,7 @@
"We can't send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Otomatik üretilen parola size gönderilemedi. Lütfen kişisel ayarlarınızdan geçerli bir e-posta adresi ayarlayın ve yeniden deneyin.",
"Failed to send share by E-mail" : "Paylaşım e-postası gönderilemedi",
"%s shared »%s« with you" : "%s sizinle »%s« ögesini paylaştı",
- "%s shared »%s« with you on behalf of %s" : "%s sizinle »%s« ögesini %s adına paylaştı",
"%s shared »%s« with you." : "%s sizinle »%s« ögesini paylaştı.",
- "%s shared »%s« with you on behalf of %s." : "%s sizinle »%s« ögesini %s adına paylaştı.",
"Click the button below to open it." : "Açmak için aşağıdaki düğmeye tıklayın.",
"Open »%s«" : "»%s« Aç",
"%s via %s" : "%s, %s aracılığıyla",
@@ -38,6 +36,7 @@
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Kullanıcıların bir e-posta adresi yazarak bir dosya ya da klasör için kişisel bir bağlantı paylaşmasını sağlar.",
"Send password by mail" : "Parolayı e-posta ile gönder",
"Enforce password protection" : "Parola koruması dayatılsın",
+ "%s shared »%s« with you on behalf of %s" : "%s sizinle »%s« ögesini %s adına paylaştı",
"Failed to create the E-mail" : "E-posta oluşturulamadı",
"Hey there,\n\n%s shared »%s« with you on behalf of %s.\n\n%s\n\n" : "Merhaba,\n\n%s sizinle »%s« ögesini %s adına paylaştı.\n\n%s\n\n",
"Hey there,\n\n%s shared »%s« with you.\n\n%s\n\n" : "Merhaba,\n\n%s sizinle »%s« ögesini paylaştı.\n\n%s\n\n",
diff --git a/apps/sharebymail/lib/ShareByMailProvider.php b/apps/sharebymail/lib/ShareByMailProvider.php
index 7e0f7c5071e..3f618678ce1 100644
--- a/apps/sharebymail/lib/ShareByMailProvider.php
+++ b/apps/sharebymail/lib/ShareByMailProvider.php
@@ -345,7 +345,6 @@ class ShareByMailProvider implements IShareProvider {
$this->sendMailNotification(
$share->getNode()->getName(),
$link,
- $share->getShareOwner(),
$share->getSharedBy(),
$share->getSharedWith()
);
@@ -367,37 +366,26 @@ class ShareByMailProvider implements IShareProvider {
/**
* @param string $filename
* @param string $link
- * @param string $owner
* @param string $initiator
* @param string $shareWith
* @throws \Exception If mail couldn't be sent
*/
protected function sendMailNotification($filename,
$link,
- $owner,
$initiator,
$shareWith) {
- $ownerUser = $this->userManager->get($owner);
$initiatorUser = $this->userManager->get($initiator);
- $ownerDisplayName = ($ownerUser instanceof IUser) ? $ownerUser->getDisplayName() : $owner;
$initiatorDisplayName = ($initiatorUser instanceof IUser) ? $initiatorUser->getDisplayName() : $initiator;
- if ($owner === $initiator) {
- $subject = (string)$this->l->t('%s shared »%s« with you', array($ownerDisplayName, $filename));
- } else {
- $subject = (string)$this->l->t('%s shared »%s« with you on behalf of %s', array($ownerDisplayName, $filename, $initiatorDisplayName));
- }
+ $subject = (string)$this->l->t('%s shared »%s« with you', array($initiatorDisplayName, $filename));
$message = $this->mailer->createMessage();
$emailTemplate = $this->mailer->createEMailTemplate();
$emailTemplate->addHeader();
- $emailTemplate->addHeading($this->l->t('%s shared »%s« with you', [$ownerDisplayName, $filename]), false);
- if ($owner === $initiator) {
- $text = $this->l->t('%s shared »%s« with you.', [$ownerDisplayName, $filename]);
- } else {
- $text= $this->l->t('%s shared »%s« with you on behalf of %s.', [$ownerDisplayName, $filename, $initiator]);
- }
+ $emailTemplate->addHeading($this->l->t('%s shared »%s« with you', [$initiatorDisplayName, $filename]), false);
+ $text = $this->l->t('%s shared »%s« with you.', [$initiatorDisplayName, $filename]);
+
$emailTemplate->addBodyText(
$text . ' ' . $this->l->t('Click the button below to open it.'),
$text
@@ -414,7 +402,7 @@ class ShareByMailProvider implements IShareProvider {
$senderName = $this->l->t(
'%s via %s',
[
- $ownerDisplayName,
+ $initiatorDisplayName,
$instanceName
]
);
@@ -422,9 +410,9 @@ class ShareByMailProvider implements IShareProvider {
// The "Reply-To" is set to the sharer if an mail address is configured
// also the default footer contains a "Do not reply" which needs to be adjusted.
- $ownerEmail = $ownerUser->getEMailAddress();
- if($ownerEmail !== null) {
- $message->setReplyTo([$ownerEmail => $ownerDisplayName]);
+ $initiatorEmail = $initiatorUser->getEMailAddress();
+ if($initiatorEmail !== null) {
+ $message->setReplyTo([$initiatorEmail => $initiatorDisplayName]);
$emailTemplate->addFooter($instanceName . ' - ' . $this->defaults->getSlogan());
} else {
$emailTemplate->addFooter();
diff --git a/apps/sharebymail/tests/ShareByMailProviderTest.php b/apps/sharebymail/tests/ShareByMailProviderTest.php
index 269f8e8f414..e649a9dbd0b 100644
--- a/apps/sharebymail/tests/ShareByMailProviderTest.php
+++ b/apps/sharebymail/tests/ShareByMailProviderTest.php
@@ -766,12 +766,12 @@ class ShareByMailProviderTest extends TestCase {
$provider = $this->getInstance();
$user = $this->createMock(IUser::class);
$this->userManager
- ->expects($this->exactly(2))
+ ->expects($this->once())
->method('get')
->with('OwnerUser')
->willReturn($user);
$user
- ->expects($this->exactly(2))
+ ->expects($this->once())
->method('getDisplayName')
->willReturn('Mrs. Owner User');
$message = $this->createMock(Message::class);
@@ -867,29 +867,18 @@ class ShareByMailProviderTest extends TestCase {
'file.txt',
'https://example.com/file.txt',
'OwnerUser',
- 'OwnerUser',
'john@doe.com',
]);
}
public function testSendMailNotificationWithDifferentUserAndNoUserEmail() {
$provider = $this->getInstance();
- $ownerUser = $this->createMock(IUser::class);
$initiatorUser = $this->createMock(IUser::class);
$this->userManager
- ->expects($this->at(0))
- ->method('get')
- ->with('OwnerUser')
- ->willReturn($ownerUser);
- $this->userManager
- ->expects($this->at(1))
+ ->expects($this->once())
->method('get')
->with('InitiatorUser')
->willReturn($initiatorUser);
- $ownerUser
- ->expects($this->once())
- ->method('getDisplayName')
- ->willReturn('Mrs. Owner User');
$initiatorUser
->expects($this->once())
->method('getDisplayName')
@@ -910,13 +899,13 @@ class ShareByMailProviderTest extends TestCase {
$template
->expects($this->once())
->method('addHeading')
- ->with('Mrs. Owner User shared »file.txt« with you');
+ ->with('Mr. Initiator User shared »file.txt« with you');
$template
->expects($this->once())
->method('addBodyText')
->with(
- 'Mrs. Owner User shared »file.txt« with you on behalf of InitiatorUser. Click the button below to open it.',
- 'Mrs. Owner User shared »file.txt« with you on behalf of InitiatorUser.'
+ 'Mr. Initiator User shared »file.txt« with you. Click the button below to open it.',
+ 'Mr. Initiator User shared »file.txt« with you.'
);
$template
->expects($this->once())
@@ -937,12 +926,8 @@ class ShareByMailProviderTest extends TestCase {
->expects($this->once())
->method('setFrom')
->with([
- \OCP\Util::getDefaultEmailAddress('UnitTestCloud') => 'Mrs. Owner User via UnitTestCloud'
+ \OCP\Util::getDefaultEmailAddress('UnitTestCloud') => 'Mr. Initiator User via UnitTestCloud'
]);
- $ownerUser
- ->expects($this->once())
- ->method('getEMailAddress')
- ->willReturn(null);
$message
->expects($this->never())
->method('setReplyTo');
@@ -953,7 +938,7 @@ class ShareByMailProviderTest extends TestCase {
$message
->expects($this->once())
->method('setSubject')
- ->willReturn('Mrs. Owner User shared »file.txt« with you');
+ ->willReturn('Mr. Initiator User shared »file.txt« with you');
$template
->expects($this->once())
->method('renderText')
@@ -981,7 +966,6 @@ class ShareByMailProviderTest extends TestCase {
[
'file.txt',
'https://example.com/file.txt',
- 'OwnerUser',
'InitiatorUser',
'john@doe.com',
]);
diff --git a/apps/theming/l10n/de.js b/apps/theming/l10n/de.js
index a9b99f973f9..0674734f745 100644
--- a/apps/theming/l10n/de.js
+++ b/apps/theming/l10n/de.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Upload new logo" : "Neues Logo hochladen",
"Login image" : "Anmelde-Bild",
"Upload new login background" : "Neuen Anmelde-Hintergrund hochladen",
+ "Remove background image" : "Hintergrundbilder entfernen",
"Log in image" : "Anmelde-Bild"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/de.json b/apps/theming/l10n/de.json
index 8f4a7b023fc..d318cabd649 100644
--- a/apps/theming/l10n/de.json
+++ b/apps/theming/l10n/de.json
@@ -22,6 +22,7 @@
"Upload new logo" : "Neues Logo hochladen",
"Login image" : "Anmelde-Bild",
"Upload new login background" : "Neuen Anmelde-Hintergrund hochladen",
+ "Remove background image" : "Hintergrundbilder entfernen",
"Log in image" : "Anmelde-Bild"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/el.js b/apps/theming/l10n/el.js
index 57f45818b3c..eca624f1b44 100644
--- a/apps/theming/l10n/el.js
+++ b/apps/theming/l10n/el.js
@@ -12,7 +12,8 @@ OC.L10N.register(
"No file uploaded" : "Δεν έχει μεταφορτωθεί αρχείο",
"Unsupported image type" : "Μη υποστηριζόμενος τύπος εικόνας",
"You are already using a custom theme" : "Χρησιμοποιείτε ήδη προσαρμοσμένο θέμα",
- "Theming" : "Θεματοποίηση",
+ "Theming" : "Προσαρμογή θέματος",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Αυτή θα είναι ορατή για όλους τους χρήστες.",
"Name" : "Όνομα",
"reset to default" : "επαναφορά στα προεπιλεγμένα",
"Web address" : "Διεύθυση ιστοσελίδας",
@@ -22,7 +23,8 @@ OC.L10N.register(
"Logo" : "Λογότυπο",
"Upload new logo" : "Μεταφόρτωση νέου λογοτύπου",
"Login image" : "Εικόνα εισόδου",
- "Upload new login background" : "Μεταφόρτωση νέου φόντου εισόδου",
+ "Upload new login background" : "Μεταφόρτωση νέου παρασκηνίου εισόδου",
+ "Remove background image" : "Αφαίρεση εικόνας παρασκηνίου",
"Log in image" : "Εικόνα εισόδου"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/el.json b/apps/theming/l10n/el.json
index 3fd78ccd8fe..03b475c0f40 100644
--- a/apps/theming/l10n/el.json
+++ b/apps/theming/l10n/el.json
@@ -10,7 +10,8 @@
"No file uploaded" : "Δεν έχει μεταφορτωθεί αρχείο",
"Unsupported image type" : "Μη υποστηριζόμενος τύπος εικόνας",
"You are already using a custom theme" : "Χρησιμοποιείτε ήδη προσαρμοσμένο θέμα",
- "Theming" : "Θεματοποίηση",
+ "Theming" : "Προσαρμογή θέματος",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Αυτή θα είναι ορατή για όλους τους χρήστες.",
"Name" : "Όνομα",
"reset to default" : "επαναφορά στα προεπιλεγμένα",
"Web address" : "Διεύθυση ιστοσελίδας",
@@ -20,7 +21,8 @@
"Logo" : "Λογότυπο",
"Upload new logo" : "Μεταφόρτωση νέου λογοτύπου",
"Login image" : "Εικόνα εισόδου",
- "Upload new login background" : "Μεταφόρτωση νέου φόντου εισόδου",
+ "Upload new login background" : "Μεταφόρτωση νέου παρασκηνίου εισόδου",
+ "Remove background image" : "Αφαίρεση εικόνας παρασκηνίου",
"Log in image" : "Εικόνα εισόδου"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/es_MX.js b/apps/theming/l10n/es_MX.js
index 95e0e1bccc8..8c307ac9406 100644
--- a/apps/theming/l10n/es_MX.js
+++ b/apps/theming/l10n/es_MX.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"Upload new logo" : "Cargar nuevo logotipo",
"Login image" : "Imágen de inicio de sesión",
"Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
+ "Remove background image" : "Eliminar imagen de fondo",
"Log in image" : "Imagen de inicio de sesión"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/es_MX.json b/apps/theming/l10n/es_MX.json
index 1338ac354f1..d47b3ef7836 100644
--- a/apps/theming/l10n/es_MX.json
+++ b/apps/theming/l10n/es_MX.json
@@ -22,6 +22,7 @@
"Upload new logo" : "Cargar nuevo logotipo",
"Login image" : "Imágen de inicio de sesión",
"Upload new login background" : "Cargar nueva imagen de fondo para inicio de sesión",
+ "Remove background image" : "Eliminar imagen de fondo",
"Log in image" : "Imagen de inicio de sesión"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/nb.js b/apps/theming/l10n/nb.js
index eb1791bc07d..c7a4a5ab2e9 100644
--- a/apps/theming/l10n/nb.js
+++ b/apps/theming/l10n/nb.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"theming",
{
- "Loading preview…" : "Laster forshåndsvisning...",
+ "Loading preview…" : "Laster forhåndsvisning...",
"Saved" : "Lagret",
"Admin" : "Admin",
"a safe home for all your data" : "et trygt hjem for alle dine data",
diff --git a/apps/theming/l10n/nb.json b/apps/theming/l10n/nb.json
index f8b274f31fd..23fe3952c61 100644
--- a/apps/theming/l10n/nb.json
+++ b/apps/theming/l10n/nb.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Loading preview…" : "Laster forshåndsvisning...",
+ "Loading preview…" : "Laster forhåndsvisning...",
"Saved" : "Lagret",
"Admin" : "Admin",
"a safe home for all your data" : "et trygt hjem for alle dine data",
diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php
index 9509fc11077..0824a36ccdc 100644
--- a/apps/theming/lib/ThemingDefaults.php
+++ b/apps/theming/lib/ThemingDefaults.php
@@ -129,9 +129,10 @@ class ThemingDefaults extends \OC_Defaults {
/**
* Themed logo url
*
+ * @param bool $useSvg Whether to point to the SVG image or a fallback
* @return string
*/
- public function getLogo() {
+ public function getLogo($useSvg = true) {
$logo = $this->config->getAppValue('theming', 'logoMime', false);
$logoExists = true;
@@ -144,7 +145,12 @@ class ThemingDefaults extends \OC_Defaults {
$cacheBusterCounter = $this->config->getAppValue('theming', 'cachebuster', '0');
if(!$logo || !$logoExists) {
- return $this->urlGenerator->imagePath('core','logo.svg') . '?v=' . $cacheBusterCounter;
+ if($useSvg) {
+ $logo = $this->urlGenerator->imagePath('core', 'logo.svg');
+ } else {
+ $logo = $this->urlGenerator->imagePath('core', 'logo.png');
+ }
+ return $logo . '?v=' . $cacheBusterCounter;
}
return $this->urlGenerator->linkToRoute('theming.Theming.getLogo') . '?v=' . $cacheBusterCounter;
diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php
index e3acab78bb7..a7cb7790aa6 100644
--- a/apps/theming/tests/ThemingDefaultsTest.php
+++ b/apps/theming/tests/ThemingDefaultsTest.php
@@ -431,7 +431,7 @@ class ThemingDefaultsTest extends TestCase {
$this->assertEquals('custom-background?v=0', $this->template->getBackground());
}
- public function testGetLogoDefault() {
+ private function getLogoHelper($withName, $useSvg) {
$this->appData->expects($this->once())
->method('getFolder')
->willThrowException(new NotFoundException());
@@ -452,9 +452,17 @@ class ThemingDefaultsTest extends TestCase {
->willThrowException(new \Exception());
$this->urlGenerator->expects($this->once())
->method('imagePath')
- ->with('core', 'logo.svg')
+ ->with('core', $withName)
->willReturn('core-logo');
- $this->assertEquals('core-logo?v=0', $this->template->getLogo());
+ $this->assertEquals('core-logo?v=0', $this->template->getLogo($useSvg));
+ }
+
+ public function testGetLogoDefaultWithSvg() {
+ $this->getLogoHelper('logo.svg', true);
+ }
+
+ public function testGetLogoDefaultWithoutSvg() {
+ $this->getLogoHelper('logo.png', false);
}
public function testGetLogoCustom() {
diff --git a/apps/twofactor_backupcodes/l10n/de.js b/apps/twofactor_backupcodes/l10n/de.js
index 039b8bea68b..695b2a8accb 100644
--- a/apps/twofactor_backupcodes/l10n/de.js
+++ b/apps/twofactor_backupcodes/l10n/de.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für Dein Konto erstellt",
"Backup code" : "Backup-Code",
"Use backup code" : "Backup-Code verwenden",
+ "Two factor backup codes" : "Zweifaktor-Backup-Codes",
"Second-factor backup codes" : "Zweitfaktor-Backup-Codes"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/de.json b/apps/twofactor_backupcodes/l10n/de.json
index 6afdfa52ac4..0cd652e7693 100644
--- a/apps/twofactor_backupcodes/l10n/de.json
+++ b/apps/twofactor_backupcodes/l10n/de.json
@@ -14,6 +14,7 @@
"You created two-factor backup codes for your account" : "Du hast Zwei-Faktor Sicherungs-Codes für Dein Konto erstellt",
"Backup code" : "Backup-Code",
"Use backup code" : "Backup-Code verwenden",
+ "Two factor backup codes" : "Zweifaktor-Backup-Codes",
"Second-factor backup codes" : "Zweitfaktor-Backup-Codes"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/twofactor_backupcodes/l10n/de_DE.js b/apps/twofactor_backupcodes/l10n/de_DE.js
index 0764ef3b7a4..70cd65de8be 100644
--- a/apps/twofactor_backupcodes/l10n/de_DE.js
+++ b/apps/twofactor_backupcodes/l10n/de_DE.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"You created two-factor backup codes for your account" : "Sie haben Zwei-Faktor Sicherungs-Codes für Ihr Konto erstellt",
"Backup code" : "Backup-Code",
"Use backup code" : "Verwende Backup-Code",
+ "Two factor backup codes" : "Zweifaktor Backup-Codes",
"Second-factor backup codes" : "Zweitfaktor Backup-Codes"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/twofactor_backupcodes/l10n/de_DE.json b/apps/twofactor_backupcodes/l10n/de_DE.json
index 43f36e49cb3..d9f1af4b6bc 100644
--- a/apps/twofactor_backupcodes/l10n/de_DE.json
+++ b/apps/twofactor_backupcodes/l10n/de_DE.json
@@ -14,6 +14,7 @@
"You created two-factor backup codes for your account" : "Sie haben Zwei-Faktor Sicherungs-Codes für Ihr Konto erstellt",
"Backup code" : "Backup-Code",
"Use backup code" : "Verwende Backup-Code",
+ "Two factor backup codes" : "Zweifaktor Backup-Codes",
"Second-factor backup codes" : "Zweitfaktor Backup-Codes"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/de.js b/apps/updatenotification/l10n/de.js
index 62fb269d262..dbaadfdd853 100644
--- a/apps/updatenotification/l10n/de.js
+++ b/apps/updatenotification/l10n/de.js
@@ -10,6 +10,7 @@ OC.L10N.register(
"Update to %1$s is available." : "Aktualisierung auf %1$s ist verfügbar.",
"Update for %1$s to version %2$s is available." : "Ein Update von %1$s auf Version %2$s ist verfügbar.",
"Update for {app} to version %s is available." : "Ein Update für {app} auf Version %s ist verfügbar.",
+ "Update notification" : "Update-Benachrichtigung",
"A new version is available: %s" : "Eine neue Version ist verfügbar: %s",
"Open updater" : "Updater öffnen",
"Download now" : "Jetzt herunterladen",
diff --git a/apps/updatenotification/l10n/de.json b/apps/updatenotification/l10n/de.json
index f9a9e5ea681..9084b298f1a 100644
--- a/apps/updatenotification/l10n/de.json
+++ b/apps/updatenotification/l10n/de.json
@@ -8,6 +8,7 @@
"Update to %1$s is available." : "Aktualisierung auf %1$s ist verfügbar.",
"Update for %1$s to version %2$s is available." : "Ein Update von %1$s auf Version %2$s ist verfügbar.",
"Update for {app} to version %s is available." : "Ein Update für {app} auf Version %s ist verfügbar.",
+ "Update notification" : "Update-Benachrichtigung",
"A new version is available: %s" : "Eine neue Version ist verfügbar: %s",
"Open updater" : "Updater öffnen",
"Download now" : "Jetzt herunterladen",
diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js
index 41924ab5ae6..c9c07245090 100644
--- a/apps/user_ldap/l10n/el.js
+++ b/apps/user_ldap/l10n/el.js
@@ -97,6 +97,7 @@ OC.L10N.register(
"Saving" : "Αποθήκευση",
"Back" : "Επιστροφή",
"Continue" : "Συνέχεια",
+ "An internal error occurred." : "Παρουσιάστηκε ένα εσωτερικό σφάλμα.",
"Current password" : "Τρέχον συνθηματικό",
"New password" : "Νέο συνθηματικό",
"Renew password" : "Ανανέωση συνθηματικού",
diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json
index dbc1da6a951..62d925d7fce 100644
--- a/apps/user_ldap/l10n/el.json
+++ b/apps/user_ldap/l10n/el.json
@@ -95,6 +95,7 @@
"Saving" : "Αποθήκευση",
"Back" : "Επιστροφή",
"Continue" : "Συνέχεια",
+ "An internal error occurred." : "Παρουσιάστηκε ένα εσωτερικό σφάλμα.",
"Current password" : "Τρέχον συνθηματικό",
"New password" : "Νέο συνθηματικό",
"Renew password" : "Ανανέωση συνθηματικού",
diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js
index f2d2c22fac7..969d2cdffbb 100644
--- a/apps/user_ldap/l10n/fr.js
+++ b/apps/user_ldap/l10n/fr.js
@@ -12,6 +12,7 @@ OC.L10N.register(
"No data specified" : "Aucune donnée spécifiée",
" Could not set configuration %s" : "Impossible d'appliquer la configuration %s",
"Action does not exist" : "L'action n'existe pas",
+ "LDAP user and group backend" : "Utilisateur LDAP et infrastructure de groupe",
"Renewing …" : "Renouvellement en cours...",
"Very weak password" : "Mot de passe très faible",
"Weak password" : "Mot de passe faible",
@@ -165,6 +166,8 @@ OC.L10N.register(
"Enable LDAP password changes per user" : "Activer la modification du mot de passe LDAP par l'utilisateur",
"Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Autoriser les utilisateurs LDAP à changer leurs mots de passe et permettre aux super administrateurs et aux administrateurs de groupe de modifier les mots de passe de leurs utilisateurs LDAP. Cela fonctionnera uniquement si les règles de contrôle d'accès sont configurées comme ceux du serveur LDAP. Puisque les mots de passe sont envoyés dans un texte en clair au serveur LDAP, le transport doit être chiffré et le hachage de mot de passe doit être configuré sur le serveur LDAP.",
"(New password is sent as plain text to LDAP)" : "(Le nouveau mot de passe a été envoyé en tant que texte brut par LDAP)",
+ "Default password policy DN" : "DN stratégie de mots de passe par défaut",
+ "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Le DN d'une stratégie de mot de passe par défaut qui sera utilisé pour la gestion d'expiration du mot de passe. Fonctionne seulement quand le changement du mot de passe LDAP par utilisateur est activé et est uniquement supporté par OpenLDAP. Laissez vide pour désactiver la gestion d'expiration du mot de passe.",
"Special Attributes" : "Attributs spéciaux",
"Quota Field" : "Champ du quota",
"Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Laissez vide pour appliquer le quota par défaut de l'utilisateur. Sinon, spécifiez un attribut LDAP / AD.",
diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json
index 217cd85b5d0..360af4c48b8 100644
--- a/apps/user_ldap/l10n/fr.json
+++ b/apps/user_ldap/l10n/fr.json
@@ -10,6 +10,7 @@
"No data specified" : "Aucune donnée spécifiée",
" Could not set configuration %s" : "Impossible d'appliquer la configuration %s",
"Action does not exist" : "L'action n'existe pas",
+ "LDAP user and group backend" : "Utilisateur LDAP et infrastructure de groupe",
"Renewing …" : "Renouvellement en cours...",
"Very weak password" : "Mot de passe très faible",
"Weak password" : "Mot de passe faible",
@@ -163,6 +164,8 @@
"Enable LDAP password changes per user" : "Activer la modification du mot de passe LDAP par l'utilisateur",
"Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Autoriser les utilisateurs LDAP à changer leurs mots de passe et permettre aux super administrateurs et aux administrateurs de groupe de modifier les mots de passe de leurs utilisateurs LDAP. Cela fonctionnera uniquement si les règles de contrôle d'accès sont configurées comme ceux du serveur LDAP. Puisque les mots de passe sont envoyés dans un texte en clair au serveur LDAP, le transport doit être chiffré et le hachage de mot de passe doit être configuré sur le serveur LDAP.",
"(New password is sent as plain text to LDAP)" : "(Le nouveau mot de passe a été envoyé en tant que texte brut par LDAP)",
+ "Default password policy DN" : "DN stratégie de mots de passe par défaut",
+ "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "Le DN d'une stratégie de mot de passe par défaut qui sera utilisé pour la gestion d'expiration du mot de passe. Fonctionne seulement quand le changement du mot de passe LDAP par utilisateur est activé et est uniquement supporté par OpenLDAP. Laissez vide pour désactiver la gestion d'expiration du mot de passe.",
"Special Attributes" : "Attributs spéciaux",
"Quota Field" : "Champ du quota",
"Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Laissez vide pour appliquer le quota par défaut de l'utilisateur. Sinon, spécifiez un attribut LDAP / AD.",
diff --git a/apps/workflowengine/l10n/fa.js b/apps/workflowengine/l10n/fa.js
new file mode 100644
index 00000000000..7ffe079982e
--- /dev/null
+++ b/apps/workflowengine/l10n/fa.js
@@ -0,0 +1,73 @@
+OC.L10N.register(
+ "workflowengine",
+ {
+ "Saved" : "ذخیره شده ",
+ "Saving failed:" : "ذخیره فایل با خطا مواجه شد.",
+ "File MIME type" : "فایل از نوع MIME",
+ "is" : "هست ",
+ "is not" : "نیست",
+ "matches" : "مطابق است",
+ "does not match" : "مطابق نیست",
+ "Example: {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" : "مطابق با آی پی ورژن 4",
+ "does not match IPv4" : "مطابق نیست با آی پی ورژن 4",
+ "matches IPv6" : "مطابق با آی پی ورژن 6 ",
+ "does not match IPv6" : "مطابق نیست با آی پی ورژن 6 ",
+ "Request time" : "زمان درخواست ",
+ "between" : "بین ",
+ "not between" : "نیست بین",
+ "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" : "آی دی برچسب معتبر نیست ",
+ "The given IP range is invalid" : "رنج آی پی گرفته شده معتبر نیست",
+ "The given IP range is not valid for IPv4" : "رنج آی پی گرفته شده برای آی پی ورژن 4 معتبر نیست",
+ "The given IP range is not valid for IPv6" : "رنج آی پی گرفته شده برای آی پی ورژن 6 معتبر نیست",
+ "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…" : "در حال بار گزاری",
+ "Successfully saved" : "با موفقیت ذخیره شد ",
+ "File mime type" : "نوع فایل "
+},
+"nplurals=1; plural=0;");
diff --git a/apps/workflowengine/l10n/fa.json b/apps/workflowengine/l10n/fa.json
new file mode 100644
index 00000000000..4d5a50082ad
--- /dev/null
+++ b/apps/workflowengine/l10n/fa.json
@@ -0,0 +1,71 @@
+{ "translations": {
+ "Saved" : "ذخیره شده ",
+ "Saving failed:" : "ذخیره فایل با خطا مواجه شد.",
+ "File MIME type" : "فایل از نوع MIME",
+ "is" : "هست ",
+ "is not" : "نیست",
+ "matches" : "مطابق است",
+ "does not match" : "مطابق نیست",
+ "Example: {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" : "مطابق با آی پی ورژن 4",
+ "does not match IPv4" : "مطابق نیست با آی پی ورژن 4",
+ "matches IPv6" : "مطابق با آی پی ورژن 6 ",
+ "does not match IPv6" : "مطابق نیست با آی پی ورژن 6 ",
+ "Request time" : "زمان درخواست ",
+ "between" : "بین ",
+ "not between" : "نیست بین",
+ "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" : "آی دی برچسب معتبر نیست ",
+ "The given IP range is invalid" : "رنج آی پی گرفته شده معتبر نیست",
+ "The given IP range is not valid for IPv4" : "رنج آی پی گرفته شده برای آی پی ورژن 4 معتبر نیست",
+ "The given IP range is not valid for IPv6" : "رنج آی پی گرفته شده برای آی پی ورژن 6 معتبر نیست",
+ "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…" : "در حال بار گزاری",
+ "Successfully saved" : "با موفقیت ذخیره شد ",
+ "File mime type" : "نوع فایل "
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/autotest.sh b/autotest.sh
index fa15597bd55..b9058efdbc6 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -306,6 +306,12 @@ function execute_tests {
echo "Postgres is up."
else
+ echo "Waiting for Postgres to be available ..."
+ if ! apps/files_external/tests/env/wait-for-connection $DATABASEHOST 5432 60; then
+ echo "[ERROR] Waited 60 seconds, no response" >&2
+ exit 1
+ fi
+
if [ -z "$DRONE" ] ; then # no need to drop the DB when we are on CI
dropdb -U "$DATABASEUSER" "$DATABASENAME" || true
fi
diff --git a/build/l10nParseAppInfo.php b/build/l10nParseAppInfo.php
new file mode 100644
index 00000000000..74c040b333c
--- /dev/null
+++ b/build/l10nParseAppInfo.php
@@ -0,0 +1,60 @@
+<?php
+/**
+ * @copyright Copyright (c) 2017 Morris Jobke <hey@morrisjobke.de>
+ *
+ * @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/>.
+ *
+ */
+
+/**
+ * This little script parses the info.xml and extracts the app name as well
+ * as the navigation entry name from the XML and writes it into a file named
+ * specialAppInfoFakeDummyForL10nScript.php that is created and deleted during
+ * l10n string extraction
+ */
+
+$fileName = getcwd() . '/appinfo/info.xml';
+$strings = [];
+
+if (!file_exists($fileName)) {
+ exit();
+}
+
+$xml = simplexml_load_file($fileName);
+
+if ($xml->name) {
+ $strings[] = $xml->name->__toString();
+}
+
+if ($xml->navigations) {
+ foreach ($xml->navigations as $navigation) {
+ $name = $navigation->navigation->name->__toString();
+ if (!in_array($name, $strings)) {
+ $strings[] = $name;
+ }
+ }
+}
+
+print_r($strings);
+
+$content = '<?php' . PHP_EOL;
+
+foreach ($strings as $string) {
+ $content .= '$l->t("' . $string . '");' . PHP_EOL;
+}
+
+file_put_contents('specialAppInfoFakeDummyForL10nScript.php', $content);
+
diff --git a/core/js/contactsmenu.js b/core/js/contactsmenu.js
index 9ce27509e8b..3da6ea127cd 100644
--- a/core/js/contactsmenu.js
+++ b/core/js/contactsmenu.js
@@ -50,7 +50,8 @@
+ '</div>';
var CONTACT_TEMPLATE = ''
+ '{{#if contact.avatar}}'
- + '<img src="{{contact.avatar}}" class="avatar">'
+ + '<img src="{{contact.avatar}}&size=32" class="avatar"'
+ + 'srcset="{{contact.avatar}}&size=32 1x, {{contact.avatar}}&size=64 2x, {{contact.avatar}}&size=128 4x">'
+ '{{else}}'
+ '<div class="avatar"></div>'
+ '{{/if}}'
diff --git a/core/l10n/el.js b/core/l10n/el.js
index be436779d44..d347b706b97 100644
--- a/core/l10n/el.js
+++ b/core/l10n/el.js
@@ -138,6 +138,7 @@ OC.L10N.register(
"Email link to person" : "Αποστολή συνδέσμου με email",
"Send" : "Αποστολή",
"Allow upload and editing" : "Επιτρέπονται η μεταφόρτωση και η επεξεργασία",
+ "Read only" : "Μόνο για ανάγνωση",
"Secure drop (upload only)" : "Ασφαλής απόθεση (μόνο μεταφόρτωση)",
"Shared with you and the group {group} by {owner}" : "Διαμοιράστηκε με σας και με την ομάδα {group} του {owner}",
"Shared with you by {owner}" : "Διαμοιράστηκε με σας από τον {owner}",
@@ -265,6 +266,8 @@ OC.L10N.register(
"Log in" : "Είσοδος",
"Stay logged in" : "Μείνετε συνδεδεμένος",
"Alternative Logins" : "Εναλλακτικές συνδέσεις",
+ "App token" : "Διακριτικό εφαρμογής",
+ "Alternative login using app token" : "Εναλλακτική είσοδος με την χρήση του διακριτικού της εφαρμογής",
"Redirecting …" : "Γίνεται ανακατεύθυνση ...",
"New password" : "Νέο συνθηματικό",
"New Password" : "Νέο συνθηματικό",
diff --git a/core/l10n/el.json b/core/l10n/el.json
index 36f67e5726d..fbd6a98ab36 100644
--- a/core/l10n/el.json
+++ b/core/l10n/el.json
@@ -136,6 +136,7 @@
"Email link to person" : "Αποστολή συνδέσμου με email",
"Send" : "Αποστολή",
"Allow upload and editing" : "Επιτρέπονται η μεταφόρτωση και η επεξεργασία",
+ "Read only" : "Μόνο για ανάγνωση",
"Secure drop (upload only)" : "Ασφαλής απόθεση (μόνο μεταφόρτωση)",
"Shared with you and the group {group} by {owner}" : "Διαμοιράστηκε με σας και με την ομάδα {group} του {owner}",
"Shared with you by {owner}" : "Διαμοιράστηκε με σας από τον {owner}",
@@ -263,6 +264,8 @@
"Log in" : "Είσοδος",
"Stay logged in" : "Μείνετε συνδεδεμένος",
"Alternative Logins" : "Εναλλακτικές συνδέσεις",
+ "App token" : "Διακριτικό εφαρμογής",
+ "Alternative login using app token" : "Εναλλακτική είσοδος με την χρήση του διακριτικού της εφαρμογής",
"Redirecting …" : "Γίνεται ανακατεύθυνση ...",
"New password" : "Νέο συνθηματικό",
"New Password" : "Νέο συνθηματικό",
diff --git a/core/l10n/fr.js b/core/l10n/fr.js
index 155daba2eac..049b35fcb2a 100644
--- a/core/l10n/fr.js
+++ b/core/l10n/fr.js
@@ -14,6 +14,8 @@ OC.L10N.register(
"No crop data provided" : "Aucune donnée de recadrage fournie",
"No valid crop data provided" : "Aucune donnée valide de recadrage fournie",
"Crop is not square" : "Le recadrage n'est pas carré",
+ "State token does not match" : "Les jetons de statut ne correspondent pas",
+ "Auth flow can only be started unauthenticated." : "Le processus d'authentification peut seulement démarrer en mode \"non connectée\".",
"Couldn't reset password because the token is invalid" : "Impossible de réinitialiser le mot de passe car le jeton n'est pas valable",
"Couldn't reset password because the token is expired" : "Impossible de réinitialiser le mot de passe car le jeton a expiré",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Impossible d'envoyer le courriel de réinitialisation car il n'y a aucune adresse de courriel pour cet utilisateur. Veuillez contacter votre administrateur.",
@@ -56,6 +58,7 @@ OC.L10N.register(
"Looking for {term} …" : "Recherche de {term} ...",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Il y a eu des problèmes à la vérification de l’intégrité du code. Plus d'infos...</a>",
"No action available" : "Aucune action disponible",
+ "Error fetching contact actions" : "Erreur lors de la recherche d'actions de contact",
"Settings" : "Paramètres",
"Connection to server lost" : "Connexion au serveur perdu",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Problème de chargement de la page, actualisation dans %n seconde","Problème de chargement de la page, actualisation dans %n secondes"],
diff --git a/core/l10n/fr.json b/core/l10n/fr.json
index 22d4e4f705c..2861b081d80 100644
--- a/core/l10n/fr.json
+++ b/core/l10n/fr.json
@@ -12,6 +12,8 @@
"No crop data provided" : "Aucune donnée de recadrage fournie",
"No valid crop data provided" : "Aucune donnée valide de recadrage fournie",
"Crop is not square" : "Le recadrage n'est pas carré",
+ "State token does not match" : "Les jetons de statut ne correspondent pas",
+ "Auth flow can only be started unauthenticated." : "Le processus d'authentification peut seulement démarrer en mode \"non connectée\".",
"Couldn't reset password because the token is invalid" : "Impossible de réinitialiser le mot de passe car le jeton n'est pas valable",
"Couldn't reset password because the token is expired" : "Impossible de réinitialiser le mot de passe car le jeton a expiré",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "Impossible d'envoyer le courriel de réinitialisation car il n'y a aucune adresse de courriel pour cet utilisateur. Veuillez contacter votre administrateur.",
@@ -54,6 +56,7 @@
"Looking for {term} …" : "Recherche de {term} ...",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Il y a eu des problèmes à la vérification de l’intégrité du code. Plus d'infos...</a>",
"No action available" : "Aucune action disponible",
+ "Error fetching contact actions" : "Erreur lors de la recherche d'actions de contact",
"Settings" : "Paramètres",
"Connection to server lost" : "Connexion au serveur perdu",
"_Problem loading page, reloading in %n second_::_Problem loading page, reloading in %n seconds_" : ["Problème de chargement de la page, actualisation dans %n seconde","Problème de chargement de la page, actualisation dans %n secondes"],
diff --git a/core/l10n/nb.js b/core/l10n/nb.js
index 5e1c092854a..de8088af803 100644
--- a/core/l10n/nb.js
+++ b/core/l10n/nb.js
@@ -139,6 +139,7 @@ OC.L10N.register(
"Email link to person" : "Send lenke til person via e-post",
"Send" : "Send",
"Allow upload and editing" : "Tillatt opplasting og redigering",
+ "Read only" : "Kun lesetilgang",
"Secure drop (upload only)" : "Sikret filkasse (bare opplasting)",
"Shared with you and the group {group} by {owner}" : "Delt med deg og gruppen {group} av {owner}",
"Shared with you by {owner}" : "Delt med deg av {owner}",
diff --git a/core/l10n/nb.json b/core/l10n/nb.json
index a0bca69f382..b4fba808425 100644
--- a/core/l10n/nb.json
+++ b/core/l10n/nb.json
@@ -137,6 +137,7 @@
"Email link to person" : "Send lenke til person via e-post",
"Send" : "Send",
"Allow upload and editing" : "Tillatt opplasting og redigering",
+ "Read only" : "Kun lesetilgang",
"Secure drop (upload only)" : "Sikret filkasse (bare opplasting)",
"Shared with you and the group {group} by {owner}" : "Delt med deg og gruppen {group} av {owner}",
"Shared with you by {owner}" : "Delt med deg av {owner}",
diff --git a/core/shipped.json b/core/shipped.json
index e114ec769e7..d064cbb5c37 100644
--- a/core/shipped.json
+++ b/core/shipped.json
@@ -5,7 +5,6 @@
"comments",
"dav",
"encryption",
- "external",
"federatedfilesharing",
"federation",
"files",
diff --git a/core/templates/layout.guest.php b/core/templates/layout.guest.php
index 1f38aaef5f9..2c2373d53aa 100644
--- a/core/templates/layout.guest.php
+++ b/core/templates/layout.guest.php
@@ -40,7 +40,8 @@
<h1 class="hidden-visually">
<?php p($theme->getName()); ?>
</h1>
- <?php if(\OC::$server->getConfig()->getAppValue('theming', 'logoMime', false)): ?>
+ <?php if(\OC::$server->getConfig()->getSystemValue('installed', false)
+ && \OC::$server->getConfig()->getAppValue('theming', 'logoMime', false)): ?>
<img src="<?php p($theme->getLogo()); ?>"/>
<?php endif; ?>
</div>
diff --git a/l10n/l10n.pl b/l10n/l10n.pl
index 3f50ec0756b..c8312982fdc 100644
--- a/l10n/l10n.pl
+++ b/l10n/l10n.pl
@@ -120,6 +120,8 @@ if( $task eq 'read' ){
my @temp = split( /\//, $dir );
my $app = pop( @temp );
chdir( $dir );
+ # parses the app info and creates an dummy file specialAppInfoFakeDummyForL10nScript.php
+ `php $whereami/../build/l10nParseAppInfo.php`;
my @totranslate = crawlFiles('.');
my %ignore = readIgnorelist();
my $output = "${whereami}/templates/$app.pot";
@@ -139,6 +141,7 @@ if( $task eq 'read' ){
print " Reading $file\n";
`xgettext --output="$output" $joinexisting $keywords --language=$language "$file" --add-comments=TRANSLATORS --from-code=UTF-8 --package-version="8.0.0" --package-name="ownCloud Core" --msgid-bugs-address="translations\@owncloud.org"`;
}
+ rmtree( "specialAppInfoFakeDummyForL10nScript.php" );
chdir( $whereami );
}
}
diff --git a/lib/base.php b/lib/base.php
index 41e4ef9573c..69ea6e54c2d 100644
--- a/lib/base.php
+++ b/lib/base.php
@@ -246,9 +246,8 @@ class OC {
} else {
OC_Template::printErrorPage(
$l->t('Cannot write into "config" directory!'),
- $l->t('This can usually be fixed by '
- . '%sgiving the webserver write access to the config directory%s.',
- array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank" rel="noreferrer">', '</a>'))
+ $l->t('This can usually be fixed by giving the webserver write access to the config directory. See %s',
+ [ $urlGenerator->linkToDocs('admin-dir_permissions') ])
);
}
}
diff --git a/lib/l10n/el.js b/lib/l10n/el.js
index 9f4faf09873..26239ca7af3 100644
--- a/lib/l10n/el.js
+++ b/lib/l10n/el.js
@@ -141,6 +141,7 @@ OC.L10N.register(
"Nov." : "Νοε.",
"Dec." : "Δεκ.",
"A valid username must be provided" : "Πρέπει να δοθεί έγκυρο όνομα χρήστη",
+ "Username must not consist of dots only" : "Το όνομα χρήστη δεν πρέπει να περιέχει μόνο τελείες",
"A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
"The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο",
"Login canceled by app" : "Η είσοδος ακυρώθηκε από την εφαρμογή",
diff --git a/lib/l10n/el.json b/lib/l10n/el.json
index 569845c8249..da409d2b104 100644
--- a/lib/l10n/el.json
+++ b/lib/l10n/el.json
@@ -139,6 +139,7 @@
"Nov." : "Νοε.",
"Dec." : "Δεκ.",
"A valid username must be provided" : "Πρέπει να δοθεί έγκυρο όνομα χρήστη",
+ "Username must not consist of dots only" : "Το όνομα χρήστη δεν πρέπει να περιέχει μόνο τελείες",
"A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
"The username is already being used" : "Το όνομα χρήστη είναι κατειλημμένο",
"Login canceled by app" : "Η είσοδος ακυρώθηκε από την εφαρμογή",
diff --git a/lib/l10n/es_MX.js b/lib/l10n/es_MX.js
index 5fd1ce54184..0973501e629 100644
--- a/lib/l10n/es_MX.js
+++ b/lib/l10n/es_MX.js
@@ -14,7 +14,7 @@ OC.L10N.register(
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s y %5$s",
"Enterprise bundle" : "Paquete empresarial",
"Groupware bundle" : "Paquete de Groupware",
- "Social sharing bundle" : "Paquete de compartido social",
+ "Social sharing bundle" : "Paquete para compartir en redes sociales",
"PHP %s or higher is required." : "Se requiere de PHPH %s o superior.",
"PHP with a version lower than %s is required." : "PHP con una versión inferiror a la %s es requerido. ",
"%sbit or higher PHP required." : "se requiere PHP para %sbit o superior.",
diff --git a/lib/l10n/es_MX.json b/lib/l10n/es_MX.json
index 7c4db901384..9dd56c44284 100644
--- a/lib/l10n/es_MX.json
+++ b/lib/l10n/es_MX.json
@@ -12,7 +12,7 @@
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s y %5$s",
"Enterprise bundle" : "Paquete empresarial",
"Groupware bundle" : "Paquete de Groupware",
- "Social sharing bundle" : "Paquete de compartido social",
+ "Social sharing bundle" : "Paquete para compartir en redes sociales",
"PHP %s or higher is required." : "Se requiere de PHPH %s o superior.",
"PHP with a version lower than %s is required." : "PHP con una versión inferiror a la %s es requerido. ",
"%sbit or higher PHP required." : "se requiere PHP para %sbit o superior.",
diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js
index d493c880444..791452dbba5 100644
--- a/lib/l10n/fr.js
+++ b/lib/l10n/fr.js
@@ -12,6 +12,9 @@ OC.L10N.register(
"%1$s, %2$s and %3$s" : "%1$s, %2$s et %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s et %4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s et %5$s",
+ "Enterprise bundle" : "Pack pour entreprise",
+ "Groupware bundle" : "Pack pour travail collaboratif",
+ "Social sharing bundle" : "Pack pour partage social",
"PHP %s or higher is required." : "PHP %s ou supérieur est requis.",
"PHP with a version lower than %s is required." : "PHP avec une version antérieure à %s est requis.",
"%sbit or higher PHP required." : "%sbit ou PHP supérieur est requis.",
diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json
index 7b077838d40..6f8e5808891 100644
--- a/lib/l10n/fr.json
+++ b/lib/l10n/fr.json
@@ -10,6 +10,9 @@
"%1$s, %2$s and %3$s" : "%1$s, %2$s et %3$s",
"%1$s, %2$s, %3$s and %4$s" : "%1$s, %2$s, %3$s et %4$s",
"%1$s, %2$s, %3$s, %4$s and %5$s" : "%1$s, %2$s, %3$s, %4$s et %5$s",
+ "Enterprise bundle" : "Pack pour entreprise",
+ "Groupware bundle" : "Pack pour travail collaboratif",
+ "Social sharing bundle" : "Pack pour partage social",
"PHP %s or higher is required." : "PHP %s ou supérieur est requis.",
"PHP with a version lower than %s is required." : "PHP avec une version antérieure à %s est requis.",
"%sbit or higher PHP required." : "%sbit ou PHP supérieur est requis.",
diff --git a/lib/l10n/nb.js b/lib/l10n/nb.js
index 3e2095aa0bc..b51292a0c31 100644
--- a/lib/l10n/nb.js
+++ b/lib/l10n/nb.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Admin" : "Admin",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "Basisinnstillinger",
"Sharing" : "Deling",
"Security" : "Sikkerhet",
"Encryption" : "Kryptering",
diff --git a/lib/l10n/nb.json b/lib/l10n/nb.json
index b7d619990f7..5ee3cb99e71 100644
--- a/lib/l10n/nb.json
+++ b/lib/l10n/nb.json
@@ -52,6 +52,7 @@
"Admin" : "Admin",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "Basisinnstillinger",
"Sharing" : "Deling",
"Security" : "Sikkerhet",
"Encryption" : "Kryptering",
diff --git a/lib/private/Config.php b/lib/private/Config.php
index f15854b6113..b4fe9e03d23 100644
--- a/lib/private/Config.php
+++ b/lib/private/Config.php
@@ -249,8 +249,7 @@ class Config {
$url = \OC::$server->getURLGenerator()->linkToDocs('admin-dir_permissions');
throw new HintException(
"Can't write into config directory!",
- 'This can usually be fixed by '
- .'<a href="' . $url . '" target="_blank" rel="noreferrer">giving the webserver write access to the config directory</a>.');
+ 'This can usually be fixed by giving the webserver write access to the config directory. See ' . $url);
}
// Try to acquire a file lock
diff --git a/lib/private/Files/View.php b/lib/private/Files/View.php
index 5e581feba6e..0e22415e6f7 100644
--- a/lib/private/Files/View.php
+++ b/lib/private/Files/View.php
@@ -1081,7 +1081,11 @@ class View {
*/
public function free_space($path = '/') {
$this->assertPathLength($path);
- return $this->basicOperation('free_space', $path);
+ $result = $this->basicOperation('free_space', $path);
+ if ($result === null) {
+ throw new InvalidPathException();
+ }
+ return $result;
}
/**
diff --git a/lib/private/Mail/EMailTemplate.php b/lib/private/Mail/EMailTemplate.php
index 3442e8e9430..0ae79345e4c 100644
--- a/lib/private/Mail/EMailTemplate.php
+++ b/lib/private/Mail/EMailTemplate.php
@@ -357,7 +357,7 @@ EOF;
}
$this->headerAdded = true;
- $logoUrl = $this->urlGenerator->getAbsoluteURL($this->themingDefaults->getLogo());
+ $logoUrl = $this->urlGenerator->getAbsoluteURL($this->themingDefaults->getLogo(false));
$this->htmlBody .= vsprintf($this->header, [$this->themingDefaults->getColorPrimary(), $logoUrl, $this->themingDefaults->getName()]);
}
diff --git a/lib/private/Setup.php b/lib/private/Setup.php
index b1cf289d9aa..b8a861fd296 100644
--- a/lib/private/Setup.php
+++ b/lib/private/Setup.php
@@ -462,6 +462,7 @@ class Setup {
$content .= "\n RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]";
$content .= "\n RewriteCond %{REQUEST_FILENAME} !\\.(css|js|svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$";
$content .= "\n RewriteCond %{REQUEST_FILENAME} !core/img/favicon.ico$";
+ $content .= "\n RewriteCond %{REQUEST_FILENAME} !core/img/manifest.json$";
$content .= "\n RewriteCond %{REQUEST_FILENAME} !/remote.php";
$content .= "\n RewriteCond %{REQUEST_FILENAME} !/public.php";
$content .= "\n RewriteCond %{REQUEST_FILENAME} !/cron.php";
diff --git a/lib/private/legacy/defaults.php b/lib/private/legacy/defaults.php
index cc4991efd3e..f6d72d9776d 100644
--- a/lib/private/legacy/defaults.php
+++ b/lib/private/legacy/defaults.php
@@ -47,9 +47,8 @@ class OC_Defaults {
private $defaultSlogan;
private $defaultLogoClaim;
private $defaultColorPrimary;
- private $defaultLogoUrl;
- function __construct() {
+ public function __construct() {
$this->l = \OC::$server->getL10N('lib');
$this->defaultEntity = 'Nextcloud'; /* e.g. company name, used for footers and copyright notices */
@@ -65,8 +64,6 @@ class OC_Defaults {
$this->defaultSlogan = $this->l->t('a safe home for all your data');
$this->defaultLogoClaim = '';
$this->defaultColorPrimary = '#0082c9';
- $this->defaultLogoUrl = \OC::$server->getURLGenerator()->imagePath('core','logo.svg');
- $this->defaultLogoUrl .= '?v=' . hash('sha1', implode('.', \OCP\Util::getVersion()));
$themePath = OC::$SERVERROOT . '/themes/' . OC_Util::getTheme() . '/defaults.php';
if (file_exists($themePath)) {
@@ -307,13 +304,19 @@ class OC_Defaults {
/**
* Themed logo url
*
+ * @param bool $useSvg Whether to point to the SVG image or a fallback
* @return string
*/
- public function getLogo() {
+ public function getLogo($useSvg = true) {
if ($this->themeExist('getLogo')) {
- return $this->theme->getLogo();
+ return $this->theme->getLogo($useSvg);
}
- return $this->defaultLogoUrl;
+ if($useSvg) {
+ $logo = \OC::$server->getURLGenerator()->imagePath('core', 'logo.svg');
+ } else {
+ $logo = \OC::$server->getURLGenerator()->imagePath('core', 'logo.png');
+ }
+ return $logo . '?v=' . hash('sha1', implode('.', \OCP\Util::getVersion()));
}
}
diff --git a/lib/private/legacy/util.php b/lib/private/legacy/util.php
index d49599cb8a1..7750e84f065 100644
--- a/lib/private/legacy/util.php
+++ b/lib/private/legacy/util.php
@@ -669,9 +669,8 @@ class OC_Util {
if (!is_writable(OC::$configDir) or !is_readable(OC::$configDir)) {
$errors[] = array(
'error' => $l->t('Cannot write into "config" directory'),
- 'hint' => $l->t('This can usually be fixed by '
- . '%sgiving the webserver write access to the config directory%s.',
- array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank" rel="noreferrer">', '</a>'))
+ 'hint' => $l->t('This can usually be fixed by giving the webserver write access to the config directory. See %s',
+ [$urlGenerator->linkToDocs('admin-dir_permissions')])
);
}
}
@@ -684,10 +683,9 @@ class OC_Util {
) {
$errors[] = array(
'error' => $l->t('Cannot write into "apps" directory'),
- 'hint' => $l->t('This can usually be fixed by '
- . '%sgiving the webserver write access to the apps directory%s'
- . ' or disabling the appstore in the config file.',
- array('<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank" rel="noreferrer">', '</a>'))
+ 'hint' => $l->t('This can usually be fixed by giving the webserver write access to the apps directory'
+ . ' or disabling the appstore in the config file. See %s',
+ [$urlGenerator->linkToDocs('admin-dir_permissions')])
);
}
}
@@ -700,16 +698,14 @@ class OC_Util {
} else {
$errors[] = [
'error' => $l->t('Cannot create "data" directory'),
- 'hint' => $l->t('This can usually be fixed by '
- . '<a href="%s" target="_blank" rel="noreferrer">giving the webserver write access to the root directory</a>.',
+ 'hint' => $l->t('This can usually be fixed by giving the webserver write access to the root directory. See %s',
[$urlGenerator->linkToDocs('admin-dir_permissions')])
];
}
} else if (!is_writable($CONFIG_DATADIRECTORY) or !is_readable($CONFIG_DATADIRECTORY)) {
//common hint for all file permissions error messages
- $permissionsHint = $l->t('Permissions can usually be fixed by '
- . '%sgiving the webserver write access to the root directory%s.',
- ['<a href="' . $urlGenerator->linkToDocs('admin-dir_permissions') . '" target="_blank" rel="noreferrer">', '</a>']);
+ $permissionsHint = $l->t('Permissions can usually be fixed by giving the webserver write access to the root directory. See %.',
+ [$urlGenerator->linkToDocs('admin-dir_permissions')]);
$errors[] = [
'error' => 'Your data directory is not writable',
'hint' => $permissionsHint
diff --git a/lib/public/Defaults.php b/lib/public/Defaults.php
index dbde78bce68..543657694c5 100644
--- a/lib/public/Defaults.php
+++ b/lib/public/Defaults.php
@@ -178,11 +178,12 @@ class Defaults {
/**
* Themed logo url
*
+ * @param bool $useSvg Whether to point to the SVG image or a fallback
* @return string
* @since 12.0.0
*/
- public function getLogo() {
- return $this->defaults->getLogo();
+ public function getLogo($useSvg = true) {
+ return $this->defaults->getLogo($useSvg);
}
/**
diff --git a/lib/public/Security/ISecureRandom.php b/lib/public/Security/ISecureRandom.php
index c60529ef803..14190639f44 100644
--- a/lib/public/Security/ISecureRandom.php
+++ b/lib/public/Security/ISecureRandom.php
@@ -45,6 +45,13 @@ interface ISecureRandom {
const CHAR_SYMBOLS = '!\"#$%&\\\'()* +,-./:;<=>?@[\]^_`{|}~';
/**
+ * Characters that can be used for <code>generate($length, $characters)</code>, to
+ * generate human readable random strings. Lower- and upper-case characters and digits
+ * are included. Characters which are ambiguous are excluded, such as I, l, and 1 and so on.
+ */
+ const CHAR_HUMAN_READABLE = "abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789";
+
+ /**
* Convenience method to get a low strength random number generator.
*
* Low Strength should be used anywhere that random strings are needed
diff --git a/settings/BackgroundJobs/VerifyUserData.php b/settings/BackgroundJobs/VerifyUserData.php
index 4a32398f6c4..8c02ae1727c 100644
--- a/settings/BackgroundJobs/VerifyUserData.php
+++ b/settings/BackgroundJobs/VerifyUserData.php
@@ -96,6 +96,8 @@ class VerifyUserData extends Job {
$jobList->remove($this, $this->argument);
if ($this->retainJob) {
$this->reAddJob($jobList, $this->argument);
+ } else {
+ $this->resetVerificationState();
}
}
@@ -270,4 +272,17 @@ class VerifyUserData extends Job {
return ((time() - $lastRun) > $this->interval);
}
+
+ /**
+ * reset verification state after max tries are reached
+ */
+ protected function resetVerificationState() {
+ $user = $this->userManager->get($this->argument['uid']);
+ if ($user !== null) {
+ $accountData = $this->accountManager->getUser($user);
+ $accountData[$this->argument['type']]['verified'] = AccountManager::NOT_VERIFIED;
+ $this->accountManager->updateUser($user, $accountData);
+ }
+ }
+
}
diff --git a/settings/Controller/AuthSettingsController.php b/settings/Controller/AuthSettingsController.php
index 57192e119a9..7bb8a6654e6 100644
--- a/settings/Controller/AuthSettingsController.php
+++ b/settings/Controller/AuthSettingsController.php
@@ -154,16 +154,16 @@ class AuthSettingsController extends Controller {
}
/**
- * Return a 20 digit device password
+ * Return a 25 digit device password
*
- * Example: ABCDE-FGHIJ-KLMNO-PQRST
+ * Example: AbCdE-fGhIj-KlMnO-pQrSt-12345
*
* @return string
*/
private function generateRandomDeviceToken() {
$groups = [];
- for ($i = 0; $i < 4; $i++) {
- $groups[] = $this->random->generate(5, implode('', range('A', 'Z')));
+ for ($i = 0; $i < 5; $i++) {
+ $groups[] = $this->random->generate(5, ISecureRandom::CHAR_HUMAN_READABLE);
}
return implode('-', $groups);
}
diff --git a/settings/Controller/UsersController.php b/settings/Controller/UsersController.php
index 4fed2655940..d4a5de93a36 100644
--- a/settings/Controller/UsersController.php
+++ b/settings/Controller/UsersController.php
@@ -611,7 +611,7 @@ class UsersController extends Controller {
switch ($account) {
case 'verify-twitter':
$accountData[AccountManager::PROPERTY_TWITTER]['verified'] = AccountManager::VERIFICATION_IN_PROGRESS;
- $msg = $this->l10n->t('In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):');
+ $msg = $this->l10n->t('In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):');
$code = $codeMd5;
$type = AccountManager::PROPERTY_TWITTER;
$data = $accountData[AccountManager::PROPERTY_TWITTER]['value'];
@@ -619,7 +619,7 @@ class UsersController extends Controller {
break;
case 'verify-website':
$accountData[AccountManager::PROPERTY_WEBSITE]['verified'] = AccountManager::VERIFICATION_IN_PROGRESS;
- $msg = $this->l10n->t('In order to verify your Website store following content in your web-root at \'.well-known/CloudIdVerificationCode.txt\' (please make sure that the complete text is in one line):');
+ $msg = $this->l10n->t('In order to verify your Website, store the following content in your web-root at \'.well-known/CloudIdVerificationCode.txt\' (please make sure that the complete text is in one line):');
$type = AccountManager::PROPERTY_WEBSITE;
$data = $accountData[AccountManager::PROPERTY_WEBSITE]['value'];
$accountData[AccountManager::PROPERTY_WEBSITE]['signature'] = $signature;
diff --git a/settings/css/settings.css b/settings/css/settings.css
index 95649fc23eb..fb71e5ece23 100644
--- a/settings/css/settings.css
+++ b/settings/css/settings.css
@@ -392,7 +392,7 @@ table.nostyle td {
#new-app-login-name,
#new-app-password {
- width: 186px;
+ width: 245px;
font-family: monospace;
background-color: lightyellow;
}
diff --git a/settings/l10n/cs.js b/settings/l10n/cs.js
index 41dcb827b24..f0b593a0eb9 100644
--- a/settings/l10n/cs.js
+++ b/settings/l10n/cs.js
@@ -44,7 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Nelze smazat uživatele.",
"Error while enabling user." : "Chyba při povolování uživatele.",
"Error while disabling user." : "Chyba při zakazování uživatele.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Pokud chcete ověřit váš Twitter účet, napište následující tweet (ujistěte se, že ho zasíláte bez odřádků):",
"Settings saved" : "Nastavení uloženo",
"Unable to change full name" : "Nelze změnit celé jméno",
"Unable to change email address" : "Nepodařilo se změnit e-mailovou adresu",
diff --git a/settings/l10n/cs.json b/settings/l10n/cs.json
index 56ebb525361..6ac052c7e56 100644
--- a/settings/l10n/cs.json
+++ b/settings/l10n/cs.json
@@ -42,7 +42,6 @@
"Unable to delete user." : "Nelze smazat uživatele.",
"Error while enabling user." : "Chyba při povolování uživatele.",
"Error while disabling user." : "Chyba při zakazování uživatele.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Pokud chcete ověřit váš Twitter účet, napište následující tweet (ujistěte se, že ho zasíláte bez odřádků):",
"Settings saved" : "Nastavení uloženo",
"Unable to change full name" : "Nelze změnit celé jméno",
"Unable to change email address" : "Nepodařilo se změnit e-mailovou adresu",
diff --git a/settings/l10n/de.js b/settings/l10n/de.js
index 32b255a4343..f2f55fffcec 100644
--- a/settings/l10n/de.js
+++ b/settings/l10n/de.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Benutzer konnte nicht gelöscht werden.",
"Error while enabling user." : "Fehler beim aktivieren des Nutzers.",
"Error while disabling user." : "Fehler beim deaktivieren des Nutzers.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Zum Bestätigen deines Twitter-Accounts poste bitte den folgenden Tweet auf Twitter (Bitter sicherstellen, dass dies ohne Zeilenumbrüche gepostet wird):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Zum Bestätigen des Speicherplatzes auf deiner Webseite, speichere den folgenden Inhalt im Web-Root unter '.well-known/CloudIdVerificationCode.txt' (bitte stelle sicher, dass der komplette Text in einer Zeile ist):",
"Settings saved" : "Einstellungen gespeichert",
"Unable to change full name" : "Der vollständige Name konnte nicht geändert werden",
"Unable to change email address" : "E-Mail-Adresse konnte nicht geändert werden",
diff --git a/settings/l10n/de.json b/settings/l10n/de.json
index bbb16334700..f58c3d104ef 100644
--- a/settings/l10n/de.json
+++ b/settings/l10n/de.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "Benutzer konnte nicht gelöscht werden.",
"Error while enabling user." : "Fehler beim aktivieren des Nutzers.",
"Error while disabling user." : "Fehler beim deaktivieren des Nutzers.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Zum Bestätigen deines Twitter-Accounts poste bitte den folgenden Tweet auf Twitter (Bitter sicherstellen, dass dies ohne Zeilenumbrüche gepostet wird):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Zum Bestätigen des Speicherplatzes auf deiner Webseite, speichere den folgenden Inhalt im Web-Root unter '.well-known/CloudIdVerificationCode.txt' (bitte stelle sicher, dass der komplette Text in einer Zeile ist):",
"Settings saved" : "Einstellungen gespeichert",
"Unable to change full name" : "Der vollständige Name konnte nicht geändert werden",
"Unable to change email address" : "E-Mail-Adresse konnte nicht geändert werden",
diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js
index 857bd334340..c0e45e8a71d 100644
--- a/settings/l10n/de_DE.js
+++ b/settings/l10n/de_DE.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Benutzer konnte nicht gelöscht werden.",
"Error while enabling user." : "Fehler beim aktivieren des Nutzers.",
"Error while disabling user." : "Fehler beim deaktivieren des Nutzers.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Zum Bestätigen Ihres Twitter-Accounts posten Sie bitte den folgenden Tweet auf Twitter (Bitter sicherstellen, dass dies ohne Zeilenumbrüche gepostet wird):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Zum Bestätigen des Speicherplatzes auf Ihrer Webseite, speichern Sie den folgenden Inhalt im Web-Root unter '.well-known/CloudIdVerificationCode.txt' (bitte stellen Sie sicher, dass der komplette Text in einer Zeile ist):",
"Settings saved" : "Einstellungen gespeichert",
"Unable to change full name" : "Der vollständige Name konnte nicht geändert werden",
"Unable to change email address" : "E-Mail-Adresse konnte nicht geändert werden",
diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json
index a59cc07be6d..ee2caef6c7a 100644
--- a/settings/l10n/de_DE.json
+++ b/settings/l10n/de_DE.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "Benutzer konnte nicht gelöscht werden.",
"Error while enabling user." : "Fehler beim aktivieren des Nutzers.",
"Error while disabling user." : "Fehler beim deaktivieren des Nutzers.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Zum Bestätigen Ihres Twitter-Accounts posten Sie bitte den folgenden Tweet auf Twitter (Bitter sicherstellen, dass dies ohne Zeilenumbrüche gepostet wird):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Zum Bestätigen des Speicherplatzes auf Ihrer Webseite, speichern Sie den folgenden Inhalt im Web-Root unter '.well-known/CloudIdVerificationCode.txt' (bitte stellen Sie sicher, dass der komplette Text in einer Zeile ist):",
"Settings saved" : "Einstellungen gespeichert",
"Unable to change full name" : "Der vollständige Name konnte nicht geändert werden",
"Unable to change email address" : "E-Mail-Adresse konnte nicht geändert werden",
diff --git a/settings/l10n/el.js b/settings/l10n/el.js
index a61a07909f1..f80098adea5 100644
--- a/settings/l10n/el.js
+++ b/settings/l10n/el.js
@@ -5,6 +5,7 @@ OC.L10N.register(
"You changed your password" : "Αλλάξατε το συνθηματικό σας",
"Your password was reset by an administrator" : "Έχει γίνει επαναφορά του συνθηματικού σας από τον διαχειριστή",
"You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας",
+ "Your email address was changed by an administrator" : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας άλλαξε από τον διαχειριστή",
"Your apps" : "Οι εφαρμογές σας",
"Enabled apps" : "Ενεργοποιημένες εφαρμογές",
"Disabled apps" : "Απενεργοποιημένες εφαρμογές",
@@ -29,16 +30,23 @@ OC.L10N.register(
"You need to set your user email before being able to send test emails." : "Πρέπει να ορίσετε το email του χρήστη πριν να είστε σε θέση να στείλετε δοκιμαστικά emails.",
"Invalid request" : "Μη έγκυρο αίτημα",
"Invalid mail address" : "Μη έγκυρη διεύθυνση ταχυδρομείου.",
+ "No valid group selected" : "Δεν επιλέθηκε έγκυρη ομάδα",
"A user with that name already exists." : "Υπάρχει ήδη χρήστης με το ίδιο όνομα",
"Unable to create user." : "Αδυναμία δημιουργίας χρήστη.",
"Unable to delete user." : "Αδυναμία διαγραφής χρήστη.",
+ "Error while enabling user." : "Σφάλμα κατά την ενεργοποίηση χρήστη.",
+ "Error while disabling user." : "Σφάλμα κατά την απενεργοποίηση χρήστη.",
"Settings saved" : "Οι ρυθμίσεις αποθηκεύτηκαν",
"Unable to change full name" : "Δεν ήταν δυνατή η αλλαγή του πλήρους ονόματός σας",
+ "Unable to change email address" : "Αδυναμία αλλαγής διεύθυνσης ηλεκτρονικής αλληλογραφίας",
"Your full name has been changed." : "Το πλήρες όνομά σας άλλαξε.",
"Forbidden" : "Δεν επιτρέπεται",
"Invalid user" : "Μη έγκυρος χρήστης",
"Unable to change mail address" : "Αδυναμία αλλαγής διεύθυνσης αλληλογραφίας",
"Email saved" : "Το email αποθηκεύτηκε ",
+ "Password changed for %s" : "Το συνθηματικό άλλαξε για τον %s",
+ "The new email address is %s" : "Η νέα διεύθυνση ηλεκτρονικής αλληλογραφίας είναι %s",
+ "Your username is: %s" : "Το όνομα χρήστη σας είναι: %s",
"Set your password" : "Καθορισμός συνθηματικού",
"Install Client" : "Εγκατάσταση πελάτη",
"Your %s account was created" : "Ο λογαριασμός %s δημιουργήθηκε",
@@ -49,6 +57,7 @@ OC.L10N.register(
"Migration in progress. Please wait until the migration is finished" : "Μετάβαση σε εξέλιξη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί η μετάβαση",
"Migration started …" : "Η μετάβαση ξεκίνησε ...",
"Not saved" : "Δεν αποθηκεύτηκε",
+ "Sending…" : "Γινεται αποστολή...",
"Email sent" : "Το Email απεστάλη ",
"Official" : "Επίσημο",
"All" : "Όλες",
@@ -56,9 +65,11 @@ OC.L10N.register(
"No apps found for your version" : "Δεν βρέθηκαν εφαρμογές για αυτή την έκδοση",
"Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "Οι εγκεκριμένες εφαρμογές αναπτύχθηκαν από αξιόπιστους προγραμματιστές και έχουν περάσει έναν συνοπτικό έλεγχο ασφαλείας. Διατηρούνται ενεργά σε ένα αποθετήριο ανοιχτού κώδικα και οι συντηρητές θεωρούν οτι είναι σταθερές για κανονική χρήση.",
"This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "Η εφαρμογή αυτή δεν ελέγχεται για θέματα ασφάλειας και είναι νέα ή είναι γνωστό ότι είναι ασταθής. Η εγκατάσταση γίνεται με δική σας ευθύνη.",
+ "Disabling app …" : "Γίνεται απενεργοποίηση εφαρμογής...",
"Error while disabling app" : "Σφάλμα κατά την απενεργοποίηση εισόδου",
"Disable" : "Απενεργοποίηση",
"Enable" : "Ενεργοποίηση",
+ "Enabling app …" : "Γίνεται ενεργοποίηση εφαρμογής...",
"Error while enabling app" : "Σφάλμα κατά την ενεργοποίηση της εφαρμογής",
"Error: this app cannot be enabled because it makes the server unstable" : "Σφάλμα: αυτή η εφαρμογή δεν μπορεί να ενεργοποιηθεί γιατί θα καταστήσει ασταθή τον διακομιστή.",
"Error: could not disable broken app" : "Σφάλμα: αδυναμία απενεργοποίησης κατεστραμμένης εφαρμογής",
@@ -66,6 +77,9 @@ OC.L10N.register(
"Updating...." : "Ενημέρωση...",
"Error while updating app" : "Σφάλμα κατά την ενημέρωση της εφαρμογής",
"Updated" : "Ενημερώθηκε",
+ "Removing …" : "Αφαίρεση ...",
+ "Error while removing app" : "Σφάλμα κατά την αφαίρεση της εφαρμογής",
+ "Remove" : "Αφαίρεση",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Η εφαρμογή έχει ενεργοποιηθεί αλλά χρειάζεται ενημέρωση. Θα μεταφερθείτε στη σελίδα ενημέρωσης σε 5 δευτερόλεπτα.",
"App update" : "Ενημέρωση εφαρμογής",
"Approved" : "Εγκεκριμένο",
@@ -117,6 +131,8 @@ OC.L10N.register(
"undo" : "αναίρεση",
"never" : "ποτέ",
"deleted {userName}" : "διαγραφή {userName}",
+ "Unable to add user to group {group}" : "Αδυναμία προσθήκης χρήστη στην ομάδα {group}",
+ "Unable to remove user from group {group}" : "Αδυναμία αφαίρεσης χρήστη από την ομάδα {group}",
"Add group" : "Προσθήκη ομάδας",
"no group" : "καμια ομάδα",
"Password successfully changed" : "Το συνθηματικό αλλάχτηκε επιτυχώς",
@@ -191,6 +207,7 @@ OC.L10N.register(
"Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ",
"Allow users to share via link" : "Να επιτρέπεται σε χρήστες ο διαμοιρασμός μέσω συνδέσμου",
"Allow public uploads" : "Επιτρέπεται το κοινόχρηστο ανέβασμα",
+ "Always ask for a password" : "Ερώτηση συνθηματικού πάντα",
"Enforce password protection" : "Επιβολή προστασίας με κωδικό",
"Set default expiration date" : "Ορισμός ερήμην ημερομηνίας λήξης",
"Expire after " : "Λήξη μετά από",
@@ -295,6 +312,7 @@ OC.L10N.register(
"Default quota" : "Προεπιλέγμενη χωρητικότητα",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Παρακαλώ εισάγετε επιτρεπόμενα μερίδια αποθηκευτικού χώρου (π.χ. \"512 MB\" ή \"12 GB\")",
"Other" : "Άλλο",
+ "Group admin for" : "Ομαδα διαχειριστή για",
"Quota" : "Σύνολο Χώρου",
"Storage location" : "Τοποθεσία αποθηκευτικού χώρου",
"User backend" : "Σύστημα υποστήριξης χρήστη",
diff --git a/settings/l10n/el.json b/settings/l10n/el.json
index 5617064e25c..674e0ce3ee4 100644
--- a/settings/l10n/el.json
+++ b/settings/l10n/el.json
@@ -3,6 +3,7 @@
"You changed your password" : "Αλλάξατε το συνθηματικό σας",
"Your password was reset by an administrator" : "Έχει γίνει επαναφορά του συνθηματικού σας από τον διαχειριστή",
"You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας",
+ "Your email address was changed by an administrator" : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας άλλαξε από τον διαχειριστή",
"Your apps" : "Οι εφαρμογές σας",
"Enabled apps" : "Ενεργοποιημένες εφαρμογές",
"Disabled apps" : "Απενεργοποιημένες εφαρμογές",
@@ -27,16 +28,23 @@
"You need to set your user email before being able to send test emails." : "Πρέπει να ορίσετε το email του χρήστη πριν να είστε σε θέση να στείλετε δοκιμαστικά emails.",
"Invalid request" : "Μη έγκυρο αίτημα",
"Invalid mail address" : "Μη έγκυρη διεύθυνση ταχυδρομείου.",
+ "No valid group selected" : "Δεν επιλέθηκε έγκυρη ομάδα",
"A user with that name already exists." : "Υπάρχει ήδη χρήστης με το ίδιο όνομα",
"Unable to create user." : "Αδυναμία δημιουργίας χρήστη.",
"Unable to delete user." : "Αδυναμία διαγραφής χρήστη.",
+ "Error while enabling user." : "Σφάλμα κατά την ενεργοποίηση χρήστη.",
+ "Error while disabling user." : "Σφάλμα κατά την απενεργοποίηση χρήστη.",
"Settings saved" : "Οι ρυθμίσεις αποθηκεύτηκαν",
"Unable to change full name" : "Δεν ήταν δυνατή η αλλαγή του πλήρους ονόματός σας",
+ "Unable to change email address" : "Αδυναμία αλλαγής διεύθυνσης ηλεκτρονικής αλληλογραφίας",
"Your full name has been changed." : "Το πλήρες όνομά σας άλλαξε.",
"Forbidden" : "Δεν επιτρέπεται",
"Invalid user" : "Μη έγκυρος χρήστης",
"Unable to change mail address" : "Αδυναμία αλλαγής διεύθυνσης αλληλογραφίας",
"Email saved" : "Το email αποθηκεύτηκε ",
+ "Password changed for %s" : "Το συνθηματικό άλλαξε για τον %s",
+ "The new email address is %s" : "Η νέα διεύθυνση ηλεκτρονικής αλληλογραφίας είναι %s",
+ "Your username is: %s" : "Το όνομα χρήστη σας είναι: %s",
"Set your password" : "Καθορισμός συνθηματικού",
"Install Client" : "Εγκατάσταση πελάτη",
"Your %s account was created" : "Ο λογαριασμός %s δημιουργήθηκε",
@@ -47,6 +55,7 @@
"Migration in progress. Please wait until the migration is finished" : "Μετάβαση σε εξέλιξη. Παρακαλούμε περιμένετε μέχρι να ολοκληρωθεί η μετάβαση",
"Migration started …" : "Η μετάβαση ξεκίνησε ...",
"Not saved" : "Δεν αποθηκεύτηκε",
+ "Sending…" : "Γινεται αποστολή...",
"Email sent" : "Το Email απεστάλη ",
"Official" : "Επίσημο",
"All" : "Όλες",
@@ -54,9 +63,11 @@
"No apps found for your version" : "Δεν βρέθηκαν εφαρμογές για αυτή την έκδοση",
"Approved apps are developed by trusted developers and have passed a cursory security check. They are actively maintained in an open code repository and their maintainers deem them to be stable for casual to normal use." : "Οι εγκεκριμένες εφαρμογές αναπτύχθηκαν από αξιόπιστους προγραμματιστές και έχουν περάσει έναν συνοπτικό έλεγχο ασφαλείας. Διατηρούνται ενεργά σε ένα αποθετήριο ανοιχτού κώδικα και οι συντηρητές θεωρούν οτι είναι σταθερές για κανονική χρήση.",
"This app is not checked for security issues and is new or known to be unstable. Install at your own risk." : "Η εφαρμογή αυτή δεν ελέγχεται για θέματα ασφάλειας και είναι νέα ή είναι γνωστό ότι είναι ασταθής. Η εγκατάσταση γίνεται με δική σας ευθύνη.",
+ "Disabling app …" : "Γίνεται απενεργοποίηση εφαρμογής...",
"Error while disabling app" : "Σφάλμα κατά την απενεργοποίηση εισόδου",
"Disable" : "Απενεργοποίηση",
"Enable" : "Ενεργοποίηση",
+ "Enabling app …" : "Γίνεται ενεργοποίηση εφαρμογής...",
"Error while enabling app" : "Σφάλμα κατά την ενεργοποίηση της εφαρμογής",
"Error: this app cannot be enabled because it makes the server unstable" : "Σφάλμα: αυτή η εφαρμογή δεν μπορεί να ενεργοποιηθεί γιατί θα καταστήσει ασταθή τον διακομιστή.",
"Error: could not disable broken app" : "Σφάλμα: αδυναμία απενεργοποίησης κατεστραμμένης εφαρμογής",
@@ -64,6 +75,9 @@
"Updating...." : "Ενημέρωση...",
"Error while updating app" : "Σφάλμα κατά την ενημέρωση της εφαρμογής",
"Updated" : "Ενημερώθηκε",
+ "Removing …" : "Αφαίρεση ...",
+ "Error while removing app" : "Σφάλμα κατά την αφαίρεση της εφαρμογής",
+ "Remove" : "Αφαίρεση",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Η εφαρμογή έχει ενεργοποιηθεί αλλά χρειάζεται ενημέρωση. Θα μεταφερθείτε στη σελίδα ενημέρωσης σε 5 δευτερόλεπτα.",
"App update" : "Ενημέρωση εφαρμογής",
"Approved" : "Εγκεκριμένο",
@@ -115,6 +129,8 @@
"undo" : "αναίρεση",
"never" : "ποτέ",
"deleted {userName}" : "διαγραφή {userName}",
+ "Unable to add user to group {group}" : "Αδυναμία προσθήκης χρήστη στην ομάδα {group}",
+ "Unable to remove user from group {group}" : "Αδυναμία αφαίρεσης χρήστη από την ομάδα {group}",
"Add group" : "Προσθήκη ομάδας",
"no group" : "καμια ομάδα",
"Password successfully changed" : "Το συνθηματικό αλλάχτηκε επιτυχώς",
@@ -189,6 +205,7 @@
"Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ",
"Allow users to share via link" : "Να επιτρέπεται σε χρήστες ο διαμοιρασμός μέσω συνδέσμου",
"Allow public uploads" : "Επιτρέπεται το κοινόχρηστο ανέβασμα",
+ "Always ask for a password" : "Ερώτηση συνθηματικού πάντα",
"Enforce password protection" : "Επιβολή προστασίας με κωδικό",
"Set default expiration date" : "Ορισμός ερήμην ημερομηνίας λήξης",
"Expire after " : "Λήξη μετά από",
@@ -293,6 +310,7 @@
"Default quota" : "Προεπιλέγμενη χωρητικότητα",
"Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "Παρακαλώ εισάγετε επιτρεπόμενα μερίδια αποθηκευτικού χώρου (π.χ. \"512 MB\" ή \"12 GB\")",
"Other" : "Άλλο",
+ "Group admin for" : "Ομαδα διαχειριστή για",
"Quota" : "Σύνολο Χώρου",
"Storage location" : "Τοποθεσία αποθηκευτικού χώρου",
"User backend" : "Σύστημα υποστήριξης χρήστη",
diff --git a/settings/l10n/es.js b/settings/l10n/es.js
index e418d7d3a1a..90d96ea6e1a 100644
--- a/settings/l10n/es.js
+++ b/settings/l10n/es.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "No se pudo eliminar el usuario.",
"Error while enabling user." : "Error al habilitar usuario.",
"Error while disabling user." : "Error al deshabilitar usuario.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Para verificar tu cuenta de Twitter escribe en ella el siguiente tuit (por favor, asegúrate de escribirlo sin saltos de línea):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Para verificar tu sutio web, guarda e lsiguiente contenido en la raíz de la web en '.well-known/CloudIdVerificationCode.txt' (por favor, asegúrate de que el texto completo aparece en una línea):",
"Settings saved" : "Ajustes guardados",
"Unable to change full name" : "No se puede cambiar el nombre completo",
"Unable to change email address" : "No se pudo cambiar la dirección de correo",
diff --git a/settings/l10n/es.json b/settings/l10n/es.json
index 7532e4d8ce5..c430bb995d4 100644
--- a/settings/l10n/es.json
+++ b/settings/l10n/es.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "No se pudo eliminar el usuario.",
"Error while enabling user." : "Error al habilitar usuario.",
"Error while disabling user." : "Error al deshabilitar usuario.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Para verificar tu cuenta de Twitter escribe en ella el siguiente tuit (por favor, asegúrate de escribirlo sin saltos de línea):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Para verificar tu sutio web, guarda e lsiguiente contenido en la raíz de la web en '.well-known/CloudIdVerificationCode.txt' (por favor, asegúrate de que el texto completo aparece en una línea):",
"Settings saved" : "Ajustes guardados",
"Unable to change full name" : "No se puede cambiar el nombre completo",
"Unable to change email address" : "No se pudo cambiar la dirección de correo",
diff --git a/settings/l10n/es_MX.js b/settings/l10n/es_MX.js
index a2121aa0590..692593dda51 100644
--- a/settings/l10n/es_MX.js
+++ b/settings/l10n/es_MX.js
@@ -44,8 +44,8 @@ OC.L10N.register(
"Unable to delete user." : "No fue posible eliminar el usuario.",
"Error while enabling user." : "Se presentó un error al habilitar el usuario. ",
"Error while disabling user." : "Se presentó un error al deshabilitar el usuario.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Para poder verficar su cuenta de Twitter publique el siguiente tweet en su Twitter (favor de asegurarse de publicarlo sin lineas en blanco):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Para poder verficar la tienda de su sitio web",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Para poder verificar su cuenta de Twitter, publique el siguiente tweet en Twitter (favor de asegurarse de publicar sin ninguna línea en blanco):",
+ "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Para poder verficiar si sitio Web, agrege el siguiente contendio a su web-root en '.well-known/CloudIdVerificationCode.txt' (favor de asegurarse de que el texto completo este en una sóla línea):",
"Settings saved" : "Se han guardado los ajustes",
"Unable to change full name" : "No fue posible cambiar el nombre completo",
"Unable to change email address" : "No fue posible cambiar la dirección de correo electrónico",
diff --git a/settings/l10n/es_MX.json b/settings/l10n/es_MX.json
index 1552ac8219a..37836b5ce6b 100644
--- a/settings/l10n/es_MX.json
+++ b/settings/l10n/es_MX.json
@@ -42,8 +42,8 @@
"Unable to delete user." : "No fue posible eliminar el usuario.",
"Error while enabling user." : "Se presentó un error al habilitar el usuario. ",
"Error while disabling user." : "Se presentó un error al deshabilitar el usuario.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Para poder verficar su cuenta de Twitter publique el siguiente tweet en su Twitter (favor de asegurarse de publicarlo sin lineas en blanco):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Para poder verficar la tienda de su sitio web",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Para poder verificar su cuenta de Twitter, publique el siguiente tweet en Twitter (favor de asegurarse de publicar sin ninguna línea en blanco):",
+ "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Para poder verficiar si sitio Web, agrege el siguiente contendio a su web-root en '.well-known/CloudIdVerificationCode.txt' (favor de asegurarse de que el texto completo este en una sóla línea):",
"Settings saved" : "Se han guardado los ajustes",
"Unable to change full name" : "No fue posible cambiar el nombre completo",
"Unable to change email address" : "No fue posible cambiar la dirección de correo electrónico",
diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js
index a3b757750f6..cb4f3ad9748 100644
--- a/settings/l10n/fr.js
+++ b/settings/l10n/fr.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Your apps" : "Vos applications",
"Enabled apps" : "Applications activées",
"Disabled apps" : "Applications désactivées",
+ "App bundles" : "Pack d'applications",
"Wrong password" : "Mot de passe incorrect",
"Saved" : "Sauvegardé",
"No user supplied" : "Aucun utilisateur fourni",
@@ -43,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Impossible de supprimer l'utilisateur.",
"Error while enabling user." : "Erreur lors de l'activation de l'utilisateur.",
"Error while disabling user." : "Erreur lors de la désactivation de l'utilisateur.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Pour vérifier votre compte Twitter, poster le tweet suivant sur Twitter (veuillez vérifier de le poster sans saut de ligne) :",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Pour vérifier votre site web, placer le contenu suivant à la racine de votre site à '.well-known/CloudIdVerificationCode.txt' (veuillez vérifier que le texte complet est en une seule ligne) :",
"Settings saved" : "Paramètres sauvegardés",
"Unable to change full name" : "Impossible de modifier le nom complet",
"Unable to change email address" : "Impossible de modifier l'adresse e-mail",
@@ -148,6 +147,7 @@ OC.L10N.register(
"Public" : "Publique",
"Will be synced to a global and public address book" : "Va être synchronisé dans un carnet d'adresse global et public",
"Verify" : "Vérifier",
+ "Verifying …" : "Vérification en cours...",
"Select a profile picture" : "Selectionnez une photo de profil ",
"Very weak password" : "Mot de passe de très faible sécurité",
"Weak password" : "Mot de passe de faible sécurité",
@@ -178,6 +178,7 @@ OC.L10N.register(
"A valid email must be provided" : "Vous devez fournir une adresse e-mail valide",
"__language_name__" : "Français",
"Unlimited" : "Illimité",
+ "Verifying" : "Vérification en cours",
"Personal info" : "Informations personnelles",
"Sessions" : "Sessions",
"App passwords" : "Mots de passe de l'application",
@@ -269,6 +270,7 @@ OC.L10N.register(
"Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Afficher les conditions d'utilisation sur la page publique de téléversement (seulement lorsque la liste des fichiers est masquée).",
"This text will be shown on the public link upload page when the file list is hidden." : "Ce texte sera affiché sur la page publique de téléversement lorsque la liste des fichiers est masquée.",
"Tips & tricks" : "Trucs et astuces",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Il y a beaucoup de fonctionnalités et de choix de configurations disponibles qui permettent de manière optimale de customiser et d'utiliser cette instance. Voici quelques liens pour en savoir plus.",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite est actuellement utilisé comme système de gestion de base de données. Pour des installations plus volumineuses, nous vous recommandons de migrer vers un autre système de gestion de base de données.",
"This is particularly recommended when using the desktop client for file synchronisation." : "C'est particulièrement recommandé lorsque l'on utilise un client bureau pour la synchronisation des fichiers.",
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>.",
diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json
index 2cc96b346d6..909fb664196 100644
--- a/settings/l10n/fr.json
+++ b/settings/l10n/fr.json
@@ -9,6 +9,7 @@
"Your apps" : "Vos applications",
"Enabled apps" : "Applications activées",
"Disabled apps" : "Applications désactivées",
+ "App bundles" : "Pack d'applications",
"Wrong password" : "Mot de passe incorrect",
"Saved" : "Sauvegardé",
"No user supplied" : "Aucun utilisateur fourni",
@@ -41,8 +42,6 @@
"Unable to delete user." : "Impossible de supprimer l'utilisateur.",
"Error while enabling user." : "Erreur lors de l'activation de l'utilisateur.",
"Error while disabling user." : "Erreur lors de la désactivation de l'utilisateur.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Pour vérifier votre compte Twitter, poster le tweet suivant sur Twitter (veuillez vérifier de le poster sans saut de ligne) :",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Pour vérifier votre site web, placer le contenu suivant à la racine de votre site à '.well-known/CloudIdVerificationCode.txt' (veuillez vérifier que le texte complet est en une seule ligne) :",
"Settings saved" : "Paramètres sauvegardés",
"Unable to change full name" : "Impossible de modifier le nom complet",
"Unable to change email address" : "Impossible de modifier l'adresse e-mail",
@@ -146,6 +145,7 @@
"Public" : "Publique",
"Will be synced to a global and public address book" : "Va être synchronisé dans un carnet d'adresse global et public",
"Verify" : "Vérifier",
+ "Verifying …" : "Vérification en cours...",
"Select a profile picture" : "Selectionnez une photo de profil ",
"Very weak password" : "Mot de passe de très faible sécurité",
"Weak password" : "Mot de passe de faible sécurité",
@@ -176,6 +176,7 @@
"A valid email must be provided" : "Vous devez fournir une adresse e-mail valide",
"__language_name__" : "Français",
"Unlimited" : "Illimité",
+ "Verifying" : "Vérification en cours",
"Personal info" : "Informations personnelles",
"Sessions" : "Sessions",
"App passwords" : "Mots de passe de l'application",
@@ -267,6 +268,7 @@
"Show disclaimer text on the public link upload page. (Only shown when the file list is hidden.)" : "Afficher les conditions d'utilisation sur la page publique de téléversement (seulement lorsque la liste des fichiers est masquée).",
"This text will be shown on the public link upload page when the file list is hidden." : "Ce texte sera affiché sur la page publique de téléversement lorsque la liste des fichiers est masquée.",
"Tips & tricks" : "Trucs et astuces",
+ "There are a lot of features and config switches available to optimally customize and use this instance. Here are some pointers for more information." : "Il y a beaucoup de fonctionnalités et de choix de configurations disponibles qui permettent de manière optimale de customiser et d'utiliser cette instance. Voici quelques liens pour en savoir plus.",
"SQLite is currently being used as the backend database. For larger installations we recommend that you switch to a different database backend." : "SQLite est actuellement utilisé comme système de gestion de base de données. Pour des installations plus volumineuses, nous vous recommandons de migrer vers un autre système de gestion de base de données.",
"This is particularly recommended when using the desktop client for file synchronisation." : "C'est particulièrement recommandé lorsque l'on utilise un client bureau pour la synchronisation des fichiers.",
"To migrate to another database use the command line tool: 'occ db:convert-type', or see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>." : "Pour migrer vers un autre type de base de données, utilisez la ligne de commande : 'occ db:convert-type' ou consultez la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a>.",
diff --git a/settings/l10n/ko.js b/settings/l10n/ko.js
index 041e576a5ef..05a54328644 100644
--- a/settings/l10n/ko.js
+++ b/settings/l10n/ko.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "사용자를 삭제할 수 없습니다.",
"Error while enabling user." : "사용자를 활성화할 수 없습니다.",
"Error while disabling user." : "사용자를 비활성화할 수 없습니다.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "내 트위터 계정을 확인하려면 다음 트윗을 트위터에 올리십시오 (빈 줄이 있으면 안 됩니다):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "내 웹 사이트를 확인하려면 웹 사이트 루트의 '.well-known/CloudIdVerificationCode.txt' 파일에 다음 내용을 올리십시오(전체 텍스트가 한 줄에 있어야 합니다):",
"Settings saved" : "설정 저장됨",
"Unable to change full name" : "전체 이름을 변경할 수 없음",
"Unable to change email address" : "이메일 주소를 변경할 수 없음",
diff --git a/settings/l10n/ko.json b/settings/l10n/ko.json
index f9828ccd1ca..a35ef996cf5 100644
--- a/settings/l10n/ko.json
+++ b/settings/l10n/ko.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "사용자를 삭제할 수 없습니다.",
"Error while enabling user." : "사용자를 활성화할 수 없습니다.",
"Error while disabling user." : "사용자를 비활성화할 수 없습니다.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "내 트위터 계정을 확인하려면 다음 트윗을 트위터에 올리십시오 (빈 줄이 있으면 안 됩니다):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "내 웹 사이트를 확인하려면 웹 사이트 루트의 '.well-known/CloudIdVerificationCode.txt' 파일에 다음 내용을 올리십시오(전체 텍스트가 한 줄에 있어야 합니다):",
"Settings saved" : "설정 저장됨",
"Unable to change full name" : "전체 이름을 변경할 수 없음",
"Unable to change email address" : "이메일 주소를 변경할 수 없음",
diff --git a/settings/l10n/nb.js b/settings/l10n/nb.js
index 43dce267992..d129e0a7b94 100644
--- a/settings/l10n/nb.js
+++ b/settings/l10n/nb.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Kan ikke slette bruker.",
"Error while enabling user." : "Feil ved påslag av brukerkonto.",
"Error while disabling user." : "Feil ved avslag av brukerkonto.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "For å bekrefte din Twitter-konto, post følgende tweet på Twitter (husk å ikke få med noen linjeskift):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "For å bekrefte din nettside, lagre følgende innhold på roten av din nettjener på '.well-known/CloudIdVerificationCode.txt' (forsikre deg om at hele teksten er på ei linje):",
"Settings saved" : "Innstillinger lagret",
"Unable to change full name" : "Klarte ikke å endre fullt navn",
"Unable to change email address" : "Klarer ikke å endre epostadresse",
diff --git a/settings/l10n/nb.json b/settings/l10n/nb.json
index af55342821d..52c3ecb0f9a 100644
--- a/settings/l10n/nb.json
+++ b/settings/l10n/nb.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "Kan ikke slette bruker.",
"Error while enabling user." : "Feil ved påslag av brukerkonto.",
"Error while disabling user." : "Feil ved avslag av brukerkonto.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "For å bekrefte din Twitter-konto, post følgende tweet på Twitter (husk å ikke få med noen linjeskift):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "For å bekrefte din nettside, lagre følgende innhold på roten av din nettjener på '.well-known/CloudIdVerificationCode.txt' (forsikre deg om at hele teksten er på ei linje):",
"Settings saved" : "Innstillinger lagret",
"Unable to change full name" : "Klarte ikke å endre fullt navn",
"Unable to change email address" : "Klarer ikke å endre epostadresse",
diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js
index 297bedefbce..9ea41e6d244 100644
--- a/settings/l10n/nl.js
+++ b/settings/l10n/nl.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Kan de gebruiker niet verwijderen.",
"Error while enabling user." : "Fout bij inschakelen gebruiker.",
"Error while disabling user." : "Fout bij uitschakelen gebruiker.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Om je Twitter-account te verifiëren moet je de volgende tweet op Twitter plaatsen (let erop dat het plaatst zonder regelafbreking):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Om je website te verifiëren moet je de volgende inhoud binnen de web-root van je server in '.well-known/CloudIdVerificationCode.txt' plaatsen (let erop dat de complete tekst op één regel staat):",
"Settings saved" : "Instellingen opgeslagen",
"Unable to change full name" : "Kan de volledige naam niet wijzigen",
"Unable to change email address" : "Kan e-mailadres niet wijzigen",
diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json
index fb8a77b2d1c..d8a8e630e35 100644
--- a/settings/l10n/nl.json
+++ b/settings/l10n/nl.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "Kan de gebruiker niet verwijderen.",
"Error while enabling user." : "Fout bij inschakelen gebruiker.",
"Error while disabling user." : "Fout bij uitschakelen gebruiker.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Om je Twitter-account te verifiëren moet je de volgende tweet op Twitter plaatsen (let erop dat het plaatst zonder regelafbreking):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Om je website te verifiëren moet je de volgende inhoud binnen de web-root van je server in '.well-known/CloudIdVerificationCode.txt' plaatsen (let erop dat de complete tekst op één regel staat):",
"Settings saved" : "Instellingen opgeslagen",
"Unable to change full name" : "Kan de volledige naam niet wijzigen",
"Unable to change email address" : "Kan e-mailadres niet wijzigen",
diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js
index 898adf19178..b35e9bb07fe 100644
--- a/settings/l10n/pt_BR.js
+++ b/settings/l10n/pt_BR.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Não foi possível excluir o usuário.",
"Error while enabling user." : "Erro ao habilitar usuário.",
"Error while disabling user." : "Erro ao desabilitar usuário.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "A fim de verificar sua conta no Twitter, poste isso no Twitter (por favor, certifique-se de postar sem quebras de linha):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "A fim de verificar seu site, coloque o seguinte conteúdo no raiz do site: '.well-known/CloudIdVerificationCode.txt' (por favor certifique-se que o texto completo esteja em uma linha):",
"Settings saved" : "Configurações salvas",
"Unable to change full name" : "Não foi possível alterar o nome completo",
"Unable to change email address" : "Não foi possível alterar o endereço de e-mail",
diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json
index 69c654cb48e..013fcec5ddc 100644
--- a/settings/l10n/pt_BR.json
+++ b/settings/l10n/pt_BR.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "Não foi possível excluir o usuário.",
"Error while enabling user." : "Erro ao habilitar usuário.",
"Error while disabling user." : "Erro ao desabilitar usuário.",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "A fim de verificar sua conta no Twitter, poste isso no Twitter (por favor, certifique-se de postar sem quebras de linha):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "A fim de verificar seu site, coloque o seguinte conteúdo no raiz do site: '.well-known/CloudIdVerificationCode.txt' (por favor certifique-se que o texto completo esteja em uma linha):",
"Settings saved" : "Configurações salvas",
"Unable to change full name" : "Não foi possível alterar o nome completo",
"Unable to change email address" : "Não foi possível alterar o endereço de e-mail",
diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js
index 4ab1c924b84..f4a70c6b9df 100644
--- a/settings/l10n/ru.js
+++ b/settings/l10n/ru.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Невозможно удалить пользователя.",
"Error while enabling user." : "Ошибка разблокировки пользователя ",
"Error while disabling user." : "Ошибка блокировки пользователя",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Для подтверждения владения аккаунтом Twitter, опубликуйте следующий твит (убедитесь, что разместили его без разрыва стироки):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Для подтверждения владения сайтом поместите в корневом каталоге по пути «.well-known/CloudIdVerificationCode.txt» следующее содержимое (весь текст в одну строку): ",
"Settings saved" : "Настройки сохранены",
"Unable to change full name" : "Невозможно изменить полное имя",
"Unable to change email address" : "Невозможно изменить адрес электронной почты",
diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json
index 7d70b23d785..1c926139adb 100644
--- a/settings/l10n/ru.json
+++ b/settings/l10n/ru.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "Невозможно удалить пользователя.",
"Error while enabling user." : "Ошибка разблокировки пользователя ",
"Error while disabling user." : "Ошибка блокировки пользователя",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Для подтверждения владения аккаунтом Twitter, опубликуйте следующий твит (убедитесь, что разместили его без разрыва стироки):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Для подтверждения владения сайтом поместите в корневом каталоге по пути «.well-known/CloudIdVerificationCode.txt» следующее содержимое (весь текст в одну строку): ",
"Settings saved" : "Настройки сохранены",
"Unable to change full name" : "Невозможно изменить полное имя",
"Unable to change email address" : "Невозможно изменить адрес электронной почты",
diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js
index 2c19506d45d..9a99f9c1562 100644
--- a/settings/l10n/tr.js
+++ b/settings/l10n/tr.js
@@ -44,8 +44,6 @@ OC.L10N.register(
"Unable to delete user." : "Kullanıcı silinemedi.",
"Error while enabling user." : "Kullanıcı etkinleştirilirken sorun çıktı",
"Error while disabling user." : "Kullanıcı devre dışı bırakılırken sorun çıktı",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Twitter hesabı iletinizi doğrulamak için şu iletiyi Twitter üzerine gönderin (satır sonu olmadan gönderdiğinizden emin olun):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Web sitesi depolamınızı doğrulamak için şu içeriği web sitenizin kök klasörüne '.well-known/CloudIdVerificationCode.txt' dosyası içine ekleyin (tüm içeriğin tek bir satır olarak eklendiğinden emin olun):",
"Settings saved" : "Ayarlar kaydedildi",
"Unable to change full name" : "Tam adınız değiştirilemedi",
"Unable to change email address" : "E-posta adresi değiştirilemedi",
diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json
index 88d2fff4ecc..9ec6423b14d 100644
--- a/settings/l10n/tr.json
+++ b/settings/l10n/tr.json
@@ -42,8 +42,6 @@
"Unable to delete user." : "Kullanıcı silinemedi.",
"Error while enabling user." : "Kullanıcı etkinleştirilirken sorun çıktı",
"Error while disabling user." : "Kullanıcı devre dışı bırakılırken sorun çıktı",
- "In order to verify your Twitter account post following tweet on Twitter (please make sure to post it without any line breaks):" : "Twitter hesabı iletinizi doğrulamak için şu iletiyi Twitter üzerine gönderin (satır sonu olmadan gönderdiğinizden emin olun):",
- "In order to verify your Website store following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Web sitesi depolamınızı doğrulamak için şu içeriği web sitenizin kök klasörüne '.well-known/CloudIdVerificationCode.txt' dosyası içine ekleyin (tüm içeriğin tek bir satır olarak eklendiğinden emin olun):",
"Settings saved" : "Ayarlar kaydedildi",
"Unable to change full name" : "Tam adınız değiştirilemedi",
"Unable to change email address" : "E-posta adresi değiştirilemedi",
diff --git a/tests/Settings/Controller/AuthSettingsControllerTest.php b/tests/Settings/Controller/AuthSettingsControllerTest.php
index 7f4277acd73..5c1280ff4b0 100644
--- a/tests/Settings/Controller/AuthSettingsControllerTest.php
+++ b/tests/Settings/Controller/AuthSettingsControllerTest.php
@@ -133,11 +133,11 @@ class AuthSettingsControllerTest extends TestCase {
->method('getLoginName')
->will($this->returnValue('User13'));
- $this->secureRandom->expects($this->exactly(4))
+ $this->secureRandom->expects($this->exactly(5))
->method('generate')
- ->with(5, implode('', range('A', 'Z')))
+ ->with(5, ISecureRandom::CHAR_HUMAN_READABLE)
->will($this->returnValue('XXXXX'));
- $newToken = 'XXXXX-XXXXX-XXXXX-XXXXX';
+ $newToken = 'XXXXX-XXXXX-XXXXX-XXXXX-XXXXX';
$this->tokenProvider->expects($this->once())
->method('generateToken')
diff --git a/tests/acceptance/features/core/Actor.php b/tests/acceptance/features/core/Actor.php
index 3a57b7e6054..a87ccfb7737 100644
--- a/tests/acceptance/features/core/Actor.php
+++ b/tests/acceptance/features/core/Actor.php
@@ -42,6 +42,11 @@
* exception is thrown if the element is not found, and, optionally, it is
* possible to try again to find the element several times before giving up.
*
+ * The returned object is also a wrapper over the element itself that
+ * automatically handles common causes of failed commands, like clicking on a
+ * hidden element; in this case, the wrapper would wait for the element to be
+ * visible up to the timeout set to find the element.
+ *
* The amount of time to wait before giving up is specified in each call to
* find(). However, a general multiplier to be applied to every timeout can be
* set using setFindTimeoutMultiplier(); this makes possible to retry longer
@@ -150,6 +155,10 @@ class Actor {
* before retrying is half a second. If the timeout is not 0 it will be
* affected by the multiplier set using setFindTimeoutMultiplier(), if any.
*
+ * When found, the element is returned wrapped in an ElementWrapper; the
+ * ElementWrapper handles common causes of failures when executing commands
+ * in an element, like clicking on a hidden element.
+ *
* In any case, if the element, or its ancestors, can not be found a
* NoSuchElementException is thrown.
*
@@ -158,90 +167,16 @@ class Actor {
* most for the element to appear.
* @param float $timeoutStep the number of seconds (decimals allowed) to
* wait before trying to find the element again.
- * @return \Behat\Mink\Element\Element the element found.
+ * @return ElementWrapper an ElementWrapper object for the element.
* @throws NoSuchElementException if the element, or its ancestor, can not
* be found.
*/
- public function find($elementLocator, $timeout = 0, $timeoutStep = 0.5) {
+ public function find(Locator $elementLocator, $timeout = 0, $timeoutStep = 0.5) {
$timeout = $timeout * $this->findTimeoutMultiplier;
- return $this->findInternal($elementLocator, $timeout, $timeoutStep);
- }
-
- /**
- * Finds an element in the Mink Session of this Actor.
- *
- * The timeout is not affected by the multiplier set using
- * setFindTimeoutMultiplier().
- *
- * @see find($elementLocator, $timeout, $timeoutStep)
- */
- private function findInternal($elementLocator, $timeout, $timeoutStep) {
- $element = null;
- $selector = $elementLocator->getSelector();
- $locator = $elementLocator->getLocator();
- $ancestorElement = $this->findAncestorElement($elementLocator, $timeout, $timeoutStep);
-
- $findCallback = function() use (&$element, $selector, $locator, $ancestorElement) {
- $element = $ancestorElement->find($selector, $locator);
-
- return $element !== null;
- };
- if (!Utils::waitFor($findCallback, $timeout, $timeoutStep)) {
- $message = $elementLocator->getDescription() . " could not be found";
- if ($timeout > 0) {
- $message = $message . " after $timeout seconds";
- }
- throw new NoSuchElementException($message);
- }
-
- return $element;
- }
-
- /**
- * Returns the ancestor element from which the given locator will be looked
- * for.
- *
- * If the ancestor of the given locator is another locator the element for
- * the ancestor locator is found and returned. If the ancestor of the given
- * locator is already an element that element is the one returned. If the
- * given locator has no ancestor then the base document element is returned.
- *
- * The timeout is used only when finding the element for the ancestor
- * locator; if the timeout expires a NoSuchElementException is thrown.
- *
- * @param Locator $elementLocator the locator for the element to get its
- * ancestor.
- * @param float $timeout the number of seconds (decimals allowed) to wait at
- * most for the ancestor element to appear.
- * @param float $timeoutStep the number of seconds (decimals allowed) to
- * wait before trying to find the ancestor element again.
- * @return \Behat\Mink\Element\Element the ancestor element found.
- * @throws NoSuchElementException if the ancestor element can not be found.
- */
- private function findAncestorElement($elementLocator, $timeout, $timeoutStep) {
- $ancestorElement = $elementLocator->getAncestor();
- if ($ancestorElement instanceof Locator) {
- try {
- $ancestorElement = $this->findInternal($ancestorElement, $timeout, $timeoutStep);
- } catch (NoSuchElementException $exception) {
- // Little hack to show the stack of ancestor elements that could
- // not be found, as Behat only shows the message of the last
- // exception in the chain.
- $message = $exception->getMessage() . "\n" .
- $elementLocator->getDescription() . " could not be found";
- if ($timeout > 0) {
- $message = $message . " after $timeout seconds";
- }
- throw new NoSuchElementException($message, $exception);
- }
- }
-
- if ($ancestorElement === null) {
- $ancestorElement = $this->getSession()->getPage();
- }
+ $elementFinder = new ElementFinder($this->session, $elementLocator, $timeout, $timeoutStep);
- return $ancestorElement;
+ return new ElementWrapper($elementFinder);
}
/**
diff --git a/tests/acceptance/features/core/ElementFinder.php b/tests/acceptance/features/core/ElementFinder.php
new file mode 100644
index 00000000000..d075e9fe660
--- /dev/null
+++ b/tests/acceptance/features/core/ElementFinder.php
@@ -0,0 +1,205 @@
+<?php
+
+/**
+ *
+ * @copyright Copyright (c) 2017, Daniel Calviño Sánchez (danxuliu@gmail.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/>.
+ *
+ */
+
+/**
+ * Command object to find Mink elements.
+ *
+ * The element locator is relative to its ancestor (either another locator or an
+ * actual element); if it has no ancestor then the base document element is
+ * used.
+ *
+ * Sometimes an element may not be found simply because it has not appeared yet;
+ * for those cases ElementFinder supports trying again to find the element
+ * several times before giving up. The timeout parameter controls how much time
+ * to wait, at most, to find the element; the timeoutStep parameter controls how
+ * much time to wait before trying again to find the element. If ancestor
+ * locators need to be found the timeout is applied individually to each one,
+ * that is, if the timeout is 10 seconds the method will wait up to 10 seconds
+ * to find the ancestor of the ancestor and, then, up to 10 seconds to find the
+ * ancestor and, then, up to 10 seconds to find the element. By default the
+ * timeout is 0, so the element and its ancestor will be looked for just once;
+ * the default time to wait before retrying is half a second.
+ *
+ * In any case, if the element, or its ancestors, can not be found a
+ * NoSuchElementException is thrown.
+ */
+class ElementFinder {
+
+ /**
+ * Finds an element in the given Mink Session.
+ *
+ * @see ElementFinder
+ */
+ private static function findInternal(\Behat\Mink\Session $session, Locator $elementLocator, $timeout, $timeoutStep) {
+ $element = null;
+ $selector = $elementLocator->getSelector();
+ $locator = $elementLocator->getLocator();
+ $ancestorElement = self::findAncestorElement($session, $elementLocator, $timeout, $timeoutStep);
+
+ $findCallback = function() use (&$element, $selector, $locator, $ancestorElement) {
+ $element = $ancestorElement->find($selector, $locator);
+
+ return $element !== null;
+ };
+ if (!Utils::waitFor($findCallback, $timeout, $timeoutStep)) {
+ $message = $elementLocator->getDescription() . " could not be found";
+ if ($timeout > 0) {
+ $message = $message . " after $timeout seconds";
+ }
+ throw new NoSuchElementException($message);
+ }
+
+ return $element;
+ }
+
+ /**
+ * Returns the ancestor element from which the given locator will be looked
+ * for.
+ *
+ * If the ancestor of the given locator is another locator the element for
+ * the ancestor locator is found and returned. If the ancestor of the given
+ * locator is already an element that element is the one returned. If the
+ * given locator has no ancestor then the base document element is returned.
+ *
+ * The timeout is used only when finding the element for the ancestor
+ * locator; if the timeout expires a NoSuchElementException is thrown.
+ *
+ * @param \Behat\Mink\Session $session the Mink Session to get the ancestor
+ * element from.
+ * @param Locator $elementLocator the locator for the element to get its
+ * ancestor.
+ * @param float $timeout the number of seconds (decimals allowed) to wait at
+ * most for the ancestor element to appear.
+ * @param float $timeoutStep the number of seconds (decimals allowed) to
+ * wait before trying to find the ancestor element again.
+ * @return \Behat\Mink\Element\Element the ancestor element found.
+ * @throws NoSuchElementException if the ancestor element can not be found.
+ */
+ private static function findAncestorElement(\Behat\Mink\Session $session, Locator $elementLocator, $timeout, $timeoutStep) {
+ $ancestorElement = $elementLocator->getAncestor();
+ if ($ancestorElement instanceof Locator) {
+ try {
+ $ancestorElement = self::findInternal($session, $ancestorElement, $timeout, $timeoutStep);
+ } catch (NoSuchElementException $exception) {
+ // Little hack to show the stack of ancestor elements that could
+ // not be found, as Behat only shows the message of the last
+ // exception in the chain.
+ $message = $exception->getMessage() . "\n" .
+ $elementLocator->getDescription() . " could not be found";
+ if ($timeout > 0) {
+ $message = $message . " after $timeout seconds";
+ }
+ throw new NoSuchElementException($message, $exception);
+ }
+ }
+
+ if ($ancestorElement === null) {
+ $ancestorElement = $session->getPage();
+ }
+
+ return $ancestorElement;
+ }
+
+ /**
+ * @var \Behat\Mink\Session
+ */
+ private $session;
+
+ /**
+ * @param Locator
+ */
+ private $elementLocator;
+
+ /**
+ * @var float
+ */
+ private $timeout;
+
+ /**
+ * @var float
+ */
+ private $timeoutStep;
+
+ /**
+ * Creates a new ElementFinder.
+ *
+ * @param \Behat\Mink\Session $session the Mink Session to get the element
+ * from.
+ * @param Locator $elementLocator the locator for the element.
+ * @param float $timeout the number of seconds (decimals allowed) to wait at
+ * most for the element to appear.
+ * @param float $timeoutStep the number of seconds (decimals allowed) to
+ * wait before trying to find the element again.
+ */
+ public function __construct(\Behat\Mink\Session $session, Locator $elementLocator, $timeout, $timeoutStep) {
+ $this->session = $session;
+ $this->elementLocator = $elementLocator;
+ $this->timeout = $timeout;
+ $this->timeoutStep = $timeoutStep;
+ }
+
+ /**
+ * Returns the description of the element to find.
+ *
+ * @return string the description of the element to find.
+ */
+ public function getDescription() {
+ return $this->elementLocator->getDescription();
+ }
+
+ /**
+ * Returns the timeout.
+ *
+ * @return float the number of seconds (decimals allowed) to wait at most
+ * for the element to appear.
+ */
+ public function getTimeout() {
+ return $this->timeout;
+ }
+
+ /**
+ * Returns the timeout step.
+ *
+ * @return float the number of seconds (decimals allowed) to wait before
+ * trying to find the element again.
+ */
+ public function getTimeoutStep() {
+ return $this->timeoutStep;
+ }
+
+ /**
+ * Finds an element using the parameters set in the constructor of this
+ * ElementFinder.
+ *
+ * If the element, or its ancestors, can not be found a
+ * NoSuchElementException is thrown.
+ *
+ * @return \Behat\Mink\Element\Element the element found.
+ * @throws NoSuchElementException if the element, or its ancestor, can not
+ * be found.
+ */
+ public function find() {
+ return self::findInternal($this->session, $this->elementLocator, $this->timeout, $this->timeoutStep);
+ }
+
+}
diff --git a/tests/acceptance/features/core/ElementWrapper.php b/tests/acceptance/features/core/ElementWrapper.php
new file mode 100644
index 00000000000..6b730903f6c
--- /dev/null
+++ b/tests/acceptance/features/core/ElementWrapper.php
@@ -0,0 +1,275 @@
+<?php
+
+/**
+ *
+ * @copyright Copyright (c) 2017, Daniel Calviño Sánchez (danxuliu@gmail.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/>.
+ *
+ */
+
+/**
+ * Wrapper to automatically handle failed commands on Mink elements.
+ *
+ * Commands executed on Mink elements may fail for several reasons. The
+ * ElementWrapper frees the caller of the commands from handling the most common
+ * reasons of failure.
+ *
+ * StaleElementReference exceptions are thrown when the command is executed on
+ * an element that is no longer attached to the DOM. This can happen even in
+ * a chained call like "$actor->find($locator)->click()"; in the milliseconds
+ * between finding the element and clicking it the element could have been
+ * removed from the page (for example, if a previous interaction with the page
+ * started an asynchronous update of the DOM). Every command executed through
+ * the ElementWrapper is guarded against StaleElementReference exceptions; if
+ * the element is stale it is found again using the same parameters to find it
+ * in the first place.
+ *
+ * ElementNotVisible exceptions are thrown when the command requires the element
+ * to be visible but the element is not. Finding an element only guarantees that
+ * (at that time) the element is attached to the DOM, but it does not provide
+ * any guarantee regarding its visibility. Due to that, a call like
+ * "$actor->find($locator)->click()" can fail if the element was hidden and
+ * meant to be made visible by a previous interaction with the page, but that
+ * interaction triggered an asynchronous update that was not finished when the
+ * click command is executed. All commands executed through the ElementWrapper
+ * that require the element to be visible are guarded against ElementNotVisible
+ * exceptions; if the element is not visible it is waited for it to be visible
+ * up to the timeout set to find it.
+ *
+ * Despite the automatic handling it is possible for the commands to throw those
+ * exceptions when they are executed again; this class does not handle cases
+ * like an element becoming stale several times in a row (uncommon) or an
+ * element not becoming visible before the timeout expires (which would mean
+ * that the timeout is too short or that the test has to, indeed, fail).
+ *
+ * If needed, automatically handling failed commands can be disabled calling
+ * "doNotHandleFailedCommands()"; as it returns the ElementWrapper it can be
+ * chained with the command to execute (but note that automatically handling
+ * failed commands will still be disabled if further commands are executed on
+ * the ElementWrapper).
+ */
+class ElementWrapper {
+
+ /**
+ * @var ElementFinder
+ */
+ private $elementFinder;
+
+ /**
+ * @var \Behat\Mink\Element\Element
+ */
+ private $element;
+
+ /**
+ * @param boolean
+ */
+ private $handleFailedCommands;
+
+ /**
+ * Creates a new ElementWrapper.
+ *
+ * The wrapped element is found in the constructor itself using the
+ * ElementFinder.
+ *
+ * @param ElementFinder $elementFinder the command object to find the
+ * wrapped element.
+ * @throws NoSuchElementException if the element, or its ancestor, can not
+ * be found.
+ */
+ public function __construct(ElementFinder $elementFinder) {
+ $this->elementFinder = $elementFinder;
+ $this->element = $elementFinder->find();
+ $this->handleFailedCommands = true;
+ }
+
+ /**
+ * Returns the raw Mink element.
+ *
+ * @return \Behat\Mink\Element\Element the wrapped element.
+ */
+ public function getWrappedElement() {
+ return $element;
+ }
+
+ /**
+ * Prevents the automatic handling of failed commands.
+ *
+ * @return ElementWrapper this ElementWrapper.
+ */
+ public function doNotHandleFailedCommands() {
+ $this->handleFailedCommands = false;
+
+ return $this;
+ }
+
+ /**
+ * Returns whether the wrapped element is visible or not.
+ *
+ * @return boolbean true if the wrapped element is visible, false otherwise.
+ */
+ public function isVisible() {
+ $commandCallback = function() {
+ return $this->element->isVisible();
+ };
+ return $this->executeCommand($commandCallback, "visibility could not be got");
+ }
+
+ /**
+ * Returns the text of the wrapped element.
+ *
+ * If the wrapped element is not visible the returned text is an empty
+ * string.
+ *
+ * @return string the text of the wrapped element, or an empty string if it
+ * is not visible.
+ */
+ public function getText() {
+ $commandCallback = function() {
+ return $this->element->getText();
+ };
+ return $this->executeCommand($commandCallback, "text could not be got");
+ }
+
+ /**
+ * Returns the value of the wrapped element.
+ *
+ * The value can be got even if the wrapped element is not visible.
+ *
+ * @return string the value of the wrapped element.
+ */
+ public function getValue() {
+ $commandCallback = function() {
+ return $this->element->getValue();
+ };
+ return $this->executeCommand($commandCallback, "value could not be got");
+ }
+
+ /**
+ * Sets the given value on the wrapped element.
+ *
+ * If automatically waits for the wrapped element to be visible (up to the
+ * timeout set when finding it).
+ *
+ * @param string $value the value to set.
+ */
+ public function setValue($value) {
+ $commandCallback = function() use ($value) {
+ $this->element->setValue($value);
+ };
+ $this->executeCommandOnVisibleElement($commandCallback, "value could not be set");
+ }
+
+ /**
+ * Clicks on the wrapped element.
+ *
+ * If automatically waits for the wrapped element to be visible (up to the
+ * timeout set when finding it).
+ */
+ public function click() {
+ $commandCallback = function() {
+ $this->element->click();
+ };
+ $this->executeCommandOnVisibleElement($commandCallback, "could not be clicked");
+ }
+
+ /**
+ * Executes the given command.
+ *
+ * If a StaleElementReference exception is thrown the wrapped element is
+ * found again and, then, the command is executed again.
+ *
+ * @param \Closure $commandCallback the command to execute.
+ * @param string $errorMessage an error message that describes the failed
+ * command (appended to the description of the element).
+ */
+ private function executeCommand(\Closure $commandCallback, $errorMessage) {
+ if (!$this->handleFailedCommands) {
+ return $commandCallback();
+ }
+
+ try {
+ return $commandCallback();
+ } catch (\WebDriver\Exception\StaleElementReference $exception) {
+ $this->printFailedCommandMessage($exception, $errorMessage);
+ }
+
+ $this->element = $this->elementFinder->find();
+
+ return $commandCallback();
+ }
+
+ /**
+ * Executes the given command on a visible element.
+ *
+ * If a StaleElementReference exception is thrown the wrapped element is
+ * found again and, then, the command is executed again. If an
+ * ElementNotVisible exception is thrown it is waited for the wrapped
+ * element to be visible and, then, the command is executed again.
+ *
+ * @param \Closure $commandCallback the command to execute.
+ * @param string $errorMessage an error message that describes the failed
+ * command (appended to the description of the element).
+ */
+ private function executeCommandOnVisibleElement(\Closure $commandCallback, $errorMessage) {
+ if (!$this->handleFailedCommands) {
+ return $commandCallback();
+ }
+
+ try {
+ return $this->executeCommand($commandCallback, $errorMessage);
+ } catch (\WebDriver\Exception\ElementNotVisible $exception) {
+ $this->printFailedCommandMessage($exception, $errorMessage);
+ }
+
+ $this->waitForElementToBeVisible();
+
+ return $commandCallback();
+ }
+
+ /**
+ * Prints information about the failed command.
+ *
+ * @param \Exception exception the exception thrown by the command.
+ * @param string $errorMessage an error message that describes the failed
+ * command (appended to the description of the locator of the element).
+ */
+ private function printFailedCommandMessage(\Exception $exception, $errorMessage) {
+ echo $this->elementFinder->getDescription() . " " . $errorMessage . "\n";
+ echo "Exception message: " . $exception->getMessage() . "\n";
+ echo "Trying again\n";
+ }
+
+ /**
+ * Waits for the wrapped element to be visible.
+ *
+ * This method waits up to the timeout used when finding the wrapped
+ * element; therefore, it may return when the element is still not visible.
+ *
+ * @return boolean true if the element is visible after the wait, false
+ * otherwise.
+ */
+ private function waitForElementToBeVisible() {
+ $isVisibleCallback = function() {
+ return $this->isVisible();
+ };
+ $timeout = $this->elementFinder->getTimeout();
+ $timeoutStep = $this->elementFinder->getTimeoutStep();
+
+ return Utils::waitFor($isVisibleCallback, $timeout, $timeoutStep);
+ }
+
+}
diff --git a/version.php b/version.php
index c1b989c8790..4f428c128aa 100644
--- a/version.php
+++ b/version.php
@@ -26,10 +26,10 @@
// between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel
// when updating major/minor version number.
-$OC_Version = array(12, 0, 0, 17);
+$OC_Version = array(12, 0, 0, 18);
// The human readable string
-$OC_VersionString = '12.0 beta 1';
+$OC_VersionString = '12.0 beta 2';
$OC_VersionCanBeUpgradedFrom = [
'nextcloud' => [