aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/comments/l10n/el.js2
-rw-r--r--apps/comments/l10n/el.json2
-rw-r--r--apps/dav/lib/Upload/AssemblyStream.php88
-rw-r--r--apps/encryption/l10n/el.js4
-rw-r--r--apps/encryption/l10n/el.json4
-rw-r--r--apps/encryption/l10n/it.js1
-rw-r--r--apps/encryption/l10n/it.json1
-rw-r--r--apps/encryption/l10n/ja.js3
-rw-r--r--apps/encryption/l10n/ja.json3
-rw-r--r--apps/federatedfilesharing/l10n/es.js2
-rw-r--r--apps/federatedfilesharing/l10n/es.json2
-rw-r--r--apps/federatedfilesharing/l10n/it.js1
-rw-r--r--apps/federatedfilesharing/l10n/it.json1
-rw-r--r--apps/federatedfilesharing/l10n/lt_LT.js2
-rw-r--r--apps/federatedfilesharing/l10n/lt_LT.json2
-rw-r--r--apps/federatedfilesharing/l10n/nl.js6
-rw-r--r--apps/federatedfilesharing/l10n/nl.json6
-rw-r--r--apps/federation/l10n/lt_LT.js16
-rw-r--r--apps/federation/l10n/lt_LT.json14
-rw-r--r--apps/federation/l10n/zh_TW.js11
-rw-r--r--apps/federation/l10n/zh_TW.json11
-rw-r--r--apps/files/l10n/el.js8
-rw-r--r--apps/files/l10n/el.json8
-rw-r--r--apps/files/l10n/es.js2
-rw-r--r--apps/files/l10n/es.json2
-rw-r--r--apps/files/l10n/is.js2
-rw-r--r--apps/files/l10n/is.json2
-rw-r--r--apps/files/l10n/it.js2
-rw-r--r--apps/files/l10n/it.json2
-rw-r--r--apps/files/l10n/lt_LT.js2
-rw-r--r--apps/files/l10n/lt_LT.json2
-rw-r--r--apps/files/l10n/nb.js2
-rw-r--r--apps/files/l10n/nb.json2
-rw-r--r--apps/files/l10n/sq.js1
-rw-r--r--apps/files/l10n/sq.json1
-rw-r--r--apps/files/l10n/zh_TW.js101
-rw-r--r--apps/files/l10n/zh_TW.json101
-rw-r--r--apps/files_external/l10n/el.js4
-rw-r--r--apps/files_external/l10n/el.json4
-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/fr.js1
-rw-r--r--apps/files_external/l10n/fr.json1
-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/ja.js2
-rw-r--r--apps/files_external/l10n/ja.json2
-rw-r--r--apps/files_external/l10n/lt_LT.js2
-rw-r--r--apps/files_external/l10n/lt_LT.json2
-rw-r--r--apps/files_external/l10n/nl.js2
-rw-r--r--apps/files_external/l10n/nl.json2
-rw-r--r--apps/files_sharing/appinfo/routes.php6
-rw-r--r--apps/files_sharing/l10n/de.js1
-rw-r--r--apps/files_sharing/l10n/de.json1
-rw-r--r--apps/files_sharing/l10n/de_DE.js1
-rw-r--r--apps/files_sharing/l10n/de_DE.json1
-rw-r--r--apps/files_sharing/l10n/el.js1
-rw-r--r--apps/files_sharing/l10n/el.json1
-rw-r--r--apps/files_sharing/l10n/en_GB.js1
-rw-r--r--apps/files_sharing/l10n/en_GB.json1
-rw-r--r--apps/files_sharing/l10n/fr.js1
-rw-r--r--apps/files_sharing/l10n/fr.json1
-rw-r--r--apps/files_sharing/l10n/is.js1
-rw-r--r--apps/files_sharing/l10n/is.json1
-rw-r--r--apps/files_sharing/l10n/lt_LT.js157
-rw-r--r--apps/files_sharing/l10n/lt_LT.json157
-rw-r--r--apps/files_sharing/l10n/nb.js1
-rw-r--r--apps/files_sharing/l10n/nb.json1
-rw-r--r--apps/files_sharing/l10n/nl.js1
-rw-r--r--apps/files_sharing/l10n/nl.json1
-rw-r--r--apps/files_sharing/l10n/pt_BR.js1
-rw-r--r--apps/files_sharing/l10n/pt_BR.json1
-rw-r--r--apps/files_sharing/l10n/ru.js1
-rw-r--r--apps/files_sharing/l10n/ru.json1
-rw-r--r--apps/files_sharing/l10n/sq.js7
-rw-r--r--apps/files_sharing/l10n/sq.json7
-rw-r--r--apps/files_sharing/l10n/tr.js1
-rw-r--r--apps/files_sharing/l10n/tr.json1
-rw-r--r--apps/files_sharing/lib/Activity/Providers/RemoteShares.php2
-rw-r--r--apps/files_sharing/lib/Capabilities.php2
-rw-r--r--apps/files_sharing/lib/Command/CleanupRemoteStorages.php6
-rw-r--r--apps/files_sharing/lib/ExpireSharesJob.php1
-rw-r--r--apps/files_sharing/lib/Middleware/SharingCheckMiddleware.php2
-rw-r--r--apps/files_sharing/lib/ShareBackend/Folder.php6
-rw-r--r--apps/files_sharing/tests/BackendTest.php2
-rw-r--r--apps/files_sharing/tests/CapabilitiesTest.php3
-rw-r--r--apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php1
-rw-r--r--apps/files_sharing/tests/HelperTest.php2
-rw-r--r--apps/files_sharing/tests/MountProviderTest.php1
-rw-r--r--apps/files_sharing/tests/SharedMountTest.php18
-rw-r--r--apps/files_sharing/tests/SizePropagationTest.php1
-rw-r--r--apps/files_sharing/tests/UnshareChildrenTest.php2
-rw-r--r--apps/files_sharing/tests/UpdaterTest.php8
-rw-r--r--apps/files_versions/l10n/lt_LT.js1
-rw-r--r--apps/files_versions/l10n/lt_LT.json1
-rw-r--r--apps/oauth2/l10n/el.js2
-rw-r--r--apps/oauth2/l10n/el.json2
-rw-r--r--apps/oauth2/l10n/es.js1
-rw-r--r--apps/oauth2/l10n/es.json1
-rw-r--r--apps/oauth2/l10n/is.js1
-rw-r--r--apps/oauth2/l10n/is.json1
-rw-r--r--apps/oauth2/l10n/it.js1
-rw-r--r--apps/oauth2/l10n/it.json1
-rw-r--r--apps/oauth2/l10n/lt_LT.js1
-rw-r--r--apps/oauth2/l10n/lt_LT.json1
-rw-r--r--apps/oauth2/l10n/nl.js1
-rw-r--r--apps/oauth2/l10n/nl.json1
-rw-r--r--apps/provisioning_api/lib/Controller/AppsController.php4
-rw-r--r--apps/provisioning_api/lib/Controller/GroupsController.php18
-rw-r--r--apps/provisioning_api/tests/Controller/GroupsControllerTest.php7
-rw-r--r--apps/provisioning_api/tests/Controller/UsersControllerTest.php2
-rw-r--r--apps/systemtags/l10n/el.js2
-rw-r--r--apps/systemtags/l10n/el.json2
-rw-r--r--apps/systemtags/l10n/sq.js3
-rw-r--r--apps/systemtags/l10n/sq.json3
-rw-r--r--apps/testing/appinfo/app.php2
-rw-r--r--apps/testing/appinfo/routes.php118
-rw-r--r--apps/testing/lib/AppInfo/Application.php (renamed from apps/testing/lib/Application.php)2
-rw-r--r--apps/testing/lib/Controller/ConfigController.php (renamed from apps/testing/lib/Config.php)50
-rw-r--r--apps/testing/lib/Controller/LockingController.php246
-rw-r--r--apps/testing/lib/Locking/FakeDBLockingProvider.php (renamed from apps/testing/locking/fakedblockingprovider.php)0
-rw-r--r--apps/testing/locking/provisioning.php227
-rw-r--r--apps/theming/l10n/ar.js4
-rw-r--r--apps/theming/l10n/ar.json4
-rw-r--r--apps/theming/l10n/ja.js30
-rw-r--r--apps/theming/l10n/ja.json28
-rw-r--r--apps/theming/l10n/zh_TW.js30
-rw-r--r--apps/theming/l10n/zh_TW.json28
-rw-r--r--apps/updatenotification/l10n/el.js5
-rw-r--r--apps/updatenotification/l10n/el.json5
-rw-r--r--apps/updatenotification/l10n/lt_LT.js21
-rw-r--r--apps/updatenotification/l10n/lt_LT.json21
-rw-r--r--apps/updatenotification/l10n/zh_TW.js3
-rw-r--r--apps/updatenotification/l10n/zh_TW.json3
-rw-r--r--apps/user_ldap/l10n/el.js12
-rw-r--r--apps/user_ldap/l10n/el.json12
-rw-r--r--apps/user_ldap/l10n/fr.js1
-rw-r--r--apps/user_ldap/l10n/fr.json1
-rw-r--r--apps/user_ldap/l10n/ja.js6
-rw-r--r--apps/user_ldap/l10n/ja.json6
-rw-r--r--apps/workflowengine/l10n/el.js5
-rw-r--r--apps/workflowengine/l10n/el.json5
-rw-r--r--apps/workflowengine/l10n/lt_LT.js74
-rw-r--r--apps/workflowengine/l10n/lt_LT.json72
-rw-r--r--apps/workflowengine/l10n/zh_TW.js4
-rw-r--r--apps/workflowengine/l10n/zh_TW.json4
-rwxr-xr-xbuild/image-optimization.sh (renamed from core/img/image-optimization.sh)2
-rw-r--r--core/Controller/LostController.php2
-rw-r--r--core/css/header.scss3
-rw-r--r--core/css/inputs.scss5
-rw-r--r--core/css/styles.scss77
-rw-r--r--core/img/actions/arrow-left.svg1
-rw-r--r--core/img/actions/arrow-right.svg1
-rw-r--r--core/l10n/el.js6
-rw-r--r--core/l10n/el.json6
-rw-r--r--core/l10n/ja.js1
-rw-r--r--core/l10n/ja.json1
-rw-r--r--core/l10n/sq.js2
-rw-r--r--core/l10n/sq.json2
-rw-r--r--core/l10n/zh_TW.js10
-rw-r--r--core/l10n/zh_TW.json10
-rw-r--r--lib/composer/composer/autoload_classmap.php1
-rw-r--r--lib/composer/composer/autoload_static.php1
-rw-r--r--lib/l10n/el.js1
-rw-r--r--lib/l10n/el.json1
-rw-r--r--lib/l10n/it.js14
-rw-r--r--lib/l10n/it.json14
-rw-r--r--lib/l10n/ja.js2
-rw-r--r--lib/l10n/ja.json2
-rw-r--r--lib/l10n/sq.js9
-rw-r--r--lib/l10n/sq.json9
-rw-r--r--lib/private/Activity/Manager.php2
-rw-r--r--lib/private/AllConfig.php2
-rw-r--r--lib/private/App/DependencyAnalyzer.php9
-rw-r--r--lib/private/App/InfoParser.php2
-rw-r--r--lib/private/AppFramework/DependencyInjection/DIContainer.php14
-rw-r--r--lib/private/Archive/Archive.php32
-rw-r--r--lib/private/Archive/TAR.php30
-rw-r--r--lib/private/Archive/ZIP.php30
-rw-r--r--lib/private/Authentication/Token/DefaultTokenMapper.php3
-rw-r--r--lib/private/Command/AsyncBus.php2
-rw-r--r--lib/private/DatabaseException.php11
-rw-r--r--lib/private/Files/ObjectStore/S3.php8
-rw-r--r--lib/private/L10N/L10N.php8
-rw-r--r--lib/private/L10N/L10NString.php (renamed from lib/private/legacy/l10n/string.php)10
-rw-r--r--lib/private/Mail/EMailTemplate.php2
-rw-r--r--lib/private/Mail/Mailer.php4
-rw-r--r--lib/private/Mail/Message.php2
-rw-r--r--lib/private/Memcache/Memcached.php12
-rw-r--r--lib/private/Memcache/XCache.php12
-rw-r--r--lib/private/Notification/Manager.php2
-rw-r--r--lib/private/Preview/Bitmap.php2
-rw-r--r--lib/private/Preview/Office.php2
-rw-r--r--lib/private/Preview/SVG.php2
-rw-r--r--lib/private/Repair/CleanTags.php2
-rw-r--r--lib/private/Search/Provider/File.php2
-rw-r--r--lib/private/Security/Crypto.php4
-rw-r--r--lib/private/Security/Hasher.php4
-rw-r--r--lib/private/Security/TrustedDomainHelper.php4
-rw-r--r--lib/private/Server.php4
-rw-r--r--lib/private/Settings/Personal/PersonalInfo.php6
-rw-r--r--lib/private/Share20/DefaultShareProvider.php2
-rw-r--r--lib/private/SystemTag/SystemTagManager.php2
-rw-r--r--lib/private/SystemTag/SystemTagObjectMapper.php2
-rw-r--r--lib/private/TempManager.php2
-rw-r--r--lib/private/legacy/app.php2
-rw-r--r--lib/private/legacy/db.php4
-rw-r--r--lib/private/legacy/json.php2
-rw-r--r--lib/private/legacy/template.php2
-rw-r--r--lib/private/legacy/user.php119
-rw-r--r--lib/public/AppFramework/Http/DataDisplayResponse.php2
-rw-r--r--lib/public/AppFramework/Http/ICallbackResponse.php2
-rw-r--r--lib/public/AppFramework/IApi.php10
-rw-r--r--lib/public/AppFramework/IAppContainer.php14
-rw-r--r--lib/public/Contacts/IManager.php239
-rw-r--r--lib/public/DB.php4
-rw-r--r--lib/public/Files.php14
-rw-r--r--lib/public/Files/ObjectStore/IObjectStore.php9
-rw-r--r--lib/public/IL10N.php4
-rw-r--r--lib/public/JSON.php2
-rw-r--r--lib/public/Search/PagedProvider.php2
-rw-r--r--lib/public/Security/ISecureRandom.php2
-rw-r--r--lib/public/Template.php30
-rw-r--r--lib/public/Util.php32
-rw-r--r--settings/ajax/togglesubadmins.php4
-rw-r--r--settings/ajax/uninstallapp.php2
-rw-r--r--settings/ajax/updateapp.php4
-rw-r--r--settings/l10n/el.js52
-rw-r--r--settings/l10n/el.json52
-rw-r--r--settings/l10n/es.js3
-rw-r--r--settings/l10n/es.json3
-rw-r--r--settings/l10n/ja.js6
-rw-r--r--settings/l10n/ja.json6
-rw-r--r--settings/l10n/nl.js12
-rw-r--r--settings/l10n/nl.json12
-rw-r--r--settings/l10n/sq.js11
-rw-r--r--settings/l10n/sq.json11
-rw-r--r--settings/l10n/zh_TW.js42
-rw-r--r--settings/l10n/zh_TW.json42
-rw-r--r--tests/Settings/Mailer/NewUserMailHelperTest.php4
-rw-r--r--tests/data/emails/new-account-email-custom.html2
-rw-r--r--tests/data/emails/new-account-email-single-button.html2
-rw-r--r--tests/data/emails/new-account-email.html2
243 files changed, 2020 insertions, 1118 deletions
diff --git a/apps/comments/l10n/el.js b/apps/comments/l10n/el.js
index fa36f68d1a0..e96144e1c6c 100644
--- a/apps/comments/l10n/el.js
+++ b/apps/comments/l10n/el.js
@@ -8,7 +8,7 @@ OC.L10N.register(
"Post" : "Δημοσίευση",
"Cancel" : "Ακύρωση",
"Edit comment" : "Επεξεργασία σχολίου",
- "[Deleted user]" : "[Διαγραφή χρήστη]",
+ "[Deleted user]" : "[Διαγραμμένος χρήστης]",
"No comments yet, start the conversation!" : "Δεν υπάρχουν σχόλια, ξεκινήστε την συζήτηση!",
"More comments …" : "Περισσότερα σχόλια ...",
"Save" : "Αποθήκευση",
diff --git a/apps/comments/l10n/el.json b/apps/comments/l10n/el.json
index 9181bd9eb73..062e814114f 100644
--- a/apps/comments/l10n/el.json
+++ b/apps/comments/l10n/el.json
@@ -6,7 +6,7 @@
"Post" : "Δημοσίευση",
"Cancel" : "Ακύρωση",
"Edit comment" : "Επεξεργασία σχολίου",
- "[Deleted user]" : "[Διαγραφή χρήστη]",
+ "[Deleted user]" : "[Διαγραμμένος χρήστης]",
"No comments yet, start the conversation!" : "Δεν υπάρχουν σχόλια, ξεκινήστε την συζήτηση!",
"More comments …" : "Περισσότερα σχόλια ...",
"Save" : "Αποθήκευση",
diff --git a/apps/dav/lib/Upload/AssemblyStream.php b/apps/dav/lib/Upload/AssemblyStream.php
index b623f717b31..4b327cecaac 100644
--- a/apps/dav/lib/Upload/AssemblyStream.php
+++ b/apps/dav/lib/Upload/AssemblyStream.php
@@ -20,6 +20,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>
*
*/
+
namespace OCA\DAV\Upload;
use Sabre\DAV\IFile;
@@ -44,15 +45,15 @@ class AssemblyStream implements \Icewind\Streams\File {
/** @var int */
private $pos = 0;
- /** @var array */
- private $sortedNodes;
-
/** @var int */
- private $size;
+ private $size = 0;
/** @var resource */
private $currentStream = null;
+ /** @var int */
+ private $currentNode = 0;
+
/**
* @param string $path
* @param string $mode
@@ -63,24 +64,18 @@ class AssemblyStream implements \Icewind\Streams\File {
public function stream_open($path, $mode, $options, &$opened_path) {
$this->loadContext('assembly');
- // sort the nodes
$nodes = $this->nodes;
// http://stackoverflow.com/a/10985500
- @usort($nodes, function(IFile $a, IFile $b) {
+ @usort($nodes, function (IFile $a, IFile $b) {
return strnatcmp($a->getName(), $b->getName());
});
- $this->nodes = $nodes;
-
- // build additional information
- $this->sortedNodes = [];
- $start = 0;
- foreach($this->nodes as $node) {
- $size = $node->getSize();
- $name = $node->getName();
- $this->sortedNodes[$name] = ['node' => $node, 'start' => $start, 'end' => $start + $size];
- $start += $size;
- $this->size = $start;
+ $this->nodes = array_values($nodes);
+ if (count($this->nodes) > 0) {
+ $this->currentStream = $this->getStream($this->nodes[0]);
}
+ $this->size = array_reduce($this->nodes, function ($size, IFile $file) {
+ return $size + $file->getSize();
+ }, 0);
return true;
}
@@ -105,36 +100,27 @@ class AssemblyStream implements \Icewind\Streams\File {
* @return string
*/
public function stream_read($count) {
- do {
- if ($this->currentStream === null) {
- list($node, $posInNode) = $this->getNodeForPosition($this->pos);
- if (is_null($node)) {
- // reached last node, no more data
- return '';
- }
- $this->currentStream = $this->getStream($node);
- fseek($this->currentStream, $posInNode);
- }
+ if (is_null($this->currentStream)) {
+ return '';
+ }
+ do {
$data = fread($this->currentStream, $count);
- // isset is faster than strlen
- if (isset($data[$count - 1])) {
- // we read the full count
- $read = $count;
- } else {
- // reaching end of stream, which happens less often so strlen is ok
- $read = strlen($data);
- }
+ $read = strlen($data);
if (feof($this->currentStream)) {
fclose($this->currentStream);
- $this->currentNode = null;
- $this->currentStream = null;
+ $this->currentNode++;
+ if ($this->currentNode < count($this->nodes)) {
+ $this->currentStream = $this->getStream($this->nodes[$this->currentNode]);
+ } else {
+ $this->currentStream = null;
+ }
}
// if no data read, try again with the next node because
// returning empty data can make the caller think there is no more
// data left to read
- } while ($read === 0);
+ } while ($read === 0 && !is_null($this->currentStream));
// update position
$this->pos += $read;
@@ -235,9 +221,10 @@ class AssemblyStream implements \Icewind\Streams\File {
public static function wrap(array $nodes) {
$context = stream_context_create([
'assembly' => [
- 'nodes' => $nodes]
+ 'nodes' => $nodes
+ ]
]);
- stream_wrapper_register('assembly', '\OCA\DAV\Upload\AssemblyStream');
+ stream_wrapper_register('assembly', self::class);
try {
$wrapped = fopen('assembly://', 'r', null, $context);
} catch (\BadMethodCallException $e) {
@@ -249,19 +236,6 @@ class AssemblyStream implements \Icewind\Streams\File {
}
/**
- * @param $pos
- * @return IFile | null
- */
- private function getNodeForPosition($pos) {
- foreach($this->sortedNodes as $node) {
- if ($pos >= $node['start'] && $pos < $node['end']) {
- return [$node['node'], $pos - $node['start']];
- }
- }
- return null;
- }
-
- /**
* @param IFile $node
* @return resource
*/
@@ -269,9 +243,11 @@ class AssemblyStream implements \Icewind\Streams\File {
$data = $node->get();
if (is_resource($data)) {
return $data;
+ } else {
+ $tmp = fopen('php://temp', 'w+');
+ fwrite($tmp, $data);
+ rewind($tmp);
+ return $tmp;
}
-
- return fopen('data://text/plain,' . $data,'r');
}
-
}
diff --git a/apps/encryption/l10n/el.js b/apps/encryption/l10n/el.js
index 9693895870b..ad76bad8ef2 100644
--- a/apps/encryption/l10n/el.js
+++ b/apps/encryption/l10n/el.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Missing recovery key password" : "Λείπει το κλειδί επαναφοράς κωδικού",
"Please repeat the recovery key password" : "Παρακαλώ επαναλάβετε το κλειδί επαναφοράς κωδικού",
- "Repeated recovery key password does not match the provided recovery key password" : "Η επανάληψη του κλειδιού επαναφοράς κωδικού δεν ταιριάζει με το δοσμένο κλειδί επαναφοράς κωδικού",
+ "Repeated recovery key password does not match the provided recovery key password" : "Ο επαναλαμβανόμενος κωδικός πρόσβασης ανάκτησης δεν ταιριάζει με τον παρεχόμενο κωδικό πρόσβασης κλειδιού ανάκτησης",
"Recovery key successfully enabled" : "Επιτυχής ενεργοποίηση κλειδιού ανάκτησης",
"Could not enable recovery key. Please check your recovery key password!" : "Αποτυχία ενεργοποίησης κλειδιού ανάκτησης. Παρακαλώ ελέγξτε τον κωδικό του κλειδιού ανάκτησής σας!",
"Recovery key successfully disabled" : "Επιτυχής απενεργοποίηση κλειδιού ανάκτησης",
@@ -23,6 +23,8 @@ OC.L10N.register(
"Private key password successfully updated." : "Το Προσωπικό κλειδί πρόσβασης ενημερώθηκε επιτυχώς",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Πρέπει να μεταφέρετε τα κλειδιά κρυπτογράφησής σας από την παλιά κρυπτογράφηση (ownCloud <= 8.0) στην καινούρια. Παρακαλούμε εκτελέστε την εντολή 'occ encryption:migrate' ή επικοινωνήστε με το διαχειριστή σας.",
"Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Άκυρο προσωπικό κλειδί για την εφαρμογή κρυπτογράφησης. Παρακαλώ ενημερώστε τον κωδικό του προσωπικού κλειδιού σας στις προσωπικές ρυθμίσεις για να επανακτήσετε πρόσβαση στα κρυπτογραφημένα σας αρχεία.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη αλλά τα κλειδιά σας δεν έχουν αρχικοποιηθεί. Πραγματοποιήστε έξοδο και είσοδο στην εφαρμογή εκ νέου.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Παρακαλούμε ενεργοποιήστε την κρυπτογράφηση στον διακομιστή, στις ρυθμίσεις διαχειριστή για να χρησιμοποιήσετε την κρυπτογράφηση",
"Encryption app is enabled and ready" : "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη και έτοιμη",
"Bad Signature" : "Κακή υπογραφή",
"Missing Signature" : "Ελλιπής υπογραφή",
diff --git a/apps/encryption/l10n/el.json b/apps/encryption/l10n/el.json
index c24465c32ad..f1ec0a6c44b 100644
--- a/apps/encryption/l10n/el.json
+++ b/apps/encryption/l10n/el.json
@@ -1,7 +1,7 @@
{ "translations": {
"Missing recovery key password" : "Λείπει το κλειδί επαναφοράς κωδικού",
"Please repeat the recovery key password" : "Παρακαλώ επαναλάβετε το κλειδί επαναφοράς κωδικού",
- "Repeated recovery key password does not match the provided recovery key password" : "Η επανάληψη του κλειδιού επαναφοράς κωδικού δεν ταιριάζει με το δοσμένο κλειδί επαναφοράς κωδικού",
+ "Repeated recovery key password does not match the provided recovery key password" : "Ο επαναλαμβανόμενος κωδικός πρόσβασης ανάκτησης δεν ταιριάζει με τον παρεχόμενο κωδικό πρόσβασης κλειδιού ανάκτησης",
"Recovery key successfully enabled" : "Επιτυχής ενεργοποίηση κλειδιού ανάκτησης",
"Could not enable recovery key. Please check your recovery key password!" : "Αποτυχία ενεργοποίησης κλειδιού ανάκτησης. Παρακαλώ ελέγξτε τον κωδικό του κλειδιού ανάκτησής σας!",
"Recovery key successfully disabled" : "Επιτυχής απενεργοποίηση κλειδιού ανάκτησης",
@@ -21,6 +21,8 @@
"Private key password successfully updated." : "Το Προσωπικό κλειδί πρόσβασης ενημερώθηκε επιτυχώς",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Πρέπει να μεταφέρετε τα κλειδιά κρυπτογράφησής σας από την παλιά κρυπτογράφηση (ownCloud <= 8.0) στην καινούρια. Παρακαλούμε εκτελέστε την εντολή 'occ encryption:migrate' ή επικοινωνήστε με το διαχειριστή σας.",
"Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Άκυρο προσωπικό κλειδί για την εφαρμογή κρυπτογράφησης. Παρακαλώ ενημερώστε τον κωδικό του προσωπικού κλειδιού σας στις προσωπικές ρυθμίσεις για να επανακτήσετε πρόσβαση στα κρυπτογραφημένα σας αρχεία.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη αλλά τα κλειδιά σας δεν έχουν αρχικοποιηθεί. Πραγματοποιήστε έξοδο και είσοδο στην εφαρμογή εκ νέου.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Παρακαλούμε ενεργοποιήστε την κρυπτογράφηση στον διακομιστή, στις ρυθμίσεις διαχειριστή για να χρησιμοποιήσετε την κρυπτογράφηση",
"Encryption app is enabled and ready" : "Η εφαρμογή κρυπτογράφησης είναι ενεργοποιημένη και έτοιμη",
"Bad Signature" : "Κακή υπογραφή",
"Missing Signature" : "Ελλιπής υπογραφή",
diff --git a/apps/encryption/l10n/it.js b/apps/encryption/l10n/it.js
index ce5a75dfa7d..070df518a4f 100644
--- a/apps/encryption/l10n/it.js
+++ b/apps/encryption/l10n/it.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Esegui 'occ encryption:migrate' o contatta il tuo amministratore",
"Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chiave privata non valida per l'applicazione di cifratura. Aggiorna la password della chiave privata nelle impostazioni personali per ripristinare l'accesso ai tuoi file cifrati.",
"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.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Abilita la cifratura lato server nelle impostazioni di amministrazione per utilizzare il modulo di cifratura.",
"Encryption app is enabled and ready" : "L'applicazione Cifratura è abilitata e pronta",
"Bad Signature" : "Firma non valida",
"Missing Signature" : "Firma mancante",
diff --git a/apps/encryption/l10n/it.json b/apps/encryption/l10n/it.json
index 5a7539c9dc7..b963d2b3468 100644
--- a/apps/encryption/l10n/it.json
+++ b/apps/encryption/l10n/it.json
@@ -22,6 +22,7 @@
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "Devi migrare le tue chiavi di cifratura dalla vecchia cifratura (ownCloud <= 8.0) alla nuova. Esegui 'occ encryption:migrate' o contatta il tuo amministratore",
"Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chiave privata non valida per l'applicazione di cifratura. Aggiorna la password della chiave privata nelle impostazioni personali per ripristinare l'accesso ai tuoi file cifrati.",
"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.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Abilita la cifratura lato server nelle impostazioni di amministrazione per utilizzare il modulo di cifratura.",
"Encryption app is enabled and ready" : "L'applicazione Cifratura è abilitata e pronta",
"Bad Signature" : "Firma non valida",
"Missing Signature" : "Firma mancante",
diff --git a/apps/encryption/l10n/ja.js b/apps/encryption/l10n/ja.js
index 5ebe12d7365..dd7e0761361 100644
--- a/apps/encryption/l10n/ja.js
+++ b/apps/encryption/l10n/ja.js
@@ -24,6 +24,7 @@ OC.L10N.register(
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "古い暗号化(ownCloud 8.0以前)から新しい方へ、暗号化キーを移行する必要があります。'occ encryption:migrate'を実行するか、管理者に問い合わせてください。",
"Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。",
"Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "暗号化モジュールを利用する場合は、管理者設定でサーバーサイド暗号化を有効にしてください。",
"Encryption app is enabled and ready" : "暗号化アプリは有効になっており、準備が整いました",
"Bad Signature" : "不正な署名",
"Missing Signature" : "署名が存在しません",
@@ -31,7 +32,7 @@ OC.L10N.register(
"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",
+ "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>",
diff --git a/apps/encryption/l10n/ja.json b/apps/encryption/l10n/ja.json
index 4408f7882d6..6bd5eaa9414 100644
--- a/apps/encryption/l10n/ja.json
+++ b/apps/encryption/l10n/ja.json
@@ -22,6 +22,7 @@
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please run 'occ encryption:migrate' or contact your administrator" : "古い暗号化(ownCloud 8.0以前)から新しい方へ、暗号化キーを移行する必要があります。'occ encryption:migrate'を実行するか、管理者に問い合わせてください。",
"Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "暗号化アプリの無効なプライベートキーです。あなたの暗号化されたファイルへアクセスするために、個人設定からプライベートキーのパスワードを更新してください。",
"Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "暗号化アプリは有効ですが、あなたの暗号化キーは初期化されていません。ログアウトした後に、再度ログインしてください",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "暗号化モジュールを利用する場合は、管理者設定でサーバーサイド暗号化を有効にしてください。",
"Encryption app is enabled and ready" : "暗号化アプリは有効になっており、準備が整いました",
"Bad Signature" : "不正な署名",
"Missing Signature" : "署名が存在しません",
@@ -29,7 +30,7 @@
"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",
+ "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>",
diff --git a/apps/federatedfilesharing/l10n/es.js b/apps/federatedfilesharing/l10n/es.js
index 84b7ee2e2e1..61a0298145f 100644
--- a/apps/federatedfilesharing/l10n/es.js
+++ b/apps/federatedfilesharing/l10n/es.js
@@ -16,11 +16,13 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "Compartir entre servidores no está habilitado en este servidor",
"Couldn't establish a federated share." : "No se puede añadir un compartido remoto",
"Couldn't establish a federated share, maybe the password was wrong." : "No se pudo establecer un compartido remoto, puede que la contraseña fuera incorrecta.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Petición de recurso compartido federado enviada, recibirás una invitación. Comprueba tus notificaciones.",
"The mountpoint name contains invalid characters." : "El punto de montaje contiene caracteres inválidos.",
"Not allowed to create a federated share with the owner." : "No se permite crear un recurso compartido federado con el propietario",
"Invalid or untrusted SSL certificate" : "Certificado SSL inválido o no confiable",
"Could not authenticate to remote share, password might be wrong" : "No se ha podido autenticar para compartir remotamente, quizás esté mal la contraseña",
"Storage not valid" : "Almacenamiento inválido",
+ "Federated share added" : "Recurso compartido federado añadido",
"Couldn't add remote share" : "No se puede añadir un compartido remoto",
"Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s",
"Not allowed to create a federated share with the same user" : "No se permite crear un recurso compartido federado con el mismo usuario",
diff --git a/apps/federatedfilesharing/l10n/es.json b/apps/federatedfilesharing/l10n/es.json
index c0a9eb897fc..6ebfc2c95c4 100644
--- a/apps/federatedfilesharing/l10n/es.json
+++ b/apps/federatedfilesharing/l10n/es.json
@@ -14,11 +14,13 @@
"Server to server sharing is not enabled on this server" : "Compartir entre servidores no está habilitado en este servidor",
"Couldn't establish a federated share." : "No se puede añadir un compartido remoto",
"Couldn't establish a federated share, maybe the password was wrong." : "No se pudo establecer un compartido remoto, puede que la contraseña fuera incorrecta.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Petición de recurso compartido federado enviada, recibirás una invitación. Comprueba tus notificaciones.",
"The mountpoint name contains invalid characters." : "El punto de montaje contiene caracteres inválidos.",
"Not allowed to create a federated share with the owner." : "No se permite crear un recurso compartido federado con el propietario",
"Invalid or untrusted SSL certificate" : "Certificado SSL inválido o no confiable",
"Could not authenticate to remote share, password might be wrong" : "No se ha podido autenticar para compartir remotamente, quizás esté mal la contraseña",
"Storage not valid" : "Almacenamiento inválido",
+ "Federated share added" : "Recurso compartido federado añadido",
"Couldn't add remote share" : "No se puede añadir un compartido remoto",
"Sharing %s failed, because this item is already shared with %s" : "Se falló al compartir %s, ya que este elemento ya está compartido con %s",
"Not allowed to create a federated share with the same user" : "No se permite crear un recurso compartido federado con el mismo usuario",
diff --git a/apps/federatedfilesharing/l10n/it.js b/apps/federatedfilesharing/l10n/it.js
index 1572344a679..0b75207b6bd 100644
--- a/apps/federatedfilesharing/l10n/it.js
+++ b/apps/federatedfilesharing/l10n/it.js
@@ -35,6 +35,7 @@ OC.L10N.register(
"Decline" : "Rifiuta",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Condividi con me attraverso il mio ID di cloud federata #Nextcloud, vedi %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Condividi con me attraverso il mio ID di cloud federata #Nextcloud",
+ "Sharing" : "Condivisione",
"Federated file sharing" : "Condivisione file federata",
"Federated Cloud Sharing" : "Condivisione cloud federata",
"Open documentation" : "Apri la documentazione",
diff --git a/apps/federatedfilesharing/l10n/it.json b/apps/federatedfilesharing/l10n/it.json
index 662184f3efa..5dd8a78d60a 100644
--- a/apps/federatedfilesharing/l10n/it.json
+++ b/apps/federatedfilesharing/l10n/it.json
@@ -33,6 +33,7 @@
"Decline" : "Rifiuta",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Condividi con me attraverso il mio ID di cloud federata #Nextcloud, vedi %s",
"Share with me through my #Nextcloud Federated Cloud ID" : "Condividi con me attraverso il mio ID di cloud federata #Nextcloud",
+ "Sharing" : "Condivisione",
"Federated file sharing" : "Condivisione file federata",
"Federated Cloud Sharing" : "Condivisione cloud federata",
"Open documentation" : "Apri la documentazione",
diff --git a/apps/federatedfilesharing/l10n/lt_LT.js b/apps/federatedfilesharing/l10n/lt_LT.js
index 9baca4eef10..5794f568ba4 100644
--- a/apps/federatedfilesharing/l10n/lt_LT.js
+++ b/apps/federatedfilesharing/l10n/lt_LT.js
@@ -16,11 +16,13 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "Dalinimasis tarp serverių yra neleidžiamas šiame serveryje",
"Couldn't establish a federated share." : "Neįmanoma pradėti dalintis kitame serveryje.",
"Couldn't establish a federated share, maybe the password was wrong." : "Neįmanoma pradėti dalintis kitame serveryje. Gal jūsų slaptažodis blogas?",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Dalinimosi kitame serveryje užklausa išsiųsta. Jūs būsite informuoti, jei pasidalinimas bus sėkmingas. ",
"The mountpoint name contains invalid characters." : "Prijungimo taškas turi netinkamų naudoti simbolių.",
"Not allowed to create a federated share with the owner." : "Savininkas neleidžia dalintis duomenimis su kitu serveriu.",
"Invalid or untrusted SSL certificate" : "Neteisingas arba nepatikimas SSL liudijimas",
"Could not authenticate to remote share, password might be wrong" : "Neįmanoma pradėti dalintis kitame serveryje. Gal jūsų slaptažodis blogas?",
"Storage not valid" : "Saugykla netinkama naudotis",
+ "Federated share added" : "Pasidalinta per kitą serverį",
"Couldn't add remote share" : "Nepavyko peržiūrėti kitame serveryje pasidalintų duomenų",
"Sharing %s failed, because this item is already shared with %s" : "%s bendrinimas nepavyko, kadangi šis elementas jau yra bendrinamas su %s",
"Not allowed to create a federated share with the same user" : "Negalima dalintis su identišku naudotoju kitame serveryje",
diff --git a/apps/federatedfilesharing/l10n/lt_LT.json b/apps/federatedfilesharing/l10n/lt_LT.json
index cc5f62bbee3..8b879b30343 100644
--- a/apps/federatedfilesharing/l10n/lt_LT.json
+++ b/apps/federatedfilesharing/l10n/lt_LT.json
@@ -14,11 +14,13 @@
"Server to server sharing is not enabled on this server" : "Dalinimasis tarp serverių yra neleidžiamas šiame serveryje",
"Couldn't establish a federated share." : "Neįmanoma pradėti dalintis kitame serveryje.",
"Couldn't establish a federated share, maybe the password was wrong." : "Neįmanoma pradėti dalintis kitame serveryje. Gal jūsų slaptažodis blogas?",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "Dalinimosi kitame serveryje užklausa išsiųsta. Jūs būsite informuoti, jei pasidalinimas bus sėkmingas. ",
"The mountpoint name contains invalid characters." : "Prijungimo taškas turi netinkamų naudoti simbolių.",
"Not allowed to create a federated share with the owner." : "Savininkas neleidžia dalintis duomenimis su kitu serveriu.",
"Invalid or untrusted SSL certificate" : "Neteisingas arba nepatikimas SSL liudijimas",
"Could not authenticate to remote share, password might be wrong" : "Neįmanoma pradėti dalintis kitame serveryje. Gal jūsų slaptažodis blogas?",
"Storage not valid" : "Saugykla netinkama naudotis",
+ "Federated share added" : "Pasidalinta per kitą serverį",
"Couldn't add remote share" : "Nepavyko peržiūrėti kitame serveryje pasidalintų duomenų",
"Sharing %s failed, because this item is already shared with %s" : "%s bendrinimas nepavyko, kadangi šis elementas jau yra bendrinamas su %s",
"Not allowed to create a federated share with the same user" : "Negalima dalintis su identišku naudotoju kitame serveryje",
diff --git a/apps/federatedfilesharing/l10n/nl.js b/apps/federatedfilesharing/l10n/nl.js
index 9347825da61..95a54b29a3a 100644
--- a/apps/federatedfilesharing/l10n/nl.js
+++ b/apps/federatedfilesharing/l10n/nl.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"federatedfilesharing",
{
- "Federated sharing" : "Gefedereerd delen",
+ "Federated sharing" : "Gefedereerd delens",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Wil je de externe share {name} van {owner}@{remote} toevoegen?",
"Remote share" : "Externe share",
"Remote share password" : "Wachtwoord externe share",
@@ -16,11 +16,13 @@ OC.L10N.register(
"Server to server sharing is not enabled on this server" : "Server met server delen is op deze server niet ingeschakeld",
"Couldn't establish a federated share." : "Kon geen gefedereerde share tot stand brengen",
"Couldn't establish a federated share, maybe the password was wrong." : "Kon geen gefedereerde share tot stand brengen, misschien was het wachtwoord onjuist.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "De gefedereerde share aanvraag is verzonden, je ontvangt een uitnodiging. Controleer je meldingen.",
"The mountpoint name contains invalid characters." : "De naam van het mountpoint bevat ongeldige karakters.",
"Not allowed to create a federated share with the owner." : "Het is niet toegestaan om met de eigenaar een gefedereerde share te maken.",
"Invalid or untrusted SSL certificate" : "Ongeldig of onvertrouwd SSL-certificaat",
"Could not authenticate to remote share, password might be wrong" : "Kon niet authenticeren bij externe share, misschien verkeerd wachtwoord",
"Storage not valid" : "Opslag ongeldig",
+ "Federated share added" : "Gefedereerd share is toegevoegd",
"Couldn't add remote share" : "Kon geen externe share toevoegen",
"Sharing %s failed, because this item is already shared with %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met %s",
"Not allowed to create a federated share with the same user" : "Het is niet toegestaan om een gefedereerde share met dezelfde gebruikersserver te maken",
@@ -30,7 +32,7 @@ OC.L10N.register(
"You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Je ontving \"%3$s\" als een extern deel verzoek van %1$s (namens %2$s)",
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "Je ontving {share} als een extern deel verzoek van {user} (namens {behalf})",
"You received \"%3$s\" as a remote share from %1$s" : "Je ontving \"%3$s\" als een extern deel verzoek van %1$s",
- "You received {share} as a remote share from {user}" : "Je ontving {share} als een extren deel verzoek van {user}",
+ "You received {share} as a remote share from {user}" : "Je ontving {share} als een extren share verzoek van {user}",
"Accept" : "Accepteren",
"Decline" : "Afwijzen",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Deel met mij via mijn #Nextcloud gefedereerde Cloud ID, zie %s",
diff --git a/apps/federatedfilesharing/l10n/nl.json b/apps/federatedfilesharing/l10n/nl.json
index 9ccf97bc6b5..cd289676b79 100644
--- a/apps/federatedfilesharing/l10n/nl.json
+++ b/apps/federatedfilesharing/l10n/nl.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Federated sharing" : "Gefedereerd delen",
+ "Federated sharing" : "Gefedereerd delens",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Wil je de externe share {name} van {owner}@{remote} toevoegen?",
"Remote share" : "Externe share",
"Remote share password" : "Wachtwoord externe share",
@@ -14,11 +14,13 @@
"Server to server sharing is not enabled on this server" : "Server met server delen is op deze server niet ingeschakeld",
"Couldn't establish a federated share." : "Kon geen gefedereerde share tot stand brengen",
"Couldn't establish a federated share, maybe the password was wrong." : "Kon geen gefedereerde share tot stand brengen, misschien was het wachtwoord onjuist.",
+ "Federated Share request sent, you will receive an invitation. Check your notifications." : "De gefedereerde share aanvraag is verzonden, je ontvangt een uitnodiging. Controleer je meldingen.",
"The mountpoint name contains invalid characters." : "De naam van het mountpoint bevat ongeldige karakters.",
"Not allowed to create a federated share with the owner." : "Het is niet toegestaan om met de eigenaar een gefedereerde share te maken.",
"Invalid or untrusted SSL certificate" : "Ongeldig of onvertrouwd SSL-certificaat",
"Could not authenticate to remote share, password might be wrong" : "Kon niet authenticeren bij externe share, misschien verkeerd wachtwoord",
"Storage not valid" : "Opslag ongeldig",
+ "Federated share added" : "Gefedereerd share is toegevoegd",
"Couldn't add remote share" : "Kon geen externe share toevoegen",
"Sharing %s failed, because this item is already shared with %s" : "Delen van %s is mislukt, omdat het object al wordt gedeeld met %s",
"Not allowed to create a federated share with the same user" : "Het is niet toegestaan om een gefedereerde share met dezelfde gebruikersserver te maken",
@@ -28,7 +30,7 @@
"You received \"%3$s\" as a remote share from %1$s (on behalf of %2$s)" : "Je ontving \"%3$s\" als een extern deel verzoek van %1$s (namens %2$s)",
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "Je ontving {share} als een extern deel verzoek van {user} (namens {behalf})",
"You received \"%3$s\" as a remote share from %1$s" : "Je ontving \"%3$s\" als een extern deel verzoek van %1$s",
- "You received {share} as a remote share from {user}" : "Je ontving {share} als een extren deel verzoek van {user}",
+ "You received {share} as a remote share from {user}" : "Je ontving {share} als een extren share verzoek van {user}",
"Accept" : "Accepteren",
"Decline" : "Afwijzen",
"Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Deel met mij via mijn #Nextcloud gefedereerde Cloud ID, zie %s",
diff --git a/apps/federation/l10n/lt_LT.js b/apps/federation/l10n/lt_LT.js
new file mode 100644
index 00000000000..86d46008af7
--- /dev/null
+++ b/apps/federation/l10n/lt_LT.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+ "federation",
+ {
+ "Added to the list of trusted servers" : "Pridėtas prie patikimų serverių sąrašo",
+ "Server is already in the list of trusted servers." : "Serveris jau yra patikimų serverių sąraše.",
+ "No server to federate with found" : "Rastų serverių sąraše nėra tinkamo serverio bendrinimui",
+ "Could not add server" : "Nepavyko pridėti serverio",
+ "Federation" : "Centralizuotų Serverių sistema",
+ "Trusted servers" : "Patikimi serveriai",
+ "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." : "Centralizuotų Serverių sistema leidžia prisijungti ir naudoti naudotojų duomenis, esančius patikimuose serveriuose. Pavyzdžiui, leidžiama įtraukti kito serverio naudotojus duomenų bendrinimui.",
+ "Add server automatically once a federated share was created successfully" : "Pridėti serverį automatiškai, kai Centralizuotas Serverių dalinimosi ryšys buvo sukurtas",
+ "+ Add trusted server" : "+ Pridėti patikimą serverį",
+ "Trusted server" : "Patikimas serveris",
+ "Add" : "Pridėti"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/federation/l10n/lt_LT.json b/apps/federation/l10n/lt_LT.json
new file mode 100644
index 00000000000..767e0e13ec8
--- /dev/null
+++ b/apps/federation/l10n/lt_LT.json
@@ -0,0 +1,14 @@
+{ "translations": {
+ "Added to the list of trusted servers" : "Pridėtas prie patikimų serverių sąrašo",
+ "Server is already in the list of trusted servers." : "Serveris jau yra patikimų serverių sąraše.",
+ "No server to federate with found" : "Rastų serverių sąraše nėra tinkamo serverio bendrinimui",
+ "Could not add server" : "Nepavyko pridėti serverio",
+ "Federation" : "Centralizuotų Serverių sistema",
+ "Trusted servers" : "Patikimi serveriai",
+ "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." : "Centralizuotų Serverių sistema leidžia prisijungti ir naudoti naudotojų duomenis, esančius patikimuose serveriuose. Pavyzdžiui, leidžiama įtraukti kito serverio naudotojus duomenų bendrinimui.",
+ "Add server automatically once a federated share was created successfully" : "Pridėti serverį automatiškai, kai Centralizuotas Serverių dalinimosi ryšys buvo sukurtas",
+ "+ Add trusted server" : "+ Pridėti patikimą serverį",
+ "Trusted server" : "Patikimas serveris",
+ "Add" : "Pridėti"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/federation/l10n/zh_TW.js b/apps/federation/l10n/zh_TW.js
index 983aba26154..dbbd9862753 100644
--- a/apps/federation/l10n/zh_TW.js
+++ b/apps/federation/l10n/zh_TW.js
@@ -6,14 +6,11 @@ OC.L10N.register(
"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" : "當聯盟分享成功建立的時候自動將伺服器加入信任清單",
- "Trusted Servers" : "信任的伺服器",
- "+ Add Nextcloud server" : "+ 加入 Nextcloud 伺服器",
- "Nextcloud Server" : "Nextcloud 伺服器",
- "Server added to the list of trusted Nextclouds" : "伺服器已被加入至信任的 Nextcloud",
- "No Nextcloud server found" : "找不到 Nextcloud 伺服器",
- "Nextcloud Federation allows you to connect with other trusted Nextclouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Nextcloud 聯盟功能允許您與信任的伺服器連結,交換使用者列表。舉例來說,與其他雲端聯盟的使用者分享檔案時,有了這一份列表,就可以在輸入框搜尋他們的使用者名稱。",
- "Trusted Nextcloud Servers" : "信任的 Nextcloud 伺服器"
+ "+ Add trusted server" : "+ 加入信任的伺服器",
+ "Trusted server" : "信任的伺服器",
+ "Add" : "新增"
},
"nplurals=1; plural=0;");
diff --git a/apps/federation/l10n/zh_TW.json b/apps/federation/l10n/zh_TW.json
index 10865e029ed..5b9ce1e29a3 100644
--- a/apps/federation/l10n/zh_TW.json
+++ b/apps/federation/l10n/zh_TW.json
@@ -4,14 +4,11 @@
"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" : "當聯盟分享成功建立的時候自動將伺服器加入信任清單",
- "Trusted Servers" : "信任的伺服器",
- "+ Add Nextcloud server" : "+ 加入 Nextcloud 伺服器",
- "Nextcloud Server" : "Nextcloud 伺服器",
- "Server added to the list of trusted Nextclouds" : "伺服器已被加入至信任的 Nextcloud",
- "No Nextcloud server found" : "找不到 Nextcloud 伺服器",
- "Nextcloud Federation allows you to connect with other trusted Nextclouds to exchange the user directory. For example this will be used to auto-complete external users for federated sharing." : "Nextcloud 聯盟功能允許您與信任的伺服器連結,交換使用者列表。舉例來說,與其他雲端聯盟的使用者分享檔案時,有了這一份列表,就可以在輸入框搜尋他們的使用者名稱。",
- "Trusted Nextcloud Servers" : "信任的 Nextcloud 伺服器"
+ "+ Add trusted server" : "+ 加入信任的伺服器",
+ "Trusted server" : "信任的伺服器",
+ "Add" : "新增"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index e416ce64609..c405fefb9fd 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -65,12 +65,14 @@ OC.L10N.register(
"Your storage is almost full ({usedSpacePercent}%)" : "Ο αποθηκευτικός χώρος είναι σχεδόν γεμάτος ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["ταιριάζουν '{filter}' ","ταιριάζουν '{filter}'"],
"View in folder" : "Προβολή στον φάκελο",
+ "Copied!" : "Αντιγράφηκε!",
"Copy direct link (only works for users who have access to this file/folder)" : "Αντιγραφή άμεσου συνδέσμου (λειτουργεί μόνο για χρήστες που έχουν πρόσβαση στο αρχείο/φάκελο)",
"Path" : "Διαδρομή",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Προτιμώμενα",
"Favorite" : "Αγαπημένο",
"New folder" : "Νέος φάκελος",
+ "Upload file" : "Αποστολή αρχείου",
"An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών",
"Added to favorites" : "Προσθήκη στα αγαπημένα",
"Removed from favorites" : "Αφαίρεση από τα αγαπημένα",
@@ -83,6 +85,7 @@ OC.L10N.register(
"Restored by {user}" : "Επαναφέρθηκε από {user}",
"Renamed by {user}" : "Μετονομάστηκε από {user}",
"Moved by {user}" : "Μετακινήθηκε από {user}",
+ "\"remote user\"" : "\"απομακρυσμένος χρήστης\"",
"You created {file}" : "Δημιουργήσατε {file}",
"{user} created {file}" : "{user} δημηούργησε {file}",
"{file} was created in a public folder" : "{file} δημιουργήθηκε σε δημόσιο φάκελο",
@@ -99,7 +102,10 @@ OC.L10N.register(
"A file has been added to or removed from your <strong>favorites</strong>" : "Ένα αρχείο έχει προστεθεί ή αφαιρεθεί από τα <strong>αγαπημένα</strong> σας",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Ένα αρχείο ή φάκελος έχει <strong>αλλάξει</strong> ή <strong>μετονομάστηκε</strong>",
"A new file or folder has been <strong>created</strong>" : "Ένα νέο αρχείο ή κατάλογος έχουν <strong>δημιουργηθεί</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Ένα αρχείο ή κατάλογος έχουν <strong>διαγραφεί</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Βάλτε όριο στις ειδοποιήσεις για τη δημιουργία και αλλαγές στα <strong>αγαπημένα σας αρχεία</strong> <em>(Μόνο Stream)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Έγινε <strong>επαναφορά</strong> ενός αρχείου ή φακέλου",
+ "Unlimited" : "Απεριόριστο",
"Upload (max. %s)" : "Διαμοιρασμός (max. %s)",
"File handling" : "Διαχείριση αρχείων",
"Maximum upload size" : "Μέγιστο μέγεθος αποστολής",
@@ -107,6 +113,8 @@ OC.L10N.register(
"Save" : "Αποθήκευση",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Με PHP-FPM μπορεί να χρειαστούν μέχρι και 5 λεπτά για να ενεργοποιηθούν οι αλλαγές.",
"Missing permissions to edit from here." : "Δεν υπάρχουν τα απαραίτητα δικαιώματα για να γίνει τροποποιήση σε αυτό το σημείο.",
+ "%s of %s used" : "%s από %s σε χρήση",
+ "%s used" : "%sσε χρήση",
"Settings" : "Ρυθμίσεις",
"Show hidden files" : "Εμφάνιση κρυφών αρχείων",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index 9ec186c6f0e..40b3a86a7c7 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -63,12 +63,14 @@
"Your storage is almost full ({usedSpacePercent}%)" : "Ο αποθηκευτικός χώρος είναι σχεδόν γεμάτος ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["ταιριάζουν '{filter}' ","ταιριάζουν '{filter}'"],
"View in folder" : "Προβολή στον φάκελο",
+ "Copied!" : "Αντιγράφηκε!",
"Copy direct link (only works for users who have access to this file/folder)" : "Αντιγραφή άμεσου συνδέσμου (λειτουργεί μόνο για χρήστες που έχουν πρόσβαση στο αρχείο/φάκελο)",
"Path" : "Διαδρομή",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Favorited" : "Προτιμώμενα",
"Favorite" : "Αγαπημένο",
"New folder" : "Νέος φάκελος",
+ "Upload file" : "Αποστολή αρχείου",
"An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών",
"Added to favorites" : "Προσθήκη στα αγαπημένα",
"Removed from favorites" : "Αφαίρεση από τα αγαπημένα",
@@ -81,6 +83,7 @@
"Restored by {user}" : "Επαναφέρθηκε από {user}",
"Renamed by {user}" : "Μετονομάστηκε από {user}",
"Moved by {user}" : "Μετακινήθηκε από {user}",
+ "\"remote user\"" : "\"απομακρυσμένος χρήστης\"",
"You created {file}" : "Δημιουργήσατε {file}",
"{user} created {file}" : "{user} δημηούργησε {file}",
"{file} was created in a public folder" : "{file} δημιουργήθηκε σε δημόσιο φάκελο",
@@ -97,7 +100,10 @@
"A file has been added to or removed from your <strong>favorites</strong>" : "Ένα αρχείο έχει προστεθεί ή αφαιρεθεί από τα <strong>αγαπημένα</strong> σας",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Ένα αρχείο ή φάκελος έχει <strong>αλλάξει</strong> ή <strong>μετονομάστηκε</strong>",
"A new file or folder has been <strong>created</strong>" : "Ένα νέο αρχείο ή κατάλογος έχουν <strong>δημιουργηθεί</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Ένα αρχείο ή κατάλογος έχουν <strong>διαγραφεί</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Βάλτε όριο στις ειδοποιήσεις για τη δημιουργία και αλλαγές στα <strong>αγαπημένα σας αρχεία</strong> <em>(Μόνο Stream)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Έγινε <strong>επαναφορά</strong> ενός αρχείου ή φακέλου",
+ "Unlimited" : "Απεριόριστο",
"Upload (max. %s)" : "Διαμοιρασμός (max. %s)",
"File handling" : "Διαχείριση αρχείων",
"Maximum upload size" : "Μέγιστο μέγεθος αποστολής",
@@ -105,6 +111,8 @@
"Save" : "Αποθήκευση",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "Με PHP-FPM μπορεί να χρειαστούν μέχρι και 5 λεπτά για να ενεργοποιηθούν οι αλλαγές.",
"Missing permissions to edit from here." : "Δεν υπάρχουν τα απαραίτητα δικαιώματα για να γίνει τροποποιήση σε αυτό το σημείο.",
+ "%s of %s used" : "%s από %s σε χρήση",
+ "%s used" : "%sσε χρήση",
"Settings" : "Ρυθμίσεις",
"Show hidden files" : "Εμφάνιση κρυφών αρχείων",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index d8a4ad7a220..48362ef9e64 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -102,7 +102,9 @@ OC.L10N.register(
"A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo fue agregado o borrado de tus <strong>favoritos</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un archivo o carpeta ha sido <strong>cambiado</strong> o <strong>renombrado</strong>",
"A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta",
+ "A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitar las notificaciones acerca de la creación y cambios de sus <strong>archivos favoritos</strong> <em>(solo flujos)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Un archivo o carpeta ha sido <strong>restaurado</strong>",
"Unlimited" : "Ilimitado",
"Upload (max. %s)" : "Subida (máx. %s)",
"File handling" : "Administración de archivos",
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index ab592a76720..7cc7cd81113 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -100,7 +100,9 @@
"A file has been added to or removed from your <strong>favorites</strong>" : "Un archivo fue agregado o borrado de tus <strong>favoritos</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un archivo o carpeta ha sido <strong>cambiado</strong> o <strong>renombrado</strong>",
"A new file or folder has been <strong>created</strong>" : "Se ha <strong>creado</strong> un nuevo archivo o carpeta",
+ "A file or folder has been <strong>deleted</strong>" : "Un archivo o carpeta ha sido <strong>eliminado</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limitar las notificaciones acerca de la creación y cambios de sus <strong>archivos favoritos</strong> <em>(solo flujos)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Un archivo o carpeta ha sido <strong>restaurado</strong>",
"Unlimited" : "Ilimitado",
"Upload (max. %s)" : "Subida (máx. %s)",
"File handling" : "Administración de archivos",
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index f099c85aba4..fb31c3b7f2e 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -102,7 +102,9 @@ OC.L10N.register(
"A file has been added to or removed from your <strong>favorites</strong>" : "Skrá var bætt við eða hún fjarlægð úr <strong>eftirlætum</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Skrá eða möppu hefur verið <strong>breytt</strong> eða verið <strong>endurnefnt</strong>",
"A new file or folder has been <strong>created</strong>" : "Skjal eða mappa hefur verið <strong>búin til</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Skjali eða möppu hefur verið <strong>eytt</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Takmarka tilkynningar um gerð og breytingar á <strong>eftirlætisskrám</strong> <em>(einungis streymi)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Skjal eða mappa hefur verið <strong>endurheimt</strong>",
"Unlimited" : "Ótakmarkað",
"Upload (max. %s)" : "Senda inn (hám. %s)",
"File handling" : "Meðhöndlun skráar",
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 82452b8ab1a..3bfa946a499 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -100,7 +100,9 @@
"A file has been added to or removed from your <strong>favorites</strong>" : "Skrá var bætt við eða hún fjarlægð úr <strong>eftirlætum</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Skrá eða möppu hefur verið <strong>breytt</strong> eða verið <strong>endurnefnt</strong>",
"A new file or folder has been <strong>created</strong>" : "Skjal eða mappa hefur verið <strong>búin til</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Skjali eða möppu hefur verið <strong>eytt</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Takmarka tilkynningar um gerð og breytingar á <strong>eftirlætisskrám</strong> <em>(einungis streymi)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Skjal eða mappa hefur verið <strong>endurheimt</strong>",
"Unlimited" : "Ótakmarkað",
"Upload (max. %s)" : "Senda inn (hám. %s)",
"File handling" : "Meðhöndlun skráar",
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index 02200ddde8d..cc8cb646d9e 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -102,7 +102,9 @@ OC.L10N.register(
"A file has been added to or removed from your <strong>favorites</strong>" : "Un file stato aggiunto o rimosso dai tuoi <strong>preferiti</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un file o una cartella sono stati <strong>modificato</strong> o<strong>rinominati</strong> ",
"A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Un file o una cartella è stato <strong>eliminato</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limita le notifiche relative alla creazione e alla modifica dei tuoi <strong>file preferiti</strong> <em>(Solo flusso)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Un file o una cartella è stato <strong>ripristinato</strong>",
"Unlimited" : "Illimitata",
"Upload (max. %s)" : "Carica (massimo %s)",
"File handling" : "Gestione file",
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index 22a89574007..1d672295a36 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -100,7 +100,9 @@
"A file has been added to or removed from your <strong>favorites</strong>" : "Un file stato aggiunto o rimosso dai tuoi <strong>preferiti</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Un file o una cartella sono stati <strong>modificato</strong> o<strong>rinominati</strong> ",
"A new file or folder has been <strong>created</strong>" : "Un nuovo file o cartella è stato <strong>creato</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "Un file o una cartella è stato <strong>eliminato</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Limita le notifiche relative alla creazione e alla modifica dei tuoi <strong>file preferiti</strong> <em>(Solo flusso)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Un file o una cartella è stato <strong>ripristinato</strong>",
"Unlimited" : "Illimitata",
"Upload (max. %s)" : "Carica (massimo %s)",
"File handling" : "Gestione file",
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index b2eae2785ee..9942a4249b6 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -102,7 +102,9 @@ OC.L10N.register(
"A file has been added to or removed from your <strong>favorites</strong>" : "Failas buvo pridėtas arba pašalintas iš <strong>mėgstamųjų</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Buvo <strong>pakeistas</strong> ar <strong>pervadintas</strong> failas ar aplankas",
"A new file or folder has been <strong>created</strong>" : "Buvo <strong>sukurtas</strong> naujas failas ar aplankas",
+ "A file or folder has been <strong>deleted</strong>" : "Duomenys buvo <strong>ištrinti</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Riboti pranešimus apie sukūrimą ir pokyčius jūsų <strong>mėgiamuose failuose</strong> <em>(Tik srautas)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Duomenys buvo <strong>atstatyti</strong>",
"Unlimited" : "Neribotai",
"Upload (max. %s)" : "Įkelti (maks. %s)",
"File handling" : "Failų tvarkymas",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index 95dff8bdaff..c88cff6cc06 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -100,7 +100,9 @@
"A file has been added to or removed from your <strong>favorites</strong>" : "Failas buvo pridėtas arba pašalintas iš <strong>mėgstamųjų</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "Buvo <strong>pakeistas</strong> ar <strong>pervadintas</strong> failas ar aplankas",
"A new file or folder has been <strong>created</strong>" : "Buvo <strong>sukurtas</strong> naujas failas ar aplankas",
+ "A file or folder has been <strong>deleted</strong>" : "Duomenys buvo <strong>ištrinti</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Riboti pranešimus apie sukūrimą ir pokyčius jūsų <strong>mėgiamuose failuose</strong> <em>(Tik srautas)</em>",
+ "A file or folder has been <strong>restored</strong>" : "Duomenys buvo <strong>atstatyti</strong>",
"Unlimited" : "Neribotai",
"Upload (max. %s)" : "Įkelti (maks. %s)",
"File handling" : "Failų tvarkymas",
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index fb486f2d9eb..8548362748e 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -102,7 +102,9 @@ OC.L10N.register(
"A file has been added to or removed from your <strong>favorites</strong>" : "En fil har blitt lagt til eller fjernet fra dine <strong>favoritter</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "En fil eller mappe ble <strong>endret</strong> eller <strong>omdøpt</strong>",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "En fil eller mappe ble <strong>slettet</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begrens varsling om oppretting og endringer til <strong>favorittfilene</strong> dine <em>(Kun strøm)</em>",
+ "A file or folder has been <strong>restored</strong>" : "En fil eller mappe ble <strong>gjenopprettet</strong>",
"Unlimited" : "Ubegrenset",
"Upload (max. %s)" : "Opplasting (maks. %s)",
"File handling" : "Filhåndtering",
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index e25370bd0dc..3079c785f1d 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -100,7 +100,9 @@
"A file has been added to or removed from your <strong>favorites</strong>" : "En fil har blitt lagt til eller fjernet fra dine <strong>favoritter</strong>",
"A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "En fil eller mappe ble <strong>endret</strong> eller <strong>omdøpt</strong>",
"A new file or folder has been <strong>created</strong>" : "En ny fil eller mappe ble <strong>opprettet</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "En fil eller mappe ble <strong>slettet</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "Begrens varsling om oppretting og endringer til <strong>favorittfilene</strong> dine <em>(Kun strøm)</em>",
+ "A file or folder has been <strong>restored</strong>" : "En fil eller mappe ble <strong>gjenopprettet</strong>",
"Unlimited" : "Ubegrenset",
"Upload (max. %s)" : "Opplasting (maks. %s)",
"File handling" : "Filhåndtering",
diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js
index 9993857fadf..e71ecf8a408 100644
--- a/apps/files/l10n/sq.js
+++ b/apps/files/l10n/sq.js
@@ -63,6 +63,7 @@ OC.L10N.register(
"Your storage is almost full ({usedSpacePercent}%)" : "Depozita juaj është thuajse plot ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["ka përputhje me '{filter}'","ka përputhje me '{filter}'"],
"View in folder" : "Shikoje në dosje",
+ "Copied!" : "E kopjuar!",
"Path" : "Rrugë",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajte"],
"Favorited" : "U kalua e parapëlqyer",
diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json
index 1708d4054cc..3bba80cfd92 100644
--- a/apps/files/l10n/sq.json
+++ b/apps/files/l10n/sq.json
@@ -61,6 +61,7 @@
"Your storage is almost full ({usedSpacePercent}%)" : "Depozita juaj është thuajse plot ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["ka përputhje me '{filter}'","ka përputhje me '{filter}'"],
"View in folder" : "Shikoje në dosje",
+ "Copied!" : "E kopjuar!",
"Path" : "Rrugë",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajte"],
"Favorited" : "U kalua e parapëlqyer",
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index ce73c32e00c..2b68e6ae0da 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"files",
{
+ "Storage is temporarily not available" : "空間暫時無法使用",
"Storage invalid" : "無效的儲存空間",
"Unknown error" : "未知的錯誤",
"All files" : "所有檔案",
@@ -13,15 +14,20 @@ OC.L10N.register(
"Upload cancelled." : "上傳已取消",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "因為 {filename} 是個目錄或是大小為零,所以無法上傳",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空間不足,你正要上傳 {size1} 可是只剩下 {size2}",
+ "Target folder \"{dir}\" does not exist any more" : "資料夾 \"{dir}\" 不存在",
+ "Not enough free space" : "空間不足",
"Uploading..." : "上傳中…",
"..." : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})",
"Actions" : "動作",
"Download" : "下載",
"Rename" : "重新命名",
+ "Move" : "移動",
+ "Target folder" : "目標資料夾",
"Delete" : "刪除",
"Disconnect storage" : "斷開儲存空間連接",
"Unshare" : "取消分享",
+ "Could not load info for file \"{file}\"" : "無法讀取 \"{file}\" 的詳細資料",
"Files" : "檔案",
"Details" : "詳細資料",
"Select" : "選擇",
@@ -39,6 +45,7 @@ OC.L10N.register(
"Could not create file \"{file}\" because it already exists" : "無法建立檔案 \"{file}\",因為此檔案已存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾 \"{dir}\",因為此資料夾已存在",
"Error deleting file \"{fileName}\"." : "刪除 \"{fileName}\" 出錯",
+ "No search results in other folders for {tag}{filter}{endtag}" : "在其它資料夾中沒有找到 {tag}{filter}{endtag}",
"Name" : "名稱",
"Size" : "大小",
"Modified" : "修改時間",
@@ -51,22 +58,54 @@ OC.L10N.register(
"New" : "新增",
"\"{name}\" is an invalid file name." : "{name} 是無效的檔名",
"File name cannot be empty." : "檔名不能為空",
+ "\"{name}\" is not an allowed filetype" : "\"{name}\" 並不是經允許的檔案類型",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Your storage is full, files can not be updated or synced anymore!" : "您的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} 的儲存空間快要滿了 ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "您的儲存空間快要滿了 ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["符合「{filter}」"],
"View in folder" : "在資料夾中檢視",
+ "Copied!" : "已複製",
+ "Copy direct link (only works for users who have access to this file/folder)" : "複製直接連結(只對能存取的用戶有用)",
"Path" : "路徑",
"_%n byte_::_%n bytes_" : ["%n 位元組"],
"Favorited" : "已加入最愛",
"Favorite" : "我的最愛",
- "Folder" : "資料夾",
"New folder" : "新資料夾",
- "Upload" : "上傳",
+ "Upload file" : "上傳檔案",
"An error occurred while trying to update the tags" : "更新標籤時發生錯誤",
+ "Added to favorites" : "添加到最愛",
+ "Removed from favorites" : "從最愛移除",
+ "You added {file} to your favorites" : "你已添加 {file} 至最愛",
+ "You removed {file} from your favorites" : "你已移除 {file} 從最愛",
+ "File changes" : "檔案更動",
+ "Created by {user}" : "由 {user} 建立",
+ "Changed by {user}" : "由 {user} 改動",
+ "Deleted by {user}" : "由 {user} 刪除",
+ "Restored by {user}" : "由 {user} 還原",
+ "Renamed by {user}" : "由 {user} 重新命名",
+ "Moved by {user}" : "由 {user} 移動",
+ "\"remote user\"" : "「遠端用戶」",
+ "You created {file}" : "您建立了 {file}",
+ "{user} created {file}" : "{user} 建立了 {file}",
+ "{file} was created in a public folder" : "{file} 已建立於共享資料夾",
+ "You changed {file}" : "您變更了 {file}",
+ "{user} changed {file}" : "{user} 變更了 {file}",
+ "You deleted {file}" : "您刪除了 {file}",
+ "{user} deleted {file}" : "{user} 刪除了 {file}",
+ "You restored {file}" : "您還原了 {file}",
+ "{user} restored {file}" : "{user} 還原了 {file}",
+ "You renamed {oldfile} to {newfile}" : "您變更 {oldfile} 為 {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} 變更 {oldfile} 為 {newfile}",
+ "You moved {oldfile} to {newfile}" : "您移動 {oldfile} 到 {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} 移動 {oldfile} 到 {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "檔案已被新增或移除從 <strong>最愛</strong>",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "檔案或目錄已被 <strong>更動</strong> 或 <strong>改名</strong>",
"A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "僅顯示<strong>已加星號的檔案</strong>的動態通知<em>(僅限訊息串)</em>",
+ "A file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
+ "Unlimited" : "無限制",
"Upload (max. %s)" : "上傳(至多 %s)",
"File handling" : "檔案處理",
"Maximum upload size" : "上傳限制",
@@ -74,6 +113,8 @@ OC.L10N.register(
"Save" : "儲存",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "如果使用 PHP-FPM ,此設定值需要5分鐘左右才會生效。",
"Missing permissions to edit from here." : "您沒有在此編輯的權限",
+ "%s of %s used" : "在 %s 中使用了 %s",
+ "%s used" : "%s已使用",
"Settings" : "設定",
"Show hidden files" : "顯示隱藏檔",
"WebDAV" : "WebDAV",
@@ -84,55 +125,29 @@ OC.L10N.register(
"Select all" : "全選",
"Upload too large" : "上傳過大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "您試圖上傳的檔案大小超過伺服器的限制",
- "No favorites" : "沒有最愛",
+ "No favorites yet" : "尚無最愛",
"Files and folders you mark as favorite will show up here" : "您標記為最愛的檔案與資料夾將會顯示在這裡",
+ "Shared with you" : "與您分享",
+ "Shared with others" : "與其他人分享",
+ "Shared by link" : "由連結分享",
+ "Tags" : "標籤",
+ "Deleted files" : "回收桶",
"Text file" : "文字檔",
"New text file.txt" : "新文字檔.txt",
- "Storage not available" : "無法存取儲存空間",
- "Unable to set upload directory." : "無法設定上傳目錄",
- "Invalid Token" : "無效的 token",
- "No file was uploaded. Unknown error" : "沒有檔案被上傳,原因未知",
- "There is no error, the file uploaded with success" : "一切都順利,檔案上傳成功",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "上傳的檔案大小超過 php.ini 當中 upload_max_filesize 參數的設定:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "上傳的檔案大小超過 HTML 表單中 MAX_FILE_SIZE 的限制",
- "The uploaded file was only partially uploaded" : "只有檔案的一部分被上傳",
- "No file was uploaded" : "沒有檔案被上傳",
- "Missing a temporary folder" : "找不到暫存資料夾",
- "Failed to write to disk" : "寫入硬碟失敗",
- "Not enough storage available" : "儲存空間不足",
- "The target folder has been moved or deleted." : "目標資料夾已經被搬移或刪除",
- "Upload failed. Could not find uploaded file" : "上傳失敗,找不到上傳的檔案",
- "Upload failed. Could not get file info." : "上傳失敗,無法取得檔案資訊",
- "Invalid directory." : "無效的資料夾",
- "Total file size {size1} exceeds upload limit {size2}" : "檔案大小總和 {size1} 超過上傳限制 {size2}",
- "Error uploading file \"{fileName}\": {message}" : "上傳檔案 \"{fileName}\" 發生錯誤:{message}",
- "Could not get result from server." : "無法從伺服器取回結果",
- "{hours}:{minutes}:{seconds} hour{plural_s} left" : "剩下 {hours}:{minutes}:{seconds} 小時",
+ "_{hours}:{minutes}:{seconds} hour left_::_{hours}:{minutes}:{seconds} hours left_" : ["剩下 {hours}:{minutes}:{seconds} 小時"],
"{hours}:{minutes}h" : "{hours}:{minutes} 小時",
- "{minutes}:{seconds} minute{plural_s} left" : "剩下 {minutes}:{seconds} 分鐘",
+ "_{minutes}:{seconds} minute left_::_{minutes}:{seconds} minutes left_" : ["剩下 {minutes}:{seconds} 分鐘"],
"{minutes}:{seconds}m" : "{minutes}:{seconds} 分",
- "{seconds} second{plural_s} left" : "剩下 {seconds} 秒",
+ "_{seconds} second left_::_{seconds} seconds left_" : ["剩下 {seconds} 秒"],
"{seconds}s" : "{seconds} 秒",
"Any moment now..." : "即將完成…",
"Soon..." : "即將完成…",
"File upload is in progress. Leaving the page now will cancel the upload." : "檔案上傳中,離開此頁面將會取消上傳",
- "No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符",
- "Local link" : "本地連結",
- "{newname} already exists" : "{newname} 已經存在",
- "A file or folder has been <strong>changed</strong>" : "檔案或目錄已被 <strong>變更</strong>",
- "A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
- "A file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
- "You created %1$s" : "您建立了 %1$s",
- "%2$s created %1$s" : "%2$s 已建立 %1$s",
- "%1$s was created in a public folder" : "%1$s 已建立於公開的目錄",
- "You changed %1$s" : "您變更了 %1$s",
- "%2$s changed %1$s" : "%2$s 已變更了 %1$s",
- "You deleted %1$s" : "您刪除了 %1$s",
- "%2$s deleted %1$s" : "%2$s 已刪除 %1$s",
- "You restored %1$s" : "您還原了 %1$s",
- "%2$s restored %1$s" : "%2$s 還原了 %1$s",
- "Changed by %2$s" : "由 %2$s 改動",
- "Deleted by %2$s" : "由 %2$s 刪除",
- "Restored by %2$s" : "由 %2$s 還原"
+ "Copy local link" : "複製本地連結",
+ "Folder" : "資料夾",
+ "Upload" : "上傳",
+ "A new file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
+ "A new file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
+ "No favorites" : "沒有最愛"
},
"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index 697b35eb111..0efb86940c2 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Storage is temporarily not available" : "空間暫時無法使用",
"Storage invalid" : "無效的儲存空間",
"Unknown error" : "未知的錯誤",
"All files" : "所有檔案",
@@ -11,15 +12,20 @@
"Upload cancelled." : "上傳已取消",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "因為 {filename} 是個目錄或是大小為零,所以無法上傳",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空間不足,你正要上傳 {size1} 可是只剩下 {size2}",
+ "Target folder \"{dir}\" does not exist any more" : "資料夾 \"{dir}\" 不存在",
+ "Not enough free space" : "空間不足",
"Uploading..." : "上傳中…",
"..." : "...",
"{loadedSize} of {totalSize} ({bitrate})" : "{totalSize} 中的 {loadedSize} ({bitrate})",
"Actions" : "動作",
"Download" : "下載",
"Rename" : "重新命名",
+ "Move" : "移動",
+ "Target folder" : "目標資料夾",
"Delete" : "刪除",
"Disconnect storage" : "斷開儲存空間連接",
"Unshare" : "取消分享",
+ "Could not load info for file \"{file}\"" : "無法讀取 \"{file}\" 的詳細資料",
"Files" : "檔案",
"Details" : "詳細資料",
"Select" : "選擇",
@@ -37,6 +43,7 @@
"Could not create file \"{file}\" because it already exists" : "無法建立檔案 \"{file}\",因為此檔案已存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾 \"{dir}\",因為此資料夾已存在",
"Error deleting file \"{fileName}\"." : "刪除 \"{fileName}\" 出錯",
+ "No search results in other folders for {tag}{filter}{endtag}" : "在其它資料夾中沒有找到 {tag}{filter}{endtag}",
"Name" : "名稱",
"Size" : "大小",
"Modified" : "修改時間",
@@ -49,22 +56,54 @@
"New" : "新增",
"\"{name}\" is an invalid file name." : "{name} 是無效的檔名",
"File name cannot be empty." : "檔名不能為空",
+ "\"{name}\" is not an allowed filetype" : "\"{name}\" 並不是經允許的檔案類型",
"Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} 的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Your storage is full, files can not be updated or synced anymore!" : "您的儲存空間已滿,沒有辦法再更新或是同步檔案!",
"Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} 的儲存空間快要滿了 ({usedSpacePercent}%)",
"Your storage is almost full ({usedSpacePercent}%)" : "您的儲存空間快要滿了 ({usedSpacePercent}%)",
"_matches '{filter}'_::_match '{filter}'_" : ["符合「{filter}」"],
"View in folder" : "在資料夾中檢視",
+ "Copied!" : "已複製",
+ "Copy direct link (only works for users who have access to this file/folder)" : "複製直接連結(只對能存取的用戶有用)",
"Path" : "路徑",
"_%n byte_::_%n bytes_" : ["%n 位元組"],
"Favorited" : "已加入最愛",
"Favorite" : "我的最愛",
- "Folder" : "資料夾",
"New folder" : "新資料夾",
- "Upload" : "上傳",
+ "Upload file" : "上傳檔案",
"An error occurred while trying to update the tags" : "更新標籤時發生錯誤",
+ "Added to favorites" : "添加到最愛",
+ "Removed from favorites" : "從最愛移除",
+ "You added {file} to your favorites" : "你已添加 {file} 至最愛",
+ "You removed {file} from your favorites" : "你已移除 {file} 從最愛",
+ "File changes" : "檔案更動",
+ "Created by {user}" : "由 {user} 建立",
+ "Changed by {user}" : "由 {user} 改動",
+ "Deleted by {user}" : "由 {user} 刪除",
+ "Restored by {user}" : "由 {user} 還原",
+ "Renamed by {user}" : "由 {user} 重新命名",
+ "Moved by {user}" : "由 {user} 移動",
+ "\"remote user\"" : "「遠端用戶」",
+ "You created {file}" : "您建立了 {file}",
+ "{user} created {file}" : "{user} 建立了 {file}",
+ "{file} was created in a public folder" : "{file} 已建立於共享資料夾",
+ "You changed {file}" : "您變更了 {file}",
+ "{user} changed {file}" : "{user} 變更了 {file}",
+ "You deleted {file}" : "您刪除了 {file}",
+ "{user} deleted {file}" : "{user} 刪除了 {file}",
+ "You restored {file}" : "您還原了 {file}",
+ "{user} restored {file}" : "{user} 還原了 {file}",
+ "You renamed {oldfile} to {newfile}" : "您變更 {oldfile} 為 {newfile}",
+ "{user} renamed {oldfile} to {newfile}" : "{user} 變更 {oldfile} 為 {newfile}",
+ "You moved {oldfile} to {newfile}" : "您移動 {oldfile} 到 {newfile}",
+ "{user} moved {oldfile} to {newfile}" : "{user} 移動 {oldfile} 到 {newfile}",
+ "A file has been added to or removed from your <strong>favorites</strong>" : "檔案已被新增或移除從 <strong>最愛</strong>",
+ "A file or folder has been <strong>changed</strong> or <strong>renamed</strong>" : "檔案或目錄已被 <strong>更動</strong> 或 <strong>改名</strong>",
"A new file or folder has been <strong>created</strong>" : "新的檔案或目錄已被 <strong>建立</strong>",
+ "A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
"Limit notifications about creation and changes to your <strong>favorite files</strong> <em>(Stream only)</em>" : "僅顯示<strong>已加星號的檔案</strong>的動態通知<em>(僅限訊息串)</em>",
+ "A file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
+ "Unlimited" : "無限制",
"Upload (max. %s)" : "上傳(至多 %s)",
"File handling" : "檔案處理",
"Maximum upload size" : "上傳限制",
@@ -72,6 +111,8 @@
"Save" : "儲存",
"With PHP-FPM it might take 5 minutes for changes to be applied." : "如果使用 PHP-FPM ,此設定值需要5分鐘左右才會生效。",
"Missing permissions to edit from here." : "您沒有在此編輯的權限",
+ "%s of %s used" : "在 %s 中使用了 %s",
+ "%s used" : "%s已使用",
"Settings" : "設定",
"Show hidden files" : "顯示隱藏檔",
"WebDAV" : "WebDAV",
@@ -82,55 +123,29 @@
"Select all" : "全選",
"Upload too large" : "上傳過大",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "您試圖上傳的檔案大小超過伺服器的限制",
- "No favorites" : "沒有最愛",
+ "No favorites yet" : "尚無最愛",
"Files and folders you mark as favorite will show up here" : "您標記為最愛的檔案與資料夾將會顯示在這裡",
+ "Shared with you" : "與您分享",
+ "Shared with others" : "與其他人分享",
+ "Shared by link" : "由連結分享",
+ "Tags" : "標籤",
+ "Deleted files" : "回收桶",
"Text file" : "文字檔",
"New text file.txt" : "新文字檔.txt",
- "Storage not available" : "無法存取儲存空間",
- "Unable to set upload directory." : "無法設定上傳目錄",
- "Invalid Token" : "無效的 token",
- "No file was uploaded. Unknown error" : "沒有檔案被上傳,原因未知",
- "There is no error, the file uploaded with success" : "一切都順利,檔案上傳成功",
- "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "上傳的檔案大小超過 php.ini 當中 upload_max_filesize 參數的設定:",
- "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "上傳的檔案大小超過 HTML 表單中 MAX_FILE_SIZE 的限制",
- "The uploaded file was only partially uploaded" : "只有檔案的一部分被上傳",
- "No file was uploaded" : "沒有檔案被上傳",
- "Missing a temporary folder" : "找不到暫存資料夾",
- "Failed to write to disk" : "寫入硬碟失敗",
- "Not enough storage available" : "儲存空間不足",
- "The target folder has been moved or deleted." : "目標資料夾已經被搬移或刪除",
- "Upload failed. Could not find uploaded file" : "上傳失敗,找不到上傳的檔案",
- "Upload failed. Could not get file info." : "上傳失敗,無法取得檔案資訊",
- "Invalid directory." : "無效的資料夾",
- "Total file size {size1} exceeds upload limit {size2}" : "檔案大小總和 {size1} 超過上傳限制 {size2}",
- "Error uploading file \"{fileName}\": {message}" : "上傳檔案 \"{fileName}\" 發生錯誤:{message}",
- "Could not get result from server." : "無法從伺服器取回結果",
- "{hours}:{minutes}:{seconds} hour{plural_s} left" : "剩下 {hours}:{minutes}:{seconds} 小時",
+ "_{hours}:{minutes}:{seconds} hour left_::_{hours}:{minutes}:{seconds} hours left_" : ["剩下 {hours}:{minutes}:{seconds} 小時"],
"{hours}:{minutes}h" : "{hours}:{minutes} 小時",
- "{minutes}:{seconds} minute{plural_s} left" : "剩下 {minutes}:{seconds} 分鐘",
+ "_{minutes}:{seconds} minute left_::_{minutes}:{seconds} minutes left_" : ["剩下 {minutes}:{seconds} 分鐘"],
"{minutes}:{seconds}m" : "{minutes}:{seconds} 分",
- "{seconds} second{plural_s} left" : "剩下 {seconds} 秒",
+ "_{seconds} second left_::_{seconds} seconds left_" : ["剩下 {seconds} 秒"],
"{seconds}s" : "{seconds} 秒",
"Any moment now..." : "即將完成…",
"Soon..." : "即將完成…",
"File upload is in progress. Leaving the page now will cancel the upload." : "檔案上傳中,離開此頁面將會取消上傳",
- "No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符",
- "Local link" : "本地連結",
- "{newname} already exists" : "{newname} 已經存在",
- "A file or folder has been <strong>changed</strong>" : "檔案或目錄已被 <strong>變更</strong>",
- "A file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
- "A file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
- "You created %1$s" : "您建立了 %1$s",
- "%2$s created %1$s" : "%2$s 已建立 %1$s",
- "%1$s was created in a public folder" : "%1$s 已建立於公開的目錄",
- "You changed %1$s" : "您變更了 %1$s",
- "%2$s changed %1$s" : "%2$s 已變更了 %1$s",
- "You deleted %1$s" : "您刪除了 %1$s",
- "%2$s deleted %1$s" : "%2$s 已刪除 %1$s",
- "You restored %1$s" : "您還原了 %1$s",
- "%2$s restored %1$s" : "%2$s 還原了 %1$s",
- "Changed by %2$s" : "由 %2$s 改動",
- "Deleted by %2$s" : "由 %2$s 刪除",
- "Restored by %2$s" : "由 %2$s 還原"
+ "Copy local link" : "複製本地連結",
+ "Folder" : "資料夾",
+ "Upload" : "上傳",
+ "A new file or folder has been <strong>deleted</strong>" : "檔案或目錄已被 <strong>刪除</strong>",
+ "A new file or folder has been <strong>restored</strong>" : "檔案或目錄已被 <strong>恢復</strong>",
+ "No favorites" : "沒有最愛"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js
index 2c08abffe82..4df281c5038 100644
--- a/apps/files_external/l10n/el.js
+++ b/apps/files_external/l10n/el.js
@@ -24,11 +24,14 @@ OC.L10N.register(
"Saving..." : "Γίνεται αποθήκευση...",
"Save" : "Αποθήκευση",
"Empty response from the server" : "Κενή απάντηση από τον διακομιστή",
+ "Couldn't access. Please log out and in again to activate this mount point" : "Αδυναμία πρόσβασης. Παρακαλούμε αποσυνδεθείτε και συνδεθείτε ξανά για ενεργοποίηση του σημείου προσάρτησης",
"Couldn't get the information from the remote server: {code} {type}" : "Δεν μπορέσαμε να πάρουμε πληροφορίες απο τον απομακρυσμένο εξυπηρετητή: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Δεν μπορέσαμε να πάρουμε την λίστα εξωτερικών σημείων προσάρτησης: {type}",
"There was an error with message: " : "Υπήρξε σφάλμα στο μήνυμα:",
"External mount error" : "Σφάλμα εξωτερικής προσάρτησης",
"external-storage" : "εξωτερική-αποθήκευση",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Αδυναμία λήψης της λίστας των σημείων προσάρτησης δικτύων Windows: Κενή απάντηση από τον διακομιστή",
+ "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Μερικά από τα διαμορφωμένα εξωτερικά σημεία προσάρτησης δεν είναι συνδεδεμένα. Παρακαλούμε κάντε κλικ στο κόκκινο βέλος (βέλη) για περισσότερες πληροφορίες",
"Please enter the credentials for the {mount} mount" : "Παρακαλούμε βάλτε τα διαπιστευτήρια για την {mount} προσάρτηση",
"Username" : "Όνομα χρήστη",
"Password" : "Κωδικός πρόσβασης",
@@ -102,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." : "Η cURL υποστήριξη στην PHP δεν είναι ενεργοποιημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλούμε ζητήστε από τον διαχειριστή του συστήματός σας να το εγκαταστήσει. ",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Η FTP υποστήριξη στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλούμε ζητήστε τον διαχειριστή του συστήματός σας να το εγκατασταστήσει. ",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" δεν είναι εγκατεστημένο. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλούμε ζητήστε τον διαχειριστή του συστήματός σας να το εγκαταστήσει. ",
+ "External storage support" : "Υποστήριξη εξωτερικής αποθήκευσης",
"No external storage configured" : "Δεν έχει ρυθμιστεί κανένα εξωτερικό μέσο αποθήκευσης",
"You can add external storages in the personal settings" : "Μπορείτε να προσθέσετε εξωτερικά μέσα αποθήκευσης στις προσωπικές ρυθμίσεις",
"Name" : "Όνομα",
diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json
index cefc28d7a68..a255f765153 100644
--- a/apps/files_external/l10n/el.json
+++ b/apps/files_external/l10n/el.json
@@ -22,11 +22,14 @@
"Saving..." : "Γίνεται αποθήκευση...",
"Save" : "Αποθήκευση",
"Empty response from the server" : "Κενή απάντηση από τον διακομιστή",
+ "Couldn't access. Please log out and in again to activate this mount point" : "Αδυναμία πρόσβασης. Παρακαλούμε αποσυνδεθείτε και συνδεθείτε ξανά για ενεργοποίηση του σημείου προσάρτησης",
"Couldn't get the information from the remote server: {code} {type}" : "Δεν μπορέσαμε να πάρουμε πληροφορίες απο τον απομακρυσμένο εξυπηρετητή: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Δεν μπορέσαμε να πάρουμε την λίστα εξωτερικών σημείων προσάρτησης: {type}",
"There was an error with message: " : "Υπήρξε σφάλμα στο μήνυμα:",
"External mount error" : "Σφάλμα εξωτερικής προσάρτησης",
"external-storage" : "εξωτερική-αποθήκευση",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Αδυναμία λήψης της λίστας των σημείων προσάρτησης δικτύων Windows: Κενή απάντηση από τον διακομιστή",
+ "Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Μερικά από τα διαμορφωμένα εξωτερικά σημεία προσάρτησης δεν είναι συνδεδεμένα. Παρακαλούμε κάντε κλικ στο κόκκινο βέλος (βέλη) για περισσότερες πληροφορίες",
"Please enter the credentials for the {mount} mount" : "Παρακαλούμε βάλτε τα διαπιστευτήρια για την {mount} προσάρτηση",
"Username" : "Όνομα χρήστη",
"Password" : "Κωδικός πρόσβασης",
@@ -100,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." : "Η cURL υποστήριξη στην PHP δεν είναι ενεργοποιημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλούμε ζητήστε από τον διαχειριστή του συστήματός σας να το εγκαταστήσει. ",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Η FTP υποστήριξη στην PHP δεν είναι ενεργοποιημένη ή εγκατεστημένη. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλούμε ζητήστε τον διαχειριστή του συστήματός σας να το εγκατασταστήσει. ",
"\"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "\"%s\" δεν είναι εγκατεστημένο. Η προσάρτηση του %s δεν είναι δυνατή. Παρακαλούμε ζητήστε τον διαχειριστή του συστήματός σας να το εγκαταστήσει. ",
+ "External storage support" : "Υποστήριξη εξωτερικής αποθήκευσης",
"No external storage configured" : "Δεν έχει ρυθμιστεί κανένα εξωτερικό μέσο αποθήκευσης",
"You can add external storages in the personal settings" : "Μπορείτε να προσθέσετε εξωτερικά μέσα αποθήκευσης στις προσωπικές ρυθμίσεις",
"Name" : "Όνομα",
diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js
index 6e721b3d33a..8d17e2b578a 100644
--- a/apps/files_external/l10n/es.js
+++ b/apps/files_external/l10n/es.js
@@ -24,11 +24,13 @@ OC.L10N.register(
"Saving..." : "Guardando...",
"Save" : "Guardar",
"Empty response from the server" : "Respuesta vacía desde el servidor",
+ "Couldn't access. Please log out and in again to activate this mount point" : "No se ha podido acceder. Por favor, sal de la cuenta y vuelve a entrar para activar este punto de montaje",
"Couldn't get the information from the remote server: {code} {type}" : "No se pudo obtener la información del servidor remoto: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "No se puede obtener la lista de los puntos de montaje externos: {type}",
"There was an error with message: " : "Hubo un error con el mensaje:",
"External mount error" : "Error de montaje externo",
"external-storage" : "almacenamiento-externo",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "No se ha podido recuperar la lista de puntos de montaje de las unidades de red de Windows: respuesta vacía del servidor",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Algunos de los puntos de montaje externos configurados no están conectados. Por favor, haga clic en la fila roja (s) para obtener más información",
"Please enter the credentials for the {mount} mount" : "Por favor introduzca los credenciales para el punto de montaje {mount}",
"Username" : "Nombre de usuario",
diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json
index 1d633496d96..98515c2e764 100644
--- a/apps/files_external/l10n/es.json
+++ b/apps/files_external/l10n/es.json
@@ -22,11 +22,13 @@
"Saving..." : "Guardando...",
"Save" : "Guardar",
"Empty response from the server" : "Respuesta vacía desde el servidor",
+ "Couldn't access. Please log out and in again to activate this mount point" : "No se ha podido acceder. Por favor, sal de la cuenta y vuelve a entrar para activar este punto de montaje",
"Couldn't get the information from the remote server: {code} {type}" : "No se pudo obtener la información del servidor remoto: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "No se puede obtener la lista de los puntos de montaje externos: {type}",
"There was an error with message: " : "Hubo un error con el mensaje:",
"External mount error" : "Error de montaje externo",
"external-storage" : "almacenamiento-externo",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "No se ha podido recuperar la lista de puntos de montaje de las unidades de red de Windows: respuesta vacía del servidor",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Algunos de los puntos de montaje externos configurados no están conectados. Por favor, haga clic en la fila roja (s) para obtener más información",
"Please enter the credentials for the {mount} mount" : "Por favor introduzca los credenciales para el punto de montaje {mount}",
"Username" : "Nombre de usuario",
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index 5bd7b33b8bb..bf52096489c 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -30,6 +30,7 @@ OC.L10N.register(
"There was an error with message: " : "Il y a eu une erreur avec le message :",
"External mount error" : "Erreur de point de montage externe",
"external-storage" : "external-storage",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Impossible d'aller chercher la liste des points de montage des disques réseaux Windows : Réponse vide du serveur",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Certains points de montage externes configurés ne sont pas connectés. Veuillez cliquer sur la(les) ligne(s) rouge(s) pour plus d'informations",
"Please enter the credentials for the {mount} mount" : "Veuillez entrer les identifiants pour le montage {mount}",
"Username" : "Nom d'utilisateur",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index 5754292ad90..9d7d3e26742 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -28,6 +28,7 @@
"There was an error with message: " : "Il y a eu une erreur avec le message :",
"External mount error" : "Erreur de point de montage externe",
"external-storage" : "external-storage",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Impossible d'aller chercher la liste des points de montage des disques réseaux Windows : Réponse vide du serveur",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Certains points de montage externes configurés ne sont pas connectés. Veuillez cliquer sur la(les) ligne(s) rouge(s) pour plus d'informations",
"Please enter the credentials for the {mount} mount" : "Veuillez entrer les identifiants pour le montage {mount}",
"Username" : "Nom d'utilisateur",
diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js
index 1d76e6e21b7..ce6dbdac8db 100644
--- a/apps/files_external/l10n/is.js
+++ b/apps/files_external/l10n/is.js
@@ -24,11 +24,13 @@ OC.L10N.register(
"Saving..." : "Er að vista ...",
"Save" : "Vista",
"Empty response from the server" : "Tómt svar frá þjóni móttekið",
+ "Couldn't access. Please log out and in again to activate this mount point" : "Náði ekki aðgangi. Skráðu þig út og svo aftur inn til að virkja þennan tengipunkt",
"Couldn't get the information from the remote server: {code} {type}" : "Gat ekki lesið upplýsingar frá fjartengda þjóninum: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Gat ekki fengið lista yfir fjartengda tengipunkta: {type}",
"There was an error with message: " : "Það kom upp villa með skilaboðunum: ",
"External mount error" : "Villa við tengingu í fjartengdu skráakerfi",
"external-storage" : "ytri-gagnageymsla",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Gat ekki fengið lista yfir tengipunkta Windows-netdrifa, Svar frá þjóni var tómt",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Sumir uppsettir tengipunktar eru ekki tengdir í skráakerfið. Smelltu á rauðu örina/örvarnar til að fá frekari upplýsingar",
"Please enter the credentials for the {mount} mount" : "Settu inn auðkenni fyrir {mount} tengipunktinn",
"Username" : "Notandanafn",
diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json
index 0b4b27e6b45..33e424468c8 100644
--- a/apps/files_external/l10n/is.json
+++ b/apps/files_external/l10n/is.json
@@ -22,11 +22,13 @@
"Saving..." : "Er að vista ...",
"Save" : "Vista",
"Empty response from the server" : "Tómt svar frá þjóni móttekið",
+ "Couldn't access. Please log out and in again to activate this mount point" : "Náði ekki aðgangi. Skráðu þig út og svo aftur inn til að virkja þennan tengipunkt",
"Couldn't get the information from the remote server: {code} {type}" : "Gat ekki lesið upplýsingar frá fjartengda þjóninum: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Gat ekki fengið lista yfir fjartengda tengipunkta: {type}",
"There was an error with message: " : "Það kom upp villa með skilaboðunum: ",
"External mount error" : "Villa við tengingu í fjartengdu skráakerfi",
"external-storage" : "ytri-gagnageymsla",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Gat ekki fengið lista yfir tengipunkta Windows-netdrifa, Svar frá þjóni var tómt",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Sumir uppsettir tengipunktar eru ekki tengdir í skráakerfið. Smelltu á rauðu örina/örvarnar til að fá frekari upplýsingar",
"Please enter the credentials for the {mount} mount" : "Settu inn auðkenni fyrir {mount} tengipunktinn",
"Username" : "Notandanafn",
diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js
index ef129434f92..9afb655d950 100644
--- a/apps/files_external/l10n/ja.js
+++ b/apps/files_external/l10n/ja.js
@@ -95,7 +95,7 @@ OC.L10N.register(
"SMB / CIFS" : "SMB / CIFS",
"Share" : "共有",
"Domain" : "ドメイン",
- "SMB / CIFS using OC login" : "ownCloudログインを利用したSMB / CIFS",
+ "SMB / CIFS using OC login" : "Nextcloud ログインを利用したSMB / CIFS",
"Username as share" : "共有名",
"OpenStack Object Storage" : "OpenStack ObjectStorage",
"Service name" : "サービス名",
diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json
index ea9df125f6f..a1997a0c136 100644
--- a/apps/files_external/l10n/ja.json
+++ b/apps/files_external/l10n/ja.json
@@ -93,7 +93,7 @@
"SMB / CIFS" : "SMB / CIFS",
"Share" : "共有",
"Domain" : "ドメイン",
- "SMB / CIFS using OC login" : "ownCloudログインを利用したSMB / CIFS",
+ "SMB / CIFS using OC login" : "Nextcloud ログインを利用したSMB / CIFS",
"Username as share" : "共有名",
"OpenStack Object Storage" : "OpenStack ObjectStorage",
"Service name" : "サービス名",
diff --git a/apps/files_external/l10n/lt_LT.js b/apps/files_external/l10n/lt_LT.js
index b4c5d8c4c77..78a852b6f4a 100644
--- a/apps/files_external/l10n/lt_LT.js
+++ b/apps/files_external/l10n/lt_LT.js
@@ -24,11 +24,13 @@ OC.L10N.register(
"Saving..." : "Įrašoma...",
"Save" : "Įrašyti",
"Empty response from the server" : "Negautas atsakymas iš serverio",
+ "Couldn't access. Please log out and in again to activate this mount point" : "Prieiga yra neįmanoma. Pabandykite prisijungti iš naujo.",
"Couldn't get the information from the remote server: {code} {type}" : "Neįmanoma gauti informacijos iš serverio: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Nepavyko gauti išorinių prijungimo taškų sąrašo: {type}",
"There was an error with message: " : "Klaidos žinutė:",
"External mount error" : "Išorinio prijungimo klaida",
"external-storage" : "išorinė saugykla",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Neįmanoma gauti duomenų sąrašo ir Windows tinkle prijungto disko. Nėra jokio atsakymo.",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Kai kurios sukonfigūruotos išorinės saugyklos nebuvo prijungtos. Paspauskite ant raudonai nuspalvotų eilučių norėdami gauti išsamesnę informaciją",
"Please enter the credentials for the {mount} mount" : "Prašome įvesti prisijungimo duomenis skirtus saugyklos {mount} prijungimui",
"Username" : "Naudotojo vardas",
diff --git a/apps/files_external/l10n/lt_LT.json b/apps/files_external/l10n/lt_LT.json
index cdd063e0118..fd197a34803 100644
--- a/apps/files_external/l10n/lt_LT.json
+++ b/apps/files_external/l10n/lt_LT.json
@@ -22,11 +22,13 @@
"Saving..." : "Įrašoma...",
"Save" : "Įrašyti",
"Empty response from the server" : "Negautas atsakymas iš serverio",
+ "Couldn't access. Please log out and in again to activate this mount point" : "Prieiga yra neįmanoma. Pabandykite prisijungti iš naujo.",
"Couldn't get the information from the remote server: {code} {type}" : "Neįmanoma gauti informacijos iš serverio: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Nepavyko gauti išorinių prijungimo taškų sąrašo: {type}",
"There was an error with message: " : "Klaidos žinutė:",
"External mount error" : "Išorinio prijungimo klaida",
"external-storage" : "išorinė saugykla",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Neįmanoma gauti duomenų sąrašo ir Windows tinkle prijungto disko. Nėra jokio atsakymo.",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Kai kurios sukonfigūruotos išorinės saugyklos nebuvo prijungtos. Paspauskite ant raudonai nuspalvotų eilučių norėdami gauti išsamesnę informaciją",
"Please enter the credentials for the {mount} mount" : "Prašome įvesti prisijungimo duomenis skirtus saugyklos {mount} prijungimui",
"Username" : "Naudotojo vardas",
diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js
index 500502bfe07..cc00e2d44ea 100644
--- a/apps/files_external/l10n/nl.js
+++ b/apps/files_external/l10n/nl.js
@@ -24,11 +24,13 @@ OC.L10N.register(
"Saving..." : "Bewaren...",
"Save" : "Bewaren",
"Empty response from the server" : "Lege reactie van de server",
+ "Couldn't access. Please log out and in again to activate this mount point" : "Kon geen toegang krijgen. Log uit en opnieuw in om dit koppelpunt te activeren",
"Couldn't get the information from the remote server: {code} {type}" : "Kon geen informatie van de externe server krijgen: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Kon geen overzicht met externe koppelpunten krijgen: {type}",
"There was an error with message: " : "Er was een fout met de volgende melding:",
"External mount error" : "Extern koppelpunt fout",
"external-storage" : "externe opslag",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Kon geen overzicht met Windows netwerk koppelpunten krijgen: Maak de server reactie leeg",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Sommige van de geconfigureerde koppelpunten zijn niet verbonden. Klik op de rode rij(en) voor meer informatie",
"Please enter the credentials for the {mount} mount" : "Geef de inloggegevens op voor de {mount} mount",
"Username" : "Gebruikersnaam",
diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json
index 697a13c4a2f..fa9d2c7e75e 100644
--- a/apps/files_external/l10n/nl.json
+++ b/apps/files_external/l10n/nl.json
@@ -22,11 +22,13 @@
"Saving..." : "Bewaren...",
"Save" : "Bewaren",
"Empty response from the server" : "Lege reactie van de server",
+ "Couldn't access. Please log out and in again to activate this mount point" : "Kon geen toegang krijgen. Log uit en opnieuw in om dit koppelpunt te activeren",
"Couldn't get the information from the remote server: {code} {type}" : "Kon geen informatie van de externe server krijgen: {code} {type}",
"Couldn't get the list of external mount points: {type}" : "Kon geen overzicht met externe koppelpunten krijgen: {type}",
"There was an error with message: " : "Er was een fout met de volgende melding:",
"External mount error" : "Extern koppelpunt fout",
"external-storage" : "externe opslag",
+ "Couldn't fetch list of Windows network drive mount points: Empty response from server" : "Kon geen overzicht met Windows netwerk koppelpunten krijgen: Maak de server reactie leeg",
"Some of the configured external mount points are not connected. Please click on the red row(s) for more information" : "Sommige van de geconfigureerde koppelpunten zijn niet verbonden. Klik op de rode rij(en) voor meer informatie",
"Please enter the credentials for the {mount} mount" : "Geef de inloggegevens op voor de {mount} mount",
"Username" : "Gebruikersnaam",
diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php
index 56eece341a9..7a5f5650fc5 100644
--- a/apps/files_sharing/appinfo/routes.php
+++ b/apps/files_sharing/appinfo/routes.php
@@ -26,8 +26,6 @@
*
*/
-use OCP\API;
-
$application = new \OCA\Files_Sharing\AppInfo\Application();
$application->registerRoutes($this, [
'resources' => [
@@ -127,7 +125,3 @@ $application->registerRoutes($this, [
/** @var $this \OCP\Route\IRouter */
$this->create('sharing_external_shareinfo', '/shareinfo')
->actionInclude('files_sharing/ajax/shareinfo.php');
-
-// OCS API
-
-//TODO: SET: mail notification, waiting for PR #4689 to be accepted
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index c6e22669ec9..e399c0f46e1 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "Der Link ist abgelaufen",
"sharing is disabled" : "Teilen ist deaktiviert",
"For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wende dich bitte an die Person, die dir diesen Link geschickt hat.",
+ "shared by %s" : "von %s geteilt",
"Add to your Nextcloud" : "Zu Deiner Nextcloud hinzufügen",
"Download" : "Herunterladen",
"Download %s" : "Download %s",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index c4e01994e17..ab230c70481 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -101,6 +101,7 @@
"the link expired" : "Der Link ist abgelaufen",
"sharing is disabled" : "Teilen ist deaktiviert",
"For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wende dich bitte an die Person, die dir diesen Link geschickt hat.",
+ "shared by %s" : "von %s geteilt",
"Add to your Nextcloud" : "Zu Deiner Nextcloud hinzufügen",
"Download" : "Herunterladen",
"Download %s" : "Download %s",
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index 151d26722ef..84badeb991e 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "Der Link ist abgelaufen",
"sharing is disabled" : "Teilen ist deaktiviert",
"For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wenden Sie sich bitte an die Person, die Ihnen diesen Link geschickt hat.",
+ "shared by %s" : "von %s geteilt",
"Add to your Nextcloud" : "Zu Ihrer Nextcloud hinzufügen",
"Download" : "Herunterladen",
"Download %s" : "Download %s",
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index 59d5c6f4f99..5b300a77d6b 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -101,6 +101,7 @@
"the link expired" : "Der Link ist abgelaufen",
"sharing is disabled" : "Teilen ist deaktiviert",
"For more info, please ask the person who sent this link." : "Um nähere Informationen zu erhalten, wenden Sie sich bitte an die Person, die Ihnen diesen Link geschickt hat.",
+ "shared by %s" : "von %s geteilt",
"Add to your Nextcloud" : "Zu Ihrer Nextcloud hinzufügen",
"Download" : "Herunterladen",
"Download %s" : "Download %s",
diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js
index 4b4f9e9ecfc..4a501be56bc 100644
--- a/apps/files_sharing/l10n/el.js
+++ b/apps/files_sharing/l10n/el.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "ο σύνδεσμος έληξε",
"sharing is disabled" : "ο διαμοιρασμός απενεργοποιήθηκε",
"For more info, please ask the person who sent this link." : "Για περισσότερες πληροφορίες, παρακαλώ ρωτήστε το άτομο που σας έστειλε αυτόν τον σύνδεσμο.",
+ "shared by %s" : "Διαμοιράστηκε από 1 %s",
"Add to your Nextcloud" : "Προσθήκη στο Nextcloud σου",
"Download" : "Λήψη",
"Download %s" : "Λήψη %s",
diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json
index 8cd4acd2d0b..d8f7115e134 100644
--- a/apps/files_sharing/l10n/el.json
+++ b/apps/files_sharing/l10n/el.json
@@ -101,6 +101,7 @@
"the link expired" : "ο σύνδεσμος έληξε",
"sharing is disabled" : "ο διαμοιρασμός απενεργοποιήθηκε",
"For more info, please ask the person who sent this link." : "Για περισσότερες πληροφορίες, παρακαλώ ρωτήστε το άτομο που σας έστειλε αυτόν τον σύνδεσμο.",
+ "shared by %s" : "Διαμοιράστηκε από 1 %s",
"Add to your Nextcloud" : "Προσθήκη στο Nextcloud σου",
"Download" : "Λήψη",
"Download %s" : "Λήψη %s",
diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js
index 3bc3572ceff..cb5b0061c26 100644
--- a/apps/files_sharing/l10n/en_GB.js
+++ b/apps/files_sharing/l10n/en_GB.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "the link expired",
"sharing is disabled" : "sharing is disabled",
"For more info, please ask the person who sent this link." : "For more info, please ask the person who sent this link.",
+ "shared by %s" : "shared by %s",
"Add to your Nextcloud" : "Add to your Nextcloud",
"Download" : "Download",
"Download %s" : "Download %s",
diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json
index 0d09d445bc9..8bfb073837d 100644
--- a/apps/files_sharing/l10n/en_GB.json
+++ b/apps/files_sharing/l10n/en_GB.json
@@ -101,6 +101,7 @@
"the link expired" : "the link expired",
"sharing is disabled" : "sharing is disabled",
"For more info, please ask the person who sent this link." : "For more info, please ask the person who sent this link.",
+ "shared by %s" : "shared by %s",
"Add to your Nextcloud" : "Add to your Nextcloud",
"Download" : "Download",
"Download %s" : "Download %s",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index 43a90ab04fa..4d0bb4c3eb4 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "le lien a expiré",
"sharing is disabled" : "le partage est désactivé",
"For more info, please ask the person who sent this link." : "Pour plus d'informations, veuillez contacter la personne qui a envoyé ce lien.",
+ "shared by %s" : "partagé par %s",
"Add to your Nextcloud" : "Ajouter à votre Nextcloud",
"Download" : "Télécharger",
"Download %s" : "Télécharger %s",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index 3c6370873b7..21ca21757c3 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -101,6 +101,7 @@
"the link expired" : "le lien a expiré",
"sharing is disabled" : "le partage est désactivé",
"For more info, please ask the person who sent this link." : "Pour plus d'informations, veuillez contacter la personne qui a envoyé ce lien.",
+ "shared by %s" : "partagé par %s",
"Add to your Nextcloud" : "Ajouter à votre Nextcloud",
"Download" : "Télécharger",
"Download %s" : "Télécharger %s",
diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js
index 0bfe415807e..66f76a7395f 100644
--- a/apps/files_sharing/l10n/is.js
+++ b/apps/files_sharing/l10n/is.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "tengillinn er útrunninn",
"sharing is disabled" : "slökkt er á skráadeilingu",
"For more info, please ask the person who sent this link." : "Til að vita meira skaltu hafa samband við þann sem sendi þér þennan tengil.",
+ "shared by %s" : "Deilt af %s",
"Add to your Nextcloud" : "Bæta í þitt eigið Nextcloud",
"Download" : "Niðurhal",
"Download %s" : "Sækja %s",
diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json
index 02d206257df..0535169b94d 100644
--- a/apps/files_sharing/l10n/is.json
+++ b/apps/files_sharing/l10n/is.json
@@ -101,6 +101,7 @@
"the link expired" : "tengillinn er útrunninn",
"sharing is disabled" : "slökkt er á skráadeilingu",
"For more info, please ask the person who sent this link." : "Til að vita meira skaltu hafa samband við þann sem sendi þér þennan tengil.",
+ "shared by %s" : "Deilt af %s",
"Add to your Nextcloud" : "Bæta í þitt eigið Nextcloud",
"Download" : "Niðurhal",
"Download %s" : "Sækja %s",
diff --git a/apps/files_sharing/l10n/lt_LT.js b/apps/files_sharing/l10n/lt_LT.js
index 2a45838f65b..42dc320c2f4 100644
--- a/apps/files_sharing/l10n/lt_LT.js
+++ b/apps/files_sharing/l10n/lt_LT.js
@@ -1,73 +1,116 @@
OC.L10N.register(
"files_sharing",
{
- "Server to server sharing is not enabled on this server" : "Serveris - serveris dalinimasis neįjungtas šiame serveryje",
- "The mountpoint name contains invalid characters." : "Prijungimo taškas su neleistinais simboliais.",
- "Not allowed to create a federated share with the same user server" : "Neleidžiama dalintis tarp serverių, nes vartotojas tame pačiame serveryje.",
- "Invalid or untrusted SSL certificate" : "Netinkamas arba nepatikimas SSL sertifikatas",
- "Could not authenticate to remote share, password might be wrong" : "Nepavyko identifikuotis serveryje, gal netinkamas slaptažodis",
- "Storage not valid" : "Talpykla negalioja",
- "Couldn't add remote share" : "Nepavyko pridėti nutolusio dalijimosi",
- "Shared with you" : "Pasidalinta su tavimi",
- "Shared with others" : "Pasidalinta su kitais",
- "Shared by link" : "Pasidalinta su nuoroda",
- "Nothing shared with you yet" : "Kol kas niekas su tavimi nesidalijama",
- "Files and folders others share with you will show up here" : "Failai ir aplankai kurie dalinami ir tau, bus rodomi čia",
- "Nothing shared yet" : "Niekas nepasidalinta",
- "Files and folders you share will show up here" : "Failai ir aplankai kuriais daliniesi bus rodomi čia",
- "No shared links" : "Nėra pasidalinimų nuoroda",
- "Files and folders you share by link will show up here" : "Failai ir aplankai kuriais daliniesi su nuoroda bus rodomi čia",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Ar nori pridėti nutolusį dalijimąsi {name} nuo {owner}@{remote}?",
- "Remote share" : "Nutolęs dalinimasis",
- "Remote share password" : "Nutolusio dalijimosi slaptažodis",
- "Cancel" : "Atšaukti",
- "Add remote share" : "Pridėti nutolusi dalijimąsi",
- "You can upload into this folder" : "Gali įkelti į šį aplanką",
- "No ownCloud installation (7 or higher) found at {remote}" : "Nerastas ownCloud (7 ar aukštesnė versiją) {remote} serveryje.",
- "Invalid ownCloud url" : "Neteisinga ownCloud nuoroda",
- "Shared by" : "Dalinasi",
- "Sharing" : "Dalijimasis",
- "A file or folder has been <strong>shared</strong>" : "Failas ar aplankas buvo <strong>pasidalintas</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Failas ar aplankas buvo pasidalintas iš <strong>kito serverio</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Viešai pasidalintas failas ar aplankas <strong>parsiųstas</strong>",
- "You received a new remote share %2$s from %1$s" : "Gavote naują nutolusį dalijimąsi %2$s nuo %1$s",
- "You received a new remote share from %s" : "Gavote naują nutolusį dalijimąsi nuo %s",
- "%1$s accepted remote share %2$s" : "%1$s priėmė nutolusį dalijimąsi %2$s",
- "%1$s declined remote share %2$s" : "%1$s atmetė nutolusį dalijimąsi %2$s",
- "%1$s unshared %2$s from you" : "%1$s nebesidalina %2$s su tavimi",
- "Public shared folder %1$s was downloaded" : "Viešas dalijimosi aplankas %1$s parsiųstas",
- "Public shared file %1$s was downloaded" : "Viešai dalinamas failas %1$s parsiųstas",
- "You shared %1$s with %2$s" : "Jūs pasidalinote %1$s su %2$s",
- "%2$s shared %1$s with %3$s" : "%2$s pasidalino %1$s su %3$s",
- "You shared %1$s with group %2$s" : "Jūs pasidalinote %1$s su grupe %2$s",
- "%2$s shared %1$s with group %3$s" : "%2$s pasidalino %1$s su grupe %3$s",
- "%2$s shared %1$s via link" : "%2$s pasidalino %1$s nuoroda",
- "You shared %1$s via link" : "Pasidalinote %1$s per nuorodą",
- "%2$s shared %1$s with you" : "%2$s pasidalino %1$s su jumis",
+ "Shared with you" : "Bendrinama su jumis",
+ "Shared with others" : "Bendrinama su kitais",
+ "Shared by link" : "Bendrinama per nuorodą",
+ "Nothing shared with you yet" : "Niekas nebendrinama",
+ "Files and folders others share with you will show up here" : "Čia rodomi failai ir aplankai, kuriuos kiti bendrina su jumis",
+ "Nothing shared yet" : "Kol kas nieko nebendrinama",
+ "Files and folders you share will show up here" : "Čia rodomi failai ir aplankai, kuriuos bendrinate",
+ "No shared links" : "Nėra bendrinamų nuorodų",
+ "Files and folders you share by link will show up here" : "Jūsų bendrinami failai ir aplankai rodomi čia",
+ "You can upload into this folder" : "Galite įkelti į šį aplanką",
+ "No compatible server found at {remote}" : "Nerasta jokio suderinamo serverio ties {remote}",
+ "Invalid server URL" : "Neteisingas serverio adresas",
+ "Failed to add the public link to your Nextcloud" : "Nepavyko pridėti viešosios nuorodos į jūsų Nextcloud",
+ "Share" : "Dalintis",
+ "No expiration date set" : "Dalinimosi pabaigos data yra nenustatyta",
+ "Shared by" : "Bendrina",
+ "Sharing" : "Dalinamasi",
+ "File shares" : "Bendrinami duomenys",
"Downloaded via public link" : "Atsiųsti per viešą nuorodą",
- "Shared with %2$s" : "Pasidalinta su %2$s",
- "Shared with %3$s by %2$s" : "%2$s pasidalino %3$s",
- "Shared with group %2$s" : "Pasidalinta su grupe %2$s",
- "Shared with group %3$s by %2$s" : "%2$s pasidalino su grupe %3$s",
- "Shared via link by %2$s" : "%2$s pasidalino nuoroda",
- "Shared via public link" : "Pasidalinta vieša nuoroda",
- "Shared by %2$s" : "Pasidalino %2$s",
- "Shares" : "Dalijimaisi",
+ "Downloaded by {email}" : "Parsisiųsta į {email}",
+ "{file} downloaded via public link" : "{file} parsisiųsta per nuorodą",
+ "{email} downloaded {file}" : "{email} atsisiuntė {file}",
+ "Shared with group {group}" : "Bendrinama su grupe {group}",
+ "Removed share for group {group}" : "Nebesidalinama su grupe: {group}",
+ "{actor} shared with group {group}" : "{actor} pradėjo bendrinti su grupe {group}",
+ "{actor} removed share for group {group}" : "{actor} nustojo dalintis su {group} grupe",
+ "You shared {file} with group {group}" : "Jūs pradėjote bendrinti {file} su grupe {group}",
+ "You removed group {group} from {file}" : "Pašalinote grupę {group} iš {file}",
+ "{actor} shared {file} with group {group}" : "{actor} pradėjo bendrinti {file} su grupe {group}",
+ "{actor} removed group {group} from {file}" : "{actor} pašalino grupę {group} iš {file}",
+ "Shared as public link" : "Bendrinama kaip viešoji nuoroda",
+ "Removed public link" : "Pašalinti viešą nuorodą",
+ "Public link expired" : "Pasibaigė nuorodos galiojimo laikas",
+ "{actor} shared as public link" : "{actor} pradėjo bendrinti kaip viešąją nuorodą",
+ "{actor} removed public link" : "{actor} pašalino nuorodą",
+ "Public link of {actor} expired" : "Pasibaigė nuorodos, priklausančios {actor}, galiojimo laikas",
+ "You shared {file} as public link" : "Jūs pradėjote bendrinti {file} kaip viešąją nuorodą",
+ "You removed public link for {file}" : "Jūs pašalinote viešą {file} nuorodą",
+ "Public link expired for {file}" : "Pasibaigė nuorodos galiojimo laikas skirtas {file}",
+ "{actor} shared {file} as public link" : "{actor} pradėjo bendrinti {file} kaip viešąją nuorodą",
+ "{actor} removed public link for {file}" : "{actor} nebesidalina \"{file}\"",
+ "Public link of {actor} for {file} expired" : "Pasibaigė nuorodos galiojimo laikas duomenims {file}, bendrintiems {actor}",
+ "{user} accepted the remote share" : "{user} priėmė bendrinamus duomenis",
+ "{user} declined the remote share" : "{user} atmetė duomenų dalinimąsi",
+ "You received a new remote share {file} from {user}" : "Jūs gavote naują duomenis \"{file}\" iš kito serverio nuo {user}",
+ "{user} accepted the remote share of {file}" : "{user} priėmė bendrinamus duomenis \"{file}\"",
+ "{user} declined the remote share of {file}" : "{user} atmetė duomenų \"{file}\" dalinimąsį",
+ "{user} unshared {file} from you" : "{user} nustojo bendrinti su jumis {file}",
+ "Shared with {user}" : "Pradėta bendrinti su {user}",
+ "Removed share for {user}" : "Nustota dalintis su {user}",
+ "{actor} shared with {user}" : "{actor} pradėjo bendrinti su {user}",
+ "{actor} removed share for {user}" : "{actor} nustojo dalintis su {user}",
+ "Shared by {actor}" : "Pasidalinta {actor}",
+ "{actor} removed share" : "{actor} nustojo dalintis",
+ "You shared {file} with {user}" : "Pasidalinote {file} su {user}",
+ "You removed {user} from {file}" : "Nebesidalinate {file} su {user}",
+ "{actor} shared {file} with {user}" : "{actor} pasidalino {file} su {user}",
+ "{actor} removed {user} from {file}" : "{actor} nebesidalina {file} su {user}",
+ "{actor} shared {file} with you" : "{actor} pasidalino {file} su jumis",
+ "{actor} removed you from {file}" : "{actor} nebesidalina su jumis {file}",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Duomenys, bendrinti per elektroninį paštą, buvo <strong>parsiųsti</strong>",
+ "A file or folder was shared from <strong>another server</strong>" : "Failas ar aplankas buvo pasidalintas iš <strong>kito serverio</strong>",
+ "A file or folder has been <strong>shared</strong>" : "Failas ar aplankas buvo <strong>pasidalintas</strong>",
+ "Wrong share ID, share doesn't exist" : "Neteisingas dalinamų duomenų ID",
+ "could not delete share" : "nepavyko nustoti dalintis duomenimis",
+ "Could not delete share" : "Nepavyko nustoti dalintis duomenimis",
+ "Please specify a file or folder path" : "Nurodykite kelią iki duomenų",
+ "Wrong path, file/folder doesn't exist" : "Neteisingas kelias, failo/aplanko nėra",
+ "Could not create share" : "Negalima dalintis",
+ "invalid permissions" : "neteisingi leidimai",
+ "Please specify a valid user" : "Nurodykite naudotoją",
+ "Group sharing is disabled by the administrator" : "Bendrinimas su grupėmis yra išjungtas",
+ "Please specify a valid group" : "Nurodykite grupę",
+ "Public link sharing is disabled by the administrator" : "Dalinimasis per nuorodą yra išjungtas",
+ "Public upload disabled by the administrator" : "Įkėlimas viešam naudojimui yra išjungtas",
+ "Public upload is only possible for publicly shared folders" : "Duomenų įkėlimas viešam naudojimui galimas tik į viešai dalinamus aplankus",
+ "Invalid date, date format must be YYYY-MM-DD" : "Netinkamas datos formavimas. Privaloma: YYYY-MM-DD",
+ "Sharing %s failed because the back end does not allow shares from type %s" : "%s dalinimasis nepavyko, nes sistema nepalaiko šio duomenų tipo: %s",
+ "You cannot share to a Circle if the app is not enabled" : "Negalite dalintis su naudotojų ratu, kai įskiepis \"Circle\" neveikia",
+ "Please specify a valid circle" : "Pasirinkite naudotojų ratą",
+ "Unknown share type" : "Nežinomas bendrinamų duomenų tipas",
+ "Not a directory" : "Nėra katalogas",
+ "Could not lock path" : "Nepavyko užrakinti kelio",
+ "Wrong or no update parameter given" : "Neperduoti atnaujinimo parametrai",
+ "Can't change permissions for public share links" : "Negalima keisti leidimų viešai bendrinamoms nuorodoms",
+ "Cannot increase permissions" : "Negalima pridėti papildomų leidimų",
+ "%s is publicly shared" : "%s yra bendrinamas viešai",
+ "Share API is disabled" : "Bendrinimo API yra išjungtas",
+ "File sharing" : "Duomenų dalinimasis",
"This share is password-protected" : "Turinys apsaugotas slaptažodžiu",
- "The password is wrong. Try again." : "Netinka slaptažodis: Bandykite dar kartą.",
+ "The password is wrong. Try again." : "Slaptažodis neteisingas. Bandykite dar kartą.",
"Password" : "Slaptažodis",
- "No entries found in this folder" : "Nerasta įrašų šiame aplanke",
+ "No entries found in this folder" : "Šiame aplanke įrašų nerasta",
"Name" : "Pavadinimas",
"Share time" : "Dalijimosi laikas",
- "Sorry, this link doesn’t seem to work anymore." : "Atleiskite, panašu, kad nuoroda yra neveiksni.",
+ "Expiration date" : "Galiojimo data",
+ "Sorry, this link doesn’t seem to work anymore." : "Nuoroda yra neveiksni.",
"Reasons might be:" : "Galimos priežastys:",
"the item was removed" : "elementas buvo pašalintas",
"the link expired" : "baigėsi nuorodos galiojimo laikas",
"sharing is disabled" : "dalinimasis yra išjungtas",
"For more info, please ask the person who sent this link." : "Dėl tikslesnės informacijos susisiekite su asmeniu atsiuntusiu nuorodą.",
- "Add to your ownCloud" : "Pridėti prie tavo ownCloud",
+ "shared by %s" : "pasidalino %s",
+ "Add to your Nextcloud" : "Pridėti į jūsų NextCloud",
"Download" : "Atsisiųsti",
- "Download %s" : "Atsiųsti %s",
- "Direct link" : "Tiesioginė nuoroda"
+ "Download %s" : "Atsisiųsti %s",
+ "Direct link" : "Tiesioginė nuoroda",
+ "Upload files to %s" : "Įkelti duomenis į %s",
+ "Select or drop files" : "Pasirinkite arba vilkite failus",
+ "Uploading files…" : "Įkeliami failai…",
+ "Uploaded files:" : "Įkelti failai:"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_sharing/l10n/lt_LT.json b/apps/files_sharing/l10n/lt_LT.json
index 95cc0cf965b..7ce7df158c5 100644
--- a/apps/files_sharing/l10n/lt_LT.json
+++ b/apps/files_sharing/l10n/lt_LT.json
@@ -1,71 +1,114 @@
{ "translations": {
- "Server to server sharing is not enabled on this server" : "Serveris - serveris dalinimasis neįjungtas šiame serveryje",
- "The mountpoint name contains invalid characters." : "Prijungimo taškas su neleistinais simboliais.",
- "Not allowed to create a federated share with the same user server" : "Neleidžiama dalintis tarp serverių, nes vartotojas tame pačiame serveryje.",
- "Invalid or untrusted SSL certificate" : "Netinkamas arba nepatikimas SSL sertifikatas",
- "Could not authenticate to remote share, password might be wrong" : "Nepavyko identifikuotis serveryje, gal netinkamas slaptažodis",
- "Storage not valid" : "Talpykla negalioja",
- "Couldn't add remote share" : "Nepavyko pridėti nutolusio dalijimosi",
- "Shared with you" : "Pasidalinta su tavimi",
- "Shared with others" : "Pasidalinta su kitais",
- "Shared by link" : "Pasidalinta su nuoroda",
- "Nothing shared with you yet" : "Kol kas niekas su tavimi nesidalijama",
- "Files and folders others share with you will show up here" : "Failai ir aplankai kurie dalinami ir tau, bus rodomi čia",
- "Nothing shared yet" : "Niekas nepasidalinta",
- "Files and folders you share will show up here" : "Failai ir aplankai kuriais daliniesi bus rodomi čia",
- "No shared links" : "Nėra pasidalinimų nuoroda",
- "Files and folders you share by link will show up here" : "Failai ir aplankai kuriais daliniesi su nuoroda bus rodomi čia",
- "Do you want to add the remote share {name} from {owner}@{remote}?" : "Ar nori pridėti nutolusį dalijimąsi {name} nuo {owner}@{remote}?",
- "Remote share" : "Nutolęs dalinimasis",
- "Remote share password" : "Nutolusio dalijimosi slaptažodis",
- "Cancel" : "Atšaukti",
- "Add remote share" : "Pridėti nutolusi dalijimąsi",
- "You can upload into this folder" : "Gali įkelti į šį aplanką",
- "No ownCloud installation (7 or higher) found at {remote}" : "Nerastas ownCloud (7 ar aukštesnė versiją) {remote} serveryje.",
- "Invalid ownCloud url" : "Neteisinga ownCloud nuoroda",
- "Shared by" : "Dalinasi",
- "Sharing" : "Dalijimasis",
- "A file or folder has been <strong>shared</strong>" : "Failas ar aplankas buvo <strong>pasidalintas</strong>",
- "A file or folder was shared from <strong>another server</strong>" : "Failas ar aplankas buvo pasidalintas iš <strong>kito serverio</strong>",
- "A public shared file or folder was <strong>downloaded</strong>" : "Viešai pasidalintas failas ar aplankas <strong>parsiųstas</strong>",
- "You received a new remote share %2$s from %1$s" : "Gavote naują nutolusį dalijimąsi %2$s nuo %1$s",
- "You received a new remote share from %s" : "Gavote naują nutolusį dalijimąsi nuo %s",
- "%1$s accepted remote share %2$s" : "%1$s priėmė nutolusį dalijimąsi %2$s",
- "%1$s declined remote share %2$s" : "%1$s atmetė nutolusį dalijimąsi %2$s",
- "%1$s unshared %2$s from you" : "%1$s nebesidalina %2$s su tavimi",
- "Public shared folder %1$s was downloaded" : "Viešas dalijimosi aplankas %1$s parsiųstas",
- "Public shared file %1$s was downloaded" : "Viešai dalinamas failas %1$s parsiųstas",
- "You shared %1$s with %2$s" : "Jūs pasidalinote %1$s su %2$s",
- "%2$s shared %1$s with %3$s" : "%2$s pasidalino %1$s su %3$s",
- "You shared %1$s with group %2$s" : "Jūs pasidalinote %1$s su grupe %2$s",
- "%2$s shared %1$s with group %3$s" : "%2$s pasidalino %1$s su grupe %3$s",
- "%2$s shared %1$s via link" : "%2$s pasidalino %1$s nuoroda",
- "You shared %1$s via link" : "Pasidalinote %1$s per nuorodą",
- "%2$s shared %1$s with you" : "%2$s pasidalino %1$s su jumis",
+ "Shared with you" : "Bendrinama su jumis",
+ "Shared with others" : "Bendrinama su kitais",
+ "Shared by link" : "Bendrinama per nuorodą",
+ "Nothing shared with you yet" : "Niekas nebendrinama",
+ "Files and folders others share with you will show up here" : "Čia rodomi failai ir aplankai, kuriuos kiti bendrina su jumis",
+ "Nothing shared yet" : "Kol kas nieko nebendrinama",
+ "Files and folders you share will show up here" : "Čia rodomi failai ir aplankai, kuriuos bendrinate",
+ "No shared links" : "Nėra bendrinamų nuorodų",
+ "Files and folders you share by link will show up here" : "Jūsų bendrinami failai ir aplankai rodomi čia",
+ "You can upload into this folder" : "Galite įkelti į šį aplanką",
+ "No compatible server found at {remote}" : "Nerasta jokio suderinamo serverio ties {remote}",
+ "Invalid server URL" : "Neteisingas serverio adresas",
+ "Failed to add the public link to your Nextcloud" : "Nepavyko pridėti viešosios nuorodos į jūsų Nextcloud",
+ "Share" : "Dalintis",
+ "No expiration date set" : "Dalinimosi pabaigos data yra nenustatyta",
+ "Shared by" : "Bendrina",
+ "Sharing" : "Dalinamasi",
+ "File shares" : "Bendrinami duomenys",
"Downloaded via public link" : "Atsiųsti per viešą nuorodą",
- "Shared with %2$s" : "Pasidalinta su %2$s",
- "Shared with %3$s by %2$s" : "%2$s pasidalino %3$s",
- "Shared with group %2$s" : "Pasidalinta su grupe %2$s",
- "Shared with group %3$s by %2$s" : "%2$s pasidalino su grupe %3$s",
- "Shared via link by %2$s" : "%2$s pasidalino nuoroda",
- "Shared via public link" : "Pasidalinta vieša nuoroda",
- "Shared by %2$s" : "Pasidalino %2$s",
- "Shares" : "Dalijimaisi",
+ "Downloaded by {email}" : "Parsisiųsta į {email}",
+ "{file} downloaded via public link" : "{file} parsisiųsta per nuorodą",
+ "{email} downloaded {file}" : "{email} atsisiuntė {file}",
+ "Shared with group {group}" : "Bendrinama su grupe {group}",
+ "Removed share for group {group}" : "Nebesidalinama su grupe: {group}",
+ "{actor} shared with group {group}" : "{actor} pradėjo bendrinti su grupe {group}",
+ "{actor} removed share for group {group}" : "{actor} nustojo dalintis su {group} grupe",
+ "You shared {file} with group {group}" : "Jūs pradėjote bendrinti {file} su grupe {group}",
+ "You removed group {group} from {file}" : "Pašalinote grupę {group} iš {file}",
+ "{actor} shared {file} with group {group}" : "{actor} pradėjo bendrinti {file} su grupe {group}",
+ "{actor} removed group {group} from {file}" : "{actor} pašalino grupę {group} iš {file}",
+ "Shared as public link" : "Bendrinama kaip viešoji nuoroda",
+ "Removed public link" : "Pašalinti viešą nuorodą",
+ "Public link expired" : "Pasibaigė nuorodos galiojimo laikas",
+ "{actor} shared as public link" : "{actor} pradėjo bendrinti kaip viešąją nuorodą",
+ "{actor} removed public link" : "{actor} pašalino nuorodą",
+ "Public link of {actor} expired" : "Pasibaigė nuorodos, priklausančios {actor}, galiojimo laikas",
+ "You shared {file} as public link" : "Jūs pradėjote bendrinti {file} kaip viešąją nuorodą",
+ "You removed public link for {file}" : "Jūs pašalinote viešą {file} nuorodą",
+ "Public link expired for {file}" : "Pasibaigė nuorodos galiojimo laikas skirtas {file}",
+ "{actor} shared {file} as public link" : "{actor} pradėjo bendrinti {file} kaip viešąją nuorodą",
+ "{actor} removed public link for {file}" : "{actor} nebesidalina \"{file}\"",
+ "Public link of {actor} for {file} expired" : "Pasibaigė nuorodos galiojimo laikas duomenims {file}, bendrintiems {actor}",
+ "{user} accepted the remote share" : "{user} priėmė bendrinamus duomenis",
+ "{user} declined the remote share" : "{user} atmetė duomenų dalinimąsi",
+ "You received a new remote share {file} from {user}" : "Jūs gavote naują duomenis \"{file}\" iš kito serverio nuo {user}",
+ "{user} accepted the remote share of {file}" : "{user} priėmė bendrinamus duomenis \"{file}\"",
+ "{user} declined the remote share of {file}" : "{user} atmetė duomenų \"{file}\" dalinimąsį",
+ "{user} unshared {file} from you" : "{user} nustojo bendrinti su jumis {file}",
+ "Shared with {user}" : "Pradėta bendrinti su {user}",
+ "Removed share for {user}" : "Nustota dalintis su {user}",
+ "{actor} shared with {user}" : "{actor} pradėjo bendrinti su {user}",
+ "{actor} removed share for {user}" : "{actor} nustojo dalintis su {user}",
+ "Shared by {actor}" : "Pasidalinta {actor}",
+ "{actor} removed share" : "{actor} nustojo dalintis",
+ "You shared {file} with {user}" : "Pasidalinote {file} su {user}",
+ "You removed {user} from {file}" : "Nebesidalinate {file} su {user}",
+ "{actor} shared {file} with {user}" : "{actor} pasidalino {file} su {user}",
+ "{actor} removed {user} from {file}" : "{actor} nebesidalina {file} su {user}",
+ "{actor} shared {file} with you" : "{actor} pasidalino {file} su jumis",
+ "{actor} removed you from {file}" : "{actor} nebesidalina su jumis {file}",
+ "A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Duomenys, bendrinti per elektroninį paštą, buvo <strong>parsiųsti</strong>",
+ "A file or folder was shared from <strong>another server</strong>" : "Failas ar aplankas buvo pasidalintas iš <strong>kito serverio</strong>",
+ "A file or folder has been <strong>shared</strong>" : "Failas ar aplankas buvo <strong>pasidalintas</strong>",
+ "Wrong share ID, share doesn't exist" : "Neteisingas dalinamų duomenų ID",
+ "could not delete share" : "nepavyko nustoti dalintis duomenimis",
+ "Could not delete share" : "Nepavyko nustoti dalintis duomenimis",
+ "Please specify a file or folder path" : "Nurodykite kelią iki duomenų",
+ "Wrong path, file/folder doesn't exist" : "Neteisingas kelias, failo/aplanko nėra",
+ "Could not create share" : "Negalima dalintis",
+ "invalid permissions" : "neteisingi leidimai",
+ "Please specify a valid user" : "Nurodykite naudotoją",
+ "Group sharing is disabled by the administrator" : "Bendrinimas su grupėmis yra išjungtas",
+ "Please specify a valid group" : "Nurodykite grupę",
+ "Public link sharing is disabled by the administrator" : "Dalinimasis per nuorodą yra išjungtas",
+ "Public upload disabled by the administrator" : "Įkėlimas viešam naudojimui yra išjungtas",
+ "Public upload is only possible for publicly shared folders" : "Duomenų įkėlimas viešam naudojimui galimas tik į viešai dalinamus aplankus",
+ "Invalid date, date format must be YYYY-MM-DD" : "Netinkamas datos formavimas. Privaloma: YYYY-MM-DD",
+ "Sharing %s failed because the back end does not allow shares from type %s" : "%s dalinimasis nepavyko, nes sistema nepalaiko šio duomenų tipo: %s",
+ "You cannot share to a Circle if the app is not enabled" : "Negalite dalintis su naudotojų ratu, kai įskiepis \"Circle\" neveikia",
+ "Please specify a valid circle" : "Pasirinkite naudotojų ratą",
+ "Unknown share type" : "Nežinomas bendrinamų duomenų tipas",
+ "Not a directory" : "Nėra katalogas",
+ "Could not lock path" : "Nepavyko užrakinti kelio",
+ "Wrong or no update parameter given" : "Neperduoti atnaujinimo parametrai",
+ "Can't change permissions for public share links" : "Negalima keisti leidimų viešai bendrinamoms nuorodoms",
+ "Cannot increase permissions" : "Negalima pridėti papildomų leidimų",
+ "%s is publicly shared" : "%s yra bendrinamas viešai",
+ "Share API is disabled" : "Bendrinimo API yra išjungtas",
+ "File sharing" : "Duomenų dalinimasis",
"This share is password-protected" : "Turinys apsaugotas slaptažodžiu",
- "The password is wrong. Try again." : "Netinka slaptažodis: Bandykite dar kartą.",
+ "The password is wrong. Try again." : "Slaptažodis neteisingas. Bandykite dar kartą.",
"Password" : "Slaptažodis",
- "No entries found in this folder" : "Nerasta įrašų šiame aplanke",
+ "No entries found in this folder" : "Šiame aplanke įrašų nerasta",
"Name" : "Pavadinimas",
"Share time" : "Dalijimosi laikas",
- "Sorry, this link doesn’t seem to work anymore." : "Atleiskite, panašu, kad nuoroda yra neveiksni.",
+ "Expiration date" : "Galiojimo data",
+ "Sorry, this link doesn’t seem to work anymore." : "Nuoroda yra neveiksni.",
"Reasons might be:" : "Galimos priežastys:",
"the item was removed" : "elementas buvo pašalintas",
"the link expired" : "baigėsi nuorodos galiojimo laikas",
"sharing is disabled" : "dalinimasis yra išjungtas",
"For more info, please ask the person who sent this link." : "Dėl tikslesnės informacijos susisiekite su asmeniu atsiuntusiu nuorodą.",
- "Add to your ownCloud" : "Pridėti prie tavo ownCloud",
+ "shared by %s" : "pasidalino %s",
+ "Add to your Nextcloud" : "Pridėti į jūsų NextCloud",
"Download" : "Atsisiųsti",
- "Download %s" : "Atsiųsti %s",
- "Direct link" : "Tiesioginė nuoroda"
+ "Download %s" : "Atsisiųsti %s",
+ "Direct link" : "Tiesioginė nuoroda",
+ "Upload files to %s" : "Įkelti duomenis į %s",
+ "Select or drop files" : "Pasirinkite arba vilkite failus",
+ "Uploading files…" : "Įkeliami failai…",
+ "Uploaded files:" : "Įkelti failai:"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/nb.js b/apps/files_sharing/l10n/nb.js
index 4f92d06d883..4ebb9b64d42 100644
--- a/apps/files_sharing/l10n/nb.js
+++ b/apps/files_sharing/l10n/nb.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "lenken er utløpt",
"sharing is disabled" : "deling er avskrudd",
"For more info, please ask the person who sent this link." : "For mer informasjon, spør personen som sendte lenken.",
+ "shared by %s" : "delt av %s",
"Add to your Nextcloud" : "Legg til i din Nextcloud",
"Download" : "Last ned",
"Download %s" : "Last ned %s",
diff --git a/apps/files_sharing/l10n/nb.json b/apps/files_sharing/l10n/nb.json
index b51cb60f88a..e0a02d7c93e 100644
--- a/apps/files_sharing/l10n/nb.json
+++ b/apps/files_sharing/l10n/nb.json
@@ -101,6 +101,7 @@
"the link expired" : "lenken er utløpt",
"sharing is disabled" : "deling er avskrudd",
"For more info, please ask the person who sent this link." : "For mer informasjon, spør personen som sendte lenken.",
+ "shared by %s" : "delt av %s",
"Add to your Nextcloud" : "Legg til i din Nextcloud",
"Download" : "Last ned",
"Download %s" : "Last ned %s",
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index 3aff2387241..f0a6c030612 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "de link is verlopen",
"sharing is disabled" : "delen is uitgeschakeld",
"For more info, please ask the person who sent this link." : "Voor meer informatie, neem contact op met de persoon die u deze link heeft gestuurd.",
+ "shared by %s" : "Gedeeld door %s",
"Add to your Nextcloud" : "Toevoegen aan je Nextcloud",
"Download" : "Downloaden",
"Download %s" : "Download %s",
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index 192399be440..871372f7c77 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -101,6 +101,7 @@
"the link expired" : "de link is verlopen",
"sharing is disabled" : "delen is uitgeschakeld",
"For more info, please ask the person who sent this link." : "Voor meer informatie, neem contact op met de persoon die u deze link heeft gestuurd.",
+ "shared by %s" : "Gedeeld door %s",
"Add to your Nextcloud" : "Toevoegen aan je Nextcloud",
"Download" : "Downloaden",
"Download %s" : "Download %s",
diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index 2a2b424e25a..7906ea6f01e 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "o link expirou",
"sharing is disabled" : "o compartilhamento está desativado",
"For more info, please ask the person who sent this link." : "Para mais informações, pergunte à pessoa que lhe enviou o link.",
+ "shared by %s" : "compartilhado por %s",
"Add to your Nextcloud" : "Adicionar ao seu Nextcloud",
"Download" : "Baixar",
"Download %s" : "Baixar %s",
diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json
index 4040000cb43..f7a37ac8e15 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -101,6 +101,7 @@
"the link expired" : "o link expirou",
"sharing is disabled" : "o compartilhamento está desativado",
"For more info, please ask the person who sent this link." : "Para mais informações, pergunte à pessoa que lhe enviou o link.",
+ "shared by %s" : "compartilhado por %s",
"Add to your Nextcloud" : "Adicionar ao seu Nextcloud",
"Download" : "Baixar",
"Download %s" : "Baixar %s",
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index 7d20853147f..c227aea0a78 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "срок действия ссылки истёк",
"sharing is disabled" : "общий доступ отключён",
"For more info, please ask the person who sent this link." : "Для получения дополнительной информации, свяжитесь с тем, кто отправил вам эту ссылку.",
+ "shared by %s" : "начато %s",
"Add to your Nextcloud" : "Добавить к вашему Nextcloud",
"Download" : "Скачать",
"Download %s" : "Скачать %s",
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index 91bd410804e..dbb0c02cdb8 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -101,6 +101,7 @@
"the link expired" : "срок действия ссылки истёк",
"sharing is disabled" : "общий доступ отключён",
"For more info, please ask the person who sent this link." : "Для получения дополнительной информации, свяжитесь с тем, кто отправил вам эту ссылку.",
+ "shared by %s" : "начато %s",
"Add to your Nextcloud" : "Добавить к вашему Nextcloud",
"Download" : "Скачать",
"Download %s" : "Скачать %s",
diff --git a/apps/files_sharing/l10n/sq.js b/apps/files_sharing/l10n/sq.js
index cbe82067813..1f2c81b0407 100644
--- a/apps/files_sharing/l10n/sq.js
+++ b/apps/files_sharing/l10n/sq.js
@@ -48,20 +48,21 @@ OC.L10N.register(
"{user} unshared {file} from you" : "{user} nuk ndau {file} nga ju",
"Shared with {user}" : "Ndarë me {user}",
"Removed share for {user}" : "Hoqi ndarjen për {user}",
- "{actor} shared with {user}" : "{actor} ndau me {user}",
+ "{actor} shared with {user}" : "{aktori} ndau me {përdoruesin}",
"{actor} removed share for {user}" : "{actor} hoqi ndarjen për {user}",
"Shared by {actor}" : "U nda nga {actor}",
"{actor} removed share" : "{actor} hoqi ndarjen",
"You shared {file} with {user}" : "Ndatë {file} me {user}",
"You removed {user} from {file}" : "Hoqët {user} nga {file}",
+ "{actor} shared {file} with {user}" : "{aktori} ndau {skedarë} me {përdoruesin}",
"{actor} removed {user} from {file}" : "{actor} hoqi {user} nga {file}",
- "{actor} shared {file} with you" : "{actor} ndau {file} me ju",
+ "{actor} shared {file} with you" : "{actor} ndau {skedarë} me ju",
"{actor} removed you from {file}" : "{actor} iu hoqi nga {file}",
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Një skedar ose dosje e ndarë nga posta ose lidhja publike ishte <strong> shkarkuar</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Një kartelë ose dosje u nda prej një <strong>shërbyesi tjetër</strong>",
"A file or folder has been <strong>shared</strong>" : "U <strong>nda me të tjerë</strong> një kartelë ose dosje",
"Wrong share ID, share doesn't exist" : "ID e gabuar ndarjeje, ndarja s’ekziston",
- "could not delete share" : "Ndarja s’u fshi dot",
+ "could not delete share" : "ndarja s’u fshi dot",
"Could not delete share" : "Ndarja s’u fshi dot",
"Please specify a file or folder path" : "Ju lutemi, tregoni një shteg kartele ose dosjeje",
"Wrong path, file/folder doesn't exist" : "Shteg i gabuar, kratela/dosja s’ekziston",
diff --git a/apps/files_sharing/l10n/sq.json b/apps/files_sharing/l10n/sq.json
index 2c2489830b5..fa46d606c70 100644
--- a/apps/files_sharing/l10n/sq.json
+++ b/apps/files_sharing/l10n/sq.json
@@ -46,20 +46,21 @@
"{user} unshared {file} from you" : "{user} nuk ndau {file} nga ju",
"Shared with {user}" : "Ndarë me {user}",
"Removed share for {user}" : "Hoqi ndarjen për {user}",
- "{actor} shared with {user}" : "{actor} ndau me {user}",
+ "{actor} shared with {user}" : "{aktori} ndau me {përdoruesin}",
"{actor} removed share for {user}" : "{actor} hoqi ndarjen për {user}",
"Shared by {actor}" : "U nda nga {actor}",
"{actor} removed share" : "{actor} hoqi ndarjen",
"You shared {file} with {user}" : "Ndatë {file} me {user}",
"You removed {user} from {file}" : "Hoqët {user} nga {file}",
+ "{actor} shared {file} with {user}" : "{aktori} ndau {skedarë} me {përdoruesin}",
"{actor} removed {user} from {file}" : "{actor} hoqi {user} nga {file}",
- "{actor} shared {file} with you" : "{actor} ndau {file} me ju",
+ "{actor} shared {file} with you" : "{actor} ndau {skedarë} me ju",
"{actor} removed you from {file}" : "{actor} iu hoqi nga {file}",
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Një skedar ose dosje e ndarë nga posta ose lidhja publike ishte <strong> shkarkuar</strong>",
"A file or folder was shared from <strong>another server</strong>" : "Një kartelë ose dosje u nda prej një <strong>shërbyesi tjetër</strong>",
"A file or folder has been <strong>shared</strong>" : "U <strong>nda me të tjerë</strong> një kartelë ose dosje",
"Wrong share ID, share doesn't exist" : "ID e gabuar ndarjeje, ndarja s’ekziston",
- "could not delete share" : "Ndarja s’u fshi dot",
+ "could not delete share" : "ndarja s’u fshi dot",
"Could not delete share" : "Ndarja s’u fshi dot",
"Please specify a file or folder path" : "Ju lutemi, tregoni një shteg kartele ose dosjeje",
"Wrong path, file/folder doesn't exist" : "Shteg i gabuar, kratela/dosja s’ekziston",
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index 351f051565f..90dd8d9cbb0 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"the link expired" : "bağlantı süresi dolmuş",
"sharing is disabled" : "paylaşım devre dışı bırakılmış",
"For more info, please ask the person who sent this link." : "Ayrıntılı bilgi almak için bu bağlantıyı aldığınız kişi ile görüşün.",
+ "shared by %s" : "%s tarafından paylaşıldı",
"Add to your Nextcloud" : "Nextcloud hesabınıza ekleyin",
"Download" : "İndir",
"Download %s" : "%s İndir",
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index cd2efe96746..56201c87b7b 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -101,6 +101,7 @@
"the link expired" : "bağlantı süresi dolmuş",
"sharing is disabled" : "paylaşım devre dışı bırakılmış",
"For more info, please ask the person who sent this link." : "Ayrıntılı bilgi almak için bu bağlantıyı aldığınız kişi ile görüşün.",
+ "shared by %s" : "%s tarafından paylaşıldı",
"Add to your Nextcloud" : "Nextcloud hesabınıza ekleyin",
"Download" : "İndir",
"Download %s" : "%s İndir",
diff --git a/apps/files_sharing/lib/Activity/Providers/RemoteShares.php b/apps/files_sharing/lib/Activity/Providers/RemoteShares.php
index cf4954800e8..f89fb0b0052 100644
--- a/apps/files_sharing/lib/Activity/Providers/RemoteShares.php
+++ b/apps/files_sharing/lib/Activity/Providers/RemoteShares.php
@@ -23,9 +23,7 @@ namespace OCA\Files_Sharing\Activity\Providers;
use OCP\Activity\IEvent;
use OCP\Activity\IManager;
-use OCP\Activity\IProvider;
use OCP\Federation\ICloudIdManager;
-use OCP\IL10N;
use OCP\IURLGenerator;
use OCP\IUserManager;
use OCP\L10N\IFactory;
diff --git a/apps/files_sharing/lib/Capabilities.php b/apps/files_sharing/lib/Capabilities.php
index 22a8a8a0a3d..e8e6a4c26f3 100644
--- a/apps/files_sharing/lib/Capabilities.php
+++ b/apps/files_sharing/lib/Capabilities.php
@@ -71,7 +71,7 @@ class Capabilities implements ICapability {
$public['upload'] = $this->config->getAppValue('core', 'shareapi_allow_public_upload', 'yes') === 'yes';
$public['upload_files_drop'] = $public['upload'];
}
- $res["public"] = $public;
+ $res['public'] = $public;
$res['resharing'] = $this->config->getAppValue('core', 'shareapi_allow_resharing', 'yes') === 'yes';
diff --git a/apps/files_sharing/lib/Command/CleanupRemoteStorages.php b/apps/files_sharing/lib/Command/CleanupRemoteStorages.php
index 504caba1417..389b0dc4985 100644
--- a/apps/files_sharing/lib/Command/CleanupRemoteStorages.php
+++ b/apps/files_sharing/lib/Command/CleanupRemoteStorages.php
@@ -60,11 +60,11 @@ class CleanupRemoteStorages extends Command {
$remoteStorages = $this->getRemoteStorages();
- $output->writeln(count($remoteStorages) . " remote storage(s) need(s) to be checked");
+ $output->writeln(count($remoteStorages) . ' remote storage(s) need(s) to be checked');
$remoteShareIds = $this->getRemoteShareIds();
- $output->writeln(count($remoteShareIds) . " remote share(s) exist");
+ $output->writeln(count($remoteShareIds) . ' remote share(s) exist');
foreach ($remoteShareIds as $id => $remoteShareId) {
if (isset($remoteStorages[$remoteShareId])) {
@@ -79,7 +79,7 @@ class CleanupRemoteStorages extends Command {
}
if (empty($remoteStorages)) {
- $output->writeln("<info>no storages deleted</info>");
+ $output->writeln('<info>no storages deleted</info>');
} else {
$dryRun = $input->getOption('dry-run');
foreach ($remoteStorages as $id => $numericId) {
diff --git a/apps/files_sharing/lib/ExpireSharesJob.php b/apps/files_sharing/lib/ExpireSharesJob.php
index 19c0606dc46..212b7fa008e 100644
--- a/apps/files_sharing/lib/ExpireSharesJob.php
+++ b/apps/files_sharing/lib/ExpireSharesJob.php
@@ -44,7 +44,6 @@ class ExpireSharesJob extends TimedJob {
*/
public function run($argument) {
$connection = \OC::$server->getDatabaseConnection();
- $logger = \OC::$server->getLogger();
//Current time
$now = new \DateTime();
diff --git a/apps/files_sharing/lib/Middleware/SharingCheckMiddleware.php b/apps/files_sharing/lib/Middleware/SharingCheckMiddleware.php
index 5712b96b97d..9dd8d2e5ae9 100644
--- a/apps/files_sharing/lib/Middleware/SharingCheckMiddleware.php
+++ b/apps/files_sharing/lib/Middleware/SharingCheckMiddleware.php
@@ -37,6 +37,7 @@ use OCA\Files_Sharing\Exceptions\S2SException;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IRequest;
use OCP\Share\IManager;
+use OCP\Share\Exceptions\ShareNotFound;
/**
* Checks whether the "sharing check" is enabled
@@ -88,6 +89,7 @@ class SharingCheckMiddleware extends Middleware {
* @param string $methodName
* @throws NotFoundException
* @throws S2SException
+ * @throws ShareNotFound
*/
public function beforeController($controller, $methodName) {
if(!$this->isSharingEnabled()) {
diff --git a/apps/files_sharing/lib/ShareBackend/Folder.php b/apps/files_sharing/lib/ShareBackend/Folder.php
index 4929bebf40b..07e353cc6a6 100644
--- a/apps/files_sharing/lib/ShareBackend/Folder.php
+++ b/apps/files_sharing/lib/ShareBackend/Folder.php
@@ -50,8 +50,8 @@ class Folder extends File implements \OCP\Share_Backend_Collection {
$share['file_path'] = $name;
$displayNameOwner = \OCP\User::getDisplayName($share['uid_owner']);
$displayNameShareWith = \OCP\User::getDisplayName($share['share_with']);
- $share['displayname_owner'] = ($displayNameOwner) ? $displayNameOwner : $share['uid_owner'];
- $share['share_with_displayname'] = ($displayNameShareWith) ? $displayNameShareWith : $share['uid_owner'];
+ $share['displayname_owner'] = $displayNameOwner ? $displayNameOwner : $share['uid_owner'];
+ $share['share_with_displayname'] = $displayNameShareWith ? $displayNameShareWith : $share['uid_owner'];
$result[] = $share;
}
@@ -72,7 +72,7 @@ class Folder extends File implements \OCP\Share_Backend_Collection {
$query = \OCP\DB::prepare('SELECT `parent` FROM `*PREFIX*filecache` WHERE `fileid` = ?');
$result = $query->execute(array($child));
$row = $result->fetchRow();
- $parent = ($row) ? $row['parent'] : null;
+ $parent = $row ? $row['parent'] : null;
return $parent;
}
diff --git a/apps/files_sharing/tests/BackendTest.php b/apps/files_sharing/tests/BackendTest.php
index cea8762a5b4..b9c7f0e813d 100644
--- a/apps/files_sharing/tests/BackendTest.php
+++ b/apps/files_sharing/tests/BackendTest.php
@@ -68,7 +68,7 @@ class BackendTest extends TestCase {
parent::tearDown();
}
- function testGetParents() {
+ public function testGetParents() {
$fileinfo1 = $this->view->getFileInfo($this->folder);
$fileinfo2 = $this->view->getFileInfo($this->folder . $this->subfolder . $this->subsubfolder);
diff --git a/apps/files_sharing/tests/CapabilitiesTest.php b/apps/files_sharing/tests/CapabilitiesTest.php
index 663adc1f271..1747bbc4ed2 100644
--- a/apps/files_sharing/tests/CapabilitiesTest.php
+++ b/apps/files_sharing/tests/CapabilitiesTest.php
@@ -24,8 +24,7 @@
namespace OCA\Files_Sharing\Tests;
use OCA\Files_Sharing\Capabilities;
-use OCA\Files_Sharing\Tests\TestCase;
-use OCP\App\IAppManager;
+
/**
* Class CapabilitiesTest
diff --git a/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php b/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php
index 5dcf7f83105..827fcc15797 100644
--- a/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php
+++ b/apps/files_sharing/tests/Command/CleanupRemoteStoragesTest.php
@@ -22,7 +22,6 @@
namespace OCA\Files_Sharing\Tests\Command;
use OCA\Files_Sharing\Command\CleanupRemoteStorages;
-use OCP\DB\QueryBuilder\IQueryBuilder;
use Test\TestCase;
/**
diff --git a/apps/files_sharing/tests/HelperTest.php b/apps/files_sharing/tests/HelperTest.php
index d5fe83f44e2..e1e73ee82c2 100644
--- a/apps/files_sharing/tests/HelperTest.php
+++ b/apps/files_sharing/tests/HelperTest.php
@@ -35,7 +35,7 @@ class HelperTest extends TestCase {
/**
* test set and get share folder
*/
- function testSetGetShareFolder() {
+ public function testSetGetShareFolder() {
$this->assertSame('/', \OCA\Files_Sharing\Helper::getShareFolder());
\OCA\Files_Sharing\Helper::setShareFolder('/Shared/Folder');
diff --git a/apps/files_sharing/tests/MountProviderTest.php b/apps/files_sharing/tests/MountProviderTest.php
index b700d417ad4..04476987a32 100644
--- a/apps/files_sharing/tests/MountProviderTest.php
+++ b/apps/files_sharing/tests/MountProviderTest.php
@@ -33,7 +33,6 @@ use OCP\IUser;
use OCP\IUserManager;
use OCP\Share\IShare;
use OCP\Share\IManager;
-use OCP\Files\Mount\IMountPoint;
/**
* @group DB
diff --git a/apps/files_sharing/tests/SharedMountTest.php b/apps/files_sharing/tests/SharedMountTest.php
index 72cc891e368..6f21bd3b92d 100644
--- a/apps/files_sharing/tests/SharedMountTest.php
+++ b/apps/files_sharing/tests/SharedMountTest.php
@@ -54,8 +54,8 @@ class SharedMountTest extends TestCase {
$this->view->mkdir($this->folder);
// save file with content
- $this->view->file_put_contents($this->filename, "root file");
- $this->view->file_put_contents($this->folder . $this->filename, "file in subfolder");
+ $this->view->file_put_contents($this->filename, 'root file');
+ $this->view->file_put_contents($this->folder . $this->filename, 'file in subfolder');
$this->groupManager = \OC::$server->getGroupManager();
$this->userManager = \OC::$server->getUserManager();
@@ -204,18 +204,18 @@ class SharedMountTest extends TestCase {
$this->assertTrue(\OC\Files\Filesystem::file_exists($this->filename));
- \OC\Files\Filesystem::rename($this->filename, "newFileName");
+ \OC\Files\Filesystem::rename($this->filename, 'newFileName');
$this->assertTrue(\OC\Files\Filesystem::file_exists('newFileName'));
$this->assertFalse(\OC\Files\Filesystem::file_exists($this->filename));
self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
$this->assertTrue(\OC\Files\Filesystem::file_exists($this->filename));
- $this->assertFalse(\OC\Files\Filesystem::file_exists("newFileName"));
+ $this->assertFalse(\OC\Files\Filesystem::file_exists('newFileName'));
self::loginHelper(self::TEST_FILES_SHARING_API_USER3);
$this->assertTrue(\OC\Files\Filesystem::file_exists($this->filename));
- $this->assertFalse(\OC\Files\Filesystem::file_exists("newFileName"));
+ $this->assertFalse(\OC\Files\Filesystem::file_exists('newFileName'));
//cleanup
self::loginHelper(self::TEST_FILES_SHARING_API_USER1);
@@ -240,7 +240,7 @@ class SharedMountTest extends TestCase {
if ($exception) {
$this->assertSame(10, $e->getCode());
} else {
- $this->assertTrue(false, "Exception catched, but expected: " . $expectedResult);
+ $this->assertTrue(false, 'Exception catched, but expected: ' . $expectedResult);
}
}
}
@@ -323,7 +323,7 @@ class SharedMountTest extends TestCase {
*
* @dataProvider dataPermissionMovedGroupShare
*/
- function testPermissionMovedGroupShare($type, $beforePerm, $afterPerm) {
+ public function testPermissionMovedGroupShare($type, $beforePerm, $afterPerm) {
if ($type === 'file') {
$path = $this->filename;
@@ -355,7 +355,7 @@ class SharedMountTest extends TestCase {
$this->assertEquals($beforePerm, $result->getPermissions());
// Now move the item forcing a new entry in the share table
- \OC\Files\Filesystem::rename($path, "newPath");
+ \OC\Files\Filesystem::rename($path, 'newPath');
$this->assertTrue(\OC\Files\Filesystem::file_exists('newPath'));
$this->assertFalse(\OC\Files\Filesystem::file_exists($path));
@@ -388,7 +388,7 @@ class SharedMountTest extends TestCase {
* If the permissions on a group share are upgraded be sure to still respect
* removed shares by a member of that group
*/
- function testPermissionUpgradeOnUserDeletedGroupShare() {
+ public function testPermissionUpgradeOnUserDeletedGroupShare() {
$testGroup = $this->groupManager->createGroup('testGroup');
$user1 = $this->userManager->get(self::TEST_FILES_SHARING_API_USER1);
$user2 = $this->userManager->get(self::TEST_FILES_SHARING_API_USER2);
diff --git a/apps/files_sharing/tests/SizePropagationTest.php b/apps/files_sharing/tests/SizePropagationTest.php
index 9d80633b46a..f7ad9057959 100644
--- a/apps/files_sharing/tests/SizePropagationTest.php
+++ b/apps/files_sharing/tests/SizePropagationTest.php
@@ -26,7 +26,6 @@
namespace OCA\Files_Sharing\Tests;
use OC\Files\View;
-use Test\Traits\MountProviderTrait;
use Test\Traits\UserTrait;
/**
diff --git a/apps/files_sharing/tests/UnshareChildrenTest.php b/apps/files_sharing/tests/UnshareChildrenTest.php
index 2bde37af20e..ce7767d1920 100644
--- a/apps/files_sharing/tests/UnshareChildrenTest.php
+++ b/apps/files_sharing/tests/UnshareChildrenTest.php
@@ -74,7 +74,7 @@ class UnshareChildrenTest extends TestCase {
/**
* @medium
*/
- function testUnshareChildren() {
+ public function testUnshareChildren() {
$fileInfo2 = \OC\Files\Filesystem::getFileInfo($this->folder);
diff --git a/apps/files_sharing/tests/UpdaterTest.php b/apps/files_sharing/tests/UpdaterTest.php
index bb320336d48..c35bcf1a08c 100644
--- a/apps/files_sharing/tests/UpdaterTest.php
+++ b/apps/files_sharing/tests/UpdaterTest.php
@@ -69,7 +69,7 @@ class UpdaterTest extends TestCase {
* points should be unshared before the folder gets deleted so
* that the mount point doesn't end up at the trash bin
*/
- function testDeleteParentFolder() {
+ public function testDeleteParentFolder() {
$status = \OC_App::isEnabled('files_trashbin');
(new \OC_App())->enable('files_trashbin');
@@ -96,8 +96,8 @@ class UpdaterTest extends TestCase {
$foldersShared = \OCP\Share::getItemsSharedWith('folder');
$this->assertSame(1, count($foldersShared));
- $view->mkdir("localFolder");
- $view->file_put_contents("localFolder/localFile.txt", "local file");
+ $view->mkdir('localFolder');
+ $view->file_put_contents('localFolder/localFile.txt', 'local file');
$view->rename($this->folder, 'localFolder/' . $this->folder);
@@ -196,7 +196,7 @@ class UpdaterTest extends TestCase {
/**
* if a folder gets renamed all children mount points should be renamed too
*/
- function testRename() {
+ public function testRename() {
$fileinfo = \OC\Files\Filesystem::getFileInfo($this->folder);
diff --git a/apps/files_versions/l10n/lt_LT.js b/apps/files_versions/l10n/lt_LT.js
index 5245826ea19..735b43b1db7 100644
--- a/apps/files_versions/l10n/lt_LT.js
+++ b/apps/files_versions/l10n/lt_LT.js
@@ -6,6 +6,7 @@ OC.L10N.register(
"Failed to revert {file} to revision {timestamp}." : "Nepavyko sugrąžinti {file} į {timestamp} būseną.",
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų"],
"Restore" : "Atkurti",
+ "No earlier versions available" : "Nėra ankstesnių versijų",
"More versions …" : "Daugiau versijų …",
"No versions available" : "Nėra prieinama jokių versijų",
"More versions..." : "Daugiau versijų..."
diff --git a/apps/files_versions/l10n/lt_LT.json b/apps/files_versions/l10n/lt_LT.json
index 3b1dd6cecb9..357d1204701 100644
--- a/apps/files_versions/l10n/lt_LT.json
+++ b/apps/files_versions/l10n/lt_LT.json
@@ -4,6 +4,7 @@
"Failed to revert {file} to revision {timestamp}." : "Nepavyko sugrąžinti {file} į {timestamp} būseną.",
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų"],
"Restore" : "Atkurti",
+ "No earlier versions available" : "Nėra ankstesnių versijų",
"More versions …" : "Daugiau versijų …",
"No versions available" : "Nėra prieinama jokių versijų",
"More versions..." : "Daugiau versijų..."
diff --git a/apps/oauth2/l10n/el.js b/apps/oauth2/l10n/el.js
index 466f273cc45..2dd54724e2a 100644
--- a/apps/oauth2/l10n/el.js
+++ b/apps/oauth2/l10n/el.js
@@ -3,8 +3,10 @@ OC.L10N.register(
{
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "Πελάτες OAuth 2.0",
+ "OAuth 2.0 allows external services to request access to %s." : "Το OAuth 2.0 επιτρέπει σε εξωτερικές υπηρεσίες να ζητούν πρόσβαση στο %s σας.",
"Name" : "Όνομα",
"Redirection URI" : "Ανακατεύθυνση URI",
+ "Client Identifier" : "Αναγνωριστής πελάτη",
"Secret" : "Μυστικό",
"Add client" : "Προσθήκη πελάτη",
"Add" : "Προσθήκη"
diff --git a/apps/oauth2/l10n/el.json b/apps/oauth2/l10n/el.json
index b8ca88804e9..8529de20246 100644
--- a/apps/oauth2/l10n/el.json
+++ b/apps/oauth2/l10n/el.json
@@ -1,8 +1,10 @@
{ "translations": {
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "Πελάτες OAuth 2.0",
+ "OAuth 2.0 allows external services to request access to %s." : "Το OAuth 2.0 επιτρέπει σε εξωτερικές υπηρεσίες να ζητούν πρόσβαση στο %s σας.",
"Name" : "Όνομα",
"Redirection URI" : "Ανακατεύθυνση URI",
+ "Client Identifier" : "Αναγνωριστής πελάτη",
"Secret" : "Μυστικό",
"Add client" : "Προσθήκη πελάτη",
"Add" : "Προσθήκη"
diff --git a/apps/oauth2/l10n/es.js b/apps/oauth2/l10n/es.js
index 701e9e025f1..d9e8052265d 100644
--- a/apps/oauth2/l10n/es.js
+++ b/apps/oauth2/l10n/es.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "Clientes OAuth 2.0",
+ "OAuth 2.0 allows external services to request access to %s." : "OAut 2.0 permite a servicios externos solicitar acceso a %s.",
"Name" : "Nombre",
"Redirection URI" : "URI de redirección",
"Client Identifier" : "Identificador de cliente",
diff --git a/apps/oauth2/l10n/es.json b/apps/oauth2/l10n/es.json
index 22bcabed43e..adddffe23ce 100644
--- a/apps/oauth2/l10n/es.json
+++ b/apps/oauth2/l10n/es.json
@@ -1,6 +1,7 @@
{ "translations": {
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "Clientes OAuth 2.0",
+ "OAuth 2.0 allows external services to request access to %s." : "OAut 2.0 permite a servicios externos solicitar acceso a %s.",
"Name" : "Nombre",
"Redirection URI" : "URI de redirección",
"Client Identifier" : "Identificador de cliente",
diff --git a/apps/oauth2/l10n/is.js b/apps/oauth2/l10n/is.js
index a6b4a58b1ad..cc060b16adc 100644
--- a/apps/oauth2/l10n/is.js
+++ b/apps/oauth2/l10n/is.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "OAuth 2.0 biðlarar",
+ "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 gerir utanaðkomandi þjónustum kleift að biðja um aðgang að %s.",
"Name" : "Nafn",
"Redirection URI" : "Endurbeiningarslóð",
"Client Identifier" : "Biðlaraauðkenni",
diff --git a/apps/oauth2/l10n/is.json b/apps/oauth2/l10n/is.json
index 4bf8d4f135e..0729159583e 100644
--- a/apps/oauth2/l10n/is.json
+++ b/apps/oauth2/l10n/is.json
@@ -1,6 +1,7 @@
{ "translations": {
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "OAuth 2.0 biðlarar",
+ "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 gerir utanaðkomandi þjónustum kleift að biðja um aðgang að %s.",
"Name" : "Nafn",
"Redirection URI" : "Endurbeiningarslóð",
"Client Identifier" : "Biðlaraauðkenni",
diff --git a/apps/oauth2/l10n/it.js b/apps/oauth2/l10n/it.js
index 62da38e8f9a..94c33e0eaaa 100644
--- a/apps/oauth2/l10n/it.js
+++ b/apps/oauth2/l10n/it.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "Client OAuth 2.0",
+ "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 consente a servizi esterni di richiedere accesso al tuo %s.",
"Name" : "Nome",
"Redirection URI" : "URI di redirezione",
"Client Identifier" : "Identificatore client",
diff --git a/apps/oauth2/l10n/it.json b/apps/oauth2/l10n/it.json
index b8e738603fc..0fa30df53f4 100644
--- a/apps/oauth2/l10n/it.json
+++ b/apps/oauth2/l10n/it.json
@@ -1,6 +1,7 @@
{ "translations": {
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "Client OAuth 2.0",
+ "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 consente a servizi esterni di richiedere accesso al tuo %s.",
"Name" : "Nome",
"Redirection URI" : "URI di redirezione",
"Client Identifier" : "Identificatore client",
diff --git a/apps/oauth2/l10n/lt_LT.js b/apps/oauth2/l10n/lt_LT.js
index e2613a9fc58..5ffcc271e94 100644
--- a/apps/oauth2/l10n/lt_LT.js
+++ b/apps/oauth2/l10n/lt_LT.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "OAuth 2.0 klientai",
+ "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 protokolas leidžia trečiųjų šalių programinei įrangai pasiekti šiuos jūsų duomenis: %s.",
"Name" : "Pavadinimas",
"Redirection URI" : "Nukreipimo adresas",
"Client Identifier" : "Kliento identifikatorius",
diff --git a/apps/oauth2/l10n/lt_LT.json b/apps/oauth2/l10n/lt_LT.json
index 024cfc567af..fd23bcb21fd 100644
--- a/apps/oauth2/l10n/lt_LT.json
+++ b/apps/oauth2/l10n/lt_LT.json
@@ -1,6 +1,7 @@
{ "translations": {
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "OAuth 2.0 klientai",
+ "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 protokolas leidžia trečiųjų šalių programinei įrangai pasiekti šiuos jūsų duomenis: %s.",
"Name" : "Pavadinimas",
"Redirection URI" : "Nukreipimo adresas",
"Client Identifier" : "Kliento identifikatorius",
diff --git a/apps/oauth2/l10n/nl.js b/apps/oauth2/l10n/nl.js
index ad96691087a..047280bd1cd 100644
--- a/apps/oauth2/l10n/nl.js
+++ b/apps/oauth2/l10n/nl.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "OAuth 2.0 Clients",
+ "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 staat externe services toe om toegang te vragen aan %s",
"Name" : "Naam",
"Redirection URI" : "Omeiding URI",
"Client Identifier" : "Client identificatie",
diff --git a/apps/oauth2/l10n/nl.json b/apps/oauth2/l10n/nl.json
index 3825489c85c..d0564c48be6 100644
--- a/apps/oauth2/l10n/nl.json
+++ b/apps/oauth2/l10n/nl.json
@@ -1,6 +1,7 @@
{ "translations": {
"OAuth 2.0" : "OAuth 2.0",
"OAuth 2.0 clients" : "OAuth 2.0 Clients",
+ "OAuth 2.0 allows external services to request access to %s." : "OAuth 2.0 staat externe services toe om toegang te vragen aan %s",
"Name" : "Naam",
"Redirection URI" : "Omeiding URI",
"Client Identifier" : "Client identificatie",
diff --git a/apps/provisioning_api/lib/Controller/AppsController.php b/apps/provisioning_api/lib/Controller/AppsController.php
index 70316875762..d65b925cf7b 100644
--- a/apps/provisioning_api/lib/Controller/AppsController.php
+++ b/apps/provisioning_api/lib/Controller/AppsController.php
@@ -91,9 +91,9 @@ class AppsController extends OCSController {
$info = \OCP\App::getAppInfo($app);
if(!is_null($info)) {
return new DataResponse(OC_App::getAppInfo($app));
- } else {
- throw new OCSException('The request app was not found', \OCP\API::RESPOND_NOT_FOUND);
}
+
+ throw new OCSException('The request app was not found', \OCP\API::RESPOND_NOT_FOUND);
}
/**
diff --git a/apps/provisioning_api/lib/Controller/GroupsController.php b/apps/provisioning_api/lib/Controller/GroupsController.php
index 2d329bf974b..e167c07582f 100644
--- a/apps/provisioning_api/lib/Controller/GroupsController.php
+++ b/apps/provisioning_api/lib/Controller/GroupsController.php
@@ -30,6 +30,7 @@ use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCSController;
use OCP\IGroup;
use OCP\IGroupManager;
+use OCP\ILogger;
use OCP\IRequest;
use OCP\IUserSession;
use OCP\IUser;
@@ -43,21 +44,27 @@ class GroupsController extends OCSController {
/** @var IUserSession */
private $userSession;
+ /** @var ILogger */
+ private $logger;
+
/**
* @param string $appName
* @param IRequest $request
* @param IGroupManager $groupManager
* @param IUserSession $userSession
+ * @param ILogger $logger
*/
public function __construct(
$appName,
IRequest $request,
IGroupManager $groupManager,
- IUserSession $userSession) {
+ IUserSession $userSession,
+ ILogger $logger) {
parent::__construct($appName, $request);
$this->groupManager = $groupManager;
$this->userSession = $userSession;
+ $this->logger = $logger;
}
/**
@@ -120,9 +127,9 @@ class GroupsController extends OCSController {
}, $users);
$users = array_values($users);
return new DataResponse(['users' => $users]);
- } else {
- throw new OCSException('User does not have access to specified group', \OCP\API::RESPOND_UNAUTHORISED);
}
+
+ throw new OCSException('User does not have access to specified group', \OCP\API::RESPOND_UNAUTHORISED);
}
/**
@@ -136,8 +143,8 @@ class GroupsController extends OCSController {
*/
public function addGroup($groupid) {
// Validate name
- if(empty($groupid)){
- \OCP\Util::writeLog('provisioning_api', 'Group name not supplied', \OCP\Util::ERROR);
+ if(empty($groupid)) {
+ $this->logger->error('Group name not supplied', ['app' => 'provisioning_api']);
throw new OCSException('Invalid group name', 101);
}
// Check if it exists
@@ -179,6 +186,7 @@ class GroupsController extends OCSController {
throw new OCSException('Group does not exist', 101);
}
+ /** @var IUser[] $subadmins */
$subadmins = $this->groupManager->getSubAdmin()->getGroupsSubAdmins($targetGroup);
// New class returns IUser[] so convert back
$uids = [];
diff --git a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php
index 25059e85425..caf6ae109f7 100644
--- a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php
+++ b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php
@@ -37,6 +37,7 @@ class GroupsControllerTest extends \Test\TestCase {
protected $userSession;
/** @var \OC\SubAdmin|\PHPUnit_Framework_MockObject_MockObject */
protected $subAdminManager;
+
/** @var GroupsController */
protected $api;
@@ -60,11 +61,15 @@ class GroupsControllerTest extends \Test\TestCase {
$request = $this->getMockBuilder('OCP\IRequest')
->disableOriginalConstructor()
->getMock();
+
+ $logger = $this->createMock(ILogger::class);
+
$this->api = new GroupsController(
'provisioning_api',
$request,
$this->groupManager,
- $this->userSession
+ $this->userSession,
+ $logger
);
}
diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
index c712cd7485d..19b5fa65e9a 100644
--- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php
+++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
@@ -1128,7 +1128,7 @@ class UsersControllerTest extends TestCase {
}
public function testEditUserAdminUserSelfEditChangeValidQuota() {
- $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock();;
+ $loggedInUser = $this->getMockBuilder('\OCP\IUser')->disableOriginalConstructor()->getMock();
$loggedInUser
->expects($this->any())
->method('getUID')
diff --git a/apps/systemtags/l10n/el.js b/apps/systemtags/l10n/el.js
index 5b94fe8a10c..73ea875397f 100644
--- a/apps/systemtags/l10n/el.js
+++ b/apps/systemtags/l10n/el.js
@@ -42,6 +42,8 @@ OC.L10N.register(
"%s (invisible)" : "%s (αόρατο)",
"<strong>System tags</strong> for a file have been modified" : "<strong>Οι ετικέτες συστήματος</strong> για ένα αρχείο έχουν τροποποιηθεί",
"Collaborative tags" : "Ετικέτες συνεργασίας",
+ "Create and edit collaborative tags. These tags affect all users." : "Δημιουργήστε και διορθώστε συνεργατικές ετικέτες. Αυτές οι ετικέτες επηρεάζουν όλους τους χρήστες.",
+ "Select tag …" : "Επιλογή ετικέτας ...",
"Name" : "Όνομα",
"Delete" : "Διαγραφή",
"Public" : "Δημόσιο",
diff --git a/apps/systemtags/l10n/el.json b/apps/systemtags/l10n/el.json
index 011b862da02..e9c61b16026 100644
--- a/apps/systemtags/l10n/el.json
+++ b/apps/systemtags/l10n/el.json
@@ -40,6 +40,8 @@
"%s (invisible)" : "%s (αόρατο)",
"<strong>System tags</strong> for a file have been modified" : "<strong>Οι ετικέτες συστήματος</strong> για ένα αρχείο έχουν τροποποιηθεί",
"Collaborative tags" : "Ετικέτες συνεργασίας",
+ "Create and edit collaborative tags. These tags affect all users." : "Δημιουργήστε και διορθώστε συνεργατικές ετικέτες. Αυτές οι ετικέτες επηρεάζουν όλους τους χρήστες.",
+ "Select tag …" : "Επιλογή ετικέτας ...",
"Name" : "Όνομα",
"Delete" : "Διαγραφή",
"Public" : "Δημόσιο",
diff --git a/apps/systemtags/l10n/sq.js b/apps/systemtags/l10n/sq.js
index 944cc5a9c06..d54ec6179d0 100644
--- a/apps/systemtags/l10n/sq.js
+++ b/apps/systemtags/l10n/sq.js
@@ -36,7 +36,10 @@ OC.L10N.register(
"Collaborative tags" : "Etiketa bashkëpunuese",
"Name" : "Emër",
"Delete" : "Fshije",
+ "Public" : "Publik",
+ "Restricted" : "I/E kufizuar",
"Invisible" : "I padukshëm",
+ "Reset" : "Rivendos",
"No files in here" : "S’ka kartela këtu",
"No entries found in this folder" : "S’u gjetën zëra në këtë dosje",
"Size" : "Madhësi",
diff --git a/apps/systemtags/l10n/sq.json b/apps/systemtags/l10n/sq.json
index a6617312737..c9d9d1b333c 100644
--- a/apps/systemtags/l10n/sq.json
+++ b/apps/systemtags/l10n/sq.json
@@ -34,7 +34,10 @@
"Collaborative tags" : "Etiketa bashkëpunuese",
"Name" : "Emër",
"Delete" : "Fshije",
+ "Public" : "Publik",
+ "Restricted" : "I/E kufizuar",
"Invisible" : "I padukshëm",
+ "Reset" : "Rivendos",
"No files in here" : "S’ka kartela këtu",
"No entries found in this folder" : "S’u gjetën zëra në këtë dosje",
"Size" : "Madhësi",
diff --git a/apps/testing/appinfo/app.php b/apps/testing/appinfo/app.php
index 402889f2674..5dce74bf786 100644
--- a/apps/testing/appinfo/app.php
+++ b/apps/testing/appinfo/app.php
@@ -19,5 +19,5 @@
*
*/
-$app = new \OCA\Testing\Application();
+$app = new \OCA\Testing\AppInfo\Application();
diff --git a/apps/testing/appinfo/routes.php b/apps/testing/appinfo/routes.php
index d45cfe00eca..3e5fda4fc14 100644
--- a/apps/testing/appinfo/routes.php
+++ b/apps/testing/appinfo/routes.php
@@ -20,63 +20,63 @@
*
*/
-namespace OCA\Testing\AppInfo;
+return [
+ 'routes' => [
+ [
+ 'name' => 'RateLimitTest#userAndAnonProtected',
+ 'url' => '/userAndAnonProtected',
+ 'verb' => 'GET',
+ ],
+ [
+ 'name' => 'RateLimitTest#onlyAnonProtected',
+ 'url' => '/anonProtected',
+ 'verb' => 'GET',
+ ],
+ ],
-use OCA\Testing\Config;
-use OCA\Testing\Locking\Provisioning;
-use OCP\API;
-use OCP\AppFramework\App;
-
-$config = new Config(
- \OC::$server->getConfig(),
- \OC::$server->getRequest()
-);
-
-$app = new App('testing');
-$app->registerRoutes(
- $this,
- [
- 'routes' => [
- [
- 'name' => 'RateLimitTest#userAndAnonProtected',
- 'url' => '/userAndAnonProtected',
- 'verb' => 'GET',
- ],
- [
- 'name' => 'RateLimitTest#onlyAnonProtected',
- 'url' => '/anonProtected',
- 'verb' => 'GET',
- ],
- ]
- ]
-);
-
-API::register(
- 'post',
- '/apps/testing/api/v1/app/{appid}/{configkey}',
- [$config, 'setAppValue'],
- 'testing',
- API::ADMIN_AUTH
-);
-
-API::register(
- 'delete',
- '/apps/testing/api/v1/app/{appid}/{configkey}',
- [$config, 'deleteAppValue'],
- 'testing',
- API::ADMIN_AUTH
-);
-
-$locking = new Provisioning(
- \OC::$server->getLockingProvider(),
- \OC::$server->getDatabaseConnection(),
- \OC::$server->getConfig(),
- \OC::$server->getRequest()
-);
-API::register('get', '/apps/testing/api/v1/lockprovisioning', [$locking, 'isLockingEnabled'], 'files_lockprovisioning', API::ADMIN_AUTH);
-API::register('get', '/apps/testing/api/v1/lockprovisioning/{type}/{user}', [$locking, 'isLocked'], 'files_lockprovisioning', API::ADMIN_AUTH);
-API::register('post', '/apps/testing/api/v1/lockprovisioning/{type}/{user}', [$locking, 'acquireLock'], 'files_lockprovisioning', API::ADMIN_AUTH);
-API::register('put', '/apps/testing/api/v1/lockprovisioning/{type}/{user}', [$locking, 'changeLock'], 'files_lockprovisioning', API::ADMIN_AUTH);
-API::register('delete', '/apps/testing/api/v1/lockprovisioning/{type}/{user}', [$locking, 'releaseLock'], 'files_lockprovisioning', API::ADMIN_AUTH);
-API::register('delete', '/apps/testing/api/v1/lockprovisioning/{type}', [$locking, 'releaseAll'], 'files_lockprovisioning', API::ADMIN_AUTH);
-API::register('delete', '/apps/testing/api/v1/lockprovisioning', [$locking, 'releaseAll'], 'files_lockprovisioning', API::ADMIN_AUTH);
+ 'ocs' => [
+ [
+ 'name' => 'Config#setAppValue',
+ 'url' => '/api/v1/app/{appid}/{configkey}',
+ 'verb' => 'POST',
+ ],
+ [
+ 'name' => 'Config#deleteAppValue',
+ 'url' => '/api/v1/app/{appid}/{configkey}',
+ 'verb' => 'DELETE',
+ ],
+ [
+ 'name' => 'Locking#isLockingEnabled',
+ 'url' => '/api/v1/lockprovisioning',
+ 'verb' => 'GET',
+ ],
+ [
+ 'name' => 'Locking#isLocked',
+ 'url' => '/api/v1/lockprovisioning/{type}/{user}',
+ 'verb' => 'GET',
+ ],
+ [
+ 'name' => 'Locking#acquireLock',
+ 'url' => '/api/v1/lockprovisioning/{type}/{user}',
+ 'verb' => 'POST',
+ ],
+ [
+ 'name' => 'Locking#changeLock',
+ 'url' => '/api/v1/lockprovisioning/{type}/{user}',
+ 'verb' => 'PUT',
+ ],
+ [
+ 'name' => 'Locking#releaseLock',
+ 'url' => '/api/v1/lockprovisioning/{type}/{user}',
+ 'verb' => 'DELETE',
+ ],
+ [
+ 'name' => 'Locking#releaseAll',
+ 'url' => '/api/v1/lockprovisioning/{type}',
+ 'verb' => 'DELETE',
+ 'defaults' => [
+ 'type' => null
+ ]
+ ],
+ ],
+];
diff --git a/apps/testing/lib/Application.php b/apps/testing/lib/AppInfo/Application.php
index 8f42d0442dd..9d2b100e8b0 100644
--- a/apps/testing/lib/Application.php
+++ b/apps/testing/lib/AppInfo/Application.php
@@ -19,7 +19,7 @@
*
*/
-namespace OCA\Testing;
+namespace OCA\Testing\AppInfo;
use OCP\AppFramework\App;
use OCA\Testing\AlternativeHomeUserBackend;
diff --git a/apps/testing/lib/Config.php b/apps/testing/lib/Controller/ConfigController.php
index 6cdd28d4b3e..7b3e73ab173 100644
--- a/apps/testing/lib/Config.php
+++ b/apps/testing/lib/Controller/ConfigController.php
@@ -20,52 +20,48 @@
*
*/
-namespace OCA\Testing;
+namespace OCA\Testing\Controller;
+use OCP\AppFramework\Http\DataResponse;
+use OCP\AppFramework\OCSController;
use OCP\IConfig;
use OCP\IRequest;
-class Config {
+class ConfigController extends OCSController {
/** @var IConfig */
private $config;
- /** @var IRequest */
- private $request;
-
/**
- * @param IConfig $config
+ * @param string $appName
* @param IRequest $request
+ * @param IConfig $config
*/
- public function __construct(IConfig $config, IRequest $request) {
+ public function __construct($appName,
+ IRequest $request,
+ IConfig $config) {
+ parent::__construct($appName, $request);
$this->config = $config;
- $this->request = $request;
}
/**
- * @param array $parameters
- * @return \OC_OCS_Result
+ * @param string $appid
+ * @param string $configkey
+ * @param string $value
+ * @return DataResponse
*/
- public function setAppValue($parameters) {
- $app = $parameters['appid'];
- $configKey = $parameters['configkey'];
-
- $value = $this->request->getParam('value');
- $this->config->setAppValue($app, $configKey, $value);
-
- return new \OC_OCS_Result();
+ public function setAppValue($appid, $configkey, $value) {
+ $this->config->setAppValue($appid, $configkey, $value);
+ return new DataResponse();
}
/**
- * @param array $parameters
- * @return \OC_OCS_Result
+ * @param string $appid
+ * @param string $configkey
+ * @return DataResponse
*/
- public function deleteAppValue($parameters) {
- $app = $parameters['appid'];
- $configKey = $parameters['configkey'];
-
- $this->config->deleteAppValue($app, $configKey);
-
- return new \OC_OCS_Result();
+ public function deleteAppValue($appid, $configkey) {
+ $this->config->deleteAppValue($appid, $configkey);
+ return new DataResponse();
}
}
diff --git a/apps/testing/lib/Controller/LockingController.php b/apps/testing/lib/Controller/LockingController.php
new file mode 100644
index 00000000000..6056d9d5d7e
--- /dev/null
+++ b/apps/testing/lib/Controller/LockingController.php
@@ -0,0 +1,246 @@
+<?php
+/**
+ * @copyright Copyright (c) 2016, ownCloud, Inc.
+ *
+ * @author Joas Schilling <coding@schilljs.com>
+ *
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+
+namespace OCA\Testing\Controller;
+
+use OC\Lock\DBLockingProvider;
+use OC\User\NoUserException;
+use OCA\Testing\Locking\FakeDBLockingProvider;
+use OCP\AppFramework\Http;
+use OCP\AppFramework\Http\DataResponse;
+use OCP\AppFramework\OCS\OCSException;
+use OCP\AppFramework\OCSController;
+use OCP\Files\IRootFolder;
+use OCP\Files\NotFoundException;
+use OCP\IConfig;
+use OCP\IDBConnection;
+use OCP\IRequest;
+use OCP\Lock\ILockingProvider;
+use OCP\Lock\LockedException;
+
+class LockingController extends OCSController {
+
+ /** @var ILockingProvider */
+ protected $lockingProvider;
+
+ /** @var FakeDBLockingProvider */
+ protected $fakeDBLockingProvider;
+
+ /** @var IDBConnection */
+ protected $connection;
+
+ /** @var IConfig */
+ protected $config;
+
+ /** @var IRootFolder */
+ protected $rootFolder;
+
+ /**
+ * @param string $appName
+ * @param IRequest $request
+ * @param ILockingProvider $lockingProvider
+ * @param FakeDBLockingProvider $fakeDBLockingProvider
+ * @param IDBConnection $connection
+ * @param IConfig $config
+ * @param IRootFolder $rootFolder
+ */
+ public function __construct($appName,
+ IRequest $request,
+ ILockingProvider $lockingProvider,
+ FakeDBLockingProvider $fakeDBLockingProvider,
+ IDBConnection $connection,
+ IConfig $config,
+ IRootFolder $rootFolder) {
+ parent::__construct($appName, $request);
+
+ $this->lockingProvider = $lockingProvider;
+ $this->fakeDBLockingProvider = $fakeDBLockingProvider;
+ $this->connection = $connection;
+ $this->config = $config;
+ $this->rootFolder = $rootFolder;
+ }
+
+ /**
+ * @return ILockingProvider
+ * @throws \RuntimeException
+ */
+ protected function getLockingProvider() {
+ if ($this->lockingProvider instanceof DBLockingProvider) {
+ return $this->fakeDBLockingProvider;
+ }
+ throw new \RuntimeException('Lock provisioning is only possible using the DBLockingProvider');
+ }
+
+ /**
+ * @param string $user
+ * @param string $path
+ * @return string
+ * @throws NotFoundException
+ */
+ protected function getPath($user, $path) {
+ $node = $this->rootFolder->getUserFolder($user)->get($path);
+ return 'files/' . md5($node->getStorage()->getId() . '::' . trim($node->getInternalPath(), '/'));
+ }
+
+ /**
+ * @return DataResponse
+ * @throws OCSException
+ */
+ public function isLockingEnabled() {
+ try {
+ $this->getLockingProvider();
+ return new DataResponse();
+ } catch (\RuntimeException $e) {
+ throw new OCSException($e->getMessage(), Http::STATUS_NOT_IMPLEMENTED, $e);
+ }
+ }
+
+ /**
+ * @param int $type
+ * @param string $user
+ * @param string $path
+ * @return DataResponse
+ * @throws OCSException
+ */
+ public function acquireLock($type, $user, $path) {
+ try {
+ $path = $this->getPath($user, $path);
+ } catch (NoUserException $e) {
+ throw new OCSException('User not found', Http::STATUS_NOT_FOUND, $e);
+ } catch (NotFoundException $e) {
+ throw new OCSException('Path not found', Http::STATUS_NOT_FOUND, $e);
+ }
+
+ $lockingProvider = $this->getLockingProvider();
+
+ try {
+ $lockingProvider->acquireLock($path, $type);
+ $this->config->setAppValue('testing', 'locking_' . $path, $type);
+ return new DataResponse();
+ } catch (LockedException $e) {
+ throw new OCSException('', Http::STATUS_LOCKED, $e);
+ }
+ }
+
+ /**
+ * @param int $type
+ * @param string $user
+ * @param string $path
+ * @return DataResponse
+ * @throws OCSException
+ */
+ public function changeLock($type, $user, $path) {
+ try {
+ $path = $this->getPath($user, $path);
+ } catch (NoUserException $e) {
+ throw new OCSException('User not found', Http::STATUS_NOT_FOUND, $e);
+ } catch (NotFoundException $e) {
+ throw new OCSException('Path not found', Http::STATUS_NOT_FOUND, $e);
+ }
+
+ $lockingProvider = $this->getLockingProvider();
+
+ try {
+ $lockingProvider->changeLock($path, $type);
+ $this->config->setAppValue('testing', 'locking_' . $path, $type);
+ return new DataResponse();
+ } catch (LockedException $e) {
+ throw new OCSException('', Http::STATUS_LOCKED, $e);
+ }
+ }
+
+ /**
+ * @param int $type
+ * @param string $user
+ * @param string $path
+ * @return DataResponse
+ * @throws OCSException
+ */
+ public function releaseLock($type, $user, $path) {
+ try {
+ $path = $this->getPath($user, $path);
+ } catch (NoUserException $e) {
+ throw new OCSException('User not found', Http::STATUS_NOT_FOUND, $e);
+ } catch (NotFoundException $e) {
+ throw new OCSException('Path not found', Http::STATUS_NOT_FOUND, $e);
+ }
+
+ $lockingProvider = $this->getLockingProvider();
+
+ try {
+ $lockingProvider->releaseLock($path, $type);
+ $this->config->deleteAppValue('testing', 'locking_' . $path);
+ return new DataResponse();
+ } catch (LockedException $e) {
+ throw new OCSException('', Http::STATUS_LOCKED, $e);
+ }
+ }
+
+ /**
+ * @param int $type
+ * @param string $user
+ * @param string $path
+ * @return DataResponse
+ * @throws OCSException
+ */
+ public function isLocked($type, $user, $path) {
+ try {
+ $path = $this->getPath($user, $path);
+ } catch (NoUserException $e) {
+ throw new OCSException('User not found', Http::STATUS_NOT_FOUND, $e);
+ } catch (NotFoundException $e) {
+ throw new OCSException('Path not found', Http::STATUS_NOT_FOUND, $e);
+ }
+
+ $lockingProvider = $this->getLockingProvider();
+
+ if ($lockingProvider->isLocked($path, $type)) {
+ return new DataResponse();
+ }
+
+ throw new OCSException('', Http::STATUS_LOCKED);
+ }
+
+ /**
+ * @param int $type
+ * @return DataResponse
+ */
+ public function releaseAll($type = null) {
+ $lockingProvider = $this->getLockingProvider();
+
+ foreach ($this->config->getAppKeys('testing') as $lock) {
+ if (strpos($lock, 'locking_') === 0) {
+ $path = substr($lock, strlen('locking_'));
+
+ if ($type === ILockingProvider::LOCK_EXCLUSIVE && (int)$this->config->getAppValue('testing', $lock) === ILockingProvider::LOCK_EXCLUSIVE) {
+ $lockingProvider->releaseLock($path, $this->config->getAppValue('testing', $lock));
+ } else if ($type === ILockingProvider::LOCK_SHARED && (int)$this->config->getAppValue('testing', $lock) === ILockingProvider::LOCK_SHARED) {
+ $lockingProvider->releaseLock($path, $this->config->getAppValue('testing', $lock));
+ } else {
+ $lockingProvider->releaseLock($path, $this->config->getAppValue('testing', $lock));
+ }
+ }
+ }
+
+ return new DataResponse();
+ }
+}
diff --git a/apps/testing/locking/fakedblockingprovider.php b/apps/testing/lib/Locking/FakeDBLockingProvider.php
index 174cc2ec7fe..174cc2ec7fe 100644
--- a/apps/testing/locking/fakedblockingprovider.php
+++ b/apps/testing/lib/Locking/FakeDBLockingProvider.php
diff --git a/apps/testing/locking/provisioning.php b/apps/testing/locking/provisioning.php
deleted file mode 100644
index 7e3256ec605..00000000000
--- a/apps/testing/locking/provisioning.php
+++ /dev/null
@@ -1,227 +0,0 @@
-<?php
-/**
- * @copyright Copyright (c) 2016, ownCloud, Inc.
- *
- * @author Joas Schilling <coding@schilljs.com>
- *
- * @license AGPL-3.0
- *
- * This code is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License, version 3,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License, version 3,
- * along with this program. If not, see <http://www.gnu.org/licenses/>
- *
- */
-
-namespace OCA\Testing\Locking;
-
-use OC\Lock\DBLockingProvider;
-use OC\User\NoUserException;
-use OCP\AppFramework\Http;
-use OCP\Files\NotFoundException;
-use OCP\IConfig;
-use OCP\IDBConnection;
-use OCP\IRequest;
-use OCP\Lock\ILockingProvider;
-use OCP\Lock\LockedException;
-
-class Provisioning {
-
- /** @var ILockingProvider */
- protected $lockingProvider;
-
- /** @var IDBConnection */
- protected $connection;
-
- /** @var IConfig */
- protected $config;
-
- /** @var IRequest */
- protected $request;
-
- /**
- * @param ILockingProvider $lockingProvider
- * @param IDBConnection $connection
- * @param IConfig $config
- * @param IRequest $request
- */
- public function __construct(ILockingProvider $lockingProvider, IDBConnection $connection, IConfig $config, IRequest $request) {
- $this->lockingProvider = $lockingProvider;
- $this->connection = $connection;
- $this->config = $config;
- $this->request = $request;
- }
-
- /**
- * @return ILockingProvider
- */
- protected function getLockingProvider() {
- if ($this->lockingProvider instanceof DBLockingProvider) {
- return \OC::$server->query('OCA\Testing\Locking\FakeDBLockingProvider');
- } else {
- throw new \RuntimeException('Lock provisioning is only possible using the DBLockingProvider');
- }
- }
-
- /**
- * @param array $parameters
- * @return int
- */
- protected function getType($parameters) {
- return isset($parameters['type']) ? (int) $parameters['type'] : 0;
- }
-
- /**
- * @param array $parameters
- * @return int
- */
- protected function getPath($parameters) {
- $node = \OC::$server->getRootFolder()
- ->getUserFolder($parameters['user'])
- ->get($this->request->getParam('path'));
- return 'files/' . md5($node->getStorage()->getId() . '::' . trim($node->getInternalPath(), '/'));
- }
-
- /**
- * @return \OC_OCS_Result
- */
- public function isLockingEnabled() {
- try {
- $this->getLockingProvider();
- return new \OC_OCS_Result(null, 100);
- } catch (\RuntimeException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_IMPLEMENTED, $e->getMessage());
- }
- }
-
- /**
- * @param array $parameters
- * @return \OC_OCS_Result
- */
- public function acquireLock(array $parameters) {
- try {
- $path = $this->getPath($parameters);
- } catch (NoUserException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_FOUND, 'User not found');
- } catch (NotFoundException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_FOUND, 'Path not found');
- }
- $type = $this->getType($parameters);
-
- $lockingProvider = $this->getLockingProvider();
-
- try {
- $lockingProvider->acquireLock($path, $type);
- $this->config->setAppValue('testing', 'locking_' . $path, $type);
- return new \OC_OCS_Result(null, 100);
- } catch (LockedException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_LOCKED);
- }
- }
-
- /**
- * @param array $parameters
- * @return \OC_OCS_Result
- */
- public function changeLock(array $parameters) {
- try {
- $path = $this->getPath($parameters);
- } catch (NoUserException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_FOUND, 'User not found');
- } catch (NotFoundException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_FOUND, 'Path not found');
- }
- $type = $this->getType($parameters);
-
- $lockingProvider = $this->getLockingProvider();
-
- try {
- $lockingProvider->changeLock($path, $type);
- $this->config->setAppValue('testing', 'locking_' . $path, $type);
- return new \OC_OCS_Result(null, 100);
- } catch (LockedException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_LOCKED);
- }
- }
-
- /**
- * @param array $parameters
- * @return \OC_OCS_Result
- */
- public function releaseLock(array $parameters) {
- try {
- $path = $this->getPath($parameters);
- } catch (NoUserException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_FOUND, 'User not found');
- } catch (NotFoundException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_FOUND, 'Path not found');
- }
- $type = $this->getType($parameters);
-
- $lockingProvider = $this->getLockingProvider();
-
- try {
- $lockingProvider->releaseLock($path, $type);
- $this->config->deleteAppValue('testing', 'locking_' . $path);
- return new \OC_OCS_Result(null, 100);
- } catch (LockedException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_LOCKED);
- }
- }
-
- /**
- * @param array $parameters
- * @return \OC_OCS_Result
- */
- public function isLocked(array $parameters) {
- try {
- $path = $this->getPath($parameters);
- } catch (NoUserException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_FOUND, 'User not found');
- } catch (NotFoundException $e) {
- return new \OC_OCS_Result(null, Http::STATUS_NOT_FOUND, 'Path not found');
- }
- $type = $this->getType($parameters);
-
- $lockingProvider = $this->getLockingProvider();
-
- if ($lockingProvider->isLocked($path, $type)) {
- return new \OC_OCS_Result(null, 100);
- }
-
- return new \OC_OCS_Result(null, Http::STATUS_LOCKED);
- }
-
- /**
- * @param array $parameters
- * @return \OC_OCS_Result
- */
- public function releaseAll(array $parameters) {
- $type = $this->getType($parameters);
-
- $lockingProvider = $this->getLockingProvider();
-
- foreach ($this->config->getAppKeys('testing') as $lock) {
- if (strpos($lock, 'locking_') === 0) {
- $path = substr($lock, strlen('locking_'));
-
- if ($type === ILockingProvider::LOCK_EXCLUSIVE && $this->config->getAppValue('testing', $lock) == ILockingProvider::LOCK_EXCLUSIVE) {
- $lockingProvider->releaseLock($path, $this->config->getAppValue('testing', $lock));
- } else if ($type === ILockingProvider::LOCK_SHARED && $this->config->getAppValue('testing', $lock) == ILockingProvider::LOCK_SHARED) {
- $lockingProvider->releaseLock($path, $this->config->getAppValue('testing', $lock));
- } else {
- $lockingProvider->releaseLock($path, $this->config->getAppValue('testing', $lock));
- }
- }
- }
-
- return new \OC_OCS_Result(null, 100);
- }
-}
diff --git a/apps/theming/l10n/ar.js b/apps/theming/l10n/ar.js
index d1ac1d3b117..c88b7be872d 100644
--- a/apps/theming/l10n/ar.js
+++ b/apps/theming/l10n/ar.js
@@ -1,6 +1,7 @@
OC.L10N.register(
"theming",
{
+ "Loading preview…" : "جار تحميل المعاينة ...",
"Saved" : "تم الحفظ",
"Admin" : "ادارة",
"a safe home for all your data" : "مكان آمن لكل معلوماتك",
@@ -12,7 +13,9 @@ OC.L10N.register(
"Unsupported image type" : "صيغة الصورة غير مقبولة",
"You are already using a custom theme" : "انت تستعمل قالب مخصص",
"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" : "عنوان صفحة أنترنت",
"Web address https://…" : "عنوان صفحة أنترنت https://",
"Slogan" : "شعار",
@@ -21,6 +24,7 @@ OC.L10N.register(
"Upload new logo" : "رفع شعار جديد",
"Login image" : "صورة الدخول",
"Upload new login background" : "تحميل خلفية جديدة للدخول",
+ "Remove background image" : "إزالة صورة الخلفية",
"reset to default" : "إلغاء كل التغييرات",
"Log in image" : "صورة الدخول"
},
diff --git a/apps/theming/l10n/ar.json b/apps/theming/l10n/ar.json
index 25e3a8cd7cf..bd7aca38418 100644
--- a/apps/theming/l10n/ar.json
+++ b/apps/theming/l10n/ar.json
@@ -1,4 +1,5 @@
{ "translations": {
+ "Loading preview…" : "جار تحميل المعاينة ...",
"Saved" : "تم الحفظ",
"Admin" : "ادارة",
"a safe home for all your data" : "مكان آمن لكل معلوماتك",
@@ -10,7 +11,9 @@
"Unsupported image type" : "صيغة الصورة غير مقبولة",
"You are already using a custom theme" : "انت تستعمل قالب مخصص",
"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" : "عنوان صفحة أنترنت",
"Web address https://…" : "عنوان صفحة أنترنت https://",
"Slogan" : "شعار",
@@ -19,6 +22,7 @@
"Upload new logo" : "رفع شعار جديد",
"Login image" : "صورة الدخول",
"Upload new login background" : "تحميل خلفية جديدة للدخول",
+ "Remove background image" : "إزالة صورة الخلفية",
"reset to default" : "إلغاء كل التغييرات",
"Log in image" : "صورة الدخول"
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
diff --git a/apps/theming/l10n/ja.js b/apps/theming/l10n/ja.js
new file mode 100644
index 00000000000..c900a8adb40
--- /dev/null
+++ b/apps/theming/l10n/ja.js
@@ -0,0 +1,30 @@
+OC.L10N.register(
+ "theming",
+ {
+ "Loading preview…" : "プレビューを読込み中...",
+ "Saved" : "保存済み",
+ "Admin" : "管理者",
+ "The given name is too long" : "名前が長すぎます",
+ "The given web address is too long" : "Webアドレスが長すぎます",
+ "The given slogan is too long" : "スローガンが長すぎます",
+ "The given color is invalid" : "無効な色です",
+ "No file uploaded" : "ファイルがアップロードされていません",
+ "Unsupported image type" : "サポートされていない画像形式です",
+ "You are already using a custom theme" : "あなたは既にカスタムテーマを利用しています",
+ "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" : "Webアドレス",
+ "Web address https://…" : "Webアドレス https://...",
+ "Slogan" : "スローガン",
+ "Color" : "色",
+ "Logo" : "ロゴ",
+ "Upload new logo" : "新しいロゴをアップロード",
+ "Login image" : "ログイン画像",
+ "Upload new login background" : "新しいログイン背景画像をアップロード",
+ "Remove background image" : "背景画像を削除",
+ "reset to default" : "デフォルトに戻す",
+ "Log in image" : "ログイン画像"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/ja.json b/apps/theming/l10n/ja.json
new file mode 100644
index 00000000000..48fe11440ea
--- /dev/null
+++ b/apps/theming/l10n/ja.json
@@ -0,0 +1,28 @@
+{ "translations": {
+ "Loading preview…" : "プレビューを読込み中...",
+ "Saved" : "保存済み",
+ "Admin" : "管理者",
+ "The given name is too long" : "名前が長すぎます",
+ "The given web address is too long" : "Webアドレスが長すぎます",
+ "The given slogan is too long" : "スローガンが長すぎます",
+ "The given color is invalid" : "無効な色です",
+ "No file uploaded" : "ファイルがアップロードされていません",
+ "Unsupported image type" : "サポートされていない画像形式です",
+ "You are already using a custom theme" : "あなたは既にカスタムテーマを利用しています",
+ "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" : "Webアドレス",
+ "Web address https://…" : "Webアドレス https://...",
+ "Slogan" : "スローガン",
+ "Color" : "色",
+ "Logo" : "ロゴ",
+ "Upload new logo" : "新しいロゴをアップロード",
+ "Login image" : "ログイン画像",
+ "Upload new login background" : "新しいログイン背景画像をアップロード",
+ "Remove background image" : "背景画像を削除",
+ "reset to default" : "デフォルトに戻す",
+ "Log in image" : "ログイン画像"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/theming/l10n/zh_TW.js b/apps/theming/l10n/zh_TW.js
new file mode 100644
index 00000000000..a9fb8d50745
--- /dev/null
+++ b/apps/theming/l10n/zh_TW.js
@@ -0,0 +1,30 @@
+OC.L10N.register(
+ "theming",
+ {
+ "Loading preview…" : "正在載入即時預覽...",
+ "Saved" : "已儲存",
+ "Admin" : "管理員",
+ "a safe home for all your data" : "你資料的安全屋",
+ "The given name is too long" : "指定的名稱太長",
+ "The given web address is too long" : "提供的網址太長",
+ "The given slogan is too long" : "指定的口號太長",
+ "The given color is invalid" : "指定的顏色無效",
+ "No file uploaded" : "未上傳檔案",
+ "Unsupported image type" : "不支援的圖片類型",
+ "You are already using a custom theme" : "你已經使用了客製化主題",
+ "Theming" : "佈景主題",
+ "Name" : "名稱",
+ "Reset to default" : "重設到預設值",
+ "Web address" : "網址",
+ "Web address https://…" : "網址 https://…",
+ "Slogan" : "口號",
+ "Color" : "顏色",
+ "Logo" : "Logo",
+ "Upload new logo" : "上傳新的Logo",
+ "Login image" : "登入圖片",
+ "Upload new login background" : "上傳新的登入背景",
+ "Remove background image" : "移除背景圖片",
+ "reset to default" : "重設到預設值",
+ "Log in image" : "登入圖片"
+},
+"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/zh_TW.json b/apps/theming/l10n/zh_TW.json
new file mode 100644
index 00000000000..cf50a9f4507
--- /dev/null
+++ b/apps/theming/l10n/zh_TW.json
@@ -0,0 +1,28 @@
+{ "translations": {
+ "Loading preview…" : "正在載入即時預覽...",
+ "Saved" : "已儲存",
+ "Admin" : "管理員",
+ "a safe home for all your data" : "你資料的安全屋",
+ "The given name is too long" : "指定的名稱太長",
+ "The given web address is too long" : "提供的網址太長",
+ "The given slogan is too long" : "指定的口號太長",
+ "The given color is invalid" : "指定的顏色無效",
+ "No file uploaded" : "未上傳檔案",
+ "Unsupported image type" : "不支援的圖片類型",
+ "You are already using a custom theme" : "你已經使用了客製化主題",
+ "Theming" : "佈景主題",
+ "Name" : "名稱",
+ "Reset to default" : "重設到預設值",
+ "Web address" : "網址",
+ "Web address https://…" : "網址 https://…",
+ "Slogan" : "口號",
+ "Color" : "顏色",
+ "Logo" : "Logo",
+ "Upload new logo" : "上傳新的Logo",
+ "Login image" : "登入圖片",
+ "Upload new login background" : "上傳新的登入背景",
+ "Remove background image" : "移除背景圖片",
+ "reset to default" : "重設到預設值",
+ "Log in image" : "登入圖片"
+},"pluralForm" :"nplurals=1; plural=0;"
+} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/el.js b/apps/updatenotification/l10n/el.js
index bb8695e6781..189674aefb4 100644
--- a/apps/updatenotification/l10n/el.js
+++ b/apps/updatenotification/l10n/el.js
@@ -18,7 +18,10 @@ OC.L10N.register(
"Checked on %s" : "Ελέγχθηκε στις %s",
"Update channel:" : "Ενημέρωση καναλιού:",
"You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Μπορείτε πάντα να περάσετε σε νεότερη / πειραματική έκδοση. Αλλά ποτέ δεν μπορείτε να γυρίσετε πίσω σε πιο σταθερό κανάλι.",
+ "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Σημειώστε ότι μετά από μια νέα διανομή μπορεί να περάσει λίγος καιρός πριν εμφανιστεί εδώ. Κυκλοφορούμε κατά διαστήματα νέες εκδόσεις στους χρήστες μας και κάποιες φορές παραλείπουμε κάποια έκδοση αν βρεθούν προβλήματα.",
"Notify members of the following groups about available updates:" : "Να ενημερωθούν τα μέλη των παρακάτω ομάδων σχετικά με τις διαθέσιμες ενημερώσεις:",
- "Only notification for app updates are available." : "Είναι μόνο διαθέσιμες οι ενημερώσεις για την εφαρμογή"
+ "Only notification for app updates are available." : "Είναι μόνο διαθέσιμες οι ενημερώσεις για την εφαρμογή",
+ "The selected update channel makes dedicated notifications for the server obsolete." : "Το συγκεκριμένο κανάλι ενημέρωσης καθιστά παρωχημένες τις ειδοποιήσεις που προορίζονται για τον διακομιστή.",
+ "The selected update channel does not support updates of the server." : "Το συγκεκριμένο κανάλι ενημέρωσης δεν υποστηρίζει ενημερώσεις διακομιστή."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/el.json b/apps/updatenotification/l10n/el.json
index 388ee178778..f9ca81933e3 100644
--- a/apps/updatenotification/l10n/el.json
+++ b/apps/updatenotification/l10n/el.json
@@ -16,7 +16,10 @@
"Checked on %s" : "Ελέγχθηκε στις %s",
"Update channel:" : "Ενημέρωση καναλιού:",
"You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Μπορείτε πάντα να περάσετε σε νεότερη / πειραματική έκδοση. Αλλά ποτέ δεν μπορείτε να γυρίσετε πίσω σε πιο σταθερό κανάλι.",
+ "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Σημειώστε ότι μετά από μια νέα διανομή μπορεί να περάσει λίγος καιρός πριν εμφανιστεί εδώ. Κυκλοφορούμε κατά διαστήματα νέες εκδόσεις στους χρήστες μας και κάποιες φορές παραλείπουμε κάποια έκδοση αν βρεθούν προβλήματα.",
"Notify members of the following groups about available updates:" : "Να ενημερωθούν τα μέλη των παρακάτω ομάδων σχετικά με τις διαθέσιμες ενημερώσεις:",
- "Only notification for app updates are available." : "Είναι μόνο διαθέσιμες οι ενημερώσεις για την εφαρμογή"
+ "Only notification for app updates are available." : "Είναι μόνο διαθέσιμες οι ενημερώσεις για την εφαρμογή",
+ "The selected update channel makes dedicated notifications for the server obsolete." : "Το συγκεκριμένο κανάλι ενημέρωσης καθιστά παρωχημένες τις ειδοποιήσεις που προορίζονται για τον διακομιστή.",
+ "The selected update channel does not support updates of the server." : "Το συγκεκριμένο κανάλι ενημέρωσης δεν υποστηρίζει ενημερώσεις διακομιστή."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/lt_LT.js b/apps/updatenotification/l10n/lt_LT.js
index 6c22873bf1d..c999ea97edd 100644
--- a/apps/updatenotification/l10n/lt_LT.js
+++ b/apps/updatenotification/l10n/lt_LT.js
@@ -1,8 +1,25 @@
OC.L10N.register(
"updatenotification",
{
- "Updater" : "Atnaujinimo programa",
+ "Update notifications" : "Atnaujinimų pranešimai",
+ "Could not start updater, please try the manual update" : "Nepavyko paleisti atnaujinimo programos, prašome atnaujinimą rankiniu būdu",
+ "{version} is available. Get more information on how to update." : "Yra prieinama {version}. Gaukite daugiau informacijos apie tai kaip atnaujinti.",
+ "Channel updated" : "Kanalas atnaujintas",
+ "Please check the Nextcloud and server log files for errors." : "Prašome patikrinti Nextcloud ir serverio žurnalų įrašus apie galimas klaidas.",
+ "Update to %1$s is available." : "Yra prieinamas atnaujinimas į %1$s.",
+ "Update for %1$s to version %2$s is available." : "Yra prieinamas %1$s atnaujinimas į versiją %2$s.",
+ "Update for {app} to version %s is available." : "Galimas {app} atnaujinimas į %s versiją.",
+ "Update notification" : "Atnaujinimų pranešimai",
+ "A new version is available: %s" : "Yra prieinama nauja versija: %s",
+ "Open updater" : "Atverti atnaujinimo programą",
+ "Download now" : "Atsisiųsti dabar",
+ "Your version is up to date." : "Tavo versija yra naujausia.",
+ "Checked on %s" : "Tikrinta %s",
"Update channel:" : "Atnaujinimo kanalas:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Visada galite atnaujinti į naujesnę versiją / bandomąjį kanalą. Bet niekada žeminti versijos ar pakeisti į stabilų kanalą."
+ "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Visada galite atnaujinti į naujesnę versiją / eksperimentinį kanalą. Tačiau niekada negalite sendinti versijos ar persijungti į stabilų kanalą.",
+ "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Atkreipkite dėmesį kad po naujos versijos išleidimo gali praeiti šiek tiek laiko kol ti bus matoma čia. Mes išleidžiame naujas versijas paskirstytai pagal laiką savo klientams, ir kartais praleidžiame atnaujinimus pastebėjus klaidas.",
+ "Notify members of the following groups about available updates:" : "Apie galimus atnaujinimus informuoti narius iš grupių:",
+ "Only notification for app updates are available." : "Galimi tik pranešimai apie programos atnaujinimus.",
+ "The selected update channel does not support updates of the server." : "Pasirinktas kanalas nepalaiko serverio atnaujinimų."
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/updatenotification/l10n/lt_LT.json b/apps/updatenotification/l10n/lt_LT.json
index db24c0be43b..e6143665742 100644
--- a/apps/updatenotification/l10n/lt_LT.json
+++ b/apps/updatenotification/l10n/lt_LT.json
@@ -1,6 +1,23 @@
{ "translations": {
- "Updater" : "Atnaujinimo programa",
+ "Update notifications" : "Atnaujinimų pranešimai",
+ "Could not start updater, please try the manual update" : "Nepavyko paleisti atnaujinimo programos, prašome atnaujinimą rankiniu būdu",
+ "{version} is available. Get more information on how to update." : "Yra prieinama {version}. Gaukite daugiau informacijos apie tai kaip atnaujinti.",
+ "Channel updated" : "Kanalas atnaujintas",
+ "Please check the Nextcloud and server log files for errors." : "Prašome patikrinti Nextcloud ir serverio žurnalų įrašus apie galimas klaidas.",
+ "Update to %1$s is available." : "Yra prieinamas atnaujinimas į %1$s.",
+ "Update for %1$s to version %2$s is available." : "Yra prieinamas %1$s atnaujinimas į versiją %2$s.",
+ "Update for {app} to version %s is available." : "Galimas {app} atnaujinimas į %s versiją.",
+ "Update notification" : "Atnaujinimų pranešimai",
+ "A new version is available: %s" : "Yra prieinama nauja versija: %s",
+ "Open updater" : "Atverti atnaujinimo programą",
+ "Download now" : "Atsisiųsti dabar",
+ "Your version is up to date." : "Tavo versija yra naujausia.",
+ "Checked on %s" : "Tikrinta %s",
"Update channel:" : "Atnaujinimo kanalas:",
- "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Visada galite atnaujinti į naujesnę versiją / bandomąjį kanalą. Bet niekada žeminti versijos ar pakeisti į stabilų kanalą."
+ "You can always update to a newer version / experimental channel. But you can never downgrade to a more stable channel." : "Visada galite atnaujinti į naujesnę versiją / eksperimentinį kanalą. Tačiau niekada negalite sendinti versijos ar persijungti į stabilų kanalą.",
+ "Note that after a new release it can take some time before it shows up here. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found." : "Atkreipkite dėmesį kad po naujos versijos išleidimo gali praeiti šiek tiek laiko kol ti bus matoma čia. Mes išleidžiame naujas versijas paskirstytai pagal laiką savo klientams, ir kartais praleidžiame atnaujinimus pastebėjus klaidas.",
+ "Notify members of the following groups about available updates:" : "Apie galimus atnaujinimus informuoti narius iš grupių:",
+ "Only notification for app updates are available." : "Galimi tik pranešimai apie programos atnaujinimus.",
+ "The selected update channel does not support updates of the server." : "Pasirinktas kanalas nepalaiko serverio atnaujinimų."
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/zh_TW.js b/apps/updatenotification/l10n/zh_TW.js
index a7e225e3413..c81a69d3215 100644
--- a/apps/updatenotification/l10n/zh_TW.js
+++ b/apps/updatenotification/l10n/zh_TW.js
@@ -5,8 +5,11 @@ OC.L10N.register(
"Could not start updater, please try the manual update" : "無法啟動更新程式,請嘗試手動更新",
"{version} is available. Get more information on how to update." : "{version} 釋出了,可以更新",
"Channel updated" : "頻道已更新",
+ "Please check the Nextcloud and server log files for errors." : "請確認伺服器log檔以查看錯誤。",
"Update to %1$s is available." : "更新版 %1$s 已經釋出",
"Update for %1$s to version %2$s is available." : "%1$s 到 %2$s 的更新已經釋出",
+ "Update for {app} to version %s is available." : "{app} 已有 %s 版本的更新",
+ "Update notification" : "更新通知",
"A new version is available: %s" : "新版本可用:%s",
"Open updater" : "打開更新程式",
"Download now" : "現在下載",
diff --git a/apps/updatenotification/l10n/zh_TW.json b/apps/updatenotification/l10n/zh_TW.json
index 7386d753e94..cdda763fe01 100644
--- a/apps/updatenotification/l10n/zh_TW.json
+++ b/apps/updatenotification/l10n/zh_TW.json
@@ -3,8 +3,11 @@
"Could not start updater, please try the manual update" : "無法啟動更新程式,請嘗試手動更新",
"{version} is available. Get more information on how to update." : "{version} 釋出了,可以更新",
"Channel updated" : "頻道已更新",
+ "Please check the Nextcloud and server log files for errors." : "請確認伺服器log檔以查看錯誤。",
"Update to %1$s is available." : "更新版 %1$s 已經釋出",
"Update for %1$s to version %2$s is available." : "%1$s 到 %2$s 的更新已經釋出",
+ "Update for {app} to version %s is available." : "{app} 已有 %s 版本的更新",
+ "Update notification" : "更新通知",
"A new version is available: %s" : "新版本可用:%s",
"Open updater" : "打開更新程式",
"Download now" : "現在下載",
diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js
index 3b131f53b36..a7f6dfc2516 100644
--- a/apps/user_ldap/l10n/el.js
+++ b/apps/user_ldap/l10n/el.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Failed to clear the mappings." : "Αποτυχία εκκαθάρισης των αντιστοιχιών.",
"Failed to delete the server configuration" : "Αποτυχία διαγραφής ρυθμίσεων διακομιστή",
+ "Valid configuration, connection established!" : "Επιτυχής ρύθμιση, συνδεθήκατε με επιτυχία",
"No action specified" : "Καμμία εντολή δεν προσδιορίστηκε",
"No configuration specified" : "Καμμία διαμόρφωση δεν προσδιορίστηκε",
"No data specified" : "Δεν προσδιορίστηκαν δεδομένα",
@@ -40,17 +41,21 @@ OC.L10N.register(
"Mode switch" : "Αλλαγή κατάστασης",
"Select attributes" : "Επιλογή χαρακτηριστικών",
"User found and settings verified." : "Ο χρήστης βρέθηκε και οι ρυθμίσεις επιβεβαιώθηκαν.",
+ "An unspecified error occurred. Please check log and settings." : "Παρουσιάστηκε ακαθόριστο λάθος. Παρακαλώ ελέγξτε το αρχείο καταγραφής και τις ρυθμίσεις.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Το φίλτρο αναζήτησης δεν είναι έγκυρο, πιθανώς λόγω συντακτικών προβλημάτων όπως μη ταίριασμα ανοίγματος και κλεισίματος αγκυλών. Παρακαλούμε διορθώστε.",
"A connection error to LDAP / AD occurred, please check host, port and credentials." : "Προέκυψε σφάλμα σύνδεσης στο LDAP / AD, παρακαλούμε ελέγξτε διακομιστή θύρα και διαπιστευτήρια.",
"Please provide a login name to test against" : "Παρακαλούμε δώστε ένα όνομα σύνδεσης για να γίνει δοκιμή",
"The group box was disabled, because the LDAP / AD server does not support memberOf." : "Το πεδίο ομάδας απενεργοποιήθηκε επειδή ο διακομιστής LDAP / AD δεν υποστηρίζει το memberOf.",
+ "Please login with the new password" : "Παρακαλώ κάντε είσοδο με το νέο συνθηματικό",
"Your password will expire tomorrow." : "Το συνθηματικό σας θα λήξει αύριο.",
+ "Your password will expire today." : "Το συνθηματικό σας λήγει σήμερα.",
"_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Το συνθηματικό σας θα λήξει σε %n ημέρα.","Το συνθηματικό σας θα λήξει σε %n ημέρες."],
+ "LDAP / AD integration" : "LDAP / AD ενσωμάτωση",
"_%s group found_::_%s groups found_" : ["%s ομάδα βρέθηκε","%s ομάδες βρέθηκαν"],
"_%s user found_::_%s users found_" : ["%s χρήστης βρέθηκε","%s χρήστες βρέθηκαν"],
- "Could not find the desired feature" : "Αδυναμία εύρεσης επιθυμητου χαρακτηριστικού",
+ "Could not find the desired feature" : "Αδυναμία εύρεσης επιθυμητού χαρακτηριστικού",
"Invalid Host" : "Άκυρος εξυπηρετητής",
- "Test Configuration" : "Δοκιμαστικες ρυθμισεις",
+ "Test Configuration" : "Δοκιμαστικές ρυθμίσεις",
"Help" : "Βοήθεια",
"Groups meeting these criteria are available in %s:" : "Οι ομάδες που πληρούν τα κριτήρια είναι διαθέσιμες σε %s:",
"Only these object classes:" : "Μόνο οι κλάσεις αντικειμένων:",
@@ -61,8 +66,10 @@ OC.L10N.register(
"Edit LDAP Query" : "Επεξεργασία ερωτήματος ",
"LDAP Filter:" : "Φίλτρο LDAP:",
"The filter specifies which LDAP groups shall have access to the %s instance." : "Το φίλτρο καθορίζει ποιες ομάδες LDAP θα έχουν πρόσβαση στην εγκατάσταση %s.",
+ "Verify settings and count the groups" : "Έλεγχος ρυθμίσεων και μέτρημα ομάδων",
"When logging in, %s will find the user based on the following attributes:" : "Κατά τη σύνδεση, το %s θα βρει το χρήστη βασιζόμενος στις ακόλουθες ιδιότητες:",
"LDAP / AD Username:" : "Όνομα χρήστη LDAP / AD:",
+ "Allows login against the LDAP / AD username, which is either uid or sAMAccountName and will be detected." : "Μπορείτε να παρακάμψετε το πρωτόκολο αν δεν επιθυμείτε SSL. Εάν είναι επιθυμητό ξεκινήστε με ldaps://",
"LDAP / AD Email Address:" : "Διεύθυνση ηλ. ταχυδρομείου LDAP / AD:",
"Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Επιτρέπει με χρήση μια ιδιότητας email. Τα mail και mailPrimaryAddress θα επιτραπούν.",
"Other Attributes:" : "Άλλες Ιδιότητες:",
@@ -87,6 +94,7 @@ OC.L10N.register(
"Test Base DN" : "Δοκιμή ",
"Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Αποφυγή αυτόματων αιτημάτων LDAP. Προτιμότερο για μεγαλύτερες εγκαταστάσεις, αλλά απαιτεί κάποιες γνώσεις LDAP.",
"Manually enter LDAP filters (recommended for large directories)" : "Εισάγετε με μη αυτόματο τρόπο φίλτρα LDAP (προτείνεται για μεγάλους καταλόγους)",
+ "Listing and searching for users is constrained by these criteria:" : "Η εμφάνιση και αναζήτηση για χρήστες περιορίζεται από τα κριτήρια:",
"The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Οι πιο συνηθισμένες κλάσεις αντικειμένων για τους χρήστες είναι οι organizationalPerson, person, user, και inetOrgPerson. Εάν δεν είσαστε σίγουροι πιο κλάση να επιλέξετε, παρακαλώ συμβουλευτείτε τον διαχειριστή του καταλόγου σας.",
"The filter specifies which LDAP users shall have access to the %s instance." : "Το φίλτρο καθορίζει ποιοι χρήστες LDAP θα έχουν πρόσβαση στην εγκατάσταση %s.",
"Verify settings and count users" : "Επαλήθευση ρυθμίσεων και καταμέτρηση χρηστών",
diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json
index 5a92ee8f46b..1c9c1902f1d 100644
--- a/apps/user_ldap/l10n/el.json
+++ b/apps/user_ldap/l10n/el.json
@@ -1,6 +1,7 @@
{ "translations": {
"Failed to clear the mappings." : "Αποτυχία εκκαθάρισης των αντιστοιχιών.",
"Failed to delete the server configuration" : "Αποτυχία διαγραφής ρυθμίσεων διακομιστή",
+ "Valid configuration, connection established!" : "Επιτυχής ρύθμιση, συνδεθήκατε με επιτυχία",
"No action specified" : "Καμμία εντολή δεν προσδιορίστηκε",
"No configuration specified" : "Καμμία διαμόρφωση δεν προσδιορίστηκε",
"No data specified" : "Δεν προσδιορίστηκαν δεδομένα",
@@ -38,17 +39,21 @@
"Mode switch" : "Αλλαγή κατάστασης",
"Select attributes" : "Επιλογή χαρακτηριστικών",
"User found and settings verified." : "Ο χρήστης βρέθηκε και οι ρυθμίσεις επιβεβαιώθηκαν.",
+ "An unspecified error occurred. Please check log and settings." : "Παρουσιάστηκε ακαθόριστο λάθος. Παρακαλώ ελέγξτε το αρχείο καταγραφής και τις ρυθμίσεις.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Το φίλτρο αναζήτησης δεν είναι έγκυρο, πιθανώς λόγω συντακτικών προβλημάτων όπως μη ταίριασμα ανοίγματος και κλεισίματος αγκυλών. Παρακαλούμε διορθώστε.",
"A connection error to LDAP / AD occurred, please check host, port and credentials." : "Προέκυψε σφάλμα σύνδεσης στο LDAP / AD, παρακαλούμε ελέγξτε διακομιστή θύρα και διαπιστευτήρια.",
"Please provide a login name to test against" : "Παρακαλούμε δώστε ένα όνομα σύνδεσης για να γίνει δοκιμή",
"The group box was disabled, because the LDAP / AD server does not support memberOf." : "Το πεδίο ομάδας απενεργοποιήθηκε επειδή ο διακομιστής LDAP / AD δεν υποστηρίζει το memberOf.",
+ "Please login with the new password" : "Παρακαλώ κάντε είσοδο με το νέο συνθηματικό",
"Your password will expire tomorrow." : "Το συνθηματικό σας θα λήξει αύριο.",
+ "Your password will expire today." : "Το συνθηματικό σας λήγει σήμερα.",
"_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Το συνθηματικό σας θα λήξει σε %n ημέρα.","Το συνθηματικό σας θα λήξει σε %n ημέρες."],
+ "LDAP / AD integration" : "LDAP / AD ενσωμάτωση",
"_%s group found_::_%s groups found_" : ["%s ομάδα βρέθηκε","%s ομάδες βρέθηκαν"],
"_%s user found_::_%s users found_" : ["%s χρήστης βρέθηκε","%s χρήστες βρέθηκαν"],
- "Could not find the desired feature" : "Αδυναμία εύρεσης επιθυμητου χαρακτηριστικού",
+ "Could not find the desired feature" : "Αδυναμία εύρεσης επιθυμητού χαρακτηριστικού",
"Invalid Host" : "Άκυρος εξυπηρετητής",
- "Test Configuration" : "Δοκιμαστικες ρυθμισεις",
+ "Test Configuration" : "Δοκιμαστικές ρυθμίσεις",
"Help" : "Βοήθεια",
"Groups meeting these criteria are available in %s:" : "Οι ομάδες που πληρούν τα κριτήρια είναι διαθέσιμες σε %s:",
"Only these object classes:" : "Μόνο οι κλάσεις αντικειμένων:",
@@ -59,8 +64,10 @@
"Edit LDAP Query" : "Επεξεργασία ερωτήματος ",
"LDAP Filter:" : "Φίλτρο LDAP:",
"The filter specifies which LDAP groups shall have access to the %s instance." : "Το φίλτρο καθορίζει ποιες ομάδες LDAP θα έχουν πρόσβαση στην εγκατάσταση %s.",
+ "Verify settings and count the groups" : "Έλεγχος ρυθμίσεων και μέτρημα ομάδων",
"When logging in, %s will find the user based on the following attributes:" : "Κατά τη σύνδεση, το %s θα βρει το χρήστη βασιζόμενος στις ακόλουθες ιδιότητες:",
"LDAP / AD Username:" : "Όνομα χρήστη LDAP / AD:",
+ "Allows login against the LDAP / AD username, which is either uid or sAMAccountName and will be detected." : "Μπορείτε να παρακάμψετε το πρωτόκολο αν δεν επιθυμείτε SSL. Εάν είναι επιθυμητό ξεκινήστε με ldaps://",
"LDAP / AD Email Address:" : "Διεύθυνση ηλ. ταχυδρομείου LDAP / AD:",
"Allows login against an email attribute. Mail and mailPrimaryAddress will be allowed." : "Επιτρέπει με χρήση μια ιδιότητας email. Τα mail και mailPrimaryAddress θα επιτραπούν.",
"Other Attributes:" : "Άλλες Ιδιότητες:",
@@ -85,6 +92,7 @@
"Test Base DN" : "Δοκιμή ",
"Avoids automatic LDAP requests. Better for bigger setups, but requires some LDAP knowledge." : "Αποφυγή αυτόματων αιτημάτων LDAP. Προτιμότερο για μεγαλύτερες εγκαταστάσεις, αλλά απαιτεί κάποιες γνώσεις LDAP.",
"Manually enter LDAP filters (recommended for large directories)" : "Εισάγετε με μη αυτόματο τρόπο φίλτρα LDAP (προτείνεται για μεγάλους καταλόγους)",
+ "Listing and searching for users is constrained by these criteria:" : "Η εμφάνιση και αναζήτηση για χρήστες περιορίζεται από τα κριτήρια:",
"The most common object classes for users are organizationalPerson, person, user, and inetOrgPerson. If you are not sure which object class to select, please consult your directory admin." : "Οι πιο συνηθισμένες κλάσεις αντικειμένων για τους χρήστες είναι οι organizationalPerson, person, user, και inetOrgPerson. Εάν δεν είσαστε σίγουροι πιο κλάση να επιλέξετε, παρακαλώ συμβουλευτείτε τον διαχειριστή του καταλόγου σας.",
"The filter specifies which LDAP users shall have access to the %s instance." : "Το φίλτρο καθορίζει ποιοι χρήστες LDAP θα έχουν πρόσβαση στην εγκατάσταση %s.",
"Verify settings and count users" : "Επαλήθευση ρυθμίσεων και καταμέτρηση χρηστών",
diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js
index 4127fdec778..55bb5b5c975 100644
--- a/apps/user_ldap/l10n/fr.js
+++ b/apps/user_ldap/l10n/fr.js
@@ -47,6 +47,7 @@ OC.L10N.register(
"Select attributes" : "Sélectionner les attributs",
"User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Utilisateur introuvable. Veuillez vérifier les attributs de login et le nom d'utilisateur. Filtre effectif (à copier-coller pour valider en ligne de commande):<br/>",
"User found and settings verified." : "Utilisateur trouvé et paramètres vérifiés.",
+ "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Veuillez affiner votre recherche, car elle inclue de nombreux utilisateurs. Seul le premier de cette liste sera capable de se connecter.",
"An unspecified error occurred. Please check log and settings." : "Une erreur inconnue s'est produite. Veuillez vérifier le log et les paramètres.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Le filtre de recherche n'est pas valide, probablement à cause de problèmes de syntaxe tels que des parenthèses manquantes. Veuillez le corriger.",
"A connection error to LDAP / AD occurred, please check host, port and credentials." : "Une erreur s'est produite lors de la connexion au LDAP / AD. Veuillez vérifier l'hôte, le port et les informations d'identification.",
diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json
index c72f9a3c350..c35a04011d3 100644
--- a/apps/user_ldap/l10n/fr.json
+++ b/apps/user_ldap/l10n/fr.json
@@ -45,6 +45,7 @@
"Select attributes" : "Sélectionner les attributs",
"User not found. Please check your login attributes and username. Effective filter (to copy-and-paste for command-line validation): <br/>" : "Utilisateur introuvable. Veuillez vérifier les attributs de login et le nom d'utilisateur. Filtre effectif (à copier-coller pour valider en ligne de commande):<br/>",
"User found and settings verified." : "Utilisateur trouvé et paramètres vérifiés.",
+ "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Veuillez affiner votre recherche, car elle inclue de nombreux utilisateurs. Seul le premier de cette liste sera capable de se connecter.",
"An unspecified error occurred. Please check log and settings." : "Une erreur inconnue s'est produite. Veuillez vérifier le log et les paramètres.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "Le filtre de recherche n'est pas valide, probablement à cause de problèmes de syntaxe tels que des parenthèses manquantes. Veuillez le corriger.",
"A connection error to LDAP / AD occurred, please check host, port and credentials." : "Une erreur s'est produite lors de la connexion au LDAP / AD. Veuillez vérifier l'hôte, le port et les informations d'identification.",
diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js
index 7d0c087bda1..55e3419764a 100644
--- a/apps/user_ldap/l10n/ja.js
+++ b/apps/user_ldap/l10n/ja.js
@@ -8,6 +8,10 @@ OC.L10N.register(
"No data specified" : "データが指定されていません",
" Could not set configuration %s" : "構成 %s を設定できませんでした",
"Action does not exist" : "アクションが存在しません",
+ "Weak password" : "脆弱なパスワード",
+ "So-so password" : "悪くないパスワード",
+ "Good password" : "良いパスワード",
+ "Strong password" : "強固なパスワード",
"The Base DN appears to be wrong" : "ベース DN が誤っている可能性があります",
"Testing configuration…" : "設定検証中…",
"Configuration incorrect" : "設定に誤りがあります",
@@ -142,7 +146,7 @@ OC.L10N.register(
"User Home Folder Naming Rule" : "ユーザーのホームフォルダー命名規則",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "ユーザー名を空のままにしてください(デフォルト)。もしくは、LDAPもしくはADの属性を指定してください。",
"Internal Username" : "内部ユーザー名",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、ownCloudにおけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。ownCloud 5 以前と同じような振る舞いにするためには、以下のフィールドにユーザー表示名の属性を入力します。空にするとデフォルトの振る舞いとなります。変更は新しくマッピング(追加)されたLDAPユーザーにおいてのみ有効となります。",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。ownCloud 5 以前と同じような振る舞いにするためには、以下のフィールドにユーザー表示名の属性を入力します。空にするとデフォルトの振る舞いとなります。変更は新しくマッピング(追加)されたLDAPユーザーにおいてのみ有効となります。",
"Internal Username Attribute:" : "内部ユーザー名属性:",
"Override UUID detection" : "UUID検出を再定義する",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "デフォルトでは、UUID 属性は自動的に検出されます。UUID属性は、LDAPユーザーとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザー名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザーとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザーとLDAPグループに対してのみ有効となります。",
diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json
index 5df19a4f088..5152937aa2c 100644
--- a/apps/user_ldap/l10n/ja.json
+++ b/apps/user_ldap/l10n/ja.json
@@ -6,6 +6,10 @@
"No data specified" : "データが指定されていません",
" Could not set configuration %s" : "構成 %s を設定できませんでした",
"Action does not exist" : "アクションが存在しません",
+ "Weak password" : "脆弱なパスワード",
+ "So-so password" : "悪くないパスワード",
+ "Good password" : "良いパスワード",
+ "Strong password" : "強固なパスワード",
"The Base DN appears to be wrong" : "ベース DN が誤っている可能性があります",
"Testing configuration…" : "設定検証中…",
"Configuration incorrect" : "設定に誤りがあります",
@@ -140,7 +144,7 @@
"User Home Folder Naming Rule" : "ユーザーのホームフォルダー命名規則",
"Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "ユーザー名を空のままにしてください(デフォルト)。もしくは、LDAPもしくはADの属性を指定してください。",
"Internal Username" : "内部ユーザー名",
- "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、ownCloudにおけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。ownCloud 5 以前と同じような振る舞いにするためには、以下のフィールドにユーザー表示名の属性を入力します。空にするとデフォルトの振る舞いとなります。変更は新しくマッピング(追加)されたLDAPユーザーにおいてのみ有効となります。",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [ a-zA-Z0-9_.@- ]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "デフォルトでは、内部的なユーザー名がUUID属性から作成されます。これにより、ユーザー名がユニークであり、かつ文字の変換が不要であることを保証します。内部ユーザー名には、[ a-zA-Z0-9_.@- ] の文字のみが有効であるという制限があり、その他の文字は対応する ASCII コードに変換されるか単に無視されます。そのため、他のユーザー名との衝突の回数が増加するでしょう。内部ユーザー名は、内部的にユーザーを識別するために用いられ、また、Nextcloud におけるデフォルトのホームフォルダー名としても用いられます。例えば*DAVサービスのように、リモートURLの一部でもあります。この設定により、デフォルトの振る舞いを再定義します。ownCloud 5 以前と同じような振る舞いにするためには、以下のフィールドにユーザー表示名の属性を入力します。空にするとデフォルトの振る舞いとなります。変更は新しくマッピング(追加)されたLDAPユーザーにおいてのみ有効となります。",
"Internal Username Attribute:" : "内部ユーザー名属性:",
"Override UUID detection" : "UUID検出を再定義する",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "デフォルトでは、UUID 属性は自動的に検出されます。UUID属性は、LDAPユーザーとLDAPグループを間違いなく識別するために利用されます。また、もしこれを指定しない場合は、内部ユーザー名はUUIDに基づいて作成されます。この設定は再定義することができ、あなたの選択した属性を用いることができます。選択した属性がユーザーとグループの両方に対して適用でき、かつユニークであることを確認してください。空であればデフォルトの振る舞いとなります。変更は、新しくマッピング(追加)されたLDAPユーザーとLDAPグループに対してのみ有効となります。",
diff --git a/apps/workflowengine/l10n/el.js b/apps/workflowengine/l10n/el.js
index a8ea95f7aee..8fc59e07852 100644
--- a/apps/workflowengine/l10n/el.js
+++ b/apps/workflowengine/l10n/el.js
@@ -3,7 +3,7 @@ OC.L10N.register(
{
"Saved" : "Αποθηκεύτηκε",
"Saving failed:" : "Απέτυχε η αποθήκευση:",
- "File MIME type" : "MIME τύπος αρχείου",
+ "File MIME type" : "Τύπος αρχείου MIME",
"is" : "είναι",
"is not" : "δεν είναι",
"matches" : "ταιριάζει",
@@ -37,9 +37,11 @@ OC.L10N.register(
"Android client" : "Πελάτης Android",
"iOS client" : "Πελάτης iOS",
"Desktop client" : "Πελάτης σταθερού υπολογιστή",
+ "User group membership" : "Συμμετοχή σε ομάδα χρηστών",
"is member of" : "είναι μέλος του",
"is not member of" : "δεν είναι μέλος του",
"The given operator is invalid" : "Ο δοσμένος πάροχος δεν είναι έγκυρος",
+ "The given regular expression is invalid" : "Η δοθείσα κανονική έκφραση δεν είναι έγκυρη",
"The given file size is invalid" : "Το δοσμένο μέγεθος αρχείου δεν είναι έγκυρο",
"The given tag id is invalid" : "Το δοσμένο id της ετικέτας δεν είναι έγκυρο",
"The given IP range is invalid" : "Η δοσμένη περιοχή IP δεν είναι έγκυρη",
@@ -57,6 +59,7 @@ OC.L10N.register(
"Check %s is invalid" : "Έλεγχος %s δεν είναι έγκυρος",
"Check #%s does not exist" : "Έλεγχος #%s δεν υπάρχει",
"Workflow" : "Ροή εργασίας",
+ "Files workflow engine" : "Μηχανή αρχείων ροής εργασιών",
"Open documentation" : "Άνοιγμ τεκμηρίωσης",
"Add rule group" : "Προσθέστε κανόνα ομάδας",
"Short rule description" : "Μικρή περιγραφή κανόνα",
diff --git a/apps/workflowengine/l10n/el.json b/apps/workflowengine/l10n/el.json
index 3dbeb509abf..214b88d887c 100644
--- a/apps/workflowengine/l10n/el.json
+++ b/apps/workflowengine/l10n/el.json
@@ -1,7 +1,7 @@
{ "translations": {
"Saved" : "Αποθηκεύτηκε",
"Saving failed:" : "Απέτυχε η αποθήκευση:",
- "File MIME type" : "MIME τύπος αρχείου",
+ "File MIME type" : "Τύπος αρχείου MIME",
"is" : "είναι",
"is not" : "δεν είναι",
"matches" : "ταιριάζει",
@@ -35,9 +35,11 @@
"Android client" : "Πελάτης Android",
"iOS client" : "Πελάτης iOS",
"Desktop client" : "Πελάτης σταθερού υπολογιστή",
+ "User group membership" : "Συμμετοχή σε ομάδα χρηστών",
"is member of" : "είναι μέλος του",
"is not member of" : "δεν είναι μέλος του",
"The given operator is invalid" : "Ο δοσμένος πάροχος δεν είναι έγκυρος",
+ "The given regular expression is invalid" : "Η δοθείσα κανονική έκφραση δεν είναι έγκυρη",
"The given file size is invalid" : "Το δοσμένο μέγεθος αρχείου δεν είναι έγκυρο",
"The given tag id is invalid" : "Το δοσμένο id της ετικέτας δεν είναι έγκυρο",
"The given IP range is invalid" : "Η δοσμένη περιοχή IP δεν είναι έγκυρη",
@@ -55,6 +57,7 @@
"Check %s is invalid" : "Έλεγχος %s δεν είναι έγκυρος",
"Check #%s does not exist" : "Έλεγχος #%s δεν υπάρχει",
"Workflow" : "Ροή εργασίας",
+ "Files workflow engine" : "Μηχανή αρχείων ροής εργασιών",
"Open documentation" : "Άνοιγμ τεκμηρίωσης",
"Add rule group" : "Προσθέστε κανόνα ομάδας",
"Short rule description" : "Μικρή περιγραφή κανόνα",
diff --git a/apps/workflowengine/l10n/lt_LT.js b/apps/workflowengine/l10n/lt_LT.js
new file mode 100644
index 00000000000..270e10a058b
--- /dev/null
+++ b/apps/workflowengine/l10n/lt_LT.js
@@ -0,0 +1,74 @@
+OC.L10N.register(
+ "workflowengine",
+ {
+ "Saved" : "Įrašyta",
+ "Saving failed:" : "Įrašymas nepavyko:",
+ "File MIME type" : "Failo MIME tipas",
+ "is" : "yra",
+ "is not" : "nėra",
+ "matches" : "atitinka",
+ "does not match" : "nesutapo",
+ "Example: {placeholder}" : "Pavyzdys: {placeholder}",
+ "File size (upload)" : "Failo dydis (įkėlimas)",
+ "less" : "mažiau",
+ "less or equals" : "mažiau arba lygu",
+ "greater or equals" : "daugiau arba lygu",
+ "greater" : "daugiau",
+ "File system tag" : "Failų sistemos žymė",
+ "is tagged with" : "pažymėtas",
+ "is not tagged with" : "nepažymėtas",
+ "Select tag…" : "Pasirinkite žymę…",
+ "Request remote address" : "Užklausos nutolęs adresas",
+ "matches IPv4" : "atitinka IPv4",
+ "does not match IPv4" : "neatitinka IPv4",
+ "matches IPv6" : "atitinka IPv6",
+ "does not match IPv6" : "neatitinka IPv6",
+ "Request time" : "Užklausos laikas",
+ "between" : "tarp",
+ "not between" : "nėra tarp",
+ "Start" : "Pradžia",
+ "End" : "Pabaiga",
+ "Select timezone…" : "Pasirinkite laiko juostą…",
+ "Request URL" : "Užklausos URL",
+ "Predefined URLs" : "Apibrėžti URLs",
+ "Files WebDAV" : "WebDAV failai",
+ "Request user agent" : "Užklausos vartotojo agentas",
+ "Sync clients" : "Sinchronizavimo klientas",
+ "Android client" : "Android klientas",
+ "iOS client" : "iOS klientas",
+ "Desktop client" : "Darbalaukio klientas",
+ "User group membership" : "Vartotojų grupių narystės",
+ "is member of" : "priklauso",
+ "is not member of" : "nepriklauso",
+ "The given operator is invalid" : "Nurodytas operatorius yra neteisingas",
+ "The given regular expression is invalid" : "Nurodyta reguliari išraiška neteisinga",
+ "The given file size is invalid" : "Nurodytas failo dydis neteisingas",
+ "The given tag id is invalid" : "Nurodyta žymė neteisinga",
+ "The given IP range is invalid" : "Nurodytas IP rėžis nėra korektiškas",
+ "The given IP range is not valid for IPv4" : "Nurodytas IPv4 adresas neteisingas",
+ "The given IP range is not valid for IPv6" : "Nurodytas IPv6 adresas neteisingas",
+ "The given time span is invalid" : "Neteisingai nurodytas laiko tarpsnis",
+ "The given start time is invalid" : "Neteisingai nurodyta laiko pradžia",
+ "The given end time is invalid" : "Neteisingai nurodyta laiko pabaiga",
+ "The given group does not exist" : "Pateikta grupė neegzistuoja",
+ "Check %s is invalid or does not exist" : "%s neteisingas arba neegzistuoja",
+ "Operation #%s does not exist" : "Operacijos #%s nėra",
+ "Operation %s does not exist" : "Operacijos %s nėra",
+ "Operation %s is invalid" : "Neteisinga %s operacija",
+ "Check %s does not exist" : "%s neegzistuoja",
+ "Check %s is invalid" : "Neteisingas %s",
+ "Check #%s does not exist" : "#%s neegzistuoja",
+ "Workflow" : "Darbo eiga",
+ "Files workflow engine" : "Darbo eigos su failais variklis",
+ "Open documentation" : "Atverti dokumentaciją",
+ "Add rule group" : "Pridėti taisyklių grupę",
+ "Short rule description" : "Rodyti taisyklės aprašymą",
+ "Add rule" : "Pridėti taisyklę",
+ "Reset" : "Atstatyti",
+ "Save" : "Įrašyti",
+ "Saving…" : "Įrašoma…",
+ "Loading…" : "Įkeliama…",
+ "Successfully saved" : "Sėkmingai įrašyta",
+ "File mime type" : "Failo mime tipas"
+},
+"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/workflowengine/l10n/lt_LT.json b/apps/workflowengine/l10n/lt_LT.json
new file mode 100644
index 00000000000..09dc1a4b531
--- /dev/null
+++ b/apps/workflowengine/l10n/lt_LT.json
@@ -0,0 +1,72 @@
+{ "translations": {
+ "Saved" : "Įrašyta",
+ "Saving failed:" : "Įrašymas nepavyko:",
+ "File MIME type" : "Failo MIME tipas",
+ "is" : "yra",
+ "is not" : "nėra",
+ "matches" : "atitinka",
+ "does not match" : "nesutapo",
+ "Example: {placeholder}" : "Pavyzdys: {placeholder}",
+ "File size (upload)" : "Failo dydis (įkėlimas)",
+ "less" : "mažiau",
+ "less or equals" : "mažiau arba lygu",
+ "greater or equals" : "daugiau arba lygu",
+ "greater" : "daugiau",
+ "File system tag" : "Failų sistemos žymė",
+ "is tagged with" : "pažymėtas",
+ "is not tagged with" : "nepažymėtas",
+ "Select tag…" : "Pasirinkite žymę…",
+ "Request remote address" : "Užklausos nutolęs adresas",
+ "matches IPv4" : "atitinka IPv4",
+ "does not match IPv4" : "neatitinka IPv4",
+ "matches IPv6" : "atitinka IPv6",
+ "does not match IPv6" : "neatitinka IPv6",
+ "Request time" : "Užklausos laikas",
+ "between" : "tarp",
+ "not between" : "nėra tarp",
+ "Start" : "Pradžia",
+ "End" : "Pabaiga",
+ "Select timezone…" : "Pasirinkite laiko juostą…",
+ "Request URL" : "Užklausos URL",
+ "Predefined URLs" : "Apibrėžti URLs",
+ "Files WebDAV" : "WebDAV failai",
+ "Request user agent" : "Užklausos vartotojo agentas",
+ "Sync clients" : "Sinchronizavimo klientas",
+ "Android client" : "Android klientas",
+ "iOS client" : "iOS klientas",
+ "Desktop client" : "Darbalaukio klientas",
+ "User group membership" : "Vartotojų grupių narystės",
+ "is member of" : "priklauso",
+ "is not member of" : "nepriklauso",
+ "The given operator is invalid" : "Nurodytas operatorius yra neteisingas",
+ "The given regular expression is invalid" : "Nurodyta reguliari išraiška neteisinga",
+ "The given file size is invalid" : "Nurodytas failo dydis neteisingas",
+ "The given tag id is invalid" : "Nurodyta žymė neteisinga",
+ "The given IP range is invalid" : "Nurodytas IP rėžis nėra korektiškas",
+ "The given IP range is not valid for IPv4" : "Nurodytas IPv4 adresas neteisingas",
+ "The given IP range is not valid for IPv6" : "Nurodytas IPv6 adresas neteisingas",
+ "The given time span is invalid" : "Neteisingai nurodytas laiko tarpsnis",
+ "The given start time is invalid" : "Neteisingai nurodyta laiko pradžia",
+ "The given end time is invalid" : "Neteisingai nurodyta laiko pabaiga",
+ "The given group does not exist" : "Pateikta grupė neegzistuoja",
+ "Check %s is invalid or does not exist" : "%s neteisingas arba neegzistuoja",
+ "Operation #%s does not exist" : "Operacijos #%s nėra",
+ "Operation %s does not exist" : "Operacijos %s nėra",
+ "Operation %s is invalid" : "Neteisinga %s operacija",
+ "Check %s does not exist" : "%s neegzistuoja",
+ "Check %s is invalid" : "Neteisingas %s",
+ "Check #%s does not exist" : "#%s neegzistuoja",
+ "Workflow" : "Darbo eiga",
+ "Files workflow engine" : "Darbo eigos su failais variklis",
+ "Open documentation" : "Atverti dokumentaciją",
+ "Add rule group" : "Pridėti taisyklių grupę",
+ "Short rule description" : "Rodyti taisyklės aprašymą",
+ "Add rule" : "Pridėti taisyklę",
+ "Reset" : "Atstatyti",
+ "Save" : "Įrašyti",
+ "Saving…" : "Įrašoma…",
+ "Loading…" : "Įkeliama…",
+ "Successfully saved" : "Sėkmingai įrašyta",
+ "File mime type" : "Failo mime tipas"
+},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);"
+} \ No newline at end of file
diff --git a/apps/workflowengine/l10n/zh_TW.js b/apps/workflowengine/l10n/zh_TW.js
index 07ed427b3ab..82c4f6905f1 100644
--- a/apps/workflowengine/l10n/zh_TW.js
+++ b/apps/workflowengine/l10n/zh_TW.js
@@ -25,6 +25,7 @@ OC.L10N.register(
"does not match IPv6" : "不能匹配 IPv6",
"Request time" : "請求時間",
"between" : "之間",
+ "not between" : "皆非",
"Start" : "開始",
"End" : "結束",
"Select timezone…" : "選擇時區...",
@@ -36,6 +37,9 @@ OC.L10N.register(
"Android client" : "Android 客戶端",
"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" : "指定的檔案大小無效",
diff --git a/apps/workflowengine/l10n/zh_TW.json b/apps/workflowengine/l10n/zh_TW.json
index 27fa421bace..0b561b98d28 100644
--- a/apps/workflowengine/l10n/zh_TW.json
+++ b/apps/workflowengine/l10n/zh_TW.json
@@ -23,6 +23,7 @@
"does not match IPv6" : "不能匹配 IPv6",
"Request time" : "請求時間",
"between" : "之間",
+ "not between" : "皆非",
"Start" : "開始",
"End" : "結束",
"Select timezone…" : "選擇時區...",
@@ -34,6 +35,9 @@
"Android client" : "Android 客戶端",
"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" : "指定的檔案大小無效",
diff --git a/core/img/image-optimization.sh b/build/image-optimization.sh
index b5de96e018b..cf82e120dcd 100755
--- a/core/img/image-optimization.sh
+++ b/build/image-optimization.sh
@@ -17,4 +17,4 @@ do
done;
}
-recursive_optimize_images ../../
+recursive_optimize_images ../
diff --git a/core/Controller/LostController.php b/core/Controller/LostController.php
index 0d5988a2495..59a4e0b2534 100644
--- a/core/Controller/LostController.php
+++ b/core/Controller/LostController.php
@@ -267,7 +267,7 @@ class LostController extends Controller {
\OC_Hook::emit('\OC\Core\LostPassword\Controller\LostController', 'post_passwordReset', array('uid' => $userId, 'password' => $password));
$this->config->deleteUserValue($userId, 'core', 'lostpassword');
- @\OC_User::unsetMagicInCookie();
+ @\OC::$server->getUserSession()->unsetMagicInCookie();
} catch (\Exception $e){
return $this->error($e->getMessage());
}
diff --git a/core/css/header.scss b/core/css/header.scss
index 2e06c13d223..41bb5783090 100644
--- a/core/css/header.scss
+++ b/core/css/header.scss
@@ -211,7 +211,8 @@ nav {
margin-left: -54px;
}
-#navigation {
+#navigation,
+.ui-datepicker {
position: relative;
left: -100%;
width: 160px;
diff --git a/core/css/inputs.scss b/core/css/inputs.scss
index 13a164e13f2..3ea90d322bb 100644
--- a/core/css/inputs.scss
+++ b/core/css/inputs.scss
@@ -492,8 +492,9 @@ input {
}
.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {
- border: none;
- background: nc-darken($color-main-background, 3%);
+ border: 1px solid transparent;
+ background: inherit;
+ color: $color-primary;
}
/* Animation */
diff --git a/core/css/styles.scss b/core/css/styles.scss
index 35fc300eafe..f2acca38e1e 100644
--- a/core/css/styles.scss
+++ b/core/css/styles.scss
@@ -964,6 +964,83 @@ code {
background-image: url('../img/actions/play-previous.svg?v=1');
}
+/* ---- jQuery UI datepicker ---- */
+.ui-widget.ui-datepicker {
+ margin-top: 10px;
+ padding: 4px 8px;
+ width: auto;
+
+ .ui-state-default,
+ .ui-widget-content .ui-state-default,
+ .ui-widget-header .ui-state-default {
+ border: 1px solid transparent;
+ background: inherit;
+ }
+ .ui-widget-header {
+ padding: 7px;
+ font-size: 13px;
+ border: none;
+ background-color: $color-main-background;
+ color: $color-main-text;
+
+ .ui-datepicker-title {
+ line-height: 1;
+ font-weight: 300;
+ }
+ .ui-icon {
+ opacity: .5;
+
+ &.ui-icon-circle-triangle-e {
+ background: url("../img/actions/arrow-right.svg") center center no-repeat;
+ }
+ &.ui-icon-circle-triangle-w {
+ background: url("../img/actions/arrow-left.svg") center center no-repeat;
+ }
+ }
+ .ui-state-hover .ui-icon {
+ opacity: 1;
+ }
+ }
+ .ui-datepicker-calendar {
+ th {
+ font-weight: normal;
+ color: nc-lighten($color-main-text, 33%);
+ opacity: .8;
+ }
+ tr:hover {
+ background-color: inherit;
+ }
+ td {
+ > * {
+ border-radius: 50%;
+ text-align: center;
+ font-weight: normal;
+ color: $color-main-text;
+ padding: 6px;
+ line-height: 12px;
+ }
+
+ &.ui-datepicker-today a:not(.ui-state-hover) {
+ background-color: nc-lighten($color-main-text, 86%);
+ }
+
+ &.ui-datepicker-current-day a.ui-state-active,
+ .ui-state-hover,
+ .ui-state-focus {
+ background-color: $color-primary;
+ color: $color-primary-text;
+ font-weight: bold;
+ }
+
+ &.ui-datepicker-week-end :not(.ui-state-hover),
+ .ui-priority-secondary:not(.ui-state-hover) {
+ color: nc-lighten($color-main-text, 33%);
+ opacity: .8;
+ }
+ }
+ }
+}
+
.ui-datepicker-prev, .ui-datepicker-next {
border: nc-lighten($color-main-text, 86%);
background: $color-main-background;
diff --git a/core/img/actions/arrow-left.svg b/core/img/actions/arrow-left.svg
new file mode 100644
index 00000000000..34b2fda2426
--- /dev/null
+++ b/core/img/actions/arrow-left.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" viewbox="0 0 16 16"><path d="m5.5 8 6 6v1l-7-7 7-7v1z"/></svg>
diff --git a/core/img/actions/arrow-right.svg b/core/img/actions/arrow-right.svg
new file mode 100644
index 00000000000..102b9cf6b5b
--- /dev/null
+++ b/core/img/actions/arrow-right.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16" version="1.1" viewbox="0 0 16 16"><path d="m10.5 8-6-6v-1l7 7-7 7v-1z"/></svg>
diff --git a/core/l10n/el.js b/core/l10n/el.js
index 67ad387b974..34c6cba43a0 100644
--- a/core/l10n/el.js
+++ b/core/l10n/el.js
@@ -42,6 +42,7 @@ OC.L10N.register(
"Checking updates of apps" : "Έλεγχος ενημερώσεων εφαρμογών",
"Checking for update of app \"%s\" in appstore" : "Έλεγχος για ενημέρωση της εφαρμογής \"%s\" στο κέτρο εφαρμογών",
"Update app \"%s\" from appstore" : "Ενημέρωση εφαρμογής \"%s\" από το κέντρο εφαρμογών",
+ "Checked for update of app \"%s\" in appstore" : "Ελέγχος ενημέρωσης εφαρμογής \" 1 %s \" στο appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Έλεγχος αν η διάταξη της βάσης δεδομένων για %s μπορεί να ενημερωθεί (αυτό μπορεί να πάρει αρκετή ώρα ανάλογα με το μέγεθος της βάσης δεδομένων)",
"Checked database schema update for apps" : "Έλεγχος ενημέρωσης διάταξης βάσης δεδομένων για εφαρμογές",
"Updated \"%s\" to %s" : "Ενημερώθηκε \"%s\" σε %s",
@@ -53,6 +54,7 @@ OC.L10N.register(
"%s (incompatible)" : "%s (ασύμβατη)",
"Following apps have been disabled: %s" : "Οι ακόλουθες εφαρμογές έχουν απενεργοποιηθεί: %s",
"Already up to date" : "Ήδη ενημερωμένο",
+ "Search contacts …" : "Αναζήτηση επαφών ...",
"No contacts found" : "Δεν βρέθηκαν επαφές",
"Show all contacts …" : "Εμφάνιση όλων των επαφών ...",
"There was an error loading your contacts" : "Υπήρξε σφάλμα κατά την φόρτωση των επαφών σας",
@@ -111,6 +113,7 @@ OC.L10N.register(
"The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Η διαμόρφωση των reverse proxy headers είναι εσφαλμένη, ή έχετε πρόσβαση στο Nextcloud από έναν αξιόπιστο διαμεσολαβητή. Εάν δεν έχετε πρόσβαση στο Nextcloud από έναν αξιόπιστο διαμεσολαβητή, αυτό είναι ένα ζήτημα ασφαλείας και μπορείτε να επιτρέψετε σε κάποιον εισβολέα να παρουσιάσει την διεύθυνση IP του παραπλανητικά ως ορατή στο Nextcloud. Περισσότερες πληροφορίες μπορείτε να βρείτε στην <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">τεκμηρίωση</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Το Memcached είναι ρυθμισμένο ως κατανεμημένη λανθάνουσα μνήμη, αλλά είναι εγκατεστημένη το λάθος άρθρωμα \"memcache\" της PHP. Το \\OC\\Memcache\\Memcached υποστηρίζει μόνο τη \"memcached\" και όχι τη \"memcache\". Δείτε το <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki και για τα δύο αρθρώματα</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Μερικά αρχεία δεν πέρασαν από τον έλεγχο της ακεραιότητας. Περισσότερες πληροφορίες για το πως να επιλύσετε πρόβλημα μπορείτε να βρείτε στην <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">τεκμηρίωση</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Λίστα από μή έγκυρα αρχεία…</a> / <a href=\"{rescanEndpoint}\">Σάρωση ξανά…</a>)",
+ "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend</a> to use following settings in the <code>php.ini</code>:" : "H PHP OPcache δεν είναι σωστά διαμορφωμένη. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\"> Για καλύτερη απόδοση προτείνεται</a>να χρησιμοποιήσετε τις εξής ρυθμίσεις στο <code>php.ini</code>:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "Μη διαθέσιμη η λειτουργία της PHP \"set_time_limit\". Αυτό μπορεί να διακόψει την εκτέλεση των διαφόρων scripts με αποτέλεσμα να διακοπεί η εγκατάστασή σας. Σας συνιστούμε να ενεργοποιήσετε αυτή τη λειτουργία.",
"Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο των ρυθμίσεων του διακομιστή σας",
"Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ο κατάλογος δεδομένων και τα αρχεία σας είναι πιθανόν προσβάσιμα από το διαδίκτυο. Το αρχείο .htaccess δεν λειτουργεί. Σας προτείνουμε να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος δεδομένων να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο δεδομένων εκτός του ριζικού καταλόγου εγγράφων του διακομιστή.",
@@ -125,6 +128,7 @@ OC.L10N.register(
"Expiration" : "Λήξη",
"Expiration date" : "Ημερομηνία λήξης",
"Choose a password for the public link" : "Επιλέξτε συνθηματικό για τον δημόσιο σύνδεσμο",
+ "Choose a password for the public link or press the \"Enter\" key" : "Επιλέξτε ένα συνθηματικό για την δημόσια διεύθυνση ή πατήστε το \"Enter\" πλήκτρο",
"Copied!" : "Αντιγράφτηκε!",
"Copy" : "Αντιγραφή",
"Not supported!" : "Δεν υποστηρίζεται!",
@@ -267,6 +271,7 @@ OC.L10N.register(
"Log in" : "Είσοδος",
"Stay logged in" : "Μείνετε συνδεδεμένος",
"Alternative Logins" : "Εναλλακτικές συνδέσεις",
+ "You are about to grant \"%s\" access to your %s account." : "Πρόκειται να δώσετε δικαίωμα πρόσβασης%sστον%sλογαριασμό.",
"App token" : "Διακριτικό εφαρμογής",
"Alternative login using app token" : "Εναλλακτική είσοδος με την χρήση του διακριτικού της εφαρμογής",
"Redirecting …" : "Γίνεται ανακατεύθυνση ...",
@@ -294,6 +299,7 @@ OC.L10N.register(
"Update needed" : "Απαιτείται ενημέρωση",
"Please use the command line updater because you have a big instance with more than 50 users." : "Παρακαλούμε χρησιμοποιήστε την ενημέρωση μέσω γραμμής εντολών διότι έχετε μια μεγάλη εγκατάσταση με περισσότερους από 50 χρήστες.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Για βοήθεια, δείτε στην <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">τεκμηρίωση</a>.",
+ "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Γνωρίζω ότι συνεχίζοντας την ενημέρωση μέσω web UI αποτελεί ρίσκο, το χρονικό όριο του αιτήματος μπορεί να εξαντληθεί με συνέπεια το χάσιμο δεδομένων, αλλά έχω πραγματοποιήσει αντίγραφο ασφαλείας και γνωρίζω πως να κάνω αποκατάσταση σε περίπτωση αποτυχίας.",
"Upgrade via web on my own risk" : "Αναβάθμιση μέσω δικτύου με δικιά μου ευθύνη",
"This %s instance is currently in maintenance mode, which may take a while." : "Αυτή %s η εγκατάσταση είναι σε λειτουργία συντήρησης, η οποία μπορεί να διαρκέσει κάποιο χρόνο.",
"This page will refresh itself when the %s instance is available again." : "Αυτή η σελίδα θα ανανεωθεί από μόνη της όταν η %s εγκατάσταση είναι διαθέσιμη ξανά.",
diff --git a/core/l10n/el.json b/core/l10n/el.json
index 0471af680fd..fe9f58912e5 100644
--- a/core/l10n/el.json
+++ b/core/l10n/el.json
@@ -40,6 +40,7 @@
"Checking updates of apps" : "Έλεγχος ενημερώσεων εφαρμογών",
"Checking for update of app \"%s\" in appstore" : "Έλεγχος για ενημέρωση της εφαρμογής \"%s\" στο κέτρο εφαρμογών",
"Update app \"%s\" from appstore" : "Ενημέρωση εφαρμογής \"%s\" από το κέντρο εφαρμογών",
+ "Checked for update of app \"%s\" in appstore" : "Ελέγχος ενημέρωσης εφαρμογής \" 1 %s \" στο appstore",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "Έλεγχος αν η διάταξη της βάσης δεδομένων για %s μπορεί να ενημερωθεί (αυτό μπορεί να πάρει αρκετή ώρα ανάλογα με το μέγεθος της βάσης δεδομένων)",
"Checked database schema update for apps" : "Έλεγχος ενημέρωσης διάταξης βάσης δεδομένων για εφαρμογές",
"Updated \"%s\" to %s" : "Ενημερώθηκε \"%s\" σε %s",
@@ -51,6 +52,7 @@
"%s (incompatible)" : "%s (ασύμβατη)",
"Following apps have been disabled: %s" : "Οι ακόλουθες εφαρμογές έχουν απενεργοποιηθεί: %s",
"Already up to date" : "Ήδη ενημερωμένο",
+ "Search contacts …" : "Αναζήτηση επαφών ...",
"No contacts found" : "Δεν βρέθηκαν επαφές",
"Show all contacts …" : "Εμφάνιση όλων των επαφών ...",
"There was an error loading your contacts" : "Υπήρξε σφάλμα κατά την φόρτωση των επαφών σας",
@@ -109,6 +111,7 @@
"The reverse proxy headers configuration is incorrect, or you are accessing Nextcloud from a trusted proxy. If you are not accessing Nextcloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to Nextcloud. Further information can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>." : "Η διαμόρφωση των reverse proxy headers είναι εσφαλμένη, ή έχετε πρόσβαση στο Nextcloud από έναν αξιόπιστο διαμεσολαβητή. Εάν δεν έχετε πρόσβαση στο Nextcloud από έναν αξιόπιστο διαμεσολαβητή, αυτό είναι ένα ζήτημα ασφαλείας και μπορείτε να επιτρέψετε σε κάποιον εισβολέα να παρουσιάσει την διεύθυνση IP του παραπλανητικά ως ορατή στο Nextcloud. Περισσότερες πληροφορίες μπορείτε να βρείτε στην <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">τεκμηρίωση</a>.",
"Memcached is configured as distributed cache, but the wrong PHP module \"memcache\" is installed. \\OC\\Memcache\\Memcached only supports \"memcached\" and not \"memcache\". See the <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki about both modules</a>." : "Το Memcached είναι ρυθμισμένο ως κατανεμημένη λανθάνουσα μνήμη, αλλά είναι εγκατεστημένη το λάθος άρθρωμα \"memcache\" της PHP. Το \\OC\\Memcache\\Memcached υποστηρίζει μόνο τη \"memcached\" και όχι τη \"memcache\". Δείτε το <a target=\"_blank\" rel=\"noreferrer\" href=\"{wikiLink}\">memcached wiki και για τα δύο αρθρώματα</a>.",
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "Μερικά αρχεία δεν πέρασαν από τον έλεγχο της ακεραιότητας. Περισσότερες πληροφορίες για το πως να επιλύσετε πρόβλημα μπορείτε να βρείτε στην <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">τεκμηρίωση</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">Λίστα από μή έγκυρα αρχεία…</a> / <a href=\"{rescanEndpoint}\">Σάρωση ξανά…</a>)",
+ "The PHP OPcache is not properly configured. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">For better performance we recommend</a> to use following settings in the <code>php.ini</code>:" : "H PHP OPcache δεν είναι σωστά διαμορφωμένη. <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\"> Για καλύτερη απόδοση προτείνεται</a>να χρησιμοποιήσετε τις εξής ρυθμίσεις στο <code>php.ini</code>:",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "Μη διαθέσιμη η λειτουργία της PHP \"set_time_limit\". Αυτό μπορεί να διακόψει την εκτέλεση των διαφόρων scripts με αποτέλεσμα να διακοπεί η εγκατάστασή σας. Σας συνιστούμε να ενεργοποιήσετε αυτή τη λειτουργία.",
"Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο των ρυθμίσεων του διακομιστή σας",
"Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : "Ο κατάλογος δεδομένων και τα αρχεία σας είναι πιθανόν προσβάσιμα από το διαδίκτυο. Το αρχείο .htaccess δεν λειτουργεί. Σας προτείνουμε να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος δεδομένων να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο δεδομένων εκτός του ριζικού καταλόγου εγγράφων του διακομιστή.",
@@ -123,6 +126,7 @@
"Expiration" : "Λήξη",
"Expiration date" : "Ημερομηνία λήξης",
"Choose a password for the public link" : "Επιλέξτε συνθηματικό για τον δημόσιο σύνδεσμο",
+ "Choose a password for the public link or press the \"Enter\" key" : "Επιλέξτε ένα συνθηματικό για την δημόσια διεύθυνση ή πατήστε το \"Enter\" πλήκτρο",
"Copied!" : "Αντιγράφτηκε!",
"Copy" : "Αντιγραφή",
"Not supported!" : "Δεν υποστηρίζεται!",
@@ -265,6 +269,7 @@
"Log in" : "Είσοδος",
"Stay logged in" : "Μείνετε συνδεδεμένος",
"Alternative Logins" : "Εναλλακτικές συνδέσεις",
+ "You are about to grant \"%s\" access to your %s account." : "Πρόκειται να δώσετε δικαίωμα πρόσβασης%sστον%sλογαριασμό.",
"App token" : "Διακριτικό εφαρμογής",
"Alternative login using app token" : "Εναλλακτική είσοδος με την χρήση του διακριτικού της εφαρμογής",
"Redirecting …" : "Γίνεται ανακατεύθυνση ...",
@@ -292,6 +297,7 @@
"Update needed" : "Απαιτείται ενημέρωση",
"Please use the command line updater because you have a big instance with more than 50 users." : "Παρακαλούμε χρησιμοποιήστε την ενημέρωση μέσω γραμμής εντολών διότι έχετε μια μεγάλη εγκατάσταση με περισσότερους από 50 χρήστες.",
"For help, see the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation</a>." : "Για βοήθεια, δείτε στην <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">τεκμηρίωση</a>.",
+ "I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure." : "Γνωρίζω ότι συνεχίζοντας την ενημέρωση μέσω web UI αποτελεί ρίσκο, το χρονικό όριο του αιτήματος μπορεί να εξαντληθεί με συνέπεια το χάσιμο δεδομένων, αλλά έχω πραγματοποιήσει αντίγραφο ασφαλείας και γνωρίζω πως να κάνω αποκατάσταση σε περίπτωση αποτυχίας.",
"Upgrade via web on my own risk" : "Αναβάθμιση μέσω δικτύου με δικιά μου ευθύνη",
"This %s instance is currently in maintenance mode, which may take a while." : "Αυτή %s η εγκατάσταση είναι σε λειτουργία συντήρησης, η οποία μπορεί να διαρκέσει κάποιο χρόνο.",
"This page will refresh itself when the %s instance is available again." : "Αυτή η σελίδα θα ανανεωθεί από μόνη της όταν η %s εγκατάσταση είναι διαθέσιμη ξανά.",
diff --git a/core/l10n/ja.js b/core/l10n/ja.js
index 628a3cbe578..5f0a2a61e17 100644
--- a/core/l10n/ja.js
+++ b/core/l10n/ja.js
@@ -105,6 +105,7 @@ OC.L10N.register(
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "いくつかのファイルでチェックサムが適合しませんでした。この問題を解決するためは、<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ドキュメント</a>の詳細を見てください。(<a href=\"{codeIntegrityDownloadEndpoint}\">不適合ファイルのリスト…</a> / <a href=\"{rescanEndpoint}\">再チェック…</a>)",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "PHP 関数 \"set_time_limit\" は使用できません。これにより実行スクリプトが途中で停止されて、インストールを破壊する可能性があります。この機能を有効にすることを強くお勧めします。",
"Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : ".htaccess ファイルが機能していないため、インターネットからあなたのデータディレクトリとファイルにアクセスできる可能性があります。Webサーバの設定を変更してデータディレクトリにアクセス出来ないようにするか、データディレクトリをドキュメントルートの外側に移動することを強く推奨します。",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP ヘッダは \"{expected}\" に設定されていません。これは潜在的なセキュリティリスクもしくはプライバシーリスクとなる可能性があるため、この設定を見直すことをおすすめします。",
"The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "HTTP ヘッダ の \"Strict-Transport-Security\" が少なくとも \"{seconds}\" 秒に設定されていません。 セキュリティを強化するため、<a href=\"{docUrl}\" rel=\"noreferrer\">セキュリティTips</a>を参照して、HSTS を有効にすることをおすすめします。",
"You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "HTTP経由でアクセスしています。<a href=\"{docUrl}\">security tips</a>を参照して、代わりにHTTPSを使用するようサーバーを設定することを強くおすすめします。 instead as described in our .",
diff --git a/core/l10n/ja.json b/core/l10n/ja.json
index 995618d17e2..402d7b470ae 100644
--- a/core/l10n/ja.json
+++ b/core/l10n/ja.json
@@ -103,6 +103,7 @@
"Some files have not passed the integrity check. Further information on how to resolve this issue can be found in our <a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">documentation</a>. (<a href=\"{codeIntegrityDownloadEndpoint}\">List of invalid files…</a> / <a href=\"{rescanEndpoint}\">Rescan…</a>)" : "いくつかのファイルでチェックサムが適合しませんでした。この問題を解決するためは、<a target=\"_blank\" rel=\"noreferrer\" href=\"{docLink}\">ドキュメント</a>の詳細を見てください。(<a href=\"{codeIntegrityDownloadEndpoint}\">不適合ファイルのリスト…</a> / <a href=\"{rescanEndpoint}\">再チェック…</a>)",
"The PHP function \"set_time_limit\" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function." : "PHP 関数 \"set_time_limit\" は使用できません。これにより実行スクリプトが途中で停止されて、インストールを破壊する可能性があります。この機能を有効にすることを強くお勧めします。",
"Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました",
+ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. It is strongly recommended that you configure your web server in a way that the data directory is no longer accessible or you move the data directory outside the web server document root." : ".htaccess ファイルが機能していないため、インターネットからあなたのデータディレクトリとファイルにアクセスできる可能性があります。Webサーバの設定を変更してデータディレクトリにアクセス出来ないようにするか、データディレクトリをドキュメントルートの外側に移動することを強く推奨します。",
"The \"{header}\" HTTP header is not configured to equal to \"{expected}\". This is a potential security or privacy risk and we recommend adjusting this setting." : "\"{header}\" HTTP ヘッダは \"{expected}\" に設定されていません。これは潜在的なセキュリティリスクもしくはプライバシーリスクとなる可能性があるため、この設定を見直すことをおすすめします。",
"The \"Strict-Transport-Security\" HTTP header is not configured to at least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our <a href=\"{docUrl}\" rel=\"noreferrer\">security tips</a>." : "HTTP ヘッダ の \"Strict-Transport-Security\" が少なくとも \"{seconds}\" 秒に設定されていません。 セキュリティを強化するため、<a href=\"{docUrl}\" rel=\"noreferrer\">セキュリティTips</a>を参照して、HSTS を有効にすることをおすすめします。",
"You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our <a href=\"{docUrl}\">security tips</a>." : "HTTP経由でアクセスしています。<a href=\"{docUrl}\">security tips</a>を参照して、代わりにHTTPSを使用するようサーバーを設定することを強くおすすめします。 instead as described in our .",
diff --git a/core/l10n/sq.js b/core/l10n/sq.js
index b8228adc73b..02466598abc 100644
--- a/core/l10n/sq.js
+++ b/core/l10n/sq.js
@@ -59,6 +59,7 @@ OC.L10N.register(
"Loading your contacts …" : "Kontaktet tuaja po ngarkohen ...",
"Looking for {term} …" : "Duke kërkuar {për] ...",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Pati probleme me kontrollin e integritetit të kodit. Më tepër të dhëna…</a>",
+ "No action available" : "Jo veprim i mundur",
"Settings" : "Rregullime",
"Connection to server lost" : "Lidhja me serverin u shkëput",
"Saving..." : "Po ruhet …",
@@ -244,6 +245,7 @@ OC.L10N.register(
"Log in" : "Hyni",
"Stay logged in" : "Qëndro i futur",
"Alternative Logins" : "Hyrje Alternative",
+ "You are about to grant \"%s\" access to your %s account." : "Ju jeni duke kërkuar \"%s\" akses për %s llogaritë tuaja.",
"App token" : "Çelës identifikues i API-t",
"Alternative login using app token" : "Hyrje alternative duke perdorur çelësin identifikues të API-t",
"Redirecting …" : "Duke ju lidhur...",
diff --git a/core/l10n/sq.json b/core/l10n/sq.json
index 7d5e1f90521..ddb8a7ae4a5 100644
--- a/core/l10n/sq.json
+++ b/core/l10n/sq.json
@@ -57,6 +57,7 @@
"Loading your contacts …" : "Kontaktet tuaja po ngarkohen ...",
"Looking for {term} …" : "Duke kërkuar {për] ...",
"<a href=\"{docUrl}\">There were problems with the code integrity check. More information…</a>" : "<a href=\"{docUrl}\">Pati probleme me kontrollin e integritetit të kodit. Më tepër të dhëna…</a>",
+ "No action available" : "Jo veprim i mundur",
"Settings" : "Rregullime",
"Connection to server lost" : "Lidhja me serverin u shkëput",
"Saving..." : "Po ruhet …",
@@ -242,6 +243,7 @@
"Log in" : "Hyni",
"Stay logged in" : "Qëndro i futur",
"Alternative Logins" : "Hyrje Alternative",
+ "You are about to grant \"%s\" access to your %s account." : "Ju jeni duke kërkuar \"%s\" akses për %s llogaritë tuaja.",
"App token" : "Çelës identifikues i API-t",
"Alternative login using app token" : "Hyrje alternative duke perdorur çelësin identifikues të API-t",
"Redirecting …" : "Duke ju lidhur...",
diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js
index 188bd150adc..e7a519f2bf9 100644
--- a/core/l10n/zh_TW.js
+++ b/core/l10n/zh_TW.js
@@ -20,6 +20,8 @@ OC.L10N.register(
"Couldn't reset password because the token is expired" : "無法重設密碼,因為 token 過期",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "無法寄送重設 email ,因為這個帳號沒有設定 email 地址,請聯絡您的系統管理員。",
"Password reset" : "密碼重設",
+ "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "點取下方的按鈕以重設您的密碼。 如果您沒有要求重設密碼的話,請忽略這封信。",
+ "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "點取下方的連結以重設您的密碼。 如果您沒有要求重設密碼的話,請忽略這封信。",
"Reset your password" : "重設您的密碼",
"%s password reset" : "%s 密碼重設",
"Couldn't send reset email. Please contact your administrator." : "無法寄送重設 email ,請聯絡系統管理員",
@@ -38,6 +40,7 @@ OC.L10N.register(
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "檢查是否有可更新的資料庫格式(若資料庫較大,可能需要一段時間)",
"Checked database schema update" : "已檢查資料庫格式更新",
"Checking updates of apps" : "檢查 app 更新",
+ "Checking for update of app \"%s\" in appstore" : "從應用商店檢查 \"%s\" 的更新",
"Update app \"%s\" from appstore" : "從應用商店更新 \"%s\"",
"Checked for update of app \"%s\" in appstore" : "從應用商店檢查 \"%s\" 的更新",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "檢查 %s 是否有可更新的資料庫格式(若資料庫較大,可能需要一段時間)",
@@ -159,6 +162,7 @@ OC.L10N.register(
"{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "分享",
+ "Share with other people by entering a user or group or an email address." : "透過輸入使用者、群組名稱或email來分享給其他人。",
"Name or email address..." : "名字或電子郵件地址",
"Name, federated cloud ID or email address..." : "名字、聯邦雲 ID 或是電子郵件地址",
"Name..." : "名字…",
@@ -287,7 +291,13 @@ OC.L10N.register(
"can change" : "允許更動",
"can delete" : "允許刪除",
"access control" : "存取控制",
+ "Share with users or by mail..." : "與使用者或透過email分享...",
+ "Share with users or remote users..." : "與使用者或遠端使用者分享…",
+ "Share with users, remote users or by mail..." : "與用戶、遠端使用者或透過email分享 ...",
"Share with users or groups..." : "與使用者和群組分享...",
+ "Share with users, groups or by mail..." : "與用戶、群組或透過email分享 ...",
+ "Share with users, groups or remote users..." : "與用戶、群組或是遠端使用者分享 ...",
+ "Share with users, groups, remote users or by mail..." : "與用戶、群組、遠端使用者或是透過email分享 ...",
"Share with users..." : "分享給其他使用者…",
"The object type is not specified." : "未指定物件類型",
"Enter new" : "輸入新的",
diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json
index 3b21dcd8377..27d62ba1a92 100644
--- a/core/l10n/zh_TW.json
+++ b/core/l10n/zh_TW.json
@@ -18,6 +18,8 @@
"Couldn't reset password because the token is expired" : "無法重設密碼,因為 token 過期",
"Could not send reset email because there is no email address for this username. Please contact your administrator." : "無法寄送重設 email ,因為這個帳號沒有設定 email 地址,請聯絡您的系統管理員。",
"Password reset" : "密碼重設",
+ "Click the following button to reset your password. If you have not requested the password reset, then ignore this email." : "點取下方的按鈕以重設您的密碼。 如果您沒有要求重設密碼的話,請忽略這封信。",
+ "Click the following link to reset your password. If you have not requested the password reset, then ignore this email." : "點取下方的連結以重設您的密碼。 如果您沒有要求重設密碼的話,請忽略這封信。",
"Reset your password" : "重設您的密碼",
"%s password reset" : "%s 密碼重設",
"Couldn't send reset email. Please contact your administrator." : "無法寄送重設 email ,請聯絡系統管理員",
@@ -36,6 +38,7 @@
"Checking whether the database schema can be updated (this can take a long time depending on the database size)" : "檢查是否有可更新的資料庫格式(若資料庫較大,可能需要一段時間)",
"Checked database schema update" : "已檢查資料庫格式更新",
"Checking updates of apps" : "檢查 app 更新",
+ "Checking for update of app \"%s\" in appstore" : "從應用商店檢查 \"%s\" 的更新",
"Update app \"%s\" from appstore" : "從應用商店更新 \"%s\"",
"Checked for update of app \"%s\" in appstore" : "從應用商店檢查 \"%s\" 的更新",
"Checking whether the database schema for %s can be updated (this can take a long time depending on the database size)" : "檢查 %s 是否有可更新的資料庫格式(若資料庫較大,可能需要一段時間)",
@@ -157,6 +160,7 @@
"{sharee} (email)" : "{sharee} (email)",
"{sharee} ({type}, {owner})" : "{sharee} ({type}, {owner})",
"Share" : "分享",
+ "Share with other people by entering a user or group or an email address." : "透過輸入使用者、群組名稱或email來分享給其他人。",
"Name or email address..." : "名字或電子郵件地址",
"Name, federated cloud ID or email address..." : "名字、聯邦雲 ID 或是電子郵件地址",
"Name..." : "名字…",
@@ -285,7 +289,13 @@
"can change" : "允許更動",
"can delete" : "允許刪除",
"access control" : "存取控制",
+ "Share with users or by mail..." : "與使用者或透過email分享...",
+ "Share with users or remote users..." : "與使用者或遠端使用者分享…",
+ "Share with users, remote users or by mail..." : "與用戶、遠端使用者或透過email分享 ...",
"Share with users or groups..." : "與使用者和群組分享...",
+ "Share with users, groups or by mail..." : "與用戶、群組或透過email分享 ...",
+ "Share with users, groups or remote users..." : "與用戶、群組或是遠端使用者分享 ...",
+ "Share with users, groups, remote users or by mail..." : "與用戶、群組、遠端使用者或是透過email分享 ...",
"Share with users..." : "分享給其他使用者…",
"The object type is not specified." : "未指定物件類型",
"Enter new" : "輸入新的",
diff --git a/lib/composer/composer/autoload_classmap.php b/lib/composer/composer/autoload_classmap.php
index 20e4f4358b3..749b3949f68 100644
--- a/lib/composer/composer/autoload_classmap.php
+++ b/lib/composer/composer/autoload_classmap.php
@@ -664,6 +664,7 @@ return array(
'OC\\IntegrityCheck\\Iterator\\ExcludeFoldersByPathFilterIterator' => $baseDir . '/lib/private/IntegrityCheck/Iterator/ExcludeFoldersByPathFilterIterator.php',
'OC\\L10N\\Factory' => $baseDir . '/lib/private/L10N/Factory.php',
'OC\\L10N\\L10N' => $baseDir . '/lib/private/L10N/L10N.php',
+ 'OC\\L10N\\L10NString' => $baseDir . '/lib/private/L10N/L10NString.php',
'OC\\L10N\\LanguageNotFoundException' => $baseDir . '/lib/private/L10N/LanguageNotFoundException.php',
'OC\\LargeFileHelper' => $baseDir . '/lib/private/LargeFileHelper.php',
'OC\\Lock\\AbstractLockingProvider' => $baseDir . '/lib/private/Lock/AbstractLockingProvider.php',
diff --git a/lib/composer/composer/autoload_static.php b/lib/composer/composer/autoload_static.php
index 6eb8b44196a..d92045f6c53 100644
--- a/lib/composer/composer/autoload_static.php
+++ b/lib/composer/composer/autoload_static.php
@@ -694,6 +694,7 @@ class ComposerStaticInit53792487c5a8370acc0b06b1a864ff4c
'OC\\IntegrityCheck\\Iterator\\ExcludeFoldersByPathFilterIterator' => __DIR__ . '/../../..' . '/lib/private/IntegrityCheck/Iterator/ExcludeFoldersByPathFilterIterator.php',
'OC\\L10N\\Factory' => __DIR__ . '/../../..' . '/lib/private/L10N/Factory.php',
'OC\\L10N\\L10N' => __DIR__ . '/../../..' . '/lib/private/L10N/L10N.php',
+ 'OC\\L10N\\L10NString' => __DIR__ . '/../../..' . '/lib/private/L10N/L10NString.php',
'OC\\L10N\\LanguageNotFoundException' => __DIR__ . '/../../..' . '/lib/private/L10N/LanguageNotFoundException.php',
'OC\\LargeFileHelper' => __DIR__ . '/../../..' . '/lib/private/LargeFileHelper.php',
'OC\\Lock\\AbstractLockingProvider' => __DIR__ . '/../../..' . '/lib/private/Lock/AbstractLockingProvider.php',
diff --git a/lib/l10n/el.js b/lib/l10n/el.js
index 6a34a25dc78..0bc2a98ef7c 100644
--- a/lib/l10n/el.js
+++ b/lib/l10n/el.js
@@ -35,6 +35,7 @@ OC.L10N.register(
"last year" : "τελευταίο χρόνο",
"_%n year ago_::_%n years ago_" : ["%n χρόνο πριν","%n χρόνια πριν"],
"seconds ago" : "δευτερόλεπτα πριν",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Το άρθρωμα με ID: %sδεν υπάρχει. Παρακαλούμε ενεργοποιήστε το στις ρυθμίσεις των εφαρμογών σας ή επικοινωνήστε με τον διαχειριστή.",
"File name is a reserved word" : "Το όνομα αρχείου είναι λέξη που έχει δεσμευτεί",
"File name contains at least one invalid character" : "Το όνομα αρχείου περιέχει έναν τουλάχιστον μη έγκυρο χαρακτήρα",
"File name is too long" : "Το όνομα αρχείου είνια πολύ μεγάλο",
diff --git a/lib/l10n/el.json b/lib/l10n/el.json
index 8490d43458b..201f6098fe6 100644
--- a/lib/l10n/el.json
+++ b/lib/l10n/el.json
@@ -33,6 +33,7 @@
"last year" : "τελευταίο χρόνο",
"_%n year ago_::_%n years ago_" : ["%n χρόνο πριν","%n χρόνια πριν"],
"seconds ago" : "δευτερόλεπτα πριν",
+ "Module with ID: %s does not exist. Please enable it in your apps settings or contact your administrator." : "Το άρθρωμα με ID: %sδεν υπάρχει. Παρακαλούμε ενεργοποιήστε το στις ρυθμίσεις των εφαρμογών σας ή επικοινωνήστε με τον διαχειριστή.",
"File name is a reserved word" : "Το όνομα αρχείου είναι λέξη που έχει δεσμευτεί",
"File name contains at least one invalid character" : "Το όνομα αρχείου περιέχει έναν τουλάχιστον μη έγκυρο χαρακτήρα",
"File name is too long" : "Το όνομα αρχείου είνια πολύ μεγάλο",
diff --git a/lib/l10n/it.js b/lib/l10n/it.js
index cb1d91e6d6b..d77a82343a8 100644
--- a/lib/l10n/it.js
+++ b/lib/l10n/it.js
@@ -47,6 +47,7 @@ OC.L10N.register(
"This is an automatically sent email, please do not reply." : "Questo è un messaggio di posta inviato automaticamente, non rispondere.",
"Help" : "Aiuto",
"Apps" : "Applicazioni",
+ "Settings" : "Impostazioni",
"Log out" : "Esci",
"Users" : "Utenti",
"APCu" : "APCu",
@@ -57,6 +58,13 @@ OC.L10N.register(
"Encryption" : "Cifratura",
"Additional settings" : "Impostazioni aggiuntive",
"Tips & tricks" : "Suggerimenti e trucchi",
+ "Personal info" : "Informazioni personali",
+ "Sync clients" : "Client di sincronizzazione",
+ "Unlimited" : "Illimitato",
+ "__language_name__" : "Italiano",
+ "Verifying" : "Verifica",
+ "Verifying …" : "Verifica in corso...",
+ "Verify" : "Verifica",
"%s enter the database username and name." : "%s digita il nome utente e il nome del database.",
"%s enter the database username." : "%s digita il nome utente del database.",
"%s enter the database name." : "%s digita il nome del database.",
@@ -104,7 +112,12 @@ OC.L10N.register(
"Sharing %s failed, because resharing is not allowed" : "Condivisione di %s non riuscita, poiché la ri-condivisione non è consentita",
"Sharing %s failed, because the sharing backend for %s could not find its source" : "Condivisione di %s non riuscita, poiché il motore di condivisione per %s non riesce a trovare la sua fonte",
"Sharing %s failed, because the file could not be found in the file cache" : "Condivisione di %s non riuscita, poiché il file non è stato trovato nella cache",
+ "Can’t increase permissions of %s" : "Impossibile aumentare i permessi di %s",
+ "Files can’t be shared with delete permissions" : "I file non possono essere condivisi con permessi di eliminazione",
+ "Files can’t be shared with create permissions" : "I file non possono essere condivisi con permessi di creazione",
"Expiration date is in the past" : "La data di scadenza è nel passato",
+ "Can’t set expiration date more than %s days in the future" : "Impossibile impostare la data di scadenza a più di %s giorni nel futuro",
+ "The requested share does not exist anymore" : "La condivisione richiesta non esiste più",
"Could not find category \"%s\"" : "Impossibile trovare la categoria \"%s\"",
"Sunday" : "Domenica",
"Monday" : "Lunedì",
@@ -197,6 +210,7 @@ OC.L10N.register(
"Your data directory must be an absolute path" : "La cartella dei dati deve essere un percorso assoluto",
"Check the value of \"datadirectory\" in your configuration" : "Controlla il valore di \"datadirectory\" nella tua configurazione",
"Your data directory is invalid" : "La cartella dei dati non è valida",
+ "Ensure there is a file called \".ocdata\" in the root of the data directory." : "Assicurati che ci sia un file \".ocdata\" nella radice della cartella data.",
"Could not obtain lock type %d on \"%s\"." : "Impossibile ottenere il blocco di tipo %d su \"%s\".",
"Storage unauthorized. %s" : "Archiviazione non autorizzata. %s",
"Storage incomplete configuration. %s" : "Configurazione dell'archiviazione incompleta.%s",
diff --git a/lib/l10n/it.json b/lib/l10n/it.json
index 8cd429ba9c1..388c6c95055 100644
--- a/lib/l10n/it.json
+++ b/lib/l10n/it.json
@@ -45,6 +45,7 @@
"This is an automatically sent email, please do not reply." : "Questo è un messaggio di posta inviato automaticamente, non rispondere.",
"Help" : "Aiuto",
"Apps" : "Applicazioni",
+ "Settings" : "Impostazioni",
"Log out" : "Esci",
"Users" : "Utenti",
"APCu" : "APCu",
@@ -55,6 +56,13 @@
"Encryption" : "Cifratura",
"Additional settings" : "Impostazioni aggiuntive",
"Tips & tricks" : "Suggerimenti e trucchi",
+ "Personal info" : "Informazioni personali",
+ "Sync clients" : "Client di sincronizzazione",
+ "Unlimited" : "Illimitato",
+ "__language_name__" : "Italiano",
+ "Verifying" : "Verifica",
+ "Verifying …" : "Verifica in corso...",
+ "Verify" : "Verifica",
"%s enter the database username and name." : "%s digita il nome utente e il nome del database.",
"%s enter the database username." : "%s digita il nome utente del database.",
"%s enter the database name." : "%s digita il nome del database.",
@@ -102,7 +110,12 @@
"Sharing %s failed, because resharing is not allowed" : "Condivisione di %s non riuscita, poiché la ri-condivisione non è consentita",
"Sharing %s failed, because the sharing backend for %s could not find its source" : "Condivisione di %s non riuscita, poiché il motore di condivisione per %s non riesce a trovare la sua fonte",
"Sharing %s failed, because the file could not be found in the file cache" : "Condivisione di %s non riuscita, poiché il file non è stato trovato nella cache",
+ "Can’t increase permissions of %s" : "Impossibile aumentare i permessi di %s",
+ "Files can’t be shared with delete permissions" : "I file non possono essere condivisi con permessi di eliminazione",
+ "Files can’t be shared with create permissions" : "I file non possono essere condivisi con permessi di creazione",
"Expiration date is in the past" : "La data di scadenza è nel passato",
+ "Can’t set expiration date more than %s days in the future" : "Impossibile impostare la data di scadenza a più di %s giorni nel futuro",
+ "The requested share does not exist anymore" : "La condivisione richiesta non esiste più",
"Could not find category \"%s\"" : "Impossibile trovare la categoria \"%s\"",
"Sunday" : "Domenica",
"Monday" : "Lunedì",
@@ -195,6 +208,7 @@
"Your data directory must be an absolute path" : "La cartella dei dati deve essere un percorso assoluto",
"Check the value of \"datadirectory\" in your configuration" : "Controlla il valore di \"datadirectory\" nella tua configurazione",
"Your data directory is invalid" : "La cartella dei dati non è valida",
+ "Ensure there is a file called \".ocdata\" in the root of the data directory." : "Assicurati che ci sia un file \".ocdata\" nella radice della cartella data.",
"Could not obtain lock type %d on \"%s\"." : "Impossibile ottenere il blocco di tipo %d su \"%s\".",
"Storage unauthorized. %s" : "Archiviazione non autorizzata. %s",
"Storage incomplete configuration. %s" : "Configurazione dell'archiviazione incompleta.%s",
diff --git a/lib/l10n/ja.js b/lib/l10n/ja.js
index 89edf9ddab9..fd98eaeb918 100644
--- a/lib/l10n/ja.js
+++ b/lib/l10n/ja.js
@@ -44,10 +44,12 @@ OC.L10N.register(
"App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。",
"Help" : "ヘルプ",
"Apps" : "アプリ",
+ "Settings" : "設定",
"Log out" : "ログアウト",
"Users" : "ユーザー",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "基本設定",
"Sharing" : "共有",
"Security" : "セキュリティ",
"Encryption" : "暗号化",
diff --git a/lib/l10n/ja.json b/lib/l10n/ja.json
index d1f96e17731..247905f240b 100644
--- a/lib/l10n/ja.json
+++ b/lib/l10n/ja.json
@@ -42,10 +42,12 @@
"App \"%s\" cannot be installed because it is not compatible with this version of the server." : "\"%s\" アプリは、このバージョンのサーバーと互換性がないためインストールされませんでした。",
"Help" : "ヘルプ",
"Apps" : "アプリ",
+ "Settings" : "設定",
"Log out" : "ログアウト",
"Users" : "ユーザー",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "基本設定",
"Sharing" : "共有",
"Security" : "セキュリティ",
"Encryption" : "暗号化",
diff --git a/lib/l10n/sq.js b/lib/l10n/sq.js
index 72df40ab6bc..8de60a08071 100644
--- a/lib/l10n/sq.js
+++ b/lib/l10n/sq.js
@@ -45,17 +45,21 @@ OC.L10N.register(
"This is an automatically sent email, please do not reply." : "Ky është një email i dërguar automatikisht, ju lutem mos u përgjigjni.",
"Help" : "Ndihmë",
"Apps" : "Aplikacione",
+ "Settings" : "Settings",
"Log out" : "Shkyçu",
"Users" : "Përdorues",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "Settings bazike",
"Sharing" : "Ndarja",
"Security" : "Siguria",
"Encryption" : "Enkriptimi",
"Additional settings" : "Konfigurime shtesë",
"Tips & tricks" : "Këshilla dhe rrengje",
"Personal info" : "Informacion personal",
- "Unlimited" : "E pa limituar",
+ "Sync clients" : "Klientë të sikronizuar",
+ "Unlimited" : "E palimituar",
+ "__language_name__" : "_emri_i_gjuhës__",
"Verifying" : "Duke e verifikuar",
"Verifying …" : "Duke e verifikuar ...",
"Verify" : "Verifiko",
@@ -189,7 +193,10 @@ OC.L10N.register(
"PostgreSQL >= 9 required" : "Lypset PostgreSQL >= 9",
"Please upgrade your database version" : "Ju lutemi, përmirësoni bazën tuaj të të dhënave me një version më të ri.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Ju lutemi, kalojani lejet në 0770, që kështu atë drejtori të mos mund ta shfaqin përdorues të tjerë.",
+ "Your data directory is readable by other users" : "Direktoria juaj e të dhënave është e lexueshme nga përdorues të tjerë",
+ "Your data directory must be an absolute path" : "Direktoria juaj e të dhënave duhet të jetë një path absolut",
"Check the value of \"datadirectory\" in your configuration" : "Kontrolloni vlerën e \"datadirectory\" te formësimi juaj",
+ "Your data directory is invalid" : "Direktoria juaj e të dhënave është i pavlefshëm",
"Could not obtain lock type %d on \"%s\"." : "S’u mor dot lloj kyçjeje %d në \"%s\".",
"Storage unauthorized. %s" : "Depozitë e paautorizuar. %s",
"Storage incomplete configuration. %s" : "Formësim jo i plotë i depozitës. %s",
diff --git a/lib/l10n/sq.json b/lib/l10n/sq.json
index 4ca0cb1c20a..bc20a1d9ad2 100644
--- a/lib/l10n/sq.json
+++ b/lib/l10n/sq.json
@@ -43,17 +43,21 @@
"This is an automatically sent email, please do not reply." : "Ky është një email i dërguar automatikisht, ju lutem mos u përgjigjni.",
"Help" : "Ndihmë",
"Apps" : "Aplikacione",
+ "Settings" : "Settings",
"Log out" : "Shkyçu",
"Users" : "Përdorues",
"APCu" : "APCu",
"Redis" : "Redis",
+ "Basic settings" : "Settings bazike",
"Sharing" : "Ndarja",
"Security" : "Siguria",
"Encryption" : "Enkriptimi",
"Additional settings" : "Konfigurime shtesë",
"Tips & tricks" : "Këshilla dhe rrengje",
"Personal info" : "Informacion personal",
- "Unlimited" : "E pa limituar",
+ "Sync clients" : "Klientë të sikronizuar",
+ "Unlimited" : "E palimituar",
+ "__language_name__" : "_emri_i_gjuhës__",
"Verifying" : "Duke e verifikuar",
"Verifying …" : "Duke e verifikuar ...",
"Verify" : "Verifiko",
@@ -187,7 +191,10 @@
"PostgreSQL >= 9 required" : "Lypset PostgreSQL >= 9",
"Please upgrade your database version" : "Ju lutemi, përmirësoni bazën tuaj të të dhënave me një version më të ri.",
"Please change the permissions to 0770 so that the directory cannot be listed by other users." : "Ju lutemi, kalojani lejet në 0770, që kështu atë drejtori të mos mund ta shfaqin përdorues të tjerë.",
+ "Your data directory is readable by other users" : "Direktoria juaj e të dhënave është e lexueshme nga përdorues të tjerë",
+ "Your data directory must be an absolute path" : "Direktoria juaj e të dhënave duhet të jetë një path absolut",
"Check the value of \"datadirectory\" in your configuration" : "Kontrolloni vlerën e \"datadirectory\" te formësimi juaj",
+ "Your data directory is invalid" : "Direktoria juaj e të dhënave është i pavlefshëm",
"Could not obtain lock type %d on \"%s\"." : "S’u mor dot lloj kyçjeje %d në \"%s\".",
"Storage unauthorized. %s" : "Depozitë e paautorizuar. %s",
"Storage incomplete configuration. %s" : "Formësim jo i plotë i depozitës. %s",
diff --git a/lib/private/Activity/Manager.php b/lib/private/Activity/Manager.php
index bbb6f694156..7640a367e74 100644
--- a/lib/private/Activity/Manager.php
+++ b/lib/private/Activity/Manager.php
@@ -588,7 +588,7 @@ class Manager implements IManager {
$users = $this->config->getUsersForUserValue('activity', 'rsstoken', $token);
- if (sizeof($users) !== 1) {
+ if (count($users) !== 1) {
// No unique user found
throw new \UnexpectedValueException('The token is invalid');
}
diff --git a/lib/private/AllConfig.php b/lib/private/AllConfig.php
index 1f59e677a54..52b0679bb20 100644
--- a/lib/private/AllConfig.php
+++ b/lib/private/AllConfig.php
@@ -409,7 +409,7 @@ class AllConfig implements \OCP\IConfig {
array_unshift($queryParams, $key);
array_unshift($queryParams, $appName);
- $placeholders = (sizeof($chunk) == 50) ? $placeholders50 : implode(',', array_fill(0, sizeof($chunk), '?'));
+ $placeholders = (count($chunk) === 50) ? $placeholders50 : implode(',', array_fill(0, count($chunk), '?'));
$query = 'SELECT `userid`, `configvalue` ' .
'FROM `*PREFIX*preferences` ' .
diff --git a/lib/private/App/DependencyAnalyzer.php b/lib/private/App/DependencyAnalyzer.php
index 84d87efa3d3..1ec028b9728 100644
--- a/lib/private/App/DependencyAnalyzer.php
+++ b/lib/private/App/DependencyAnalyzer.php
@@ -43,7 +43,7 @@ class DependencyAnalyzer {
* @param Platform $platform
* @param \OCP\IL10N $l
*/
- function __construct(Platform $platform, IL10N $l) {
+ public function __construct(Platform $platform, IL10N $l) {
$this->platform = $platform;
$this->l = $l;
}
@@ -179,7 +179,7 @@ class DependencyAnalyzer {
}, $supportedDatabases);
$currentDatabase = $this->platform->getDatabase();
if (!in_array($currentDatabase, $supportedDatabases)) {
- $missing[] = (string)$this->l->t('Following databases are supported: %s', join(', ', $supportedDatabases));
+ $missing[] = (string)$this->l->t('Following databases are supported: %s', implode(', ', $supportedDatabases));
}
return $missing;
}
@@ -282,7 +282,7 @@ class DependencyAnalyzer {
}
$currentOS = $this->platform->getOS();
if (!in_array($currentOS, $oss)) {
- $missing[] = (string)$this->l->t('Following platforms are supported: %s', join(', ', $oss));
+ $missing[] = (string)$this->l->t('Following platforms are supported: %s', implode(', ', $oss));
}
return $missing;
}
@@ -349,8 +349,9 @@ class DependencyAnalyzer {
* @return mixed
*/
private function getValue($element) {
- if (isset($element['@value']))
+ if (isset($element['@value'])) {
return $element['@value'];
+ }
return (string)$element;
}
}
diff --git a/lib/private/App/InfoParser.php b/lib/private/App/InfoParser.php
index 47ce28e6e98..fef8ab7a1e8 100644
--- a/lib/private/App/InfoParser.php
+++ b/lib/private/App/InfoParser.php
@@ -176,7 +176,7 @@ class InfoParser {
* @param \SimpleXMLElement $xml
* @return array
*/
- function xmlToArray($xml) {
+ public function xmlToArray($xml) {
if (!$xml->children()) {
return (string)$xml;
}
diff --git a/lib/private/AppFramework/DependencyInjection/DIContainer.php b/lib/private/AppFramework/DependencyInjection/DIContainer.php
index 86d14a2f330..b233f3ca9b6 100644
--- a/lib/private/AppFramework/DependencyInjection/DIContainer.php
+++ b/lib/private/AppFramework/DependencyInjection/DIContainer.php
@@ -315,7 +315,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
* @deprecated implements only deprecated methods
* @return IApi
*/
- function getCoreApi()
+ public function getCoreApi()
{
return $this->query('API');
}
@@ -323,7 +323,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
/**
* @return \OCP\IServerContainer
*/
- function getServer()
+ public function getServer()
{
return $this->server;
}
@@ -332,7 +332,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
* @param string $middleWare
* @return boolean|null
*/
- function registerMiddleWare($middleWare) {
+ public function registerMiddleWare($middleWare) {
array_push($this->middleWares, $middleWare);
}
@@ -340,7 +340,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
* used to return the appname of the set application
* @return string the name of your application
*/
- function getAppName() {
+ public function getAppName() {
return $this->query('AppName');
}
@@ -348,7 +348,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
* @deprecated use IUserSession->isLoggedIn()
* @return boolean
*/
- function isLoggedIn() {
+ public function isLoggedIn() {
return \OC::$server->getUserSession()->isLoggedIn();
}
@@ -356,7 +356,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
* @deprecated use IGroupManager->isAdmin($userId)
* @return boolean
*/
- function isAdminUser() {
+ public function isAdminUser() {
$uid = $this->getUserId();
return \OC_User::isAdminUser($uid);
}
@@ -371,7 +371,7 @@ class DIContainer extends SimpleContainer implements IAppContainer {
* @param string $level
* @return mixed
*/
- function log($message, $level) {
+ public function log($message, $level) {
switch($level){
case 'debug':
$level = \OCP\Util::DEBUG;
diff --git a/lib/private/Archive/Archive.php b/lib/private/Archive/Archive.php
index fadc12d2a24..15ec3e1fe56 100644
--- a/lib/private/Archive/Archive.php
+++ b/lib/private/Archive/Archive.php
@@ -36,100 +36,100 @@ abstract class Archive {
/**
* @param $source
*/
- abstract function __construct($source);
+ public abstract function __construct($source);
/**
* add an empty folder to the archive
* @param string $path
* @return bool
*/
- abstract function addFolder($path);
+ public abstract function addFolder($path);
/**
* add a file to the archive
* @param string $path
* @param string $source either a local file or string data
* @return bool
*/
- abstract function addFile($path, $source='');
+ public abstract function addFile($path, $source='');
/**
* rename a file or folder in the archive
* @param string $source
* @param string $dest
* @return bool
*/
- abstract function rename($source, $dest);
+ public abstract function rename($source, $dest);
/**
* get the uncompressed size of a file in the archive
* @param string $path
* @return int
*/
- abstract function filesize($path);
+ public abstract function filesize($path);
/**
* get the last modified time of a file in the archive
* @param string $path
* @return int
*/
- abstract function mtime($path);
+ public abstract function mtime($path);
/**
* get the files in a folder
* @param string $path
* @return array
*/
- abstract function getFolder($path);
+ public abstract function getFolder($path);
/**
* get all files in the archive
* @return array
*/
- abstract function getFiles();
+ public abstract function getFiles();
/**
* get the content of a file
* @param string $path
* @return string
*/
- abstract function getFile($path);
+ public abstract function getFile($path);
/**
* extract a single file from the archive
* @param string $path
* @param string $dest
* @return bool
*/
- abstract function extractFile($path, $dest);
+ public abstract function extractFile($path, $dest);
/**
* extract the archive
* @param string $dest
* @return bool
*/
- abstract function extract($dest);
+ public abstract function extract($dest);
/**
* check if a file or folder exists in the archive
* @param string $path
* @return bool
*/
- abstract function fileExists($path);
+ public abstract function fileExists($path);
/**
* remove a file or folder from the archive
* @param string $path
* @return bool
*/
- abstract function remove($path);
+ public abstract function remove($path);
/**
* get a file handler
* @param string $path
* @param string $mode
* @return resource
*/
- abstract function getStream($path, $mode);
+ public abstract function getStream($path, $mode);
/**
* add a folder and all its content
* @param string $path
* @param string $source
* @return boolean|null
*/
- function addRecursive($path, $source) {
+ public function addRecursive($path, $source) {
$dh = opendir($source);
if(is_resource($dh)) {
$this->addFolder($path);
while (($file = readdir($dh)) !== false) {
- if($file=='.' or $file=='..') {
+ if($file === '.' || $file === '..') {
continue;
}
if(is_dir($source.'/'.$file)) {
diff --git a/lib/private/Archive/TAR.php b/lib/private/Archive/TAR.php
index 07ccd09f399..e6f7ad2b998 100644
--- a/lib/private/Archive/TAR.php
+++ b/lib/private/Archive/TAR.php
@@ -52,7 +52,7 @@ class TAR extends Archive {
/**
* @param string $source
*/
- function __construct($source) {
+ public function __construct($source) {
$types = array(null, 'gz', 'bz2');
$this->path = $source;
$this->tar = new \Archive_Tar($source, $types[self::getTarType($source)]);
@@ -90,7 +90,7 @@ class TAR extends Archive {
* @param string $path
* @return bool
*/
- function addFolder($path) {
+ public function addFolder($path) {
$tmpBase = \OC::$server->getTempManager()->getTemporaryFolder();
if (substr($path, -1, 1) != '/') {
$path .= '/';
@@ -120,7 +120,7 @@ class TAR extends Archive {
* @param string $source either a local file or string data
* @return bool
*/
- function addFile($path, $source = '') {
+ public function addFile($path, $source = '') {
if ($this->fileExists($path)) {
$this->remove($path);
}
@@ -140,7 +140,7 @@ class TAR extends Archive {
* @param string $dest
* @return bool
*/
- function rename($source, $dest) {
+ public function rename($source, $dest) {
//no proper way to delete, rename entire archive, rename file and remake archive
$tmp = \OCP\Files::tmpFolder();
$this->tar->extract($tmp);
@@ -180,7 +180,7 @@ class TAR extends Archive {
* @param string $path
* @return int
*/
- function filesize($path) {
+ public function filesize($path) {
$stat = $this->getHeader($path);
return $stat['size'];
}
@@ -191,7 +191,7 @@ class TAR extends Archive {
* @param string $path
* @return int
*/
- function mtime($path) {
+ public function mtime($path) {
$stat = $this->getHeader($path);
return $stat['mtime'];
}
@@ -202,7 +202,7 @@ class TAR extends Archive {
* @param string $path
* @return array
*/
- function getFolder($path) {
+ public function getFolder($path) {
$files = $this->getFiles();
$folderContent = array();
$pathLength = strlen($path);
@@ -228,7 +228,7 @@ class TAR extends Archive {
*
* @return array
*/
- function getFiles() {
+ public function getFiles() {
if ($this->fileList) {
return $this->fileList;
}
@@ -249,7 +249,7 @@ class TAR extends Archive {
* @param string $path
* @return string
*/
- function getFile($path) {
+ public function getFile($path) {
return $this->tar->extractInString($path);
}
@@ -260,7 +260,7 @@ class TAR extends Archive {
* @param string $dest
* @return bool
*/
- function extractFile($path, $dest) {
+ public function extractFile($path, $dest) {
$tmp = \OCP\Files::tmpFolder();
if (!$this->fileExists($path)) {
return false;
@@ -283,7 +283,7 @@ class TAR extends Archive {
* @param string $dest
* @return bool
*/
- function extract($dest) {
+ public function extract($dest) {
return $this->tar->extract($dest);
}
@@ -293,7 +293,7 @@ class TAR extends Archive {
* @param string $path
* @return bool
*/
- function fileExists($path) {
+ public function fileExists($path) {
$files = $this->getFiles();
if ((array_search($path, $files) !== false) or (array_search($path . '/', $files) !== false)) {
return true;
@@ -322,7 +322,7 @@ class TAR extends Archive {
* @param string $path
* @return bool
*/
- function remove($path) {
+ public function remove($path) {
if (!$this->fileExists($path)) {
return false;
}
@@ -346,7 +346,7 @@ class TAR extends Archive {
* @param string $mode
* @return resource
*/
- function getStream($path, $mode) {
+ public function getStream($path, $mode) {
if (strrpos($path, '.') !== false) {
$ext = substr($path, strrpos($path, '.'));
} else {
@@ -371,7 +371,7 @@ class TAR extends Archive {
/**
* write back temporary files
*/
- function writeBack($tmpFile, $path) {
+ public function writeBack($tmpFile, $path) {
$this->addFile($path, $tmpFile);
unlink($tmpFile);
}
diff --git a/lib/private/Archive/ZIP.php b/lib/private/Archive/ZIP.php
index 0ed0f48acc4..8d616a7ef9a 100644
--- a/lib/private/Archive/ZIP.php
+++ b/lib/private/Archive/ZIP.php
@@ -43,7 +43,7 @@ class ZIP extends Archive{
/**
* @param string $source
*/
- function __construct($source) {
+ public function __construct($source) {
$this->path=$source;
$this->zip=new \ZipArchive();
if($this->zip->open($source, \ZipArchive::CREATE)) {
@@ -56,7 +56,7 @@ class ZIP extends Archive{
* @param string $path
* @return bool
*/
- function addFolder($path) {
+ public function addFolder($path) {
return $this->zip->addEmptyDir($path);
}
/**
@@ -65,7 +65,7 @@ class ZIP extends Archive{
* @param string $source either a local file or string data
* @return bool
*/
- function addFile($path, $source='') {
+ public function addFile($path, $source='') {
if($source and $source[0]=='/' and file_exists($source)) {
$result=$this->zip->addFile($source, $path);
}else{
@@ -83,7 +83,7 @@ class ZIP extends Archive{
* @param string $dest
* @return boolean|null
*/
- function rename($source, $dest) {
+ public function rename($source, $dest) {
$source=$this->stripPath($source);
$dest=$this->stripPath($dest);
$this->zip->renameName($source, $dest);
@@ -93,7 +93,7 @@ class ZIP extends Archive{
* @param string $path
* @return int
*/
- function filesize($path) {
+ public function filesize($path) {
$stat=$this->zip->statName($path);
return $stat['size'];
}
@@ -102,7 +102,7 @@ class ZIP extends Archive{
* @param string $path
* @return int
*/
- function mtime($path) {
+ public function mtime($path) {
return filemtime($this->path);
}
/**
@@ -110,7 +110,7 @@ class ZIP extends Archive{
* @param string $path
* @return array
*/
- function getFolder($path) {
+ public function getFolder($path) {
$files=$this->getFiles();
$folderContent=array();
$pathLength=strlen($path);
@@ -127,7 +127,7 @@ class ZIP extends Archive{
* get all files in the archive
* @return array
*/
- function getFiles() {
+ public function getFiles() {
$fileCount=$this->zip->numFiles;
$files=array();
for($i=0;$i<$fileCount;$i++) {
@@ -140,7 +140,7 @@ class ZIP extends Archive{
* @param string $path
* @return string
*/
- function getFile($path) {
+ public function getFile($path) {
return $this->zip->getFromName($path);
}
/**
@@ -149,7 +149,7 @@ class ZIP extends Archive{
* @param string $dest
* @return boolean|null
*/
- function extractFile($path, $dest) {
+ public function extractFile($path, $dest) {
$fp = $this->zip->getStream($path);
file_put_contents($dest, $fp);
}
@@ -158,7 +158,7 @@ class ZIP extends Archive{
* @param string $dest
* @return bool
*/
- function extract($dest) {
+ public function extract($dest) {
return $this->zip->extractTo($dest);
}
/**
@@ -166,7 +166,7 @@ class ZIP extends Archive{
* @param string $path
* @return bool
*/
- function fileExists($path) {
+ public function fileExists($path) {
return ($this->zip->locateName($path)!==false) or ($this->zip->locateName($path.'/')!==false);
}
/**
@@ -174,7 +174,7 @@ class ZIP extends Archive{
* @param string $path
* @return bool
*/
- function remove($path) {
+ public function remove($path) {
if($this->fileExists($path.'/')) {
return $this->zip->deleteName($path.'/');
}else{
@@ -187,7 +187,7 @@ class ZIP extends Archive{
* @param string $mode
* @return resource
*/
- function getStream($path, $mode) {
+ public function getStream($path, $mode) {
if($mode=='r' or $mode=='rb') {
return $this->zip->getStream($path);
} else {
@@ -213,7 +213,7 @@ class ZIP extends Archive{
/**
* write back temporary files
*/
- function writeBack($tmpFile, $path) {
+ public function writeBack($tmpFile, $path) {
$this->addFile($path, $tmpFile);
unlink($tmpFile);
}
diff --git a/lib/private/Authentication/Token/DefaultTokenMapper.php b/lib/private/Authentication/Token/DefaultTokenMapper.php
index ff31628ffb0..a23be624542 100644
--- a/lib/private/Authentication/Token/DefaultTokenMapper.php
+++ b/lib/private/Authentication/Token/DefaultTokenMapper.php
@@ -82,7 +82,6 @@ class DefaultTokenMapper extends Mapper {
if ($data === false) {
throw new DoesNotExistException('token does not exist');
}
-;
return DefaultToken::fromRow($data);
}
@@ -105,7 +104,7 @@ class DefaultTokenMapper extends Mapper {
$result->closeCursor();
if ($data === false) {
throw new DoesNotExistException('token does not exist');
- };
+ }
return DefaultToken::fromRow($data);
}
diff --git a/lib/private/Command/AsyncBus.php b/lib/private/Command/AsyncBus.php
index 3c1f67da0cb..fb3cbee7240 100644
--- a/lib/private/Command/AsyncBus.php
+++ b/lib/private/Command/AsyncBus.php
@@ -45,7 +45,7 @@ class AsyncBus implements IBus {
/**
* @param \OCP\BackgroundJob\IJobList $jobList
*/
- function __construct($jobList) {
+ public function __construct($jobList) {
$this->jobList = $jobList;
}
diff --git a/lib/private/DatabaseException.php b/lib/private/DatabaseException.php
index 7ca7435c028..68b617e4c75 100644
--- a/lib/private/DatabaseException.php
+++ b/lib/private/DatabaseException.php
@@ -24,15 +24,4 @@
namespace OC;
class DatabaseException extends \Exception {
- private $query;
-
- //FIXME getQuery seems to be unused, maybe use parent constructor with $message, $code and $previous
- public function __construct($message, $query = null){
- parent::__construct($message);
- $this->query = $query;
- }
-
- public function getQuery() {
- return $this->query;
- }
}
diff --git a/lib/private/Files/ObjectStore/S3.php b/lib/private/Files/ObjectStore/S3.php
index 5251b473bdf..6f37492271c 100644
--- a/lib/private/Files/ObjectStore/S3.php
+++ b/lib/private/Files/ObjectStore/S3.php
@@ -39,7 +39,7 @@ class S3 implements IObjectStore {
* @return string the container or bucket name where objects are stored
* @since 7.0.0
*/
- function getStorageId() {
+ public function getStorageId() {
return $this->id;
}
@@ -49,7 +49,7 @@ class S3 implements IObjectStore {
* @throws \Exception when something goes wrong, message will be logged
* @since 7.0.0
*/
- function readObject($urn) {
+ public function readObject($urn) {
// Create the command and serialize the request
$request = $this->getConnection()->getCommand('GetObject', [
'Bucket' => $this->bucket,
@@ -83,7 +83,7 @@ class S3 implements IObjectStore {
* @throws \Exception when something goes wrong, message will be logged
* @since 7.0.0
*/
- function writeObject($urn, $stream) {
+ public function writeObject($urn, $stream) {
$this->getConnection()->putObject([
'Bucket' => $this->bucket,
'Key' => $urn,
@@ -97,7 +97,7 @@ class S3 implements IObjectStore {
* @throws \Exception when something goes wrong, message will be logged
* @since 7.0.0
*/
- function deleteObject($urn) {
+ public function deleteObject($urn) {
$this->getConnection()->deleteObject([
'Bucket' => $this->bucket,
'Key' => $urn
diff --git a/lib/private/L10N/L10N.php b/lib/private/L10N/L10N.php
index c83b6ea3960..b933048982f 100644
--- a/lib/private/L10N/L10N.php
+++ b/lib/private/L10N/L10N.php
@@ -82,7 +82,7 @@ class L10N implements IL10N {
* returned.
*/
public function t($text, $parameters = array()) {
- return (string) new \OC_L10N_String($this, $text, $parameters);
+ return (string) new L10NString($this, $text, $parameters);
}
/**
@@ -103,12 +103,12 @@ class L10N implements IL10N {
public function n($text_singular, $text_plural, $count, $parameters = array()) {
$identifier = "_${text_singular}_::_${text_plural}_";
if (isset($this->translations[$identifier])) {
- return (string) new \OC_L10N_String($this, $identifier, $parameters, $count);
+ return (string) new L10NString($this, $identifier, $parameters, $count);
} else {
if ($count === 1) {
- return (string) new \OC_L10N_String($this, $text_singular, $parameters, $count);
+ return (string) new L10NString($this, $text_singular, $parameters, $count);
} else {
- return (string) new \OC_L10N_String($this, $text_plural, $parameters, $count);
+ return (string) new L10NString($this, $text_plural, $parameters, $count);
}
}
}
diff --git a/lib/private/legacy/l10n/string.php b/lib/private/L10N/L10NString.php
index 1410db6d730..fd2f14f9f28 100644
--- a/lib/private/legacy/l10n/string.php
+++ b/lib/private/L10N/L10NString.php
@@ -26,7 +26,9 @@
*
*/
-class OC_L10N_String implements JsonSerializable {
+namespace OC\L10N;
+
+class L10NString implements \JsonSerializable {
/** @var \OC\L10N\L10N */
protected $l10n;
@@ -52,6 +54,9 @@ class OC_L10N_String implements JsonSerializable {
$this->count = $count;
}
+ /**
+ * @return string
+ */
public function __toString() {
$translations = $this->l10n->getTranslations();
@@ -73,6 +78,9 @@ class OC_L10N_String implements JsonSerializable {
}
+ /**
+ * @return string
+ */
public function jsonSerialize() {
return $this->__toString();
}
diff --git a/lib/private/Mail/EMailTemplate.php b/lib/private/Mail/EMailTemplate.php
index 0ae79345e4c..8227e69ef06 100644
--- a/lib/private/Mail/EMailTemplate.php
+++ b/lib/private/Mail/EMailTemplate.php
@@ -100,7 +100,7 @@ EOF;
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="min-width:580px;width:100%%">
- <img class="logo float-center" src="%s" alt="%s" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;max-height:100%%;max-width:100px;outline:0;text-align:center;text-decoration:none;width:auto">
+ <img class="logo float-center" src="%s" alt="%s" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none" height="50">
</center>
</tr>
</tbody>
diff --git a/lib/private/Mail/Mailer.php b/lib/private/Mail/Mailer.php
index b24f72316ba..e438f75d2ce 100644
--- a/lib/private/Mail/Mailer.php
+++ b/lib/private/Mail/Mailer.php
@@ -120,7 +120,7 @@ class Mailer implements IMailer {
public function send(Message $message) {
$debugMode = $this->config->getSystemValue('mail_smtpdebug', false);
- if (sizeof($message->getFrom()) === 0) {
+ if (empty($message->getFrom())) {
$message->setFrom([\OCP\Util::getDefaultEmailAddress($this->defaults->getName()) => $this->defaults->getName()]);
}
@@ -186,7 +186,7 @@ class Mailer implements IMailer {
switch ($this->config->getSystemValue('mail_smtpmode', 'php')) {
case 'smtp':
- $this->instance = $this->getSMTPInstance();
+ $this->instance = $this->getSmtpInstance();
break;
case 'sendmail':
// FIXME: Move into the return statement but requires proper testing
diff --git a/lib/private/Mail/Message.php b/lib/private/Mail/Message.php
index 3184f26848b..5ffc050360a 100644
--- a/lib/private/Mail/Message.php
+++ b/lib/private/Mail/Message.php
@@ -37,7 +37,7 @@ class Message {
/**
* @param Swift_Message $swiftMessage
*/
- function __construct(Swift_Message $swiftMessage) {
+ public function __construct(Swift_Message $swiftMessage) {
$this->swiftMessage = $swiftMessage;
}
diff --git a/lib/private/Memcache/Memcached.php b/lib/private/Memcache/Memcached.php
index bf07fd0e6e7..4347fc99e54 100644
--- a/lib/private/Memcache/Memcached.php
+++ b/lib/private/Memcache/Memcached.php
@@ -97,7 +97,7 @@ class Memcached extends Cache implements IMemcache {
}
public function get($key) {
- $result = self::$cache->get($this->getNamespace() . $key);
+ $result = self::$cache->get($this->getNameSpace() . $key);
if ($result === false and self::$cache->getResultCode() == \Memcached::RES_NOTFOUND) {
return null;
} else {
@@ -107,9 +107,9 @@ class Memcached extends Cache implements IMemcache {
public function set($key, $value, $ttl = 0) {
if ($ttl > 0) {
- $result = self::$cache->set($this->getNamespace() . $key, $value, $ttl);
+ $result = self::$cache->set($this->getNameSpace() . $key, $value, $ttl);
} else {
- $result = self::$cache->set($this->getNamespace() . $key, $value);
+ $result = self::$cache->set($this->getNameSpace() . $key, $value);
}
if ($result !== true) {
$this->verifyReturnCode();
@@ -118,12 +118,12 @@ class Memcached extends Cache implements IMemcache {
}
public function hasKey($key) {
- self::$cache->get($this->getNamespace() . $key);
+ self::$cache->get($this->getNameSpace() . $key);
return self::$cache->getResultCode() === \Memcached::RES_SUCCESS;
}
public function remove($key) {
- $result= self::$cache->delete($this->getNamespace() . $key);
+ $result= self::$cache->delete($this->getNameSpace() . $key);
if (self::$cache->getResultCode() !== \Memcached::RES_NOTFOUND) {
$this->verifyReturnCode();
}
@@ -131,7 +131,7 @@ class Memcached extends Cache implements IMemcache {
}
public function clear($prefix = '') {
- $prefix = $this->getNamespace() . $prefix;
+ $prefix = $this->getNameSpace() . $prefix;
$allKeys = self::$cache->getAllKeys();
if ($allKeys === false) {
// newer Memcached doesn't like getAllKeys(), flush everything
diff --git a/lib/private/Memcache/XCache.php b/lib/private/Memcache/XCache.php
index 7eb7a138d1f..549896e6c6b 100644
--- a/lib/private/Memcache/XCache.php
+++ b/lib/private/Memcache/XCache.php
@@ -47,28 +47,28 @@ class XCache extends Cache implements IMemcache {
}
public function get($key) {
- return xcache_get($this->getNamespace() . $key);
+ return xcache_get($this->getNameSpace() . $key);
}
public function set($key, $value, $ttl = 0) {
if ($ttl > 0) {
- return xcache_set($this->getNamespace() . $key, $value, $ttl);
+ return xcache_set($this->getNameSpace() . $key, $value, $ttl);
} else {
- return xcache_set($this->getNamespace() . $key, $value);
+ return xcache_set($this->getNameSpace() . $key, $value);
}
}
public function hasKey($key) {
- return xcache_isset($this->getNamespace() . $key);
+ return xcache_isset($this->getNameSpace() . $key);
}
public function remove($key) {
- return xcache_unset($this->getNamespace() . $key);
+ return xcache_unset($this->getNameSpace() . $key);
}
public function clear($prefix = '') {
if (function_exists('xcache_unset_by_prefix')) {
- return xcache_unset_by_prefix($this->getNamespace() . $prefix);
+ return xcache_unset_by_prefix($this->getNameSpace() . $prefix);
} else {
// Since we can not clear by prefix, we just clear the whole cache.
xcache_clear_cache(\XC_TYPE_VAR, 0);
diff --git a/lib/private/Notification/Manager.php b/lib/private/Notification/Manager.php
index c5cad7f2db3..1d139167552 100644
--- a/lib/private/Notification/Manager.php
+++ b/lib/private/Notification/Manager.php
@@ -142,7 +142,7 @@ class Manager implements IManager {
$this->notifiersInfo = [];
foreach ($this->notifiersInfoClosures as $closure) {
$notifier = $closure();
- if (!is_array($notifier) || sizeof($notifier) !== 2 || !isset($notifier['id']) || !isset($notifier['name'])) {
+ if (!is_array($notifier) || count($notifier) !== 2 || !isset($notifier['id']) || !isset($notifier['name'])) {
throw new \InvalidArgumentException('The given notifier information is invalid');
}
if (isset($this->notifiersInfo[$notifier['id']])) {
diff --git a/lib/private/Preview/Bitmap.php b/lib/private/Preview/Bitmap.php
index d3f75b4a205..e9fd6cc7c03 100644
--- a/lib/private/Preview/Bitmap.php
+++ b/lib/private/Preview/Bitmap.php
@@ -48,7 +48,7 @@ abstract class Bitmap extends Provider {
try {
$bp = $this->getResizedPreview($tmpPath, $maxX, $maxY);
} catch (\Exception $e) {
- \OCP\Util::writeLog('core', 'ImageMagick says: ' . $e->getmessage(), \OCP\Util::ERROR);
+ \OCP\Util::writeLog('core', 'ImageMagick says: ' . $e->getMessage(), \OCP\Util::ERROR);
return false;
}
diff --git a/lib/private/Preview/Office.php b/lib/private/Preview/Office.php
index 9b445a2bbee..a05ffef9e9a 100644
--- a/lib/private/Preview/Office.php
+++ b/lib/private/Preview/Office.php
@@ -59,7 +59,7 @@ abstract class Office extends Provider {
} catch (\Exception $e) {
unlink($absPath);
unlink($pdfPreview);
- \OCP\Util::writeLog('core', $e->getmessage(), \OCP\Util::ERROR);
+ \OCP\Util::writeLog('core', $e->getMessage(), \OCP\Util::ERROR);
return false;
}
diff --git a/lib/private/Preview/SVG.php b/lib/private/Preview/SVG.php
index 4ad274c893b..fb06faf9c23 100644
--- a/lib/private/Preview/SVG.php
+++ b/lib/private/Preview/SVG.php
@@ -53,7 +53,7 @@ class SVG extends Provider {
$svg->readImageBlob($content);
$svg->setImageFormat('png32');
} catch (\Exception $e) {
- \OCP\Util::writeLog('core', $e->getmessage(), \OCP\Util::ERROR);
+ \OCP\Util::writeLog('core', $e->getMessage(), \OCP\Util::ERROR);
return false;
}
diff --git a/lib/private/Repair/CleanTags.php b/lib/private/Repair/CleanTags.php
index d3bea0f9957..de46d039229 100644
--- a/lib/private/Repair/CleanTags.php
+++ b/lib/private/Repair/CleanTags.php
@@ -202,7 +202,7 @@ class CleanTags implements IRepairStep {
}
if ($repairInfo) {
- $output->info(sprintf($repairInfo, sizeof($orphanItems)));
+ $output->info(sprintf($repairInfo, count($orphanItems)));
}
}
}
diff --git a/lib/private/Search/Provider/File.php b/lib/private/Search/Provider/File.php
index ddb05c759ea..787725ab87b 100644
--- a/lib/private/Search/Provider/File.php
+++ b/lib/private/Search/Provider/File.php
@@ -37,7 +37,7 @@ class File extends \OCP\Search\Provider {
* @param string $query
* @return \OCP\Search\Result
*/
- function search($query) {
+ public function search($query) {
$files = Filesystem::search($query);
$results = array();
// edit results
diff --git a/lib/private/Security/Crypto.php b/lib/private/Security/Crypto.php
index 176faf68e2d..1dd680ea13f 100644
--- a/lib/private/Security/Crypto.php
+++ b/lib/private/Security/Crypto.php
@@ -56,7 +56,7 @@ class Crypto implements ICrypto {
* @param IConfig $config
* @param ISecureRandom $random
*/
- function __construct(IConfig $config, ISecureRandom $random) {
+ public function __construct(IConfig $config, ISecureRandom $random) {
$this->cipher = new AES();
$this->config = $config;
$this->random = $random;
@@ -115,7 +115,7 @@ class Crypto implements ICrypto {
$this->cipher->setPassword($password);
$parts = explode('|', $authenticatedCiphertext);
- if(sizeof($parts) !== 3) {
+ if(count($parts) !== 3) {
throw new \Exception('Authenticated ciphertext could not be decoded.');
}
diff --git a/lib/private/Security/Hasher.php b/lib/private/Security/Hasher.php
index 3bc546fa0a2..ddba82fec43 100644
--- a/lib/private/Security/Hasher.php
+++ b/lib/private/Security/Hasher.php
@@ -58,7 +58,7 @@ class Hasher implements IHasher {
/**
* @param IConfig $config
*/
- function __construct(IConfig $config) {
+ public function __construct(IConfig $config) {
$this->config = $config;
$hashingCost = $this->config->getSystemValue('hashingCost', null);
@@ -86,7 +86,7 @@ class Hasher implements IHasher {
*/
protected function splitHash($prefixedHash) {
$explodedString = explode('|', $prefixedHash, 2);
- if(sizeof($explodedString) === 2) {
+ if(count($explodedString) === 2) {
if((int)$explodedString[0] > 0) {
return array('version' => (int)$explodedString[0], 'hash' => $explodedString[1]);
}
diff --git a/lib/private/Security/TrustedDomainHelper.php b/lib/private/Security/TrustedDomainHelper.php
index a8cbdb6ee6c..221d21fb6a4 100644
--- a/lib/private/Security/TrustedDomainHelper.php
+++ b/lib/private/Security/TrustedDomainHelper.php
@@ -38,7 +38,7 @@ class TrustedDomainHelper {
/**
* @param IConfig $config
*/
- function __construct(IConfig $config) {
+ public function __construct(IConfig $config) {
$this->config = $config;
}
@@ -89,7 +89,7 @@ class TrustedDomainHelper {
if (gettype($trusted) !== 'string') {
break;
}
- $regex = '/^' . join('[-\.a-zA-Z0-9]*', array_map(function($v) { return preg_quote($v, '/'); }, explode('*', $trusted))) . '$/';
+ $regex = '/^' . implode('[-\.a-zA-Z0-9]*', array_map(function($v) { return preg_quote($v, '/'); }, explode('*', $trusted))) . '$/';
if (preg_match($regex, $domain) || preg_match($regex, $domainWithPort)) {
return true;
}
diff --git a/lib/private/Server.php b/lib/private/Server.php
index c89931a2d1c..5efbcfecf32 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -113,6 +113,7 @@ use OCP\IServerContainer;
use OCP\ITempManager;
use OCP\Contacts\ContactsMenu\IActionFactory;
use OCP\IURLGenerator;
+use OCP\Lock\ILockingProvider;
use OCP\RichObjectStrings\IValidator;
use OCP\Security\IContentSecurityPolicyManager;
use OCP\Share\IShareHelper;
@@ -785,7 +786,7 @@ class Server extends ServerContainer implements IServerContainer {
$factory = new $factoryClass($this);
return $factory->getLDAPProvider();
});
- $this->registerService('LockingProvider', function (Server $c) {
+ $this->registerService(ILockingProvider::class, function (Server $c) {
$ini = $c->getIniWrapper();
$config = $c->getConfig();
$ttl = $config->getSystemValue('filelocking.ttl', max(3600, $ini->getNumeric('max_execution_time')));
@@ -800,6 +801,7 @@ class Server extends ServerContainer implements IServerContainer {
}
return new NoopLockingProvider();
});
+ $this->registerAlias('LockingProvider', ILockingProvider::class);
$this->registerService(\OCP\Files\Mount\IMountManager::class, function () {
return new \OC\Files\Mount\Manager();
diff --git a/lib/private/Settings/Personal/PersonalInfo.php b/lib/private/Settings/Personal/PersonalInfo.php
index fb1f388c599..e92541c0010 100644
--- a/lib/private/Settings/Personal/PersonalInfo.php
+++ b/lib/private/Settings/Personal/PersonalInfo.php
@@ -118,10 +118,10 @@ class PersonalInfo implements ISettings {
'usage' => \OC_Helper::humanFileSize($storageInfo['used']),
'usage_relative' => $storageInfo['relative'],
'quota' => $storageInfo['quota'],
- 'avatarChangeSupported' => \OC_User::canUserChangeAvatar($uid),
+ 'avatarChangeSupported' => $user->canChangeAvatar(),
'lookupServerUploadEnabled' => $lookupServerUploadEnabled,
'avatarScope' => $userData[AccountManager::PROPERTY_AVATAR]['scope'],
- 'displayNameChangeSupported' => \OC_User::canUserChangeDisplayName($uid),
+ 'displayNameChangeSupported' => $user->canChangeDisplayName(),
'displayName' => $userData[AccountManager::PROPERTY_DISPLAYNAME]['value'],
'displayNameScope' => $userData[AccountManager::PROPERTY_DISPLAYNAME]['scope'],
'email' => $userData[AccountManager::PROPERTY_EMAIL]['value'],
@@ -138,7 +138,7 @@ class PersonalInfo implements ISettings {
'twitterScope' => $userData[AccountManager::PROPERTY_TWITTER]['scope'],
'twitterVerification' => $userData[AccountManager::PROPERTY_TWITTER]['verified'],
'groups' => $this->getGroups($user),
- 'passwordChangeSupported' => \OC_User::canUserChangePassword($uid),
+ 'passwordChangeSupported' => $user->canChangePassword(),
] + $messageParameters + $languageParameters;
diff --git a/lib/private/Share20/DefaultShareProvider.php b/lib/private/Share20/DefaultShareProvider.php
index 6f3741f5ae7..6503e67a8f9 100644
--- a/lib/private/Share20/DefaultShareProvider.php
+++ b/lib/private/Share20/DefaultShareProvider.php
@@ -860,7 +860,7 @@ class DefaultShareProvider implements IShareProvider {
if (isset($data['f_permissions'])) {
$entryData = $data;
$entryData['permissions'] = $entryData['f_permissions'];
- $entryData['parent'] = $entryData['f_parent'];;
+ $entryData['parent'] = $entryData['f_parent'];
$share->setNodeCacheEntry(Cache::cacheEntryFromData($entryData,
\OC::$server->getMimeTypeLoader()));
}
diff --git a/lib/private/SystemTag/SystemTagManager.php b/lib/private/SystemTag/SystemTagManager.php
index ab0deba0360..08f9b6bc4af 100644
--- a/lib/private/SystemTag/SystemTagManager.php
+++ b/lib/private/SystemTag/SystemTagManager.php
@@ -408,7 +408,7 @@ class SystemTagManager implements ISystemTagManager {
$this->connection->commit();
} catch (\Exception $e) {
- $this->connection->rollback();
+ $this->connection->rollBack();
throw $e;
}
}
diff --git a/lib/private/SystemTag/SystemTagObjectMapper.php b/lib/private/SystemTag/SystemTagObjectMapper.php
index e562a2dfd4b..4a6ffdeddfb 100644
--- a/lib/private/SystemTag/SystemTagObjectMapper.php
+++ b/lib/private/SystemTag/SystemTagObjectMapper.php
@@ -112,7 +112,7 @@ class SystemTagObjectMapper implements ISystemTagObjectMapper {
->andWhere($query->expr()->eq('objecttype', $query->createNamedParameter($objectType)));
if ($limit) {
- if (sizeof($tagIds) !== 1) {
+ if (count($tagIds) !== 1) {
throw new \InvalidArgumentException('Limit is only allowed with a single tag');
}
diff --git a/lib/private/TempManager.php b/lib/private/TempManager.php
index 4dfcbe7f523..dc6dad15d3c 100644
--- a/lib/private/TempManager.php
+++ b/lib/private/TempManager.php
@@ -256,7 +256,7 @@ class TempManager implements ITempManager {
// suppress any possible errors caused by is_writable
// checks missing or invalid path or characters, wrong permissions etc
try {
- if (is_writeable($directory)) {
+ if (is_writable($directory)) {
return true;
}
} catch (\Exception $e) {
diff --git a/lib/private/legacy/app.php b/lib/private/legacy/app.php
index 463e13da915..9f6932b3a89 100644
--- a/lib/private/legacy/app.php
+++ b/lib/private/legacy/app.php
@@ -1244,7 +1244,7 @@ class OC_App {
$dependencyAnalyzer = new DependencyAnalyzer(new Platform($config), $l);
$missing = $dependencyAnalyzer->analyze($info);
if (!empty($missing)) {
- $missingMsg = join(PHP_EOL, $missing);
+ $missingMsg = implode(PHP_EOL, $missing);
throw new \Exception(
$l->t('App "%s" cannot be installed because the following dependencies are not fulfilled: %s',
[$info['name'], $missingMsg]
diff --git a/lib/private/legacy/db.php b/lib/private/legacy/db.php
index 415701d4024..9e4d619d953 100644
--- a/lib/private/legacy/db.php
+++ b/lib/private/legacy/db.php
@@ -65,7 +65,7 @@ class OC_DB {
try {
$result =$connection->prepare($query, $limit, $offset);
} catch (\Doctrine\DBAL\DBALException $e) {
- throw new \OC\DatabaseException($e->getMessage(), $query);
+ throw new \OC\DatabaseException($e->getMessage());
}
// differentiate between query and manipulation
$result = new OC_DB_StatementWrapper($result, $isManipulation);
@@ -214,7 +214,7 @@ class OC_DB {
} else {
$message .= ', Root cause:' . self::getErrorMessage();
}
- throw new \OC\DatabaseException($message, \OC::$server->getDatabaseConnection()->errorCode());
+ throw new \OC\DatabaseException($message);
}
}
diff --git a/lib/private/legacy/json.php b/lib/private/legacy/json.php
index 0e598a68ee1..9b90daccac9 100644
--- a/lib/private/legacy/json.php
+++ b/lib/private/legacy/json.php
@@ -159,7 +159,7 @@ class OC_JSON{
* Convert OC_L10N_String to string, for use in json encodings
*/
protected static function to_string(&$value) {
- if ($value instanceof OC_L10N_String) {
+ if ($value instanceof \OC\L10N\L10NString) {
$value = (string)$value;
}
}
diff --git a/lib/private/legacy/template.php b/lib/private/legacy/template.php
index 4f7c11d0b64..f5ee2336831 100644
--- a/lib/private/legacy/template.php
+++ b/lib/private/legacy/template.php
@@ -108,9 +108,9 @@ class OC_Template extends \OC\Template\Base {
}
}
+ OC_Util::addStyle('server', null, true);
OC_Util::addStyle('jquery-ui-fixes',null,true);
OC_Util::addVendorStyle('jquery-ui/themes/base/jquery-ui',null,true);
- OC_Util::addStyle('server', null, true);
OC_Util::addVendorStyle('select2/select2', null, true);
OC_Util::addStyle('jquery.ocdialog');
OC_Util::addTranslations("core", null, true);
diff --git a/lib/private/legacy/user.php b/lib/private/legacy/user.php
index 7e7cbab3bce..2b0fba73366 100644
--- a/lib/private/legacy/user.php
+++ b/lib/private/legacy/user.php
@@ -156,20 +156,6 @@ class OC_User {
}
/**
-
- * Try to login a user using the magic cookie (remember login)
- *
- * @deprecated use \OCP\IUserSession::loginWithCookie()
- * @param string $uid The username of the user to log in
- * @param string $token
- * @param string $oldSessionId
- * @return bool
- */
- public static function loginWithCookie($uid, $token, $oldSessionId) {
- return self::getUserSession()->loginWithCookie($uid, $token, $oldSessionId);
- }
-
- /**
* Try to login a user, assuming authentication
* has already happened (e.g. via Single Sign On).
*
@@ -233,7 +219,7 @@ class OC_User {
//setup extra user backends
self::setupBackends();
- self::unsetMagicInCookie();
+ self::getUserSession()->unsetMagicInCookie();
return self::loginWithApache($backend);
}
@@ -382,17 +368,6 @@ class OC_User {
}
/**
- * Autogenerate a password
- *
- * @return string
- *
- * generates a password
- */
- public static function generatePassword() {
- return \OC::$server->getSecureRandom()->generate(30);
- }
-
- /**
* Set password
*
* @param string $uid The username
@@ -412,57 +387,6 @@ class OC_User {
}
/**
- * Check whether user can change his avatar
- *
- * @param string $uid The username
- * @return bool
- *
- * Check whether a specified user can change his avatar
- */
- public static function canUserChangeAvatar($uid) {
- $user = \OC::$server->getUserManager()->get($uid);
- if ($user) {
- return $user->canChangeAvatar();
- } else {
- return false;
- }
- }
-
- /**
- * Check whether user can change his password
- *
- * @param string $uid The username
- * @return bool
- *
- * Check whether a specified user can change his password
- */
- public static function canUserChangePassword($uid) {
- $user = \OC::$server->getUserManager()->get($uid);
- if ($user) {
- return $user->canChangePassword();
- } else {
- return false;
- }
- }
-
- /**
- * Check whether user can change his display name
- *
- * @param string $uid The username
- * @return bool
- *
- * Check whether a specified user can change his display name
- */
- public static function canUserChangeDisplayName($uid) {
- $user = \OC::$server->getUserManager()->get($uid);
- if ($user) {
- return $user->canChangeDisplayName();
- } else {
- return false;
- }
- }
-
- /**
* Check if the password is correct
*
* @param string $uid The username
@@ -547,30 +471,6 @@ class OC_User {
}
/**
- * disables a user
- *
- * @param string $uid the user to disable
- */
- public static function disableUser($uid) {
- $user = \OC::$server->getUserManager()->get($uid);
- if ($user) {
- $user->setEnabled(false);
- }
- }
-
- /**
- * enable a user
- *
- * @param string $uid
- */
- public static function enableUser($uid) {
- $user = \OC::$server->getUserManager()->get($uid);
- if ($user) {
- $user->setEnabled(true);
- }
- }
-
- /**
* checks if a user is enabled
*
* @param string $uid
@@ -586,23 +486,6 @@ class OC_User {
}
/**
- * Set cookie value to use in next page load
- *
- * @param string $username username to be set
- * @param string $token
- */
- public static function setMagicInCookie($username, $token) {
- self::getUserSession()->setMagicInCookie($username, $token);
- }
-
- /**
- * Remove cookie for "remember username"
- */
- public static function unsetMagicInCookie() {
- self::getUserSession()->unsetMagicInCookie();
- }
-
- /**
* Returns the first active backend from self::$_usedBackends.
*
* @return OCP\Authentication\IApacheBackend|null if no backend active, otherwise OCP\Authentication\IApacheBackend
diff --git a/lib/public/AppFramework/Http/DataDisplayResponse.php b/lib/public/AppFramework/Http/DataDisplayResponse.php
index 0fc10129b8a..820e00ff963 100644
--- a/lib/public/AppFramework/Http/DataDisplayResponse.php
+++ b/lib/public/AppFramework/Http/DataDisplayResponse.php
@@ -46,7 +46,7 @@ class DataDisplayResponse extends Response {
* @param array $headers additional key value based headers
* @since 8.1.0
*/
- public function __construct($data="", $statusCode=Http::STATUS_OK,
+ public function __construct($data='', $statusCode=Http::STATUS_OK,
$headers=[]) {
$this->data = $data;
$this->setStatus($statusCode);
diff --git a/lib/public/AppFramework/Http/ICallbackResponse.php b/lib/public/AppFramework/Http/ICallbackResponse.php
index 4bf5ce36f7e..2e23946112e 100644
--- a/lib/public/AppFramework/Http/ICallbackResponse.php
+++ b/lib/public/AppFramework/Http/ICallbackResponse.php
@@ -39,6 +39,6 @@ interface ICallbackResponse {
* @param IOutput $output a small wrapper that handles output
* @since 8.1.0
*/
- function callback(IOutput $output);
+ public function callback(IOutput $output);
}
diff --git a/lib/public/AppFramework/IApi.php b/lib/public/AppFramework/IApi.php
index 419e1782686..1c3f9419ccd 100644
--- a/lib/public/AppFramework/IApi.php
+++ b/lib/public/AppFramework/IApi.php
@@ -43,7 +43,7 @@ interface IApi {
* @return string the user id of the current user
* @deprecated 8.0.0 Use \OC::$server->getUserSession()->getUser()->getUID()
*/
- function getUserId();
+ public function getUserId();
/**
@@ -53,7 +53,7 @@ interface IApi {
* @param string $appName the name of the app, defaults to the current one
* @return void
*/
- function addScript($scriptName, $appName = null);
+ public function addScript($scriptName, $appName = null);
/**
@@ -63,7 +63,7 @@ interface IApi {
* @param string $appName the name of the app, defaults to the current one
* @return void
*/
- function addStyle($styleName, $appName = null);
+ public function addStyle($styleName, $appName = null);
/**
@@ -72,7 +72,7 @@ interface IApi {
* @param string $name the name of the file without the suffix
* @return void
*/
- function add3rdPartyScript($name);
+ public function add3rdPartyScript($name);
/**
@@ -81,7 +81,7 @@ interface IApi {
* @param string $name the name of the file without the suffix
* @return void
*/
- function add3rdPartyStyle($name);
+ public function add3rdPartyStyle($name);
/**
diff --git a/lib/public/AppFramework/IAppContainer.php b/lib/public/AppFramework/IAppContainer.php
index f26afbdcd17..4aac6085d63 100644
--- a/lib/public/AppFramework/IAppContainer.php
+++ b/lib/public/AppFramework/IAppContainer.php
@@ -42,41 +42,41 @@ interface IAppContainer extends IContainer {
* @return string the name of your application
* @since 6.0.0
*/
- function getAppName();
+ public function getAppName();
/**
* @deprecated 8.0.0 implements only deprecated methods
* @return IApi
* @since 6.0.0
*/
- function getCoreApi();
+ public function getCoreApi();
/**
* @return \OCP\IServerContainer
* @since 6.0.0
*/
- function getServer();
+ public function getServer();
/**
* @param string $middleWare
* @return boolean
* @since 6.0.0
*/
- function registerMiddleWare($middleWare);
+ public function registerMiddleWare($middleWare);
/**
* @deprecated 8.0.0 use IUserSession->isLoggedIn()
* @return boolean
* @since 6.0.0
*/
- function isLoggedIn();
+ public function isLoggedIn();
/**
* @deprecated 8.0.0 use IGroupManager->isAdmin($userId)
* @return boolean
* @since 6.0.0
*/
- function isAdminUser();
+ public function isAdminUser();
/**
* @deprecated 8.0.0 use the ILogger instead
@@ -85,7 +85,7 @@ interface IAppContainer extends IContainer {
* @return mixed
* @since 6.0.0
*/
- function log($message, $level);
+ public function log($message, $level);
/**
* Register a capability
diff --git a/lib/public/Contacts/IManager.php b/lib/public/Contacts/IManager.php
index 328b40931d7..117d28525fb 100644
--- a/lib/public/Contacts/IManager.php
+++ b/lib/public/Contacts/IManager.php
@@ -32,140 +32,139 @@
// use OCP namespace for all classes that are considered public.
// This means that they should be used by apps instead of the internal ownCloud classes
-namespace OCP\Contacts {
+namespace OCP\Contacts;
+
+/**
+ * This class provides access to the contacts app. Use this class exclusively if you want to access contacts.
+ *
+ * Contacts in general will be expressed as an array of key-value-pairs.
+ * The keys will match the property names defined in https://tools.ietf.org/html/rfc2426#section-1
+ *
+ * Proposed workflow for working with contacts:
+ * - search for the contacts
+ * - manipulate the results array
+ * - createOrUpdate will save the given contacts overwriting the existing data
+ *
+ * For updating it is mandatory to keep the id.
+ * Without an id a new contact will be created.
+ *
+ * @since 6.0.0
+ */
+interface IManager {
/**
- * This class provides access to the contacts app. Use this class exclusively if you want to access contacts.
+ * This function is used to search and find contacts within the users address books.
+ * In case $pattern is empty all contacts will be returned.
+ *
+ * Example:
+ * Following function shows how to search for contacts for the name and the email address.
+ *
+ * public static function getMatchingRecipient($term) {
+ * $cm = \OC::$server->getContactsManager();
+ * // The API is not active -> nothing to do
+ * if (!$cm->isEnabled()) {
+ * return array();
+ * }
*
- * Contacts in general will be expressed as an array of key-value-pairs.
- * The keys will match the property names defined in https://tools.ietf.org/html/rfc2426#section-1
+ * $result = $cm->search($term, array('FN', 'EMAIL'));
+ * $receivers = array();
+ * foreach ($result as $r) {
+ * $id = $r['id'];
+ * $fn = $r['FN'];
+ * $email = $r['EMAIL'];
+ * if (!is_array($email)) {
+ * $email = array($email);
+ * }
*
- * Proposed workflow for working with contacts:
- * - search for the contacts
- * - manipulate the results array
- * - createOrUpdate will save the given contacts overwriting the existing data
+ * // loop through all email addresses of this contact
+ * foreach ($email as $e) {
+ * $displayName = $fn . " <$e>";
+ * $receivers[] = array(
+ * 'id' => $id,
+ * 'label' => $displayName,
+ * 'value' => $displayName);
+ * }
+ * }
*
- * For updating it is mandatory to keep the id.
- * Without an id a new contact will be created.
+ * return $receivers;
+ * }
*
+ *
+ * @param string $pattern which should match within the $searchProperties
+ * @param array $searchProperties defines the properties within the query pattern should match
+ * @param array $options - for future use. One should always have options!
+ * @return array an array of contacts which are arrays of key-value-pairs
* @since 6.0.0
*/
- interface IManager {
-
- /**
- * This function is used to search and find contacts within the users address books.
- * In case $pattern is empty all contacts will be returned.
- *
- * Example:
- * Following function shows how to search for contacts for the name and the email address.
- *
- * public static function getMatchingRecipient($term) {
- * $cm = \OC::$server->getContactsManager();
- * // The API is not active -> nothing to do
- * if (!$cm->isEnabled()) {
- * return array();
- * }
- *
- * $result = $cm->search($term, array('FN', 'EMAIL'));
- * $receivers = array();
- * foreach ($result as $r) {
- * $id = $r['id'];
- * $fn = $r['FN'];
- * $email = $r['EMAIL'];
- * if (!is_array($email)) {
- * $email = array($email);
- * }
- *
- * // loop through all email addresses of this contact
- * foreach ($email as $e) {
- * $displayName = $fn . " <$e>";
- * $receivers[] = array(
- * 'id' => $id,
- * 'label' => $displayName,
- * 'value' => $displayName);
- * }
- * }
- *
- * return $receivers;
- * }
- *
- *
- * @param string $pattern which should match within the $searchProperties
- * @param array $searchProperties defines the properties within the query pattern should match
- * @param array $options - for future use. One should always have options!
- * @return array an array of contacts which are arrays of key-value-pairs
- * @since 6.0.0
- */
- function search($pattern, $searchProperties = array(), $options = array());
+ public function search($pattern, $searchProperties = array(), $options = array());
- /**
- * This function can be used to delete the contact identified by the given id
- *
- * @param object $id the unique identifier to a contact
- * @param string $address_book_key identifier of the address book in which the contact shall be deleted
- * @return bool successful or not
- * @since 6.0.0
- */
- function delete($id, $address_book_key);
+ /**
+ * This function can be used to delete the contact identified by the given id
+ *
+ * @param object $id the unique identifier to a contact
+ * @param string $address_book_key identifier of the address book in which the contact shall be deleted
+ * @return bool successful or not
+ * @since 6.0.0
+ */
+ public function delete($id, $address_book_key);
- /**
- * This function is used to create a new contact if 'id' is not given or not present.
- * Otherwise the contact will be updated by replacing the entire data set.
- *
- * @param array $properties this array if key-value-pairs defines a contact
- * @param string $address_book_key identifier of the address book in which the contact shall be created or updated
- * @return array an array representing the contact just created or updated
- * @since 6.0.0
- */
- function createOrUpdate($properties, $address_book_key);
+ /**
+ * This function is used to create a new contact if 'id' is not given or not present.
+ * Otherwise the contact will be updated by replacing the entire data set.
+ *
+ * @param array $properties this array if key-value-pairs defines a contact
+ * @param string $address_book_key identifier of the address book in which the contact shall be created or updated
+ * @return array an array representing the contact just created or updated
+ * @since 6.0.0
+ */
+ public function createOrUpdate($properties, $address_book_key);
- /**
- * Check if contacts are available (e.g. contacts app enabled)
- *
- * @return bool true if enabled, false if not
- * @since 6.0.0
- */
- function isEnabled();
+ /**
+ * Check if contacts are available (e.g. contacts app enabled)
+ *
+ * @return bool true if enabled, false if not
+ * @since 6.0.0
+ */
+ public function isEnabled();
- /**
- * Registers an address book
- *
- * @param \OCP\IAddressBook $address_book
- * @return void
- * @since 6.0.0
- */
- function registerAddressBook(\OCP\IAddressBook $address_book);
+ /**
+ * Registers an address book
+ *
+ * @param \OCP\IAddressBook $address_book
+ * @return void
+ * @since 6.0.0
+ */
+ public function registerAddressBook(\OCP\IAddressBook $address_book);
- /**
- * Unregisters an address book
- *
- * @param \OCP\IAddressBook $address_book
- * @return void
- * @since 6.0.0
- */
- function unregisterAddressBook(\OCP\IAddressBook $address_book);
+ /**
+ * Unregisters an address book
+ *
+ * @param \OCP\IAddressBook $address_book
+ * @return void
+ * @since 6.0.0
+ */
+ public function unregisterAddressBook(\OCP\IAddressBook $address_book);
- /**
- * In order to improve lazy loading a closure can be registered which will be called in case
- * address books are actually requested
- *
- * @param \Closure $callable
- * @return void
- * @since 6.0.0
- */
- function register(\Closure $callable);
+ /**
+ * In order to improve lazy loading a closure can be registered which will be called in case
+ * address books are actually requested
+ *
+ * @param \Closure $callable
+ * @return void
+ * @since 6.0.0
+ */
+ public function register(\Closure $callable);
- /**
- * @return array
- * @since 6.0.0
- */
- function getAddressBooks();
+ /**
+ * @return array
+ * @since 6.0.0
+ */
+ public function getAddressBooks();
- /**
- * removes all registered address book instances
- * @return void
- * @since 6.0.0
- */
- function clear();
- }
+ /**
+ * removes all registered address book instances
+ * @return void
+ * @since 6.0.0
+ */
+ public function clear();
}
diff --git a/lib/public/DB.php b/lib/public/DB.php
index d22da39d9c2..5018392f650 100644
--- a/lib/public/DB.php
+++ b/lib/public/DB.php
@@ -57,7 +57,7 @@ class DB {
* @since 4.5.0
*/
static public function prepare( $query, $limit=null, $offset=null ) {
- return(\OC_DB::prepare($query, $limit, $offset));
+ return \OC_DB::prepare($query, $limit, $offset);
}
/**
@@ -117,7 +117,7 @@ class DB {
* @since 8.0.0
*/
public static function rollback() {
- \OC::$server->getDatabaseConnection()->rollback();
+ \OC::$server->getDatabaseConnection()->rollBack();
}
/**
diff --git a/lib/public/Files.php b/lib/public/Files.php
index 08fcbe0bbeb..3b924ea6a29 100644
--- a/lib/public/Files.php
+++ b/lib/public/Files.php
@@ -50,7 +50,7 @@ class Files {
* @return bool
* @since 5.0.0
*/
- static function rmdirr( $dir ) {
+ static public function rmdirr( $dir ) {
return \OC_Helper::rmdirr( $dir );
}
@@ -61,7 +61,7 @@ class Files {
* does NOT work for ownClouds filesystem, use OC_FileSystem::getMimeType instead
* @since 5.0.0
*/
- static function getMimeType( $path ) {
+ static public function getMimeType( $path ) {
return \OC::$server->getMimeTypeDetector()->detect($path);
}
@@ -71,8 +71,8 @@ class Files {
* @return array
* @since 6.0.0
*/
- static public function searchByMime( $mimetype ) {
- return(\OC\Files\Filesystem::searchByMime( $mimetype ));
+ static public function searchByMime($mimetype) {
+ return \OC\Files\Filesystem::searchByMime($mimetype);
}
/**
@@ -119,8 +119,8 @@ class Files {
* @return string
* @since 5.0.0
*/
- public static function buildNotExistingFileName( $path, $filename ) {
- return(\OC_Helper::buildNotExistingFileName( $path, $filename ));
+ public static function buildNotExistingFileName($path, $filename) {
+ return \OC_Helper::buildNotExistingFileName($path, $filename);
}
/**
@@ -130,7 +130,7 @@ class Files {
* @return \OC\Files\View
* @since 5.0.0
*/
- public static function getStorage( $app ) {
+ public static function getStorage($app) {
return \OC_App::getStorage( $app );
}
}
diff --git a/lib/public/Files/ObjectStore/IObjectStore.php b/lib/public/Files/ObjectStore/IObjectStore.php
index 7ae34ce1bc0..3126791d873 100644
--- a/lib/public/Files/ObjectStore/IObjectStore.php
+++ b/lib/public/Files/ObjectStore/IObjectStore.php
@@ -34,7 +34,7 @@ interface IObjectStore {
* @return string the container or bucket name where objects are stored
* @since 7.0.0
*/
- function getStorageId();
+ public function getStorageId();
/**
* @param string $urn the unified resource name used to identify the object
@@ -42,7 +42,7 @@ interface IObjectStore {
* @throws \Exception when something goes wrong, message will be logged
* @since 7.0.0
*/
- function readObject($urn);
+ public function readObject($urn);
/**
* @param string $urn the unified resource name used to identify the object
@@ -50,7 +50,7 @@ interface IObjectStore {
* @throws \Exception when something goes wrong, message will be logged
* @since 7.0.0
*/
- function writeObject($urn, $stream);
+ public function writeObject($urn, $stream);
/**
* @param string $urn the unified resource name used to identify the object
@@ -58,6 +58,5 @@ interface IObjectStore {
* @throws \Exception when something goes wrong, message will be logged
* @since 7.0.0
*/
- function deleteObject($urn);
-
+ public function deleteObject($urn);
}
diff --git a/lib/public/IL10N.php b/lib/public/IL10N.php
index 0dfe28c2ce8..7856a74219d 100644
--- a/lib/public/IL10N.php
+++ b/lib/public/IL10N.php
@@ -47,7 +47,7 @@ interface IL10N {
* Translating
* @param string $text The text we need a translation for
* @param array $parameters default:array() Parameters for sprintf
- * @return \OC_L10N_String Translation or the same text
+ * @return string Translation or the same text
*
* Returns the translation. If no translation is found, $text will be
* returned.
@@ -61,7 +61,7 @@ interface IL10N {
* @param string $text_plural the string to translate for n objects
* @param integer $count Number of objects
* @param array $parameters default:array() Parameters for sprintf
- * @return \OC_L10N_String Translation or the same text
+ * @return string Translation or the same text
*
* Returns the translation. If no translation is found, $text will be
* returned. %n will be replaced with the number of objects.
diff --git a/lib/public/JSON.php b/lib/public/JSON.php
index 02c515e863e..7db61ff1571 100644
--- a/lib/public/JSON.php
+++ b/lib/public/JSON.php
@@ -95,7 +95,7 @@ class JSON {
* Send json success msg
*
* Return a json success message with optional extra data.
- * @see OCP\JSON::error() for the format to use.
+ * @see \OCP\JSON::error() for the format to use.
*
* @param array $data The data to use
* @return string json formatted string.
diff --git a/lib/public/Search/PagedProvider.php b/lib/public/Search/PagedProvider.php
index 43d8c316652..3bd5b75cc2d 100644
--- a/lib/public/Search/PagedProvider.php
+++ b/lib/public/Search/PagedProvider.php
@@ -42,7 +42,7 @@ abstract class PagedProvider extends Provider {
* @since 8.0.0
*/
public function __construct($options) {
- $this->options = $options;
+ parent::__construct($options);
}
/**
diff --git a/lib/public/Security/ISecureRandom.php b/lib/public/Security/ISecureRandom.php
index 14190639f44..2f74a003f51 100644
--- a/lib/public/Security/ISecureRandom.php
+++ b/lib/public/Security/ISecureRandom.php
@@ -49,7 +49,7 @@ interface ISecureRandom {
* 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";
+ const CHAR_HUMAN_READABLE = 'abcdefgijkmnopqrstwxyzABCDEFGHJKLMNPQRSTWXYZ23456789';
/**
* Convenience method to get a low strength random number generator.
diff --git a/lib/public/Template.php b/lib/public/Template.php
index 590f430e24c..3dcee14d880 100644
--- a/lib/public/Template.php
+++ b/lib/public/Template.php
@@ -49,8 +49,8 @@ namespace OCP;
* @see \OCP\IURLGenerator::imagePath
* @deprecated 8.0.0 Use \OCP\Template::image_path() instead
*/
-function image_path( $app, $image ) {
- return(\image_path( $app, $image ));
+function image_path($app, $image) {
+ return \image_path($app, $image);
}
@@ -60,8 +60,8 @@ function image_path( $app, $image ) {
* @return string to the image of this file type.
* @deprecated 8.0.0 Use \OCP\Template::mimetype_icon() instead
*/
-function mimetype_icon( $mimetype ) {
- return(\mimetype_icon( $mimetype ));
+function mimetype_icon($mimetype) {
+ return \mimetype_icon($mimetype);
}
/**
@@ -70,8 +70,8 @@ function mimetype_icon( $mimetype ) {
* @return string to the preview of the image
* @deprecated 8.0.0 Use \OCP\Template::preview_icon() instead
*/
-function preview_icon( $path ) {
- return(\preview_icon( $path ));
+function preview_icon($path) {
+ return \preview_icon($path);
}
/**
@@ -82,8 +82,8 @@ function preview_icon( $path ) {
* @return string link to the preview
* @deprecated 8.0.0 Use \OCP\Template::publicPreview_icon() instead
*/
-function publicPreview_icon ( $path, $token ) {
- return(\publicPreview_icon( $path, $token ));
+function publicPreview_icon($path, $token) {
+ return \publicPreview_icon($path, $token);
}
/**
@@ -93,8 +93,8 @@ function publicPreview_icon ( $path, $token ) {
* @return string size as string
* @deprecated 8.0.0 Use \OCP\Template::human_file_size() instead
*/
-function human_file_size( $bytes ) {
- return(\human_file_size( $bytes ));
+function human_file_size($bytes) {
+ return \human_file_size($bytes);
}
@@ -102,12 +102,12 @@ function human_file_size( $bytes ) {
* Return the relative date in relation to today. Returns something like "last hour" or "two month ago"
* @param int $timestamp unix timestamp
* @param boolean $dateOnly
- * @return \OC_L10N_String human readable interpretation of the timestamp
+ * @return string human readable interpretation of the timestamp
*
* @deprecated 8.0.0 Use \OCP\Template::relative_modified_date() instead
*/
-function relative_modified_date( $timestamp, $dateOnly = false ) {
- return(\relative_modified_date($timestamp, null, $dateOnly));
+function relative_modified_date($timestamp, $dateOnly = false) {
+ return \relative_modified_date($timestamp, null, $dateOnly);
}
@@ -118,7 +118,7 @@ function relative_modified_date( $timestamp, $dateOnly = false ) {
* @deprecated 8.0.0 Use \OCP\Template::human_file_size() instead
*/
function simple_file_size($bytes) {
- return(\human_file_size($bytes));
+ return \human_file_size($bytes);
}
@@ -131,7 +131,7 @@ function simple_file_size($bytes) {
* @deprecated 8.0.0 Use \OCP\Template::html_select_options() instead
*/
function html_select_options($options, $selected, $params=array()) {
- return(\html_select_options($options, $selected, $params));
+ return \html_select_options($options, $selected, $params);
}
diff --git a/lib/public/Util.php b/lib/public/Util.php
index 02b59c370a0..6f2e455c3e4 100644
--- a/lib/public/Util.php
+++ b/lib/public/Util.php
@@ -73,7 +73,7 @@ class Util {
* @since 4.0.0
*/
public static function getVersion() {
- return(\OC_Util::getVersion());
+ return \OC_Util::getVersion();
}
/**
@@ -119,11 +119,11 @@ class Util {
$message->setPlainBody($mailtext);
$message->setFrom([$fromaddress => $fromname]);
if($html === 1) {
- $message->setHTMLBody($altbody);
+ $message->setHtmlBody($altbody);
}
if($altbody === '') {
- $message->setHTMLBody($mailtext);
+ $message->setHtmlBody($mailtext);
$message->setPlainBody('');
} else {
$message->setHtmlBody($mailtext);
@@ -254,7 +254,7 @@ class Util {
* @since 4.0.0
*/
public static function formatDate($timestamp, $dateOnly=false, $timeZone = null) {
- return(\OC_Util::formatDate($timestamp, $dateOnly, $timeZone));
+ return \OC_Util::formatDate($timestamp, $dateOnly, $timeZone);
}
/**
@@ -440,8 +440,8 @@ class Util {
* @return string a human readable file size
* @since 4.0.0
*/
- public static function humanFileSize( $bytes ) {
- return(\OC_Helper::humanFileSize( $bytes ));
+ public static function humanFileSize($bytes) {
+ return \OC_Helper::humanFileSize($bytes);
}
/**
@@ -452,8 +452,8 @@ class Util {
* Inspired by: http://www.php.net/manual/en/function.filesize.php#92418
* @since 4.0.0
*/
- public static function computerFileSize( $str ) {
- return(\OC_Helper::computerFileSize( $str ));
+ public static function computerFileSize($str) {
+ return \OC_Helper::computerFileSize($str);
}
/**
@@ -470,8 +470,8 @@ class Util {
* TODO: write example
* @since 4.0.0
*/
- static public function connectHook($signalClass, $signalName, $slotClass, $slotName ) {
- return(\OC_Hook::connect($signalClass, $signalName, $slotClass, $slotName ));
+ static public function connectHook($signalClass, $signalName, $slotClass, $slotName) {
+ return \OC_Hook::connect($signalClass, $signalName, $slotClass, $slotName);
}
/**
@@ -484,8 +484,8 @@ class Util {
* TODO: write example
* @since 4.0.0
*/
- static public function emitHook( $signalclass, $signalname, $params = array()) {
- return(\OC_Hook::emit( $signalclass, $signalname, $params ));
+ static public function emitHook($signalclass, $signalname, $params = array()) {
+ return \OC_Hook::emit($signalclass, $signalname, $params);
}
/**
@@ -518,7 +518,7 @@ class Util {
exit();
}
- if (!(\OC::$server->getRequest()->passesCSRFCheck())) {
+ if (!\OC::$server->getRequest()->passesCSRFCheck()) {
exit();
}
}
@@ -549,7 +549,7 @@ class Util {
* @since 6.0.0
*/
public static function encodePath($component) {
- return(\OC_Util::encodePath($component));
+ return \OC_Util::encodePath($component);
}
/**
@@ -562,7 +562,7 @@ class Util {
* @since 4.5.0
*/
public static function mb_array_change_key_case($input, $case = MB_CASE_LOWER, $encoding = 'UTF-8') {
- return(\OC_Helper::mb_array_change_key_case($input, $case, $encoding));
+ return \OC_Helper::mb_array_change_key_case($input, $case, $encoding);
}
/**
@@ -607,7 +607,7 @@ class Util {
* @since 4.5.0
*/
public static function recursiveArraySearch($haystack, $needle, $index = null) {
- return(\OC_Helper::recursiveArraySearch($haystack, $needle, $index));
+ return \OC_Helper::recursiveArraySearch($haystack, $needle, $index);
}
/**
diff --git a/settings/ajax/togglesubadmins.php b/settings/ajax/togglesubadmins.php
index 5658a382410..c9cc078ed09 100644
--- a/settings/ajax/togglesubadmins.php
+++ b/settings/ajax/togglesubadmins.php
@@ -39,8 +39,8 @@ $targetUserObject = \OC::$server->getUserManager()->get($username);
$targetGroupObject = \OC::$server->getGroupManager()->get($group);
$isSubAdminOfGroup = false;
-if($targetUserObject !== null && $targetUserObject !== null) {
- $isSubAdminOfGroup = $subAdminManager->isSubAdminofGroup($targetUserObject, $targetGroupObject);
+if($targetUserObject !== null && $targetGroupObject !== null) {
+ $isSubAdminOfGroup = $subAdminManager->isSubAdminOfGroup($targetUserObject, $targetGroupObject);
}
// Toggle group
diff --git a/settings/ajax/uninstallapp.php b/settings/ajax/uninstallapp.php
index 0e68a893ef4..79109600a39 100644
--- a/settings/ajax/uninstallapp.php
+++ b/settings/ajax/uninstallapp.php
@@ -47,5 +47,5 @@ if($result !== false) {
OC_JSON::success(array('data' => array('appid' => $appId)));
} else {
$l = \OC::$server->getL10N('settings');
- OC_JSON::error(array("data" => array( "message" => $l->t("Couldn't remove app.") )));
+ OC_JSON::error(array('data' => array( 'message' => $l->t("Couldn't remove app.") )));
}
diff --git a/settings/ajax/updateapp.php b/settings/ajax/updateapp.php
index bcf8e149140..b398e41033b 100644
--- a/settings/ajax/updateapp.php
+++ b/settings/ajax/updateapp.php
@@ -51,7 +51,7 @@ try {
$config->setSystemValue('maintenance', false);
} catch(Exception $ex) {
$config->setSystemValue('maintenance', false);
- OC_JSON::error(array("data" => array( "message" => $ex->getMessage() )));
+ OC_JSON::error(array('data' => array( 'message' => $ex->getMessage() )));
return;
}
@@ -59,5 +59,5 @@ if($result !== false) {
OC_JSON::success(array('data' => array('appid' => $appId)));
} else {
$l = \OC::$server->getL10N('settings');
- OC_JSON::error(array("data" => array( "message" => $l->t("Couldn't update app.") )));
+ OC_JSON::error(array('data' => array( 'message' => $l->t("Couldn't update app.") )));
}
diff --git a/settings/l10n/el.js b/settings/l10n/el.js
index 93da82540c4..f3fc0a67f5d 100644
--- a/settings/l10n/el.js
+++ b/settings/l10n/el.js
@@ -8,6 +8,8 @@ OC.L10N.register(
"You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας",
"Your email address was changed by an administrator" : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας άλλαξε από τον διαχειριστή",
"Security" : "Ασφάλεια",
+ "You successfully logged in using two-factor authentication (%1$s)" : "Έχετε συνδεθεί επιτυχώς με τη χρήση ελέγχου ταυτότητας δύο-παραγόντων (%1$s)",
+ "A login attempt using two-factor authentication failed (%1$s)" : "Μία προσπάθεια σύνδεσης με τη χρήση ελέγχου ταυτότητας δύο-παραγόντων απέτυχε (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ο δικός σας <ισχυρός>κωδικός πρόσβασης</ισχυρός>ή<ισχυρός>αλληλογραφίας</ισχυρός>τροποποιήθηκε",
"Your apps" : "Οι εφαρμογές σας",
"Enabled apps" : "Ενεργοποιημένες εφαρμογές",
@@ -18,7 +20,9 @@ OC.L10N.register(
"No user supplied" : "Δεν εισήχθη χρήστης",
"Unable to change password" : "Αδυναμία αλλαγής συνθηματικού",
"Authentication error" : "Σφάλμα πιστοποίησης",
+ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Παρακαλώ παρέχετε έναν κωδικό ανάκτησης διαχειριστή, διαφορετικά όλα τα δεδομένα χρήστη θα χαθούν.",
"Wrong admin recovery password. Please check the password and try again." : "Λάθος κωδικός ανάκτησης διαχειριστή. Παρακαλώ ελέγξτε τον κωδικό και δοκιμάστε ξανά.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Το σύστημα δεν υποστηρίζει αλλαγή κωδικού, αλλά το κλειδί κρυπτογράφησης του χρήστη ενημερώθηκε επιτυχώς.",
"installing and updating apps via the app store or Federated Cloud Sharing" : "εγκατάσταση και ενημέρωση εφαρμογών μέσω του καταστήματος εφαρμογών ή του ",
"Federated Cloud Sharing" : "Διαμοιρασμός σε ομόσπονδα σύννεφα ",
"cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "Το cURL χρησιμοποιεί μια παρωχημένη %s έκδοση (%s). Παρακαλούμε αναβαθμίστε το λειτουργικό σας σύστημα αλλιώς δυνατότητες όπως %s δεν θα δουλέψουν αξιόπιστα.",
@@ -28,16 +32,21 @@ OC.L10N.register(
"Unable to add group." : "Αδυναμία προσθήκης ομάδας.",
"Unable to delete group." : "Αδυναμία διαγραφής ομάδας.",
"Invalid SMTP password." : "Μη έγκυρο συνθηματικό SMTP.",
+ "Well done, %s!" : "Συγχαρητήρια, %s!",
+ "If you received this email, the email configuration seems to be correct." : "Εάν λάβατε αυτό το μήνυμα ηλεκτρονικού ταχυδρομείου, ",
"Email setting test" : "Δοκιμή ρυθμίσεων email",
+ "Email could not be sent. Check your mail server log" : "Το μήνυμα ηλεκτρονικού ταχυδρομείου δεν εστάλη. Ελέγξτε το αρχείο καταγραφής.",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Παρουσιάστηκε σφάλμα κατά την αποστολή e-mail. Παρακαλώ ελέγξτε τις ρυθμίσεις σας.(Error: %s)",
"You need to set your user email before being able to send test emails." : "Πρέπει να ορίσετε το email του χρήστη πριν να είστε σε θέση να στείλετε δοκιμαστικά emails.",
"Invalid mail address" : "Μη έγκυρη διεύθυνση ταχυδρομείου.",
"No valid group selected" : "Δεν επιλέθηκε έγκυρη ομάδα",
"A user with that name already exists." : "Υπάρχει ήδη χρήστης με το ίδιο όνομα",
+ "To send a password link to the user an email address is required." : "Για να στείλετε ένα σύνδεσμο συνθηματικού στον χρήστη μια διεύθυνση ηλεκτρονικού ταχυδρομείου είναι απαραίτητη.",
"Unable to create user." : "Αδυναμία δημιουργίας χρήστη.",
"Unable to delete user." : "Αδυναμία διαγραφής χρήστη.",
"Error while enabling user." : "Σφάλμα κατά την ενεργοποίηση χρήστη.",
"Error while disabling user." : "Σφάλμα κατά την απενεργοποίηση χρήστη.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Για να επιβεβαιώσετε τον λογαριασμό σας στο Twitter, δημοσιεύστε την παρακάτω δημοσίευση στο Twitter (σιγουρευτείτε ότι την δημοσιεύετε χωρίς χαρακτήρες αλλαγής γραμμής)",
"Settings saved" : "Οι ρυθμίσεις αποθηκεύτηκαν",
"Unable to change full name" : "Δεν ήταν δυνατή η αλλαγή του πλήρους ονόματός σας",
"Unable to change email address" : "Αδυναμία αλλαγής διεύθυνσης ηλεκτρονικής αλληλογραφίας",
@@ -46,13 +55,23 @@ OC.L10N.register(
"Invalid user" : "Μη έγκυρος χρήστης",
"Unable to change mail address" : "Αδυναμία αλλαγής διεύθυνσης αλληλογραφίας",
"Email saved" : "Το email αποθηκεύτηκε ",
+ "%1$s changed your password on %2$s." : "%1$sάλλαξε το συνθηματικό σε %2$s.",
+ "Your password on %s was changed." : "Ο κωδικός πρόσβασης στο %s έχει αλλάξει.",
+ "Your password on %s was reset by an administrator." : "Έχει γίνει επαναφορά του κωδικού πρόσβασης στο %s από τον διαχειριστή.",
"Password changed for %s" : "Το συνθηματικό άλλαξε για τον %s",
"If you did not request this, please contact an administrator." : "Εάν δεν το αιτηθήκατε, παρακαλούμε επικοινωνήστε με τον διαχειριστή.",
+ "Password for %1$s changed on %2$s" : "Ο κωδικός πρόσβασης για το %1$s άλλαξε σε %2$s",
+ "%1$s changed your email address on %2$s." : "%1$sάλλαξε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σε %2$s.",
+ "Your email address on %s was changed." : "Η ηλεκτρονική σας διεύθυνση στο %s έχει αλλάξει.",
+ "Your email address on %s was changed by an administrator." : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας στο %s άλλαξε από τον διαχειριστή.",
+ "Email address changed for %s" : "Το συνθηματικό άλλαξε για τον %s",
"The new email address is %s" : "Η νέα διεύθυνση ηλεκτρονικής αλληλογραφίας είναι %s",
+ "Email address for %1$s changed on %2$s" : "Η διεύθυνση ηλεκτρονικού ταχυδρομείου για το %1$s άλλαξε σε %2$s",
"Welcome aboard" : "Καλώς ήλθατε",
"Welcome aboard %s" : "Καλώς ήλθατε %s",
"Your username is: %s" : "Το όνομα χρήστη σας είναι: %s",
"Set your password" : "Καθορισμός συνθηματικού",
+ "Go to %s" : "Πηγαίνετε στο %s",
"Install Client" : "Εγκατάσταση πελάτη",
"Your %s account was created" : "Ο λογαριασμός %s δημιουργήθηκε",
"Password confirmation is required" : "Απαιτείται επιβεβαίωση συνθηματικού",
@@ -69,6 +88,8 @@ OC.L10N.register(
"All" : "Όλες",
"Update to %s" : "Ενημέρωση σε %s",
"No apps found for your version" : "Δεν βρέθηκαν εφαρμογές για αυτή την έκδοση",
+ "The app will be downloaded from the app store" : "Αυτή η εφαρμογή θα ",
+ "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Οι επίσημες εφαρμογές αναπτύσσονται μέσα από την κοινότητα. Προσφέρουν κεντρική λειτουργικότητα και είναι έτοιμες για παραγωγική χρήση. ",
"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 …" : "Γίνεται απενεργοποίηση εφαρμογής...",
@@ -77,6 +98,7 @@ OC.L10N.register(
"Enable" : "Ενεργοποίηση",
"Enabling app …" : "Γίνεται ενεργοποίηση εφαρμογής...",
"Error while enabling app" : "Σφάλμα κατά την ενεργοποίηση της εφαρμογής",
+ "Error: Could not disable broken app" : "Σφάλμα: αδυναμία απενεργοποίησης κατεστραμμένης εφαρμογής",
"Error while disabling broken app" : "Σφάλμα κατά την απενεργοποίηση κατεστραμμένης εφαρμογής",
"Updating...." : "Ενημέρωση...",
"Error while updating app" : "Σφάλμα κατά την ενημέρωση της εφαρμογής",
@@ -91,6 +113,7 @@ OC.L10N.register(
"No apps found for {query}" : "Δεν βρέθηκαν εφαρμογές για {query}",
"Enable all" : "Ενεργοποίηση όλων",
"Disconnect" : "Αποσύνδεση",
+ "Revoke" : "Ανάκληση",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -101,6 +124,7 @@ OC.L10N.register(
"iPad iOS" : "iPad iOS",
"iOS Client" : "Πελάτης iOS",
"Android Client" : "Πελάτης Android",
+ "Sync client - {os}" : "Συγχρονισμός πελατών - {os}",
"This session" : "Αυτή η συνεδρία",
"Copy" : "Αντιγραφή",
"Copied!" : "Αντιγράφτηκε!",
@@ -118,7 +142,9 @@ OC.L10N.register(
"Only visible to local users" : "Εμφανές μόνο σε τοπικούς χρήστες",
"Only visible to you" : "Εμφανές μόνο σε εσάς",
"Contacts" : "Επαφές",
+ "Visible to local users and to trusted servers" : "Προσθήκη στη λίστα των έμπιστων διακομιστών",
"Public" : "Δημόσιο",
+ "Will be synced to a global and public address book" : "Θα συγχρονιστεί με παγκόσμιο και δημόσιο βιβλίο διευθύνσεων",
"Verify" : "Επαλήθευση",
"Verifying …" : "Γίνεται επαλήθευση ...",
"Select a profile picture" : "Επιλογή εικόνας προφίλ",
@@ -133,14 +159,18 @@ OC.L10N.register(
"A valid group name must be provided" : "Πρέπει να δοθεί ένα έγκυρο όνομα ομάδας",
"deleted {groupName}" : "διαγραφή {groupName}",
"undo" : "αναίρεση",
+ "{size} used" : "{μέγεθος} που χρησιμοποιείται",
"never" : "ποτέ",
"deleted {userName}" : "διαγραφή {userName}",
+ "No user found for <strong>{pattern}</strong>" : "Δεν βρέθηκαν χρήστες για την αναζήτηση {search}",
"Unable to add user to group {group}" : "Αδυναμία προσθήκης χρήστη στην ομάδα {group}",
"Unable to remove user from group {group}" : "Αδυναμία αφαίρεσης χρήστη από την ομάδα {group}",
"Add group" : "Προσθήκη ομάδας",
"no group" : "καμια ομάδα",
"Password successfully changed" : "Το συνθηματικό αλλάχτηκε επιτυχώς",
"Changing the password will result in data loss, because data recovery is not available for this user" : "Η αλλαγή του κωδικού πρόσβασης θα έχει ως αποτέλεσμα το χάσιμο δεδομένων, επειδή η ανάκτηση δεδομένων δεν είναι διαθέσιμη γι' αυτόν τον χρήστη",
+ "Could not change the users email" : "Αδυναμία αλλαγής της ηλεκτρονικής διεύθυνσης του χρήστη",
+ "Error while changing status of {user}" : "Σφάλμα κατά την αλλαγή κατάστασης του {χρήστη}",
"A valid username must be provided" : "Πρέπει να δοθεί έγκυρο όνομα χρήστη",
"Error creating user: {message}" : "Σφάλμα δημιουργίας χρήστη: {message}",
"A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
@@ -150,6 +180,7 @@ OC.L10N.register(
"Limit to groups" : "Όριο στις ομάδες",
"This app has an update available." : "Αυτή η εφαρμογή έχει διαθέσιμη ενημέρωση.",
"by %s" : "από %s",
+ "%s-licensed" : "%s-αδειοδοτημένο",
"Documentation:" : "Τεκμηρίωση:",
"User documentation" : "Τεκμηρίωση Χρήστη",
"Admin documentation" : "Τεκμηρίωση Διαχειριστή",
@@ -157,6 +188,8 @@ OC.L10N.register(
"Report a bug" : "Αναφέρετε σφάλμα",
"Show description …" : "Εμφάνιση περιγραφής",
"Hide description …" : "Απόκρυψη περιγραφής",
+ "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Αυτή η εφαρμογή δεν έχει ελάχιστη έκδοση του Nextcloud ανατεθειμένη. Αυτό θα αποτελεί σφάλμα στο μέλλον.",
+ "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Αυτή η εφαρμογή δεν έχει μέγιστη έκδοση του Nextcloud ανατεθειμένη. Αυτό θα αποτελεί σφάλμα στο μέλλον.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Αυτή η εφαρμογή δεν μπορεί να εγκατασταθεί διότι δεν εκπληρώνονται οι ακόλουθες εξαρτήσεις:",
"Enable only for specific groups" : "Ενεργοποίηση μόνο για καθορισμένες ομάδες",
"SSL Root Certificates" : "Πιστοποιητικά SSL του Root",
@@ -178,6 +211,7 @@ OC.L10N.register(
"STARTTLS" : "STARTTLS",
"Email server" : "Διακομιστής Email",
"Open documentation" : "Άνοιγμα τεκμηρίωσης.",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Είναι σημαντικό ",
"Send mode" : "Κατάσταση αποστολής",
"Encryption" : "Κρυπτογράφηση",
"From address" : "Από τη διεύθυνση",
@@ -209,11 +243,17 @@ OC.L10N.register(
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Η ρύθμιση \"μόνο ανάγνωση\" έχει ενεργοποιηθεί. Αυτό εμποδίζει τον καθορισμό κάποιων ρυθμίσεων μέσω της διεπαφής web. Επιπλέον, το αρχείο πρέπει να γίνει χειροκίνητα εγγράψιμο πριν από κάθε διαδικασία ενημέρωσης.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.",
"System locale can not be set to a one which supports UTF-8." : "Οι ρυθμίσεις τοποθεσίας συστήματος δεν μπορούν να οριστούν σε κάποιες που δεν υποστηρίζουν UTF-8.",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Παρακαλούμε ελέγξτε τις <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">οδηγίες εγκατάστασης ↗</a>, και ελέγξτε για σφάλματα ή προειδοποιήσεις στα <a href=\"%s\">αρχεία καταγραφής</a>.",
"All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.",
+ "Background jobs" : "Εργασίες παρασκηνίου",
"Execute one task with each page loaded" : "Εκτελεί μια διεργασία κάθε φορά που φορτώνεται μια σελίδα",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "Το cron.php είναι καταχωρημένο σε μια υπηρεσία webcron ώστε να καλεί το cron.php κάθε 15 λεπτά μέσω HTTP.",
+ "Use system cron service to call the cron.php file every 15 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συστήματος για να καλέσετε το cron.php αρχείο κάθε 15 λεπτά.",
"The cron.php needs to be executed by the system user \"%s\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος \"%s\".",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Για να τρέξετε αυτό χρειάζεστε την επέκταση PHP POSIX. Δείτε {linkstart} PHP τεκμηρίωση {linked} για περισσότερες λεπτομέρειες.",
"Version" : "Έκδοση",
"Sharing" : "Διαμοιρασμός",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ως διαχειριστής μπορείτε να ρυθμίσετε λεπτομερώς την συμπεριφορά διαμοιρασμού.\nΠαρακαλούμε ανατρέξτε στην τεκμηρίωση για περισσότερες πληροφορίες.",
"Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ",
"Allow users to share via link" : "Να επιτρέπεται σε χρήστες ο διαμοιρασμός μέσω συνδέσμου",
"Allow public uploads" : "Επιτρέπεται το κοινόχρηστο ανέβασμα",
@@ -229,6 +269,7 @@ OC.L10N.register(
"Exclude groups from sharing" : "Εξαίρεση ομάδων από τον διαμοιρασμό",
"These groups will still be able to receive shares, but not to initiate them." : "Αυτές οι ομάδες θα συνεχίσουν να λαμβάνουν διαμοιρασμούς, αλλά δεν θα είναι δυνατό να τους δημιουργήσουν.",
"Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Να επιτρέπεται η χρήση αυτόματης συμπλήρωσης στο διάλογο διαμοιρασμού. Αν αυτό είναι απενεργοποιημένο θα πρέπει να εισαχθεί το πλήρες όνομα χρήστη.",
+ "This text will be shown on the public link upload page when the file list is hidden." : "Αυτό το κείμενο θα ",
"Tips & tricks" : "Συμβουλές & τεχνάσματα",
"How to do backups" : "Πώς να κάνετε αντίγραφα ασφαλείας",
"Advanced monitoring" : "Παρακολούθηση για προχωρημένους",
@@ -238,6 +279,7 @@ OC.L10N.register(
"Check the security of your Nextcloud over our security scan" : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω της σάρωσης ασφαλείας",
"Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης",
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Χρησιμοποιείτε <strong>%s</strong> από <strong>%s</strong>",
+ "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Χρησιμοποιείτε <strong>%s</strong> του <strong>%s</strong>(<strong>%s%%</strong>)",
"Profile picture" : "Φωτογραφία προφίλ",
"Upload new" : "Μεταφόρτωση νέου",
"Select from Files" : "Επιλογή από τα Αρχεία",
@@ -251,6 +293,7 @@ OC.L10N.register(
"Email" : "Ηλεκτρονικό ταχυδρομείο",
"Your email address" : "Η διεύθυνση ηλ. ταχυδρομείου σας",
"No email address set" : "Δεν ορίστηκε διεύθυνση email",
+ "For password reset and notifications" : "Για ανάκτηση συνθηματικού και ειδοποιήσεις",
"Phone number" : "Αριθμός τηλεφώνου",
"Your phone number" : "Ο αριθμός τηλεφώνου σας",
"Address" : "Διεύθυνση",
@@ -266,13 +309,20 @@ OC.L10N.register(
"Change password" : "Αλλαγή συνθηματικού",
"Language" : "Γλώσσα",
"Help translate" : "Βοηθήστε στη μετάφραση",
+ "Web, desktop and mobile clients currently logged in to your account." : " ",
"Device" : "Συσκευή",
"Last activity" : "Τελευταία δραστηριότητα",
"App name" : "Όνομα εφαρμογής",
"Create new app password" : "Δημιουργία νέου συνθηματικού εφαρμογής",
+ "Use the credentials below to configure your app or device." : "Χρησιμοποιήστε τα παρακάτω διαπιστευτήρια για να ρυθμίσετε την εφαρμογή ή την συσκευή σας.",
"For security reasons this password will only be shown once." : "Για λόγους ασφαλείας αυτό το συνθηματικό θα εμφανιστεί μόνο μια φορά.",
"Username" : "Όνομα χρήστη",
"Done" : "Ολοκληρώθηκε",
+ "Follow us on Google+" : "Ακολουθήστε μας στο Google+",
+ "Like our Facebook page" : "Ακολουθήστε μας στην σελίδα μας στο facebook!",
+ "Follow us on Twitter" : "Ακολουθήστε μας στο Twitter",
+ "Check out our blog" : "Επισκεφθείτε το ιστολόγιό μας!",
+ "Subscribe to our newsletter" : "Εγγραφείτε στο ενημερωτικό δελτίο μας!",
"Settings" : "Ρυθμίσεις",
"Show storage location" : "Εμφάνιση τοποθεσίας αποθήκευσης",
"Show user backend" : "Εμφάνιση χρήστη συστήματος υποστήριξης",
@@ -334,6 +384,7 @@ OC.L10N.register(
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Το cron.php είναι καταχωρημένο σε μια υπηρεσία webcron ώστε να καλεί το cron.php κάθε 15 λεπτά μέσω http.",
"Use system's cron service to call the cron.php file every 15 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συτήματος για να καλέσετε το cron.php αρχείο κάθε 15 λεπτά.",
"Uninstall app" : "Απεγκατάσταση εφαρμογης",
+ "Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Χαίρεται,<br><br>απλά σας κάνουμε γνωστό ότι διαθέτετε έναν %s λογαριασμό.<br><br>Το όνομά σας είναι: %s<br>Έχετε πρόσβαση: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "Χαιρετισμούς!",
"For password recovery and notifications" : "Η ανάκτηση του συνθηματικού και οι ειδοποιήσεις",
"Your website" : "Η ιστοσελίδα σας",
@@ -342,6 +393,7 @@ OC.L10N.register(
"Desktop client" : "Πελάτης σταθερού υπολογιστή",
"Android app" : "Εφαρμογή Android",
"iOS app" : "Εφαρμογή iOS",
+ "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Εάν επιθυμείτε να υποστηρίξετε το έργο {contributeopen}συμμετέχετε στην ανάπτυξη{linkclose} ή {contributeopen}διαδώστε(linkclose}!",
"Show First Run Wizard again" : "Προβολή Οδηγού Πρώτης Εκτέλεσης ξανά",
"Name" : "Όνομα",
"Follow us on Google Plus!" : "Ακολουθήστε μας στο Google Plus!",
diff --git a/settings/l10n/el.json b/settings/l10n/el.json
index 59f56e2ead9..3889f1fda13 100644
--- a/settings/l10n/el.json
+++ b/settings/l10n/el.json
@@ -6,6 +6,8 @@
"You changed your email address" : "Έχετε αλλάξει τη διεύθυνση ηλεκτρονικού ταχυδρομείου σας",
"Your email address was changed by an administrator" : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας άλλαξε από τον διαχειριστή",
"Security" : "Ασφάλεια",
+ "You successfully logged in using two-factor authentication (%1$s)" : "Έχετε συνδεθεί επιτυχώς με τη χρήση ελέγχου ταυτότητας δύο-παραγόντων (%1$s)",
+ "A login attempt using two-factor authentication failed (%1$s)" : "Μία προσπάθεια σύνδεσης με τη χρήση ελέγχου ταυτότητας δύο-παραγόντων απέτυχε (%1$s)",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ο δικός σας <ισχυρός>κωδικός πρόσβασης</ισχυρός>ή<ισχυρός>αλληλογραφίας</ισχυρός>τροποποιήθηκε",
"Your apps" : "Οι εφαρμογές σας",
"Enabled apps" : "Ενεργοποιημένες εφαρμογές",
@@ -16,7 +18,9 @@
"No user supplied" : "Δεν εισήχθη χρήστης",
"Unable to change password" : "Αδυναμία αλλαγής συνθηματικού",
"Authentication error" : "Σφάλμα πιστοποίησης",
+ "Please provide an admin recovery password; otherwise, all user data will be lost." : "Παρακαλώ παρέχετε έναν κωδικό ανάκτησης διαχειριστή, διαφορετικά όλα τα δεδομένα χρήστη θα χαθούν.",
"Wrong admin recovery password. Please check the password and try again." : "Λάθος κωδικός ανάκτησης διαχειριστή. Παρακαλώ ελέγξτε τον κωδικό και δοκιμάστε ξανά.",
+ "Backend doesn't support password change, but the user's encryption key was updated." : "Το σύστημα δεν υποστηρίζει αλλαγή κωδικού, αλλά το κλειδί κρυπτογράφησης του χρήστη ενημερώθηκε επιτυχώς.",
"installing and updating apps via the app store or Federated Cloud Sharing" : "εγκατάσταση και ενημέρωση εφαρμογών μέσω του καταστήματος εφαρμογών ή του ",
"Federated Cloud Sharing" : "Διαμοιρασμός σε ομόσπονδα σύννεφα ",
"cURL is using an outdated %s version (%s). Please update your operating system or features such as %s will not work reliably." : "Το cURL χρησιμοποιεί μια παρωχημένη %s έκδοση (%s). Παρακαλούμε αναβαθμίστε το λειτουργικό σας σύστημα αλλιώς δυνατότητες όπως %s δεν θα δουλέψουν αξιόπιστα.",
@@ -26,16 +30,21 @@
"Unable to add group." : "Αδυναμία προσθήκης ομάδας.",
"Unable to delete group." : "Αδυναμία διαγραφής ομάδας.",
"Invalid SMTP password." : "Μη έγκυρο συνθηματικό SMTP.",
+ "Well done, %s!" : "Συγχαρητήρια, %s!",
+ "If you received this email, the email configuration seems to be correct." : "Εάν λάβατε αυτό το μήνυμα ηλεκτρονικού ταχυδρομείου, ",
"Email setting test" : "Δοκιμή ρυθμίσεων email",
+ "Email could not be sent. Check your mail server log" : "Το μήνυμα ηλεκτρονικού ταχυδρομείου δεν εστάλη. Ελέγξτε το αρχείο καταγραφής.",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Παρουσιάστηκε σφάλμα κατά την αποστολή e-mail. Παρακαλώ ελέγξτε τις ρυθμίσεις σας.(Error: %s)",
"You need to set your user email before being able to send test emails." : "Πρέπει να ορίσετε το email του χρήστη πριν να είστε σε θέση να στείλετε δοκιμαστικά emails.",
"Invalid mail address" : "Μη έγκυρη διεύθυνση ταχυδρομείου.",
"No valid group selected" : "Δεν επιλέθηκε έγκυρη ομάδα",
"A user with that name already exists." : "Υπάρχει ήδη χρήστης με το ίδιο όνομα",
+ "To send a password link to the user an email address is required." : "Για να στείλετε ένα σύνδεσμο συνθηματικού στον χρήστη μια διεύθυνση ηλεκτρονικού ταχυδρομείου είναι απαραίτητη.",
"Unable to create user." : "Αδυναμία δημιουργίας χρήστη.",
"Unable to delete user." : "Αδυναμία διαγραφής χρήστη.",
"Error while enabling user." : "Σφάλμα κατά την ενεργοποίηση χρήστη.",
"Error while disabling user." : "Σφάλμα κατά την απενεργοποίηση χρήστη.",
+ "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Για να επιβεβαιώσετε τον λογαριασμό σας στο Twitter, δημοσιεύστε την παρακάτω δημοσίευση στο Twitter (σιγουρευτείτε ότι την δημοσιεύετε χωρίς χαρακτήρες αλλαγής γραμμής)",
"Settings saved" : "Οι ρυθμίσεις αποθηκεύτηκαν",
"Unable to change full name" : "Δεν ήταν δυνατή η αλλαγή του πλήρους ονόματός σας",
"Unable to change email address" : "Αδυναμία αλλαγής διεύθυνσης ηλεκτρονικής αλληλογραφίας",
@@ -44,13 +53,23 @@
"Invalid user" : "Μη έγκυρος χρήστης",
"Unable to change mail address" : "Αδυναμία αλλαγής διεύθυνσης αλληλογραφίας",
"Email saved" : "Το email αποθηκεύτηκε ",
+ "%1$s changed your password on %2$s." : "%1$sάλλαξε το συνθηματικό σε %2$s.",
+ "Your password on %s was changed." : "Ο κωδικός πρόσβασης στο %s έχει αλλάξει.",
+ "Your password on %s was reset by an administrator." : "Έχει γίνει επαναφορά του κωδικού πρόσβασης στο %s από τον διαχειριστή.",
"Password changed for %s" : "Το συνθηματικό άλλαξε για τον %s",
"If you did not request this, please contact an administrator." : "Εάν δεν το αιτηθήκατε, παρακαλούμε επικοινωνήστε με τον διαχειριστή.",
+ "Password for %1$s changed on %2$s" : "Ο κωδικός πρόσβασης για το %1$s άλλαξε σε %2$s",
+ "%1$s changed your email address on %2$s." : "%1$sάλλαξε τη διεύθυνση ηλεκτρονικού ταχυδρομείου σε %2$s.",
+ "Your email address on %s was changed." : "Η ηλεκτρονική σας διεύθυνση στο %s έχει αλλάξει.",
+ "Your email address on %s was changed by an administrator." : "Η διεύθυνση ηλεκτρονικής αλληλογραφίας στο %s άλλαξε από τον διαχειριστή.",
+ "Email address changed for %s" : "Το συνθηματικό άλλαξε για τον %s",
"The new email address is %s" : "Η νέα διεύθυνση ηλεκτρονικής αλληλογραφίας είναι %s",
+ "Email address for %1$s changed on %2$s" : "Η διεύθυνση ηλεκτρονικού ταχυδρομείου για το %1$s άλλαξε σε %2$s",
"Welcome aboard" : "Καλώς ήλθατε",
"Welcome aboard %s" : "Καλώς ήλθατε %s",
"Your username is: %s" : "Το όνομα χρήστη σας είναι: %s",
"Set your password" : "Καθορισμός συνθηματικού",
+ "Go to %s" : "Πηγαίνετε στο %s",
"Install Client" : "Εγκατάσταση πελάτη",
"Your %s account was created" : "Ο λογαριασμός %s δημιουργήθηκε",
"Password confirmation is required" : "Απαιτείται επιβεβαίωση συνθηματικού",
@@ -67,6 +86,8 @@
"All" : "Όλες",
"Update to %s" : "Ενημέρωση σε %s",
"No apps found for your version" : "Δεν βρέθηκαν εφαρμογές για αυτή την έκδοση",
+ "The app will be downloaded from the app store" : "Αυτή η εφαρμογή θα ",
+ "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "Οι επίσημες εφαρμογές αναπτύσσονται μέσα από την κοινότητα. Προσφέρουν κεντρική λειτουργικότητα και είναι έτοιμες για παραγωγική χρήση. ",
"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 …" : "Γίνεται απενεργοποίηση εφαρμογής...",
@@ -75,6 +96,7 @@
"Enable" : "Ενεργοποίηση",
"Enabling app …" : "Γίνεται ενεργοποίηση εφαρμογής...",
"Error while enabling app" : "Σφάλμα κατά την ενεργοποίηση της εφαρμογής",
+ "Error: Could not disable broken app" : "Σφάλμα: αδυναμία απενεργοποίησης κατεστραμμένης εφαρμογής",
"Error while disabling broken app" : "Σφάλμα κατά την απενεργοποίηση κατεστραμμένης εφαρμογής",
"Updating...." : "Ενημέρωση...",
"Error while updating app" : "Σφάλμα κατά την ενημέρωση της εφαρμογής",
@@ -89,6 +111,7 @@
"No apps found for {query}" : "Δεν βρέθηκαν εφαρμογές για {query}",
"Enable all" : "Ενεργοποίηση όλων",
"Disconnect" : "Αποσύνδεση",
+ "Revoke" : "Ανάκληση",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -99,6 +122,7 @@
"iPad iOS" : "iPad iOS",
"iOS Client" : "Πελάτης iOS",
"Android Client" : "Πελάτης Android",
+ "Sync client - {os}" : "Συγχρονισμός πελατών - {os}",
"This session" : "Αυτή η συνεδρία",
"Copy" : "Αντιγραφή",
"Copied!" : "Αντιγράφτηκε!",
@@ -116,7 +140,9 @@
"Only visible to local users" : "Εμφανές μόνο σε τοπικούς χρήστες",
"Only visible to you" : "Εμφανές μόνο σε εσάς",
"Contacts" : "Επαφές",
+ "Visible to local users and to trusted servers" : "Προσθήκη στη λίστα των έμπιστων διακομιστών",
"Public" : "Δημόσιο",
+ "Will be synced to a global and public address book" : "Θα συγχρονιστεί με παγκόσμιο και δημόσιο βιβλίο διευθύνσεων",
"Verify" : "Επαλήθευση",
"Verifying …" : "Γίνεται επαλήθευση ...",
"Select a profile picture" : "Επιλογή εικόνας προφίλ",
@@ -131,14 +157,18 @@
"A valid group name must be provided" : "Πρέπει να δοθεί ένα έγκυρο όνομα ομάδας",
"deleted {groupName}" : "διαγραφή {groupName}",
"undo" : "αναίρεση",
+ "{size} used" : "{μέγεθος} που χρησιμοποιείται",
"never" : "ποτέ",
"deleted {userName}" : "διαγραφή {userName}",
+ "No user found for <strong>{pattern}</strong>" : "Δεν βρέθηκαν χρήστες για την αναζήτηση {search}",
"Unable to add user to group {group}" : "Αδυναμία προσθήκης χρήστη στην ομάδα {group}",
"Unable to remove user from group {group}" : "Αδυναμία αφαίρεσης χρήστη από την ομάδα {group}",
"Add group" : "Προσθήκη ομάδας",
"no group" : "καμια ομάδα",
"Password successfully changed" : "Το συνθηματικό αλλάχτηκε επιτυχώς",
"Changing the password will result in data loss, because data recovery is not available for this user" : "Η αλλαγή του κωδικού πρόσβασης θα έχει ως αποτέλεσμα το χάσιμο δεδομένων, επειδή η ανάκτηση δεδομένων δεν είναι διαθέσιμη γι' αυτόν τον χρήστη",
+ "Could not change the users email" : "Αδυναμία αλλαγής της ηλεκτρονικής διεύθυνσης του χρήστη",
+ "Error while changing status of {user}" : "Σφάλμα κατά την αλλαγή κατάστασης του {χρήστη}",
"A valid username must be provided" : "Πρέπει να δοθεί έγκυρο όνομα χρήστη",
"Error creating user: {message}" : "Σφάλμα δημιουργίας χρήστη: {message}",
"A valid password must be provided" : "Πρέπει να δοθεί έγκυρο συνθηματικό",
@@ -148,6 +178,7 @@
"Limit to groups" : "Όριο στις ομάδες",
"This app has an update available." : "Αυτή η εφαρμογή έχει διαθέσιμη ενημέρωση.",
"by %s" : "από %s",
+ "%s-licensed" : "%s-αδειοδοτημένο",
"Documentation:" : "Τεκμηρίωση:",
"User documentation" : "Τεκμηρίωση Χρήστη",
"Admin documentation" : "Τεκμηρίωση Διαχειριστή",
@@ -155,6 +186,8 @@
"Report a bug" : "Αναφέρετε σφάλμα",
"Show description …" : "Εμφάνιση περιγραφής",
"Hide description …" : "Απόκρυψη περιγραφής",
+ "This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Αυτή η εφαρμογή δεν έχει ελάχιστη έκδοση του Nextcloud ανατεθειμένη. Αυτό θα αποτελεί σφάλμα στο μέλλον.",
+ "This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Αυτή η εφαρμογή δεν έχει μέγιστη έκδοση του Nextcloud ανατεθειμένη. Αυτό θα αποτελεί σφάλμα στο μέλλον.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Αυτή η εφαρμογή δεν μπορεί να εγκατασταθεί διότι δεν εκπληρώνονται οι ακόλουθες εξαρτήσεις:",
"Enable only for specific groups" : "Ενεργοποίηση μόνο για καθορισμένες ομάδες",
"SSL Root Certificates" : "Πιστοποιητικά SSL του Root",
@@ -176,6 +209,7 @@
"STARTTLS" : "STARTTLS",
"Email server" : "Διακομιστής Email",
"Open documentation" : "Άνοιγμα τεκμηρίωσης.",
+ "It is important to set up this server to be able to send emails, like for password reset and notifications." : "Είναι σημαντικό ",
"Send mode" : "Κατάσταση αποστολής",
"Encryption" : "Κρυπτογράφηση",
"From address" : "Από τη διεύθυνση",
@@ -207,11 +241,17 @@
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "Η ρύθμιση \"μόνο ανάγνωση\" έχει ενεργοποιηθεί. Αυτό εμποδίζει τον καθορισμό κάποιων ρυθμίσεων μέσω της διεπαφής web. Επιπλέον, το αρχείο πρέπει να γίνει χειροκίνητα εγγράψιμο πριν από κάθε διαδικασία ενημέρωσης.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Αυτό πιθανόν προκλήθηκε από προσωρινή μνήμη (cache)/επιταχυντή όπως τη Zend OPcache ή τον eAccelerator.",
"System locale can not be set to a one which supports UTF-8." : "Οι ρυθμίσεις τοποθεσίας συστήματος δεν μπορούν να οριστούν σε κάποιες που δεν υποστηρίζουν UTF-8.",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Παρακαλούμε ελέγξτε τις <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">οδηγίες εγκατάστασης ↗</a>, και ελέγξτε για σφάλματα ή προειδοποιήσεις στα <a href=\"%s\">αρχεία καταγραφής</a>.",
"All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.",
+ "Background jobs" : "Εργασίες παρασκηνίου",
"Execute one task with each page loaded" : "Εκτελεί μια διεργασία κάθε φορά που φορτώνεται μια σελίδα",
+ "cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "Το cron.php είναι καταχωρημένο σε μια υπηρεσία webcron ώστε να καλεί το cron.php κάθε 15 λεπτά μέσω HTTP.",
+ "Use system cron service to call the cron.php file every 15 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συστήματος για να καλέσετε το cron.php αρχείο κάθε 15 λεπτά.",
"The cron.php needs to be executed by the system user \"%s\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος \"%s\".",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Για να τρέξετε αυτό χρειάζεστε την επέκταση PHP POSIX. Δείτε {linkstart} PHP τεκμηρίωση {linked} για περισσότερες λεπτομέρειες.",
"Version" : "Έκδοση",
"Sharing" : "Διαμοιρασμός",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Ως διαχειριστής μπορείτε να ρυθμίσετε λεπτομερώς την συμπεριφορά διαμοιρασμού.\nΠαρακαλούμε ανατρέξτε στην τεκμηρίωση για περισσότερες πληροφορίες.",
"Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ",
"Allow users to share via link" : "Να επιτρέπεται σε χρήστες ο διαμοιρασμός μέσω συνδέσμου",
"Allow public uploads" : "Επιτρέπεται το κοινόχρηστο ανέβασμα",
@@ -227,6 +267,7 @@
"Exclude groups from sharing" : "Εξαίρεση ομάδων από τον διαμοιρασμό",
"These groups will still be able to receive shares, but not to initiate them." : "Αυτές οι ομάδες θα συνεχίσουν να λαμβάνουν διαμοιρασμούς, αλλά δεν θα είναι δυνατό να τους δημιουργήσουν.",
"Allow username autocompletion in share dialog. If this is disabled the full username needs to be entered." : "Να επιτρέπεται η χρήση αυτόματης συμπλήρωσης στο διάλογο διαμοιρασμού. Αν αυτό είναι απενεργοποιημένο θα πρέπει να εισαχθεί το πλήρες όνομα χρήστη.",
+ "This text will be shown on the public link upload page when the file list is hidden." : "Αυτό το κείμενο θα ",
"Tips & tricks" : "Συμβουλές & τεχνάσματα",
"How to do backups" : "Πώς να κάνετε αντίγραφα ασφαλείας",
"Advanced monitoring" : "Παρακολούθηση για προχωρημένους",
@@ -236,6 +277,7 @@
"Check the security of your Nextcloud over our security scan" : "Ελέγξτε την ασφάλεια του Nextcloud σας μέσω της σάρωσης ασφαλείας",
"Hardening and security guidance" : "Οδηγίες ασφάλειας και θωράκισης",
"You are using <strong>%s</strong> of <strong>%s</strong>" : "Χρησιμοποιείτε <strong>%s</strong> από <strong>%s</strong>",
+ "You are using <strong>%s</strong> of <strong>%s</strong> (<strong>%s %%</strong>)" : "Χρησιμοποιείτε <strong>%s</strong> του <strong>%s</strong>(<strong>%s%%</strong>)",
"Profile picture" : "Φωτογραφία προφίλ",
"Upload new" : "Μεταφόρτωση νέου",
"Select from Files" : "Επιλογή από τα Αρχεία",
@@ -249,6 +291,7 @@
"Email" : "Ηλεκτρονικό ταχυδρομείο",
"Your email address" : "Η διεύθυνση ηλ. ταχυδρομείου σας",
"No email address set" : "Δεν ορίστηκε διεύθυνση email",
+ "For password reset and notifications" : "Για ανάκτηση συνθηματικού και ειδοποιήσεις",
"Phone number" : "Αριθμός τηλεφώνου",
"Your phone number" : "Ο αριθμός τηλεφώνου σας",
"Address" : "Διεύθυνση",
@@ -264,13 +307,20 @@
"Change password" : "Αλλαγή συνθηματικού",
"Language" : "Γλώσσα",
"Help translate" : "Βοηθήστε στη μετάφραση",
+ "Web, desktop and mobile clients currently logged in to your account." : " ",
"Device" : "Συσκευή",
"Last activity" : "Τελευταία δραστηριότητα",
"App name" : "Όνομα εφαρμογής",
"Create new app password" : "Δημιουργία νέου συνθηματικού εφαρμογής",
+ "Use the credentials below to configure your app or device." : "Χρησιμοποιήστε τα παρακάτω διαπιστευτήρια για να ρυθμίσετε την εφαρμογή ή την συσκευή σας.",
"For security reasons this password will only be shown once." : "Για λόγους ασφαλείας αυτό το συνθηματικό θα εμφανιστεί μόνο μια φορά.",
"Username" : "Όνομα χρήστη",
"Done" : "Ολοκληρώθηκε",
+ "Follow us on Google+" : "Ακολουθήστε μας στο Google+",
+ "Like our Facebook page" : "Ακολουθήστε μας στην σελίδα μας στο facebook!",
+ "Follow us on Twitter" : "Ακολουθήστε μας στο Twitter",
+ "Check out our blog" : "Επισκεφθείτε το ιστολόγιό μας!",
+ "Subscribe to our newsletter" : "Εγγραφείτε στο ενημερωτικό δελτίο μας!",
"Settings" : "Ρυθμίσεις",
"Show storage location" : "Εμφάνιση τοποθεσίας αποθήκευσης",
"Show user backend" : "Εμφάνιση χρήστη συστήματος υποστήριξης",
@@ -332,6 +382,7 @@
"cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Το cron.php είναι καταχωρημένο σε μια υπηρεσία webcron ώστε να καλεί το cron.php κάθε 15 λεπτά μέσω http.",
"Use system's cron service to call the cron.php file every 15 minutes." : "Χρησιμοποιήστε την cron υπηρεσία του συτήματος για να καλέσετε το cron.php αρχείο κάθε 15 λεπτά.",
"Uninstall app" : "Απεγκατάσταση εφαρμογης",
+ "Hey there,<br><br>just letting you know that you now have a %s account.<br><br>Your username: <strong>%s</strong><br>Access it: <strong><a href=\"%s\">%s</a></strong><br><br>" : "Χαίρεται,<br><br>απλά σας κάνουμε γνωστό ότι διαθέτετε έναν %s λογαριασμό.<br><br>Το όνομά σας είναι: %s<br>Έχετε πρόσβαση: <a href=\"%s\">%s</a><br><br>",
"Cheers!" : "Χαιρετισμούς!",
"For password recovery and notifications" : "Η ανάκτηση του συνθηματικού και οι ειδοποιήσεις",
"Your website" : "Η ιστοσελίδα σας",
@@ -340,6 +391,7 @@
"Desktop client" : "Πελάτης σταθερού υπολογιστή",
"Android app" : "Εφαρμογή Android",
"iOS app" : "Εφαρμογή iOS",
+ "If you want to support the project {contributeopen}join development{linkclose} or {contributeopen}spread the word{linkclose}!" : "Εάν επιθυμείτε να υποστηρίξετε το έργο {contributeopen}συμμετέχετε στην ανάπτυξη{linkclose} ή {contributeopen}διαδώστε(linkclose}!",
"Show First Run Wizard again" : "Προβολή Οδηγού Πρώτης Εκτέλεσης ξανά",
"Name" : "Όνομα",
"Follow us on Google Plus!" : "Ακολουθήστε μας στο Google Plus!",
diff --git a/settings/l10n/es.js b/settings/l10n/es.js
index 886f422cd02..0a8029c894f 100644
--- a/settings/l10n/es.js
+++ b/settings/l10n/es.js
@@ -101,6 +101,8 @@ OC.L10N.register(
"Enable" : "Activar",
"Enabling app …" : "Activando app ...",
"Error while enabling app" : "Error mientras se activaba la aplicación",
+ "Error: This app can not be enabled because it makes the server unstable" : "Error: Esta app no se puede activar porque desestabiliza el servidor",
+ "Error: Could not disable broken app" : "Error: No se ha podido desactivar una app estropeada",
"Error while disabling broken app" : "Error mientras deshabilitaba la App dañada",
"Updating...." : "Actualizando...",
"Error while updating app" : "Error mientras se actualizaba la aplicación",
@@ -254,6 +256,7 @@ OC.L10N.register(
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para quitar bloques de documento ('strip inline doc blocks'). Esto hará que varias aplicaciones principales estén inaccesibles.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Probablemente esto venga a causa de la caché o un acelerador, tales como Zend OPcache o eAccelerator.",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no se ejecuta con el nivel de aislamiento de transacción \"READ COMMITTED\" . Ésto puede causar problemas cuando múltiples acciones se ejecutan en paralelo.",
+ "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$sestá instalado por debajo de la versión %2$s, por motivos de estabilidad y rendimiento se recomienda actualizar a una versión más moderna de %1$s.",
"The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Es muy recomendable activar este módulo para conseguir mejores resultados en la detección de los tipos MIME.",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está desactivado, esto podría conducir a problemas con 'race conditions'. Activa 'filelocking.enabled' en 'config.php' para solucionar esos problemas. Mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a> para más información.",
"System locale can not be set to a one which supports UTF-8." : "No se puede escoger una configuración regional que soporte UTF-8.",
diff --git a/settings/l10n/es.json b/settings/l10n/es.json
index c25a7034154..719b759c024 100644
--- a/settings/l10n/es.json
+++ b/settings/l10n/es.json
@@ -99,6 +99,8 @@
"Enable" : "Activar",
"Enabling app …" : "Activando app ...",
"Error while enabling app" : "Error mientras se activaba la aplicación",
+ "Error: This app can not be enabled because it makes the server unstable" : "Error: Esta app no se puede activar porque desestabiliza el servidor",
+ "Error: Could not disable broken app" : "Error: No se ha podido desactivar una app estropeada",
"Error while disabling broken app" : "Error mientras deshabilitaba la App dañada",
"Updating...." : "Actualizando...",
"Error while updating app" : "Error mientras se actualizaba la aplicación",
@@ -252,6 +254,7 @@
"PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para quitar bloques de documento ('strip inline doc blocks'). Esto hará que varias aplicaciones principales estén inaccesibles.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Probablemente esto venga a causa de la caché o un acelerador, tales como Zend OPcache o eAccelerator.",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Su base de datos no se ejecuta con el nivel de aislamiento de transacción \"READ COMMITTED\" . Ésto puede causar problemas cuando múltiples acciones se ejecutan en paralelo.",
+ "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$sestá instalado por debajo de la versión %2$s, por motivos de estabilidad y rendimiento se recomienda actualizar a una versión más moderna de %1$s.",
"The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "Falta el módulo PHP 'fileinfo'. Es muy recomendable activar este módulo para conseguir mejores resultados en la detección de los tipos MIME.",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "El bloqueo de archivos transaccional está desactivado, esto podría conducir a problemas con 'race conditions'. Activa 'filelocking.enabled' en 'config.php' para solucionar esos problemas. Mira la <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentación ↗</a> para más información.",
"System locale can not be set to a one which supports UTF-8." : "No se puede escoger una configuración regional que soporte UTF-8.",
diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js
index 03807900a1d..5a412cb4820 100644
--- a/settings/l10n/ja.js
+++ b/settings/l10n/ja.js
@@ -48,7 +48,7 @@ OC.L10N.register(
"_You have %n app update pending_::_You have %n app updates pending_" : ["%n 個のアプリのアップデートを保留中"],
"No apps found for your version" : "現在のバージョンに対応するアプリはありません",
"The app will be downloaded from the app store" : "このアプリは、アプリストアからダウンロードできます。",
- "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "公式アプリは ownCloud コミュニティにより開発されています。公式アプリは ownCloud の中心的な機能を提供し、製品として可能です。",
+ "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "公式アプリは Nextcloud コミュニティにより開発されています。公式アプリは Nextcloud の中心的な機能を提供し、製品として可能です。",
"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 …" : "アプリを無効にします …",
@@ -179,7 +179,7 @@ OC.L10N.register(
"Enable server-side encryption" : "サーバーサイド暗号化を有効にする",
"Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によくお読みください:",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "暗号化を一度有効化すると、この時点からサーバーにアップロードされるファイルの全てが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にすることが可能です。",
- "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。",
+ "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについては Nextcloud のドキュメントを参照してください。",
"Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。",
"This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?",
@@ -258,7 +258,7 @@ OC.L10N.register(
"Change password" : "パスワードを変更",
"Language" : "言語",
"Help translate" : "翻訳に協力する",
- "Web, desktop and mobile clients currently logged in to your account." : "現在、Web、デスクトップ、モバイルアプリで ownCloud にログインしている端末一覧です。",
+ "Web, desktop and mobile clients currently logged in to your account." : "現在、Web、デスクトップ、モバイルアプリであなたのアカウントにログインしている端末一覧です。",
"Device" : "デバイス",
"Last activity" : "最後の活動",
"App name" : "アプリ名",
diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json
index c5f753cafa2..86dc1c7368d 100644
--- a/settings/l10n/ja.json
+++ b/settings/l10n/ja.json
@@ -46,7 +46,7 @@
"_You have %n app update pending_::_You have %n app updates pending_" : ["%n 個のアプリのアップデートを保留中"],
"No apps found for your version" : "現在のバージョンに対応するアプリはありません",
"The app will be downloaded from the app store" : "このアプリは、アプリストアからダウンロードできます。",
- "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "公式アプリは ownCloud コミュニティにより開発されています。公式アプリは ownCloud の中心的な機能を提供し、製品として可能です。",
+ "Official apps are developed by and within the community. They offer central functionality and are ready for production use." : "公式アプリは Nextcloud コミュニティにより開発されています。公式アプリは Nextcloud の中心的な機能を提供し、製品として可能です。",
"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 …" : "アプリを無効にします …",
@@ -177,7 +177,7 @@
"Enable server-side encryption" : "サーバーサイド暗号化を有効にする",
"Please read carefully before activating server-side encryption: " : "サーバーサイド暗号化を有効にする前によくお読みください:",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "暗号化を一度有効化すると、この時点からサーバーにアップロードされるファイルの全てが暗号化されサーバー上に入ります。有効化された暗号モジュールは復号化機能をサポートしますが、すべての前提条件が満たされている(例えば、回復キーが設定されている)場合にのみ、後日暗号化を無効にすることが可能です。",
- "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについてはownCloudのドキュメントを参照してください。",
+ "Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "暗号化だけで、システムのセキュリティが保証されるものではありません。暗号化アプリがどのように動作するかの詳細について、およびサポートされているユースケースについては Nextcloud のドキュメントを参照してください。",
"Be aware that encryption always increases the file size." : "暗号化は、常にファイルサイズが増加することに注意してください。",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "暗号化した場合には必ず、あなたのデータと共に暗号化キーをバックアップすることを確認し、定期的にデータをバックアップを作成することをお勧めします。",
"This is the final warning: Do you really want to enable encryption?" : "これが最後の警告です:本当に暗号化を有効にしますか?",
@@ -256,7 +256,7 @@
"Change password" : "パスワードを変更",
"Language" : "言語",
"Help translate" : "翻訳に協力する",
- "Web, desktop and mobile clients currently logged in to your account." : "現在、Web、デスクトップ、モバイルアプリで ownCloud にログインしている端末一覧です。",
+ "Web, desktop and mobile clients currently logged in to your account." : "現在、Web、デスクトップ、モバイルアプリであなたのアカウントにログインしている端末一覧です。",
"Device" : "デバイス",
"Last activity" : "最後の活動",
"App name" : "アプリ名",
diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js
index 18216e39fa7..83ed1b8414f 100644
--- a/settings/l10n/nl.js
+++ b/settings/l10n/nl.js
@@ -101,6 +101,8 @@ OC.L10N.register(
"Enable" : "Activeer",
"Enabling app …" : "Activeren app ...",
"Error while enabling app" : "Fout tijdens het inschakelen van het programma",
+ "Error: This app can not be enabled because it makes the server unstable" : "Fout: Deze app kan niet ingeschakeld worden, omdat die de server onstabiel maakt",
+ "Error: Could not disable broken app" : "Fout: Kan de beschadigde app niet uitschakelen",
"Error while disabling broken app" : "Fout bij het uitschakelen van de beschadigde app",
"Updating...." : "Bijwerken....",
"Error while updating app" : "Fout bij het bijwerken van de app",
@@ -248,11 +250,20 @@ OC.L10N.register(
"Start migration" : "Start migratie",
"Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles goed is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de ocumentatie voor meer informatie.",
+ "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lijkt niet goed te zijn opgezet om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controleer de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is ingeschakeld. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kern apps niet berijkbaar.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dit wordt vermoedelijk veroorzaakt door een cache/accelerator, zoals Zend OPcache of eAccelerator.",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Je database draait niet met \"READ COMMITTED\" transactie-isolatie niveau. Dit kan problemen opleveren als er meerdere acties tegelijkertijd worden uitgevoerd.",
+ "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lager dan versie %2$s is geïnstalleerd, voor betere stabiliteit en prestaties adviseren wij om %1$s te vervangen door een nieuwere versie.",
+ "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor MIME-type detectie.",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transactionele bestandlocking is uitgeschakeld, dat zou namelijk kunnen leiden tot versiebeheerproblemen. Schakel 'filelocking enabled' in config.php in om deze problemen te voorkomen. Zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie ↗</a> voor meer informatie.",
"System locale can not be set to a one which supports UTF-8." : "De systeemtaal kan niet worden ingesteld op een taal die UTF-8 ondersteunt.",
+ "This means that there might be problems with certain characters in filenames." : "Dat betekent dat er problemen kunnen optreden met bepaalde tekens in bestandsnamen.",
+ "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op je systeem te installeren om een van de volgende talen te ondersteunen: %s.",
+ "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als je installatie niet in de hoofddirectory van het domein staat, maar wel systeem cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou je de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van je installatie (aanbevolen: \"%s\")",
+ "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Het was niet mogelijk om de systeem cron via CLI uit te voeren. De volgende technische problemen traden op:",
"Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatie handleiding</a> goed door en controleer op fouten en waarschuwingen in de <a href=\"%s\">logging</a>.",
"All checks passed." : "Alle checks geslaagd",
"Background jobs" : "Achtergrond jobs",
@@ -264,6 +275,7 @@ OC.L10N.register(
"cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.php is geregistreerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.",
"Use system cron service to call the cron.php file every 15 minutes." : "Gebruik de systeemcron service om cron.php elke 15 minuten aan te roepen.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php moet worden uitgevoerd door systeemgebruiker \"%s\".",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "PHP POSIX extensie is vereist om dit te draaien. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.",
"Version" : "Versie",
"Sharing" : "Delen",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als beheerder kun je het deel-gedrag optimaliseren. Bekijk de documentatie voor meer informatie.",
diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json
index 59f06b02b96..ac046d5ac94 100644
--- a/settings/l10n/nl.json
+++ b/settings/l10n/nl.json
@@ -99,6 +99,8 @@
"Enable" : "Activeer",
"Enabling app …" : "Activeren app ...",
"Error while enabling app" : "Fout tijdens het inschakelen van het programma",
+ "Error: This app can not be enabled because it makes the server unstable" : "Fout: Deze app kan niet ingeschakeld worden, omdat die de server onstabiel maakt",
+ "Error: Could not disable broken app" : "Fout: Kan de beschadigde app niet uitschakelen",
"Error while disabling broken app" : "Fout bij het uitschakelen van de beschadigde app",
"Updating...." : "Bijwerken....",
"Error while updating app" : "Fout bij het bijwerken van de app",
@@ -246,11 +248,20 @@
"Start migration" : "Start migratie",
"Security & setup warnings" : "Beveiligings- en instellingswaarschuwingen",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the Tips & Ticks section and the documentation for more information." : "Voor beveiliging en prestaties van je server is het belangrijk dat alles goed is geconfigureerd. Om je hierbij te helpen doen we paar automatische controles. Bekijk de Tips & Trucs sectie en de ocumentatie voor meer informatie.",
+ "PHP does not seem to be setup properly to query system environment variables. The test with getenv(\"PATH\") only returns an empty response." : "PHP lijkt niet goed te zijn opgezet om systeemomgevingsvariabelen te bevragen. De test met getenv(\"PATH\") gaf een leeg resultaat.",
+ "Please check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation documentation ↗</a> for PHP configuration notes and the PHP configuration of your server, especially when using php-fpm." : "Controleer de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatiedocumentatie ↗</a> voor php configuratienotities en de php configuratie van je server, zeker bij gebruik van php-fpm.",
"The Read-Only config has been enabled. This prevents setting some configurations via the web-interface. Furthermore, the file needs to be made writable manually for every update." : "De Alleen-lezen config is ingeschakeld. Dit voorkomt het via de webinterface wijzigen van verschillende instellingen. Bovendien moet het bestand voor elke aanpassing handmatig op beschrijfbaar worden ingesteld.",
+ "PHP is apparently set up to strip inline doc blocks. This will make several core apps inaccessible." : "PHP is blijkbaar zo ingesteld dat inline doc blokken worden gestript. Hierdoor worden verschillende kern apps niet berijkbaar.",
"This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Dit wordt vermoedelijk veroorzaakt door een cache/accelerator, zoals Zend OPcache of eAccelerator.",
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Je database draait niet met \"READ COMMITTED\" transactie-isolatie niveau. Dit kan problemen opleveren als er meerdere acties tegelijkertijd worden uitgevoerd.",
+ "%1$s below version %2$s is installed, for stability and performance reasons it is recommended to update to a newer %1$s version." : "%1$s lager dan versie %2$s is geïnstalleerd, voor betere stabiliteit en prestaties adviseren wij om %1$s te vervangen door een nieuwere versie.",
+ "The PHP module 'fileinfo' is missing. It is strongly recommended to enable this module to get the best results with MIME type detection." : "De PHP module 'fileinfo' ontbreekt. We adviseren met klem om deze module te activeren om de beste resultaten te bereiken voor MIME-type detectie.",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Transactionele bestandlocking is uitgeschakeld, dat zou namelijk kunnen leiden tot versiebeheerproblemen. Schakel 'filelocking enabled' in config.php in om deze problemen te voorkomen. Zie de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentatie ↗</a> voor meer informatie.",
"System locale can not be set to a one which supports UTF-8." : "De systeemtaal kan niet worden ingesteld op een taal die UTF-8 ondersteunt.",
+ "This means that there might be problems with certain characters in filenames." : "Dat betekent dat er problemen kunnen optreden met bepaalde tekens in bestandsnamen.",
+ "It is strongly proposed to install the required packages on your system to support one of the following locales: %s." : "We adviseren met klem om de noodzakelijke pakketten op je systeem te installeren om een van de volgende talen te ondersteunen: %s.",
+ "If your installation is not installed at the root of the domain and uses system Cron, there can be issues with the URL generation. To avoid these problems, please set the \"overwrite.cli.url\" option in your config.php file to the webroot path of your installation (Suggested: \"%s\")" : "Als je installatie niet in de hoofddirectory van het domein staat, maar wel systeem cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou je de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van je installatie (aanbevolen: \"%s\")",
+ "It was not possible to execute the cron job via CLI. The following technical errors have appeared:" : "Het was niet mogelijk om de systeem cron via CLI uit te voeren. De volgende technische problemen traden op:",
"Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Lees de <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installatie handleiding</a> goed door en controleer op fouten en waarschuwingen in de <a href=\"%s\">logging</a>.",
"All checks passed." : "Alle checks geslaagd",
"Background jobs" : "Achtergrond jobs",
@@ -262,6 +273,7 @@
"cron.php is registered at a webcron service to call cron.php every 15 minutes over HTTP." : "cron.php is geregistreerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.",
"Use system cron service to call the cron.php file every 15 minutes." : "Gebruik de systeemcron service om cron.php elke 15 minuten aan te roepen.",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php moet worden uitgevoerd door systeemgebruiker \"%s\".",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "PHP POSIX extensie is vereist om dit te draaien. Bekijk {linkstart}PHP documentatie{linkend} voor meer informatie.",
"Version" : "Versie",
"Sharing" : "Delen",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Als beheerder kun je het deel-gedrag optimaliseren. Bekijk de documentatie voor meer informatie.",
diff --git a/settings/l10n/sq.js b/settings/l10n/sq.js
index 2be05e7bb96..3a4f67e14e0 100644
--- a/settings/l10n/sq.js
+++ b/settings/l10n/sq.js
@@ -45,7 +45,7 @@ OC.L10N.register(
"Your full name has been changed." : "Emri juaj i plotë u ndryshua.",
"Forbidden" : "E ndaluar",
"Invalid user" : "Përdorues i pavlefshëm",
- "Unable to change mail address" : "S’arrin të ndryshojë adresë email",
+ "Unable to change mail address" : "E pamundur të ndryshojë adresën e email-it",
"Email saved" : "Email-i u ruajt",
"%1$s changed your password on %2$s." : "%1$s ju ka ndryshuar fjalëkalmin në %2$s.",
"Your password on %s was changed." : "Fjalëkalimi juaj në %s u ndryshua. ",
@@ -231,8 +231,10 @@ OC.L10N.register(
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Baza juaj e të dhënave nuk ekzekutohet me nivelin \"READ COMMITED\" e izolimit për ndërveprimet. Kjo mund të shkaktojë probleme, kur kryhen paralelisht disa veprime njëherësh.",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Kyçja e kartelave gjatë transaksioneve është e çaktivizuar, kjo mund të sjellë probleme me gjendje <em>race conditions</em>. Që të shmangni këto probleme, aktivizoni 'filelocking.enabled' te config.php. Për më tepër të dhëna, shihni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentimin ↗</a>.",
"System locale can not be set to a one which supports UTF-8." : "Si vendore sistemi nuk mund të caktohet një që mbulon UTF-8.",
+ "This means that there might be problems with certain characters in filenames." : "Kjo do të thotë që mund të ketë probleme me disa karaktere në emrat e skedarëve.",
"Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Ju lutem riverifikoni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\"> udhëzuesin e instalimit </a>,, dhe kontrolloni për ndonjë gabim apo njoftim paraprak në <a href=\"%s\">log</a>.",
"All checks passed." : "I kaloi krejt kontrollet.",
+ "Background job didn’t run yet!" : "Puna ne background nuk ka filluar akoma!",
"Execute one task with each page loaded" : "Kryeni vetëm një veprim me secilën prej faqeve të ngarkuara",
"The cron.php needs to be executed by the system user \"%s\"." : "con.php duhet të ekzekutohet bga përdoruesi i sistemit \"%s\".",
"Version" : "Version",
@@ -240,6 +242,7 @@ OC.L10N.register(
"Allow apps to use the Share API" : "Lejoni aplikacionet të përdorin API Share",
"Allow users to share via link" : "Lejoji përdoruesit të ndajnë me të tjerët përmes lidhjesh",
"Allow public uploads" : "Lejo ngarkime publike",
+ "Always ask for a password" : "Gjithmonë pyet për një fjalëkalim",
"Enforce password protection" : "Detyro mbrojtje me fjalëkalim",
"Set default expiration date" : "Caktoni datë parazgjedhje skadimi",
"Expire after " : "Skadon pas ",
@@ -285,6 +288,7 @@ OC.L10N.register(
"Your postal address" : "Adresa juaj postale",
"Website" : "Faqe web-i",
"It can take up to 24 hours before the account is displayed as verified." : "Kjo mund të marrë mbi 24 orë, përpara se llogaria të shfaqet si e verifikuar.",
+ "Link https://…" : "Linku https://…",
"Twitter" : "Twitter",
"You are member of the following groups:" : "Jeni anëtar i grupeve vijuese:",
"Password" : "Fjalëkalim",
@@ -303,6 +307,11 @@ OC.L10N.register(
"Username" : "Emër përdoruesi",
"Done" : "U bë",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Zhvilluar nga {communityopen}komuniteti Nextcloud {linkclose}, {githubopen}kodi i hapur{linkclose} iështë licensuar sipar {licenseopen}AGPL{linkclose}.",
+ "Follow us on Google+" : "Na ndiqni në Google+",
+ "Like our Facebook page" : "Pëlqeni faqen tonë në Facebook",
+ "Follow us on Twitter" : "Na ndiqni në Twitter",
+ "Check out our blog" : "Shikoni blogun tonë",
+ "Subscribe to our newsletter" : "Abonohu në gazeten tonë",
"Settings" : "Konfigurimet",
"Show storage location" : "Shfaq vendndodhje depozite",
"Show user backend" : "Shfaq programin klient të përdoruesit",
diff --git a/settings/l10n/sq.json b/settings/l10n/sq.json
index 256b27ecbae..11f5baec791 100644
--- a/settings/l10n/sq.json
+++ b/settings/l10n/sq.json
@@ -43,7 +43,7 @@
"Your full name has been changed." : "Emri juaj i plotë u ndryshua.",
"Forbidden" : "E ndaluar",
"Invalid user" : "Përdorues i pavlefshëm",
- "Unable to change mail address" : "S’arrin të ndryshojë adresë email",
+ "Unable to change mail address" : "E pamundur të ndryshojë adresën e email-it",
"Email saved" : "Email-i u ruajt",
"%1$s changed your password on %2$s." : "%1$s ju ka ndryshuar fjalëkalmin në %2$s.",
"Your password on %s was changed." : "Fjalëkalimi juaj në %s u ndryshua. ",
@@ -229,8 +229,10 @@
"Your database does not run with \"READ COMMITTED\" transaction isolation level. This can cause problems when multiple actions are executed in parallel." : "Baza juaj e të dhënave nuk ekzekutohet me nivelin \"READ COMMITED\" e izolimit për ndërveprimet. Kjo mund të shkaktojë probleme, kur kryhen paralelisht disa veprime njëherësh.",
"Transactional file locking is disabled, this might lead to issues with race conditions. Enable 'filelocking.enabled' in config.php to avoid these problems. See the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">documentation ↗</a> for more information." : "Kyçja e kartelave gjatë transaksioneve është e çaktivizuar, kjo mund të sjellë probleme me gjendje <em>race conditions</em>. Që të shmangni këto probleme, aktivizoni 'filelocking.enabled' te config.php. Për më tepër të dhëna, shihni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">dokumentimin ↗</a>.",
"System locale can not be set to a one which supports UTF-8." : "Si vendore sistemi nuk mund të caktohet një që mbulon UTF-8.",
+ "This means that there might be problems with certain characters in filenames." : "Kjo do të thotë që mund të ketë probleme me disa karaktere në emrat e skedarëve.",
"Please double check the <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%s\">log</a>." : "Ju lutem riverifikoni <a target=\"_blank\" rel=\"noreferrer\" href=\"%s\"> udhëzuesin e instalimit </a>,, dhe kontrolloni për ndonjë gabim apo njoftim paraprak në <a href=\"%s\">log</a>.",
"All checks passed." : "I kaloi krejt kontrollet.",
+ "Background job didn’t run yet!" : "Puna ne background nuk ka filluar akoma!",
"Execute one task with each page loaded" : "Kryeni vetëm një veprim me secilën prej faqeve të ngarkuara",
"The cron.php needs to be executed by the system user \"%s\"." : "con.php duhet të ekzekutohet bga përdoruesi i sistemit \"%s\".",
"Version" : "Version",
@@ -238,6 +240,7 @@
"Allow apps to use the Share API" : "Lejoni aplikacionet të përdorin API Share",
"Allow users to share via link" : "Lejoji përdoruesit të ndajnë me të tjerët përmes lidhjesh",
"Allow public uploads" : "Lejo ngarkime publike",
+ "Always ask for a password" : "Gjithmonë pyet për një fjalëkalim",
"Enforce password protection" : "Detyro mbrojtje me fjalëkalim",
"Set default expiration date" : "Caktoni datë parazgjedhje skadimi",
"Expire after " : "Skadon pas ",
@@ -283,6 +286,7 @@
"Your postal address" : "Adresa juaj postale",
"Website" : "Faqe web-i",
"It can take up to 24 hours before the account is displayed as verified." : "Kjo mund të marrë mbi 24 orë, përpara se llogaria të shfaqet si e verifikuar.",
+ "Link https://…" : "Linku https://…",
"Twitter" : "Twitter",
"You are member of the following groups:" : "Jeni anëtar i grupeve vijuese:",
"Password" : "Fjalëkalim",
@@ -301,6 +305,11 @@
"Username" : "Emër përdoruesi",
"Done" : "U bë",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Zhvilluar nga {communityopen}komuniteti Nextcloud {linkclose}, {githubopen}kodi i hapur{linkclose} iështë licensuar sipar {licenseopen}AGPL{linkclose}.",
+ "Follow us on Google+" : "Na ndiqni në Google+",
+ "Like our Facebook page" : "Pëlqeni faqen tonë në Facebook",
+ "Follow us on Twitter" : "Na ndiqni në Twitter",
+ "Check out our blog" : "Shikoni blogun tonë",
+ "Subscribe to our newsletter" : "Abonohu në gazeten tonë",
"Settings" : "Konfigurimet",
"Show storage location" : "Shfaq vendndodhje depozite",
"Show user backend" : "Shfaq programin klient të përdoruesit",
diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js
index ea9df9c75cd..7dedf175dfa 100644
--- a/settings/l10n/zh_TW.js
+++ b/settings/l10n/zh_TW.js
@@ -1,8 +1,17 @@
OC.L10N.register(
"settings",
{
- "You changed your password" : "你已更改你的密碼",
- "Your password was reset by an administrator" : "你的密碼已被管理員重設",
+ "{actor} changed your password" : "{actor} 變更了您的密碼",
+ "You changed your password" : "您已變更您的密碼",
+ "Your password was reset by an administrator" : "您的密碼已被管理員重設",
+ "{actor} changed your email address" : "{actor} 變更了您的電子郵件地址",
+ "You changed your email address" : "您已更改您的電子郵件地址",
+ "Your email address was changed by an administrator" : "您的電子郵件已被管理員變更",
+ "Security" : "安全性",
+ "Your apps" : "您的應用程式",
+ "Enabled apps" : "已啓用應用程式",
+ "Disabled apps" : "已停用應用程式",
+ "App bundles" : "應用程式套裝",
"Wrong password" : "密碼錯誤",
"Saved" : "已儲存",
"No user supplied" : "未提供使用者",
@@ -17,18 +26,24 @@ OC.L10N.register(
"Group already exists." : "群組已存在",
"Unable to add group." : "無法新增群組",
"Unable to delete group." : "無法刪除群組",
+ "Invalid SMTP password." : "無效的 SMTP 密碼",
+ "Email setting test" : "測試郵件設定",
+ "Email could not be sent. Check your mail server log" : "郵件無法寄出,請查閱mail伺服器記錄檔",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "寄出郵件時發生問題,請檢查您的設定(錯誤訊息:%s)",
"You need to set your user email before being able to send test emails." : "在寄出測試郵件前您需要設定信箱位址",
"Invalid mail address" : "無效的 email 地址",
+ "No valid group selected" : "無效的群組",
"A user with that name already exists." : "同名的使用者已經存在",
"Unable to create user." : "無法建立使用者",
"Unable to delete user." : "無法移除使用者",
"Unable to change full name" : "無法變更全名",
+ "Unable to change email address" : "無法變更email地址",
"Your full name has been changed." : "您的全名已變更",
"Forbidden" : "存取被拒",
"Invalid user" : "無效的使用者",
"Unable to change mail address" : "無法更改 email 地址",
"Email saved" : "Email 已儲存",
+ "Set your password" : "設定您的密碼",
"Your %s account was created" : "您的 %s 帳號已經建立",
"Couldn't remove app." : "無法移除應用程式",
"Couldn't update app." : "無法更新應用程式",
@@ -36,10 +51,12 @@ OC.L10N.register(
"Migration in progress. Please wait until the migration is finished" : "資料搬移中,請耐心等候直到資料搬移結束",
"Migration started …" : "開始遷移…",
"Not saved" : "未儲存",
+ "Sending…" : "傳送中…",
"Email sent" : "Email 已寄出",
"Official" : "官方",
"All" : "所有",
"Update to %s" : "更新到 %s",
+ "_You have %n app update pending_::_You have %n app updates pending_" : ["%n 個應用程式尚未更新"],
"No apps found for your version" : "沒有找到適合您的版本的應用程式",
"The app will be downloaded from the app store" : "將會從應用程式商店下載這個應用程式",
"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." : "審查通過的應用程式經由可信任的開發人員所設計,並且經過一連串的安全測試,他們在開放的程式庫中維護這些應用程式,而且確保這些應用程式能穩定運作",
@@ -47,23 +64,36 @@ OC.L10N.register(
"Error while disabling app" : "停用應用程式錯誤",
"Disable" : "停用",
"Enable" : "啟用",
+ "Enabling app …" : "啟動中...",
"Error while enabling app" : "啟用應用程式錯誤",
+ "Error: This app can not be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它使伺服器不穩定",
"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" : "審查通過",
"Experimental" : "實驗性質",
+ "No apps found for {query}" : "沒有符合 {query} 的應用程式",
+ "Enable all" : "全部啟用",
"Disconnect" : "中斷連線",
+ "Revoke" : "撤消",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
+ "Google Chrome" : "Google Chrome",
+ "Safari" : "Safari",
"Google Chrome for Android" : "Google Chrome for Android",
+ "iPhone iOS" : "iPhone iOS",
+ "iPad iOS" : "iPad iOS",
"iOS Client" : "iOS 客戶端",
"Android Client" : "Android 客戶端",
"Sync client - {os}" : "同步客戶端 - {os}",
"This session" : "目前的工作階段",
+ "Copy" : "複製",
"Copied!" : "已複製",
"Not supported!" : "不支援!",
"Press ⌘-C to copy." : "按下 ⌘-C 來複製",
@@ -71,6 +101,10 @@ OC.L10N.register(
"An error occurred. Please upload an ASCII-encoded PEM certificate." : "發生錯誤,請您上傳 ASCII 編碼的 PEM 憑證",
"Valid until {date}" : "{date} 前有效",
"Delete" : "刪除",
+ "Local" : "本地",
+ "Private" : "私人的",
+ "Contacts" : "聯絡人",
+ "Public" : "公開",
"Select a profile picture" : "選擇大頭貼",
"Very weak password" : "密碼強度非常弱",
"Weak password" : "密碼強度弱",
@@ -82,8 +116,12 @@ OC.L10N.register(
"A valid group name must be provided" : "必須提供一個有效的群組名稱",
"deleted {groupName}" : "刪除 {groupName}",
"undo" : "復原",
+ "{size} used" : "{size} 已使用",
"never" : "永不",
"deleted {userName}" : "刪除 {userName}",
+ "Add group" : "新增群組",
+ "no group" : "沒有群組",
+ "Password successfully changed" : "成功變更密碼",
"Changing the password will result in data loss, because data recovery is not available for this user" : "更改密碼會造成資料遺失,因為資料復原的功能無法在這個使用者使用",
"A valid username must be provided" : "必須提供一個有效的用戶名",
"A valid password must be provided" : "一定要提供一個有效的密碼",
diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json
index 344e37aa6d2..8fcafb7e360 100644
--- a/settings/l10n/zh_TW.json
+++ b/settings/l10n/zh_TW.json
@@ -1,6 +1,15 @@
{ "translations": {
- "You changed your password" : "你已更改你的密碼",
- "Your password was reset by an administrator" : "你的密碼已被管理員重設",
+ "{actor} changed your password" : "{actor} 變更了您的密碼",
+ "You changed your password" : "您已變更您的密碼",
+ "Your password was reset by an administrator" : "您的密碼已被管理員重設",
+ "{actor} changed your email address" : "{actor} 變更了您的電子郵件地址",
+ "You changed your email address" : "您已更改您的電子郵件地址",
+ "Your email address was changed by an administrator" : "您的電子郵件已被管理員變更",
+ "Security" : "安全性",
+ "Your apps" : "您的應用程式",
+ "Enabled apps" : "已啓用應用程式",
+ "Disabled apps" : "已停用應用程式",
+ "App bundles" : "應用程式套裝",
"Wrong password" : "密碼錯誤",
"Saved" : "已儲存",
"No user supplied" : "未提供使用者",
@@ -15,18 +24,24 @@
"Group already exists." : "群組已存在",
"Unable to add group." : "無法新增群組",
"Unable to delete group." : "無法刪除群組",
+ "Invalid SMTP password." : "無效的 SMTP 密碼",
+ "Email setting test" : "測試郵件設定",
+ "Email could not be sent. Check your mail server log" : "郵件無法寄出,請查閱mail伺服器記錄檔",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "寄出郵件時發生問題,請檢查您的設定(錯誤訊息:%s)",
"You need to set your user email before being able to send test emails." : "在寄出測試郵件前您需要設定信箱位址",
"Invalid mail address" : "無效的 email 地址",
+ "No valid group selected" : "無效的群組",
"A user with that name already exists." : "同名的使用者已經存在",
"Unable to create user." : "無法建立使用者",
"Unable to delete user." : "無法移除使用者",
"Unable to change full name" : "無法變更全名",
+ "Unable to change email address" : "無法變更email地址",
"Your full name has been changed." : "您的全名已變更",
"Forbidden" : "存取被拒",
"Invalid user" : "無效的使用者",
"Unable to change mail address" : "無法更改 email 地址",
"Email saved" : "Email 已儲存",
+ "Set your password" : "設定您的密碼",
"Your %s account was created" : "您的 %s 帳號已經建立",
"Couldn't remove app." : "無法移除應用程式",
"Couldn't update app." : "無法更新應用程式",
@@ -34,10 +49,12 @@
"Migration in progress. Please wait until the migration is finished" : "資料搬移中,請耐心等候直到資料搬移結束",
"Migration started …" : "開始遷移…",
"Not saved" : "未儲存",
+ "Sending…" : "傳送中…",
"Email sent" : "Email 已寄出",
"Official" : "官方",
"All" : "所有",
"Update to %s" : "更新到 %s",
+ "_You have %n app update pending_::_You have %n app updates pending_" : ["%n 個應用程式尚未更新"],
"No apps found for your version" : "沒有找到適合您的版本的應用程式",
"The app will be downloaded from the app store" : "將會從應用程式商店下載這個應用程式",
"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." : "審查通過的應用程式經由可信任的開發人員所設計,並且經過一連串的安全測試,他們在開放的程式庫中維護這些應用程式,而且確保這些應用程式能穩定運作",
@@ -45,23 +62,36 @@
"Error while disabling app" : "停用應用程式錯誤",
"Disable" : "停用",
"Enable" : "啟用",
+ "Enabling app …" : "啟動中...",
"Error while enabling app" : "啟用應用程式錯誤",
+ "Error: This app can not be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它使伺服器不穩定",
"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" : "審查通過",
"Experimental" : "實驗性質",
+ "No apps found for {query}" : "沒有符合 {query} 的應用程式",
+ "Enable all" : "全部啟用",
"Disconnect" : "中斷連線",
+ "Revoke" : "撤消",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
+ "Google Chrome" : "Google Chrome",
+ "Safari" : "Safari",
"Google Chrome for Android" : "Google Chrome for Android",
+ "iPhone iOS" : "iPhone iOS",
+ "iPad iOS" : "iPad iOS",
"iOS Client" : "iOS 客戶端",
"Android Client" : "Android 客戶端",
"Sync client - {os}" : "同步客戶端 - {os}",
"This session" : "目前的工作階段",
+ "Copy" : "複製",
"Copied!" : "已複製",
"Not supported!" : "不支援!",
"Press ⌘-C to copy." : "按下 ⌘-C 來複製",
@@ -69,6 +99,10 @@
"An error occurred. Please upload an ASCII-encoded PEM certificate." : "發生錯誤,請您上傳 ASCII 編碼的 PEM 憑證",
"Valid until {date}" : "{date} 前有效",
"Delete" : "刪除",
+ "Local" : "本地",
+ "Private" : "私人的",
+ "Contacts" : "聯絡人",
+ "Public" : "公開",
"Select a profile picture" : "選擇大頭貼",
"Very weak password" : "密碼強度非常弱",
"Weak password" : "密碼強度弱",
@@ -80,8 +114,12 @@
"A valid group name must be provided" : "必須提供一個有效的群組名稱",
"deleted {groupName}" : "刪除 {groupName}",
"undo" : "復原",
+ "{size} used" : "{size} 已使用",
"never" : "永不",
"deleted {userName}" : "刪除 {userName}",
+ "Add group" : "新增群組",
+ "no group" : "沒有群組",
+ "Password successfully changed" : "成功變更密碼",
"Changing the password will result in data loss, because data recovery is not available for this user" : "更改密碼會造成資料遺失,因為資料復原的功能無法在這個使用者使用",
"A valid username must be provided" : "必須提供一個有效的用戶名",
"A valid password must be provided" : "一定要提供一個有效的密碼",
diff --git a/tests/Settings/Mailer/NewUserMailHelperTest.php b/tests/Settings/Mailer/NewUserMailHelperTest.php
index a8b67278e77..40ba9ee1c21 100644
--- a/tests/Settings/Mailer/NewUserMailHelperTest.php
+++ b/tests/Settings/Mailer/NewUserMailHelperTest.php
@@ -182,7 +182,7 @@ class NewUserMailHelperTest extends TestCase {
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="min-width:580px;width:100%">
- <img class="logo float-center" src="" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;max-height:100%;max-width:100px;outline:0;text-align:center;text-decoration:none;width:auto">
+ <img class="logo float-center" src="" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none" height="50">
</center>
</tr>
</tbody>
@@ -415,7 +415,7 @@ EOF;
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="min-width:580px;width:100%">
- <img class="logo float-center" src="" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;max-height:100%;max-width:100px;outline:0;text-align:center;text-decoration:none;width:auto">
+ <img class="logo float-center" src="" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none" height="50">
</center>
</tr>
</tbody>
diff --git a/tests/data/emails/new-account-email-custom.html b/tests/data/emails/new-account-email-custom.html
index a60902ae306..e35b9f57848 100644
--- a/tests/data/emails/new-account-email-custom.html
+++ b/tests/data/emails/new-account-email-custom.html
@@ -23,7 +23,7 @@
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="min-width:580px;width:100%">
- <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;max-height:100%;max-width:100px;outline:0;text-align:center;text-decoration:none;width:auto">
+ <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none" height="50">
</center>
</tr>
</tbody>
diff --git a/tests/data/emails/new-account-email-single-button.html b/tests/data/emails/new-account-email-single-button.html
index 50763efa5b5..d70a8a647d3 100644
--- a/tests/data/emails/new-account-email-single-button.html
+++ b/tests/data/emails/new-account-email-single-button.html
@@ -23,7 +23,7 @@
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="min-width:580px;width:100%">
- <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;max-height:100%;max-width:100px;outline:0;text-align:center;text-decoration:none;width:auto">
+ <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none" height="50">
</center>
</tr>
</tbody>
diff --git a/tests/data/emails/new-account-email.html b/tests/data/emails/new-account-email.html
index 32568e11b66..3e8814bbfbb 100644
--- a/tests/data/emails/new-account-email.html
+++ b/tests/data/emails/new-account-email.html
@@ -23,7 +23,7 @@
<tbody>
<tr style="padding:0;text-align:left;vertical-align:top">
<center data-parsed="" style="min-width:580px;width:100%">
- <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;max-height:100%;max-width:100px;outline:0;text-align:center;text-decoration:none;width:auto">
+ <img class="logo float-center" src="https://example.org/img/logo-mail-header.png" alt="TestCloud" align="center" style="-ms-interpolation-mode:bicubic;Margin:0 auto;clear:both;display:block;float:none;margin:0 auto;outline:0;text-align:center;text-decoration:none" height="50">
</center>
</tr>
</tbody>