From 3234c91557a5737e9e14097efa31e723b3ca390b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 10 Nov 2014 12:00:27 -0800 Subject: [PATCH 001/329] google: drop duplicate path trim from opendir() opendir() trims the path passed then calls getDriveFile() - which immediately does the same trim operation. This breaks opendir() on the root directory, which causes the failure of the testStat() test when it checks the ctime of the root dir. --- apps/files_external/lib/google.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/files_external/lib/google.php b/apps/files_external/lib/google.php index 62b0f182e9..d3a665cd53 100644 --- a/apps/files_external/lib/google.php +++ b/apps/files_external/lib/google.php @@ -228,8 +228,6 @@ class Google extends \OC\Files\Storage\Common { } public function opendir($path) { - // Remove leading and trailing slashes - $path = trim($path, '/'); $folder = $this->getDriveFile($path); if ($folder) { $files = array(); From c48e00294c9d331f55b91c55f56daac706ecdf6b Mon Sep 17 00:00:00 2001 From: tbartenstein Date: Wed, 8 Jul 2015 18:48:11 +0200 Subject: [PATCH 002/329] Update fileinfo.php Edits isMounted() to remove the check for 'local' prefix, so that folder icons are displayed correctly (see issue #10712) --- lib/private/files/fileinfo.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/files/fileinfo.php b/lib/private/files/fileinfo.php index 82c8f3de69..b333844f8c 100644 --- a/lib/private/files/fileinfo.php +++ b/lib/private/files/fileinfo.php @@ -252,7 +252,7 @@ class FileInfo implements \OCP\Files\FileInfo, \ArrayAccess { $sid = $this->getStorage()->getId(); if (!is_null($sid)) { $sid = explode(':', $sid); - return ($sid[0] !== 'local' and $sid[0] !== 'home' and $sid[0] !== 'shared'); + return ($sid[0] !== 'home' and $sid[0] !== 'shared'); } return false; From 874ccbfb817569b6e741af477addb287342145d0 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Tue, 21 Jul 2015 20:40:32 +0200 Subject: [PATCH 003/329] Add custom CSP for Win 10 compatibility The default content-security-policy of ownCloud forbids inline JavaScript for security reasons. IE starting on Windows 10 will however also obey the CSP which will break the event source fallback. As a workaround thus we set a custom policy which allows the execution of inline JavaScript. This fixes https://github.com/owncloud/core/issues/14286 --- lib/private/eventsource.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/private/eventsource.php b/lib/private/eventsource.php index c69671c1a7..e2be808e72 100644 --- a/lib/private/eventsource.php +++ b/lib/private/eventsource.php @@ -59,6 +59,17 @@ class OC_EventSource implements \OCP\IEventSource { $this->fallback = isset($_GET['fallback']) and $_GET['fallback'] == 'true'; if ($this->fallback) { $this->fallBackId = (int)$_GET['fallback_id']; + /** + * FIXME: The default content-security-policy of ownCloud forbids inline + * JavaScript for security reasons. IE starting on Windows 10 will + * however also obey the CSP which will break the event source fallback. + * + * As a workaround thus we set a custom policy which allows the execution + * of inline JavaScript. + * + * @link https://github.com/owncloud/core/issues/14286 + */ + header("Content-Security-Policy: default-src 'none'; script-src 'unsafe-inline'"); header("Content-Type: text/html"); echo str_repeat('' . PHP_EOL, 10); //dummy data to keep IE happy } else { From a8552a1b24e7df8c4822b5b0dd7c690312ae810d Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 15 Jul 2015 15:44:51 +0200 Subject: [PATCH 004/329] split off keeping track of acquire locks --- lib/private/lock/abstractlockingprovider.php | 96 ++++++++++++++++++++ lib/private/lock/memcachelockingprovider.php | 40 +------- tests/lib/lock/lockingprovider.php | 30 ++++++ 3 files changed, 130 insertions(+), 36 deletions(-) create mode 100644 lib/private/lock/abstractlockingprovider.php diff --git a/lib/private/lock/abstractlockingprovider.php b/lib/private/lock/abstractlockingprovider.php new file mode 100644 index 0000000000..290bb77e52 --- /dev/null +++ b/lib/private/lock/abstractlockingprovider.php @@ -0,0 +1,96 @@ + + * @author Robin Appelman + * @author Thomas Müller + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OC\Lock; + +use OCP\Lock\ILockingProvider; + +abstract class AbstractLockingProvider implements ILockingProvider { + protected $acquiredLocks = [ + 'shared' => [], + 'exclusive' => [] + ]; + + /** + * @param string $path + * @param int $type self::LOCK_SHARED or self::LOCK_EXCLUSIVE + */ + protected function markAcquire($path, $type) { + if ($type === self::LOCK_SHARED) { + if (!isset($this->acquiredLocks['shared'][$path])) { + $this->acquiredLocks['shared'][$path] = 0; + } + $this->acquiredLocks['shared'][$path]++; + } else { + $this->acquiredLocks['exclusive'][$path] = true; + } + } + + /** + * @param string $path + * @param int $type self::LOCK_SHARED or self::LOCK_EXCLUSIVE + */ + protected function markRelease($path, $type) { + if ($type === self::LOCK_SHARED) { + if (isset($this->acquiredLocks['shared'][$path]) and $this->acquiredLocks['shared'][$path] > 0) { + $this->acquiredLocks['shared'][$path]--; + } + } else if ($type === self::LOCK_EXCLUSIVE) { + unset($this->acquiredLocks['exclusive'][$path]); + } + } + + /** + * Change the type of an existing lock + * + * @param string $path + * @param int $targetType self::LOCK_SHARED or self::LOCK_EXCLUSIVE + */ + protected function markChange($path, $targetType) { + if ($targetType === self::LOCK_SHARED) { + unset($this->acquiredLocks['exclusive'][$path]); + if (!isset($this->acquiredLocks['shared'][$path])) { + $this->acquiredLocks['shared'][$path] = 0; + } + $this->acquiredLocks['shared'][$path]++; + } else if ($targetType === self::LOCK_EXCLUSIVE) { + $this->acquiredLocks['exclusive'][$path] = true; + $this->acquiredLocks['shared'][$path]--; + } + } + + /** + * release all lock acquired by this instance + */ + public function releaseAll() { + foreach ($this->acquiredLocks['shared'] as $path => $count) { + for ($i = 0; $i < $count; $i++) { + $this->releaseLock($path, self::LOCK_SHARED); + } + } + + foreach ($this->acquiredLocks['exclusive'] as $path => $hasLock) { + $this->releaseLock($path, self::LOCK_EXCLUSIVE); + } + } +} diff --git a/lib/private/lock/memcachelockingprovider.php b/lib/private/lock/memcachelockingprovider.php index 5f2b5e5a4b..871572f7e3 100644 --- a/lib/private/lock/memcachelockingprovider.php +++ b/lib/private/lock/memcachelockingprovider.php @@ -23,21 +23,15 @@ namespace OC\Lock; -use OCP\Lock\ILockingProvider; use OCP\Lock\LockedException; use OCP\IMemcache; -class MemcacheLockingProvider implements ILockingProvider { +class MemcacheLockingProvider extends AbstractLockingProvider { /** * @var \OCP\IMemcache */ private $memcache; - private $acquiredLocks = [ - 'shared' => [], - 'exclusive' => [] - ]; - /** * @param \OCP\IMemcache $memcache */ @@ -71,17 +65,13 @@ class MemcacheLockingProvider implements ILockingProvider { if (!$this->memcache->inc($path)) { throw new LockedException($path); } - if (!isset($this->acquiredLocks['shared'][$path])) { - $this->acquiredLocks['shared'][$path] = 0; - } - $this->acquiredLocks['shared'][$path]++; } else { $this->memcache->add($path, 0); if (!$this->memcache->cas($path, 0, 'exclusive')) { throw new LockedException($path); } - $this->acquiredLocks['exclusive'][$path] = true; } + $this->markAcquire($path, $type); } /** @@ -92,13 +82,12 @@ class MemcacheLockingProvider implements ILockingProvider { if ($type === self::LOCK_SHARED) { if (isset($this->acquiredLocks['shared'][$path]) and $this->acquiredLocks['shared'][$path] > 0) { $this->memcache->dec($path); - $this->acquiredLocks['shared'][$path]--; $this->memcache->cad($path, 0); } } else if ($type === self::LOCK_EXCLUSIVE) { $this->memcache->cad($path, 'exclusive'); - unset($this->acquiredLocks['exclusive'][$path]); } + $this->markRelease($path, $type); } /** @@ -113,33 +102,12 @@ class MemcacheLockingProvider implements ILockingProvider { if (!$this->memcache->cas($path, 'exclusive', 1)) { throw new LockedException($path); } - unset($this->acquiredLocks['exclusive'][$path]); - if (!isset($this->acquiredLocks['shared'][$path])) { - $this->acquiredLocks['shared'][$path] = 0; - } - $this->acquiredLocks['shared'][$path]++; } else if ($targetType === self::LOCK_EXCLUSIVE) { // we can only change a shared lock to an exclusive if there's only a single owner of the shared lock if (!$this->memcache->cas($path, 1, 'exclusive')) { throw new LockedException($path); } - $this->acquiredLocks['exclusive'][$path] = true; - $this->acquiredLocks['shared'][$path]--; - } - } - - /** - * release all lock acquired by this instance - */ - public function releaseAll() { - foreach ($this->acquiredLocks['shared'] as $path => $count) { - for ($i = 0; $i < $count; $i++) { - $this->releaseLock($path, self::LOCK_SHARED); - } - } - - foreach ($this->acquiredLocks['exclusive'] as $path => $hasLock) { - $this->releaseLock($path, self::LOCK_EXCLUSIVE); } + $this->markChange($path, $targetType); } } diff --git a/tests/lib/lock/lockingprovider.php b/tests/lib/lock/lockingprovider.php index efd6e1939f..ca72c1bb7f 100644 --- a/tests/lib/lock/lockingprovider.php +++ b/tests/lib/lock/lockingprovider.php @@ -120,6 +120,36 @@ abstract class LockingProvider extends TestCase { $this->assertFalse($this->instance->isLocked('asd', ILockingProvider::LOCK_EXCLUSIVE)); } + public function testReleaseAllAfterChange() { + $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED); + $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED); + $this->instance->acquireLock('bar', ILockingProvider::LOCK_SHARED); + $this->instance->acquireLock('asd', ILockingProvider::LOCK_EXCLUSIVE); + + $this->instance->changeLock('bar', ILockingProvider::LOCK_EXCLUSIVE); + + $this->instance->releaseAll(); + + $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED)); + $this->assertFalse($this->instance->isLocked('bar', ILockingProvider::LOCK_SHARED)); + $this->assertFalse($this->instance->isLocked('bar', ILockingProvider::LOCK_EXCLUSIVE)); + $this->assertFalse($this->instance->isLocked('asd', ILockingProvider::LOCK_EXCLUSIVE)); + } + + public function testReleaseAllAfterUnlock() { + $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED); + $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED); + $this->instance->acquireLock('bar', ILockingProvider::LOCK_SHARED); + $this->instance->acquireLock('asd', ILockingProvider::LOCK_EXCLUSIVE); + + $this->instance->releaseLock('bar', ILockingProvider::LOCK_SHARED); + + $this->instance->releaseAll(); + + $this->assertFalse($this->instance->isLocked('foo', ILockingProvider::LOCK_SHARED)); + $this->assertFalse($this->instance->isLocked('asd', ILockingProvider::LOCK_EXCLUSIVE)); + } + public function testReleaseAfterReleaseAll() { $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED); $this->instance->acquireLock('foo', ILockingProvider::LOCK_SHARED); From 4ea7cbb0f5d97b0ae5fe8a6c3c43718d3fa5172e Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 15 Jul 2015 16:14:32 +0200 Subject: [PATCH 005/329] Add database backend for high level locking --- db_structure.xml | 39 ++++++++ lib/private/lock/dblockingprovider.php | 131 +++++++++++++++++++++++++ lib/repair/dropoldtables.php | 1 - tests/lib/lock/dblockingprovider.php | 43 ++++++++ version.php | 2 +- 5 files changed, 214 insertions(+), 2 deletions(-) create mode 100644 lib/private/lock/dblockingprovider.php create mode 100644 tests/lib/lock/dblockingprovider.php diff --git a/db_structure.xml b/db_structure.xml index 6d1cf6973c..95acefcfae 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -1180,5 +1180,44 @@ + + + + *dbprefix*locks + + + + + lock + integer + 0 + true + 4 + + + + path + text + true + 64 + + + + + true + true + lock_path_index + + path + ascending + + + + + +
+ diff --git a/lib/private/lock/dblockingprovider.php b/lib/private/lock/dblockingprovider.php new file mode 100644 index 0000000000..70f4539eb2 --- /dev/null +++ b/lib/private/lock/dblockingprovider.php @@ -0,0 +1,131 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OC\Lock; + +use OCP\IDBConnection; +use OCP\Lock\LockedException; + +class DBLockingProvider extends AbstractLockingProvider { + /** + * @var \OCP\IDBConnection + */ + private $connection; + + /** + * @param \OCP\IDBConnection $connection + */ + public function __construct(IDBConnection $connection) { + $this->connection = $connection; + } + + protected function initLockField($path) { + $this->connection->insertIfNotExist('*PREFIX*locks', ['path' => $path, 'lock' => 0], ['path']); + } + + /** + * @param string $path + * @param int $type self::LOCK_SHARED or self::LOCK_EXCLUSIVE + * @return bool + */ + public function isLocked($path, $type) { + $query = $this->connection->prepare('SELECT `lock` from `*PREFIX*locks` WHERE `path` = ?'); + $query->execute([$path]); + $lockValue = (int)$query->fetchColumn(); + if ($type === self::LOCK_SHARED) { + return $lockValue > 0; + } else if ($type === self::LOCK_EXCLUSIVE) { + return $lockValue === -1; + } else { + return false; + } + } + + /** + * @param string $path + * @param int $type self::LOCK_SHARED or self::LOCK_EXCLUSIVE + * @throws \OCP\Lock\LockedException + */ + public function acquireLock($path, $type) { + $this->initLockField($path); + if ($type === self::LOCK_SHARED) { + $result = $this->connection->executeUpdate( + 'UPDATE `*PREFIX*locks` SET `lock` = `lock` + 1 WHERE `path` = ? AND `lock` >= 0', + [$path] + ); + } else { + $result = $this->connection->executeUpdate( + 'UPDATE `*PREFIX*locks` SET `lock` = -1 WHERE `path` = ? AND `lock` = 0', + [$path] + ); + } + if ($result !== 1) { + throw new LockedException($path); + } + $this->markAcquire($path, $type); + } + + /** + * @param string $path + * @param int $type self::LOCK_SHARED or self::LOCK_EXCLUSIVE + */ + public function releaseLock($path, $type) { + $this->initLockField($path); + if ($type === self::LOCK_SHARED) { + $this->connection->executeUpdate( + 'UPDATE `*PREFIX*locks` SET `lock` = `lock` - 1 WHERE `path` = ? AND `lock` > 0', + [$path] + ); + } else { + $this->connection->executeUpdate( + 'UPDATE `*PREFIX*locks` SET `lock` = 0 WHERE `path` = ? AND `lock` = -1', + [$path] + ); + } + $this->markRelease($path, $type); + } + + /** + * Change the type of an existing lock + * + * @param string $path + * @param int $targetType self::LOCK_SHARED or self::LOCK_EXCLUSIVE + * @throws \OCP\Lock\LockedException + */ + public function changeLock($path, $targetType) { + $this->initLockField($path); + if ($targetType === self::LOCK_SHARED) { + $result = $this->connection->executeUpdate( + 'UPDATE `*PREFIX*locks` SET `lock` = 1 WHERE `path` = ? AND `lock` = -1', + [$path] + ); + } else { + $result = $this->connection->executeUpdate( + 'UPDATE `*PREFIX*locks` SET `lock` = -1 WHERE `path` = ? AND `lock` = 1', + [$path] + ); + } + if ($result !== 1) { + throw new LockedException($path); + } + $this->markChange($path, $targetType); + } +} diff --git a/lib/repair/dropoldtables.php b/lib/repair/dropoldtables.php index cfe0df6cb5..89f872e16c 100644 --- a/lib/repair/dropoldtables.php +++ b/lib/repair/dropoldtables.php @@ -76,7 +76,6 @@ class DropOldTables extends BasicEmitter implements RepairStep { 'calendar_share_event', 'foldersize', 'fscache', - 'locks', 'log', 'media_albums', 'media_artists', diff --git a/tests/lib/lock/dblockingprovider.php b/tests/lib/lock/dblockingprovider.php new file mode 100644 index 0000000000..4229ffb9c5 --- /dev/null +++ b/tests/lib/lock/dblockingprovider.php @@ -0,0 +1,43 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace Test\Lock; + +class DBLockingProvider extends LockingProvider { + + /** + * @var \OCP\IDBConnection + */ + private $connection; + + /** + * @return \OCP\Lock\ILockingProvider + */ + protected function getInstance() { + $this->connection = \OC::$server->getDatabaseConnection(); + return new \OC\Lock\DBLockingProvider($this->connection); + } + + public function tearDown() { + $this->connection->executeQuery('DELETE FROM `*PREFIX*locks`'); + parent::tearDown(); + } +} diff --git a/version.php b/version.php index 7ccd2e6b54..a115f4b26b 100644 --- a/version.php +++ b/version.php @@ -22,7 +22,7 @@ // We only can count up. The 4. digit is only for the internal patchlevel to trigger DB upgrades // between betas, final and RCs. This is _not_ the public version number. Reset minor/patchlevel // when updating major/minor version number. -$OC_Version=array(8, 2, 0, 3); +$OC_Version=array(8, 2, 0, 4); // The human readable string $OC_VersionString='8.2 pre alpha'; From 86acd535c243569fda7c1a2957073509c7e94f89 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 15 Jul 2015 16:14:48 +0200 Subject: [PATCH 006/329] use the database backend for locking if no memcache is configured for it --- lib/private/server.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib/private/server.php b/lib/private/server.php index 12981fe7f1..51e7040543 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -48,6 +48,7 @@ use OC\Diagnostics\QueryLogger; use OC\Files\Node\Root; use OC\Files\View; use OC\Http\Client\ClientService; +use OC\Lock\DBLockingProvider; use OC\Lock\MemcacheLockingProvider; use OC\Lock\NoopLockingProvider; use OC\Mail\Mailer; @@ -434,10 +435,7 @@ class Server extends SimpleContainer implements IServerContainer { if (!($memcache instanceof \OC\Memcache\NullCache)) { return new MemcacheLockingProvider($memcache); } - throw new HintException( - 'File locking is enabled but the locking cache class was not found', - 'Please check the "memcache.locking" setting and make sure the matching PHP module is installed and enabled' - ); + return new DBLockingProvider($c->getDatabaseConnection()); } return new NoopLockingProvider(); }); From 96a9d171b3fc31a6ad1ed89dca987765ed1ce721 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 16 Jul 2015 12:55:28 +0200 Subject: [PATCH 007/329] Fix db schema --- db_structure.xml | 35 +++++++++++++++++++- lib/private/lock/abstractlockingprovider.php | 2 -- lib/private/lock/dblockingprovider.php | 16 ++++----- lib/repair/dropoldtables.php | 1 + tests/lib/lock/dblockingprovider.php | 2 +- 5 files changed, 44 insertions(+), 12 deletions(-) diff --git a/db_structure.xml b/db_structure.xml index 95acefcfae..5c2b26e5f1 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -1185,10 +1185,20 @@ - *dbprefix*locks + *dbprefix*file_locks + + id + integer + 0 + true + true + 4 + 1 + + lock integer @@ -1204,9 +1214,24 @@ 64 + + ttl + integer + true + 4 + true + true + lock_id_index + + id + ascending + + + + true lock_path_index @@ -1215,6 +1240,14 @@ + + lock_ttl_index + + ttl + ascending + + + diff --git a/lib/private/lock/abstractlockingprovider.php b/lib/private/lock/abstractlockingprovider.php index 290bb77e52..03b4912ea1 100644 --- a/lib/private/lock/abstractlockingprovider.php +++ b/lib/private/lock/abstractlockingprovider.php @@ -1,8 +1,6 @@ * @author Robin Appelman - * @author Thomas Müller * * @copyright Copyright (c) 2015, ownCloud, Inc. * @license AGPL-3.0 diff --git a/lib/private/lock/dblockingprovider.php b/lib/private/lock/dblockingprovider.php index 70f4539eb2..aee66bca74 100644 --- a/lib/private/lock/dblockingprovider.php +++ b/lib/private/lock/dblockingprovider.php @@ -38,7 +38,7 @@ class DBLockingProvider extends AbstractLockingProvider { } protected function initLockField($path) { - $this->connection->insertIfNotExist('*PREFIX*locks', ['path' => $path, 'lock' => 0], ['path']); + $this->connection->insertIfNotExist('*PREFIX*file_locks', ['path' => $path, 'lock' => 0], ['path']); } /** @@ -47,7 +47,7 @@ class DBLockingProvider extends AbstractLockingProvider { * @return bool */ public function isLocked($path, $type) { - $query = $this->connection->prepare('SELECT `lock` from `*PREFIX*locks` WHERE `path` = ?'); + $query = $this->connection->prepare('SELECT `lock` from `*PREFIX*file_locks` WHERE `path` = ?'); $query->execute([$path]); $lockValue = (int)$query->fetchColumn(); if ($type === self::LOCK_SHARED) { @@ -68,12 +68,12 @@ class DBLockingProvider extends AbstractLockingProvider { $this->initLockField($path); if ($type === self::LOCK_SHARED) { $result = $this->connection->executeUpdate( - 'UPDATE `*PREFIX*locks` SET `lock` = `lock` + 1 WHERE `path` = ? AND `lock` >= 0', + 'UPDATE `*PREFIX*file_locks` SET `lock` = `lock` + 1 WHERE `path` = ? AND `lock` >= 0', [$path] ); } else { $result = $this->connection->executeUpdate( - 'UPDATE `*PREFIX*locks` SET `lock` = -1 WHERE `path` = ? AND `lock` = 0', + 'UPDATE `*PREFIX*file_locks` SET `lock` = -1 WHERE `path` = ? AND `lock` = 0', [$path] ); } @@ -91,12 +91,12 @@ class DBLockingProvider extends AbstractLockingProvider { $this->initLockField($path); if ($type === self::LOCK_SHARED) { $this->connection->executeUpdate( - 'UPDATE `*PREFIX*locks` SET `lock` = `lock` - 1 WHERE `path` = ? AND `lock` > 0', + 'UPDATE `*PREFIX*file_locks` SET `lock` = `lock` - 1 WHERE `path` = ? AND `lock` > 0', [$path] ); } else { $this->connection->executeUpdate( - 'UPDATE `*PREFIX*locks` SET `lock` = 0 WHERE `path` = ? AND `lock` = -1', + 'UPDATE `*PREFIX*file_locks` SET `lock` = 0 WHERE `path` = ? AND `lock` = -1', [$path] ); } @@ -114,12 +114,12 @@ class DBLockingProvider extends AbstractLockingProvider { $this->initLockField($path); if ($targetType === self::LOCK_SHARED) { $result = $this->connection->executeUpdate( - 'UPDATE `*PREFIX*locks` SET `lock` = 1 WHERE `path` = ? AND `lock` = -1', + 'UPDATE `*PREFIX*file_locks` SET `lock` = 1 WHERE `path` = ? AND `lock` = -1', [$path] ); } else { $result = $this->connection->executeUpdate( - 'UPDATE `*PREFIX*locks` SET `lock` = -1 WHERE `path` = ? AND `lock` = 1', + 'UPDATE `*PREFIX*file_locks` SET `lock` = -1 WHERE `path` = ? AND `lock` = 1', [$path] ); } diff --git a/lib/repair/dropoldtables.php b/lib/repair/dropoldtables.php index 89f872e16c..cfe0df6cb5 100644 --- a/lib/repair/dropoldtables.php +++ b/lib/repair/dropoldtables.php @@ -76,6 +76,7 @@ class DropOldTables extends BasicEmitter implements RepairStep { 'calendar_share_event', 'foldersize', 'fscache', + 'locks', 'log', 'media_albums', 'media_artists', diff --git a/tests/lib/lock/dblockingprovider.php b/tests/lib/lock/dblockingprovider.php index 4229ffb9c5..4818ef1cec 100644 --- a/tests/lib/lock/dblockingprovider.php +++ b/tests/lib/lock/dblockingprovider.php @@ -37,7 +37,7 @@ class DBLockingProvider extends LockingProvider { } public function tearDown() { - $this->connection->executeQuery('DELETE FROM `*PREFIX*locks`'); + $this->connection->executeQuery('DELETE FROM `*PREFIX*file_locks`'); parent::tearDown(); } } From c39ded21d2a2388d82e31448639517af0e2a2637 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 16 Jul 2015 12:56:22 +0200 Subject: [PATCH 008/329] initialize unused (for now) ttl field to 0 --- lib/private/lock/dblockingprovider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/lock/dblockingprovider.php b/lib/private/lock/dblockingprovider.php index aee66bca74..d7cbf5d994 100644 --- a/lib/private/lock/dblockingprovider.php +++ b/lib/private/lock/dblockingprovider.php @@ -38,7 +38,7 @@ class DBLockingProvider extends AbstractLockingProvider { } protected function initLockField($path) { - $this->connection->insertIfNotExist('*PREFIX*file_locks', ['path' => $path, 'lock' => 0], ['path']); + $this->connection->insertIfNotExist('*PREFIX*file_locks', ['path' => $path, 'lock' => 0, 'ttl' => 0], ['path']); } /** From 132a564a217d38a9ac66e26a00d0c1181bd1257a Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 3 Aug 2015 15:46:19 +0200 Subject: [PATCH 009/329] rename path field to key --- db_structure.xml | 9 +++++---- lib/private/lock/dblockingprovider.php | 21 +++++++++++++-------- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/db_structure.xml b/db_structure.xml index 5c2b26e5f1..5633d1537c 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -1183,7 +1183,7 @@ *dbprefix*file_locks @@ -1208,7 +1208,7 @@ - path + key text true 64 @@ -1217,6 +1217,7 @@ ttl integer + -1 true 4 @@ -1233,9 +1234,9 @@ true - lock_path_index + lock_key_index - path + key ascending diff --git a/lib/private/lock/dblockingprovider.php b/lib/private/lock/dblockingprovider.php index d7cbf5d994..60d516e17c 100644 --- a/lib/private/lock/dblockingprovider.php +++ b/lib/private/lock/dblockingprovider.php @@ -24,6 +24,9 @@ namespace OC\Lock; use OCP\IDBConnection; use OCP\Lock\LockedException; +/** + * Locking provider that stores the locks in the database + */ class DBLockingProvider extends AbstractLockingProvider { /** * @var \OCP\IDBConnection @@ -38,7 +41,7 @@ class DBLockingProvider extends AbstractLockingProvider { } protected function initLockField($path) { - $this->connection->insertIfNotExist('*PREFIX*file_locks', ['path' => $path, 'lock' => 0, 'ttl' => 0], ['path']); + $this->connection->insertIfNotExist('*PREFIX*file_locks', ['key' => $path, 'lock' => 0, 'ttl' => 0], ['key']); } /** @@ -47,7 +50,7 @@ class DBLockingProvider extends AbstractLockingProvider { * @return bool */ public function isLocked($path, $type) { - $query = $this->connection->prepare('SELECT `lock` from `*PREFIX*file_locks` WHERE `path` = ?'); + $query = $this->connection->prepare('SELECT `lock` from `*PREFIX*file_locks` WHERE `key` = ?'); $query->execute([$path]); $lockValue = (int)$query->fetchColumn(); if ($type === self::LOCK_SHARED) { @@ -65,18 +68,20 @@ class DBLockingProvider extends AbstractLockingProvider { * @throws \OCP\Lock\LockedException */ public function acquireLock($path, $type) { + $this->connection->beginTransaction(); $this->initLockField($path); if ($type === self::LOCK_SHARED) { $result = $this->connection->executeUpdate( - 'UPDATE `*PREFIX*file_locks` SET `lock` = `lock` + 1 WHERE `path` = ? AND `lock` >= 0', + 'UPDATE `*PREFIX*file_locks` SET `lock` = `lock` + 1 WHERE `key` = ? AND `lock` >= 0', [$path] ); } else { $result = $this->connection->executeUpdate( - 'UPDATE `*PREFIX*file_locks` SET `lock` = -1 WHERE `path` = ? AND `lock` = 0', + 'UPDATE `*PREFIX*file_locks` SET `lock` = -1 WHERE `key` = ? AND `lock` = 0', [$path] ); } + $this->connection->commit(); if ($result !== 1) { throw new LockedException($path); } @@ -91,12 +96,12 @@ class DBLockingProvider extends AbstractLockingProvider { $this->initLockField($path); if ($type === self::LOCK_SHARED) { $this->connection->executeUpdate( - 'UPDATE `*PREFIX*file_locks` SET `lock` = `lock` - 1 WHERE `path` = ? AND `lock` > 0', + 'UPDATE `*PREFIX*file_locks` SET `lock` = `lock` - 1 WHERE `key` = ? AND `lock` > 0', [$path] ); } else { $this->connection->executeUpdate( - 'UPDATE `*PREFIX*file_locks` SET `lock` = 0 WHERE `path` = ? AND `lock` = -1', + 'UPDATE `*PREFIX*file_locks` SET `lock` = 0 WHERE `key` = ? AND `lock` = -1', [$path] ); } @@ -114,12 +119,12 @@ class DBLockingProvider extends AbstractLockingProvider { $this->initLockField($path); if ($targetType === self::LOCK_SHARED) { $result = $this->connection->executeUpdate( - 'UPDATE `*PREFIX*file_locks` SET `lock` = 1 WHERE `path` = ? AND `lock` = -1', + 'UPDATE `*PREFIX*file_locks` SET `lock` = 1 WHERE `key` = ? AND `lock` = -1', [$path] ); } else { $result = $this->connection->executeUpdate( - 'UPDATE `*PREFIX*file_locks` SET `lock` = -1 WHERE `path` = ? AND `lock` = 1', + 'UPDATE `*PREFIX*file_locks` SET `lock` = -1 WHERE `key` = ? AND `lock` = 1', [$path] ); } From cd205249e4deb397235dde90e707135fcc85d878 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 3 Aug 2015 15:46:23 +0200 Subject: [PATCH 010/329] more phpdoc --- lib/private/lock/abstractlockingprovider.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/private/lock/abstractlockingprovider.php b/lib/private/lock/abstractlockingprovider.php index 03b4912ea1..c9c3e08994 100644 --- a/lib/private/lock/abstractlockingprovider.php +++ b/lib/private/lock/abstractlockingprovider.php @@ -23,6 +23,10 @@ namespace OC\Lock; use OCP\Lock\ILockingProvider; +/** + * Base locking provider that keeps track of locks acquired during the current request + * to release any left over locks at the end of the request + */ abstract class AbstractLockingProvider implements ILockingProvider { protected $acquiredLocks = [ 'shared' => [], @@ -30,6 +34,8 @@ abstract class AbstractLockingProvider implements ILockingProvider { ]; /** + * Mark a locally acquired lock + * * @param string $path * @param int $type self::LOCK_SHARED or self::LOCK_EXCLUSIVE */ @@ -45,6 +51,8 @@ abstract class AbstractLockingProvider implements ILockingProvider { } /** + * Mark a release of a locally acquired lock + * * @param string $path * @param int $type self::LOCK_SHARED or self::LOCK_EXCLUSIVE */ @@ -59,7 +67,7 @@ abstract class AbstractLockingProvider implements ILockingProvider { } /** - * Change the type of an existing lock + * Change the type of an existing tracked lock * * @param string $path * @param int $targetType self::LOCK_SHARED or self::LOCK_EXCLUSIVE From 9729e67e3d2dec127e2d9e3d47d01d4de806b302 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 3 Aug 2015 16:02:24 +0200 Subject: [PATCH 011/329] more phpdoc --- lib/private/lock/abstractlockingprovider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/lock/abstractlockingprovider.php b/lib/private/lock/abstractlockingprovider.php index c9c3e08994..eb86be6850 100644 --- a/lib/private/lock/abstractlockingprovider.php +++ b/lib/private/lock/abstractlockingprovider.php @@ -86,7 +86,7 @@ abstract class AbstractLockingProvider implements ILockingProvider { } /** - * release all lock acquired by this instance + * release all lock acquired by this instance which were marked using the mark* methods */ public function releaseAll() { foreach ($this->acquiredLocks['shared'] as $path => $count) { From 7604bcb3cb07389d76e1f4e8b2023003845efbdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Fortier?= Date: Mon, 3 Aug 2015 20:15:22 -0400 Subject: [PATCH 012/329] Properly nest groups when using memberOf to detect group membership, fixes #17759 --- apps/user_ldap/group_ldap.php | 39 ++++++++++++++++++++++++++--- apps/user_ldap/tests/group_ldap.php | 7 +++--- 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php index 1b83817151..44b0ceac7e 100644 --- a/apps/user_ldap/group_ldap.php +++ b/apps/user_ldap/group_ldap.php @@ -181,6 +181,39 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface { return $allMembers; } + /** + * @param string $dnGroup + * @param array &$seen + * @return array + */ + private function _getGroupDNsFromMemberOf($DN, &$seen = null) { + if ($seen === null) { + $seen = array(); + } + if (array_key_exists($DN, $seen)) { + // avoid loops + return array(); + } + $seen[$DN] = 1; + $groups = $this->access->readAttribute($DN, 'memberOf'); + if (is_array($groups)) { + $groups = $this->access->groupsMatchFilter($groups); + $allGroups = $groups; + foreach ($groups as $group) { + $nestedGroups = $this->access->connection->ldapNestedGroups; + if (!empty($nestedGroups)) { + $subGroups = $this->_getGroupDNsFromMemberOf($group, $seen); + if ($subGroups) { + $allGroups = array_merge($allGroups, $subGroups); + } + } + } + return $allGroups; + } else { + return array(); + } + } + /** * translates a primary group ID into an ownCloud internal name * @param string $gid as given by primaryGroupID on AD @@ -377,14 +410,14 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface { if(intval($this->access->connection->hasMemberOfFilterSupport) === 1 && intval($this->access->connection->useMemberOfToDetectMembership) === 1 ) { - $groupDNs = $this->access->readAttribute($userDN, 'memberOf'); - + $groupDNs = $this->_getGroupDNsFromMemberOf($userDN); + if (is_array($groupDNs)) { - $groupDNs = $this->access->groupsMatchFilter($groupDNs); foreach ($groupDNs as $dn) { $groups[] = $this->access->dn2groupname($dn); } } + if($primaryGroup !== false) { $groups[] = $primaryGroup; } diff --git a/apps/user_ldap/tests/group_ldap.php b/apps/user_ldap/tests/group_ldap.php index f716618ce4..805238e7d3 100644 --- a/apps/user_ldap/tests/group_ldap.php +++ b/apps/user_ldap/tests/group_ldap.php @@ -395,16 +395,15 @@ class Test_Group_Ldap extends \Test\TestCase { ->method('username2dn') ->will($this->returnValue($dn)); - $access->expects($this->once()) + $access->expects($this->exactly(3)) ->method('readAttribute') - ->with($dn, 'memberOf') - ->will($this->returnValue(['cn=groupA,dc=foobar', 'cn=groupB,dc=foobar'])); + ->will($this->onConsecutiveCalls(['cn=groupA,dc=foobar', 'cn=groupB,dc=foobar'], [], [])); $access->expects($this->exactly(2)) ->method('dn2groupname') ->will($this->returnArgument(0)); - $access->expects($this->once()) + $access->expects($this->exactly(3)) ->method('groupsMatchFilter') ->will($this->returnArgument(0)); From e0469d001384eb9c4125ca16d9babdf673be57ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Fortier?= Date: Tue, 4 Aug 2015 11:19:57 -0400 Subject: [PATCH 013/329] Take review comments into consideration for pr #18042 / issue #17759 --- apps/user_ldap/group_ldap.php | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php index 44b0ceac7e..a592913c8f 100644 --- a/apps/user_ldap/group_ldap.php +++ b/apps/user_ldap/group_ldap.php @@ -182,8 +182,8 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface { } /** - * @param string $dnGroup - * @param array &$seen + * @param string $DN + * @param array|null &$seen * @return array */ private function _getGroupDNsFromMemberOf($DN, &$seen = null) { @@ -196,22 +196,19 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface { } $seen[$DN] = 1; $groups = $this->access->readAttribute($DN, 'memberOf'); - if (is_array($groups)) { - $groups = $this->access->groupsMatchFilter($groups); - $allGroups = $groups; - foreach ($groups as $group) { - $nestedGroups = $this->access->connection->ldapNestedGroups; - if (!empty($nestedGroups)) { - $subGroups = $this->_getGroupDNsFromMemberOf($group, $seen); - if ($subGroups) { - $allGroups = array_merge($allGroups, $subGroups); - } - } - } - return $allGroups; - } else { + if (!is_array($groups)) { return array(); } + $groups = $this->access->groupsMatchFilter($groups); + $allGroups = $groups; + foreach ($groups as $group) { + $nestedGroups = $this->access->connection->ldapNestedGroups; + if (!empty($nestedGroups)) { + $subGroups = $this->_getGroupDNsFromMemberOf($group, $seen); + $allGroups = array_merge($allGroups, $subGroups); + } + } + return $allGroups; } /** From a55f233e9ffac7d492733f50a37343b4243898bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Fortier?= Date: Fri, 7 Aug 2015 08:56:28 -0400 Subject: [PATCH 014/329] fix more review comments for #18042 / #17759 --- apps/user_ldap/group_ldap.php | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/user_ldap/group_ldap.php b/apps/user_ldap/group_ldap.php index a592913c8f..3b47eb56b0 100644 --- a/apps/user_ldap/group_ldap.php +++ b/apps/user_ldap/group_ldap.php @@ -201,9 +201,9 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface { } $groups = $this->access->groupsMatchFilter($groups); $allGroups = $groups; - foreach ($groups as $group) { - $nestedGroups = $this->access->connection->ldapNestedGroups; - if (!empty($nestedGroups)) { + $nestedGroups = $this->access->connection->ldapNestedGroups; + if (intval($nestedGroups) === 1) { + foreach ($groups as $group) { $subGroups = $this->_getGroupDNsFromMemberOf($group, $seen); $allGroups = array_merge($allGroups, $subGroups); } @@ -408,7 +408,6 @@ class GROUP_LDAP extends BackendUtility implements \OCP\GroupInterface { && intval($this->access->connection->useMemberOfToDetectMembership) === 1 ) { $groupDNs = $this->_getGroupDNsFromMemberOf($userDN); - if (is_array($groupDNs)) { foreach ($groupDNs as $dn) { $groups[] = $this->access->dn2groupname($dn); From 62bc0e5264af50be48dbcbb720b7bd16e8d88df5 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Fri, 7 Aug 2015 14:04:17 +0200 Subject: [PATCH 015/329] use password hash instead of the plain password to encrypt the private key --- .../controller/settingscontroller.php | 2 +- apps/encryption/hooks/userhooks.php | 6 +- apps/encryption/lib/crypto/crypt.php | 143 ++++++++++++++++-- apps/encryption/lib/keymanager.php | 9 +- apps/encryption/lib/recovery.php | 2 +- .../controller/SettingsControllerTest.php | 2 +- apps/encryption/tests/hooks/UserHooksTest.php | 2 +- apps/encryption/tests/lib/KeyManagerTest.php | 2 +- apps/encryption/tests/lib/RecoveryTest.php | 2 +- .../encryption/tests/lib/crypto/cryptTest.php | 111 +++++++++++++- apps/encryption/vendor/pbkdf2fallback.php | 87 +++++++++++ 11 files changed, 337 insertions(+), 31 deletions(-) create mode 100644 apps/encryption/vendor/pbkdf2fallback.php diff --git a/apps/encryption/controller/settingscontroller.php b/apps/encryption/controller/settingscontroller.php index 641c97e1d6..dbd960bb78 100644 --- a/apps/encryption/controller/settingscontroller.php +++ b/apps/encryption/controller/settingscontroller.php @@ -103,7 +103,7 @@ class SettingsController extends Controller { $decryptedKey = $this->crypt->decryptPrivateKey($encryptedKey, $oldPassword); if ($decryptedKey) { - $encryptedKey = $this->crypt->symmetricEncryptFileContent($decryptedKey, $newPassword); + $encryptedKey = $this->crypt->encryptPrivateKey($decryptedKey, $newPassword); $header = $this->crypt->generateHeader(); if ($encryptedKey) { $this->keyManager->setPrivateKey($uid, $header . $encryptedKey); diff --git a/apps/encryption/hooks/userhooks.php b/apps/encryption/hooks/userhooks.php index a86b866278..71c0435d20 100644 --- a/apps/encryption/hooks/userhooks.php +++ b/apps/encryption/hooks/userhooks.php @@ -220,8 +220,7 @@ class UserHooks implements IHook { if ($user && $params['uid'] === $user->getUID() && $privateKey) { // Encrypt private key with new user pwd as passphrase - $encryptedPrivateKey = $this->crypt->symmetricEncryptFileContent($privateKey, - $params['password']); + $encryptedPrivateKey = $this->crypt->encryptPrivateKey($privateKey, $params['password']); // Save private key if ($encryptedPrivateKey) { @@ -259,8 +258,7 @@ class UserHooks implements IHook { $this->keyManager->setPublicKey($user, $keyPair['publicKey']); // Encrypt private key with new password - $encryptedKey = $this->crypt->symmetricEncryptFileContent($keyPair['privateKey'], - $newUserPassword); + $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $newUserPassword); if ($encryptedKey) { $this->keyManager->setPrivateKey($user, $this->crypt->generateHeader() . $encryptedKey); diff --git a/apps/encryption/lib/crypto/crypt.php b/apps/encryption/lib/crypto/crypt.php index f3cf38fb96..eef16e5144 100644 --- a/apps/encryption/lib/crypto/crypt.php +++ b/apps/encryption/lib/crypto/crypt.php @@ -30,6 +30,7 @@ use OC\Encryption\Exceptions\DecryptionFailedException; use OC\Encryption\Exceptions\EncryptionFailedException; use OCA\Encryption\Exceptions\MultiKeyDecryptException; use OCA\Encryption\Exceptions\MultiKeyEncryptException; +use OCA\Encryption\Vendor\PBKDF2Fallback; use OCP\Encryption\Exceptions\GenericEncryptionException; use OCP\IConfig; use OCP\ILogger; @@ -42,6 +43,10 @@ class Crypt { // default cipher from old ownCloud versions const LEGACY_CIPHER = 'AES-128-CFB'; + // default key format, old ownCloud version encrypted the private key directly + // with the user password + const LEGACY_KEY_FORMAT = 'password'; + const HEADER_START = 'HBEGIN'; const HEADER_END = 'HEND'; /** @@ -57,6 +62,11 @@ class Crypt { */ private $config; + /** + * @var array + */ + private $supportedKeyFormats; + /** * @param ILogger $logger * @param IUserSession $userSession @@ -66,6 +76,7 @@ class Crypt { $this->logger = $logger; $this->user = $userSession && $userSession->isLoggedIn() ? $userSession->getUser() : false; $this->config = $config; + $this->supportedKeyFormats = ['hash', 'password']; } /** @@ -161,10 +172,23 @@ class Crypt { /** * generate header for encrypted file + * + * @param string $keyFormat (can be 'hash' or 'password') + * @return string + * @throws \InvalidArgumentException */ - public function generateHeader() { + public function generateHeader($keyFormat = 'hash') { + + if (in_array($keyFormat, $this->supportedKeyFormats, true) === false) { + throw new \InvalidArgumentException('key format "' . $keyFormat . '" is not supported'); + } + $cipher = $this->getCipher(); - $header = self::HEADER_START . ':cipher:' . $cipher . ':' . self::HEADER_END; + + $header = self::HEADER_START + . ':cipher:' . $cipher + . ':keyFormat:' . $keyFormat + . ':' . self::HEADER_END; return $header; } @@ -211,6 +235,25 @@ class Crypt { return $cipher; } + /** + * get key size depending on the cipher + * + * @param string $cipher supported ('AES-256-CFB' and 'AES-128-CFB') + * @return int + * @throws \InvalidArgumentException + */ + protected function getKeySize($cipher) { + if ($cipher === 'AES-256-CFB') { + return 32; + } else if ($cipher === 'AES-128-CFB') { + return 16; + } + + throw new \InvalidArgumentException( + 'Wrong cipher defined only AES-128-CFB and AES-256-CFB are supported.' + ); + } + /** * get legacy cipher * @@ -237,6 +280,63 @@ class Crypt { return $data . 'xx'; } + /** + * generate password hash used to encrypt the users private key + * + * @param string $password + * @param string $cipher + * @return string + */ + protected function generatePasswordHash($password, $cipher) { + $instanceId = $this->config->getSystemValue('instanceid'); + $instanceSecret = $this->config->getSystemValue('secret'); + $salt = hash('sha256', $instanceId . $instanceSecret, true); + $keySize = $this->getKeySize($cipher); + + if (function_exists('hash_pbkdf2')) { + $hash = hash_pbkdf2( + 'sha256', + $password, + $salt, + 100000, + $keySize, + true + ); + } else { + // fallback to 3rdparty lib for PHP <= 5.4. + // FIXME: Can be removed as soon as support for PHP 5.4 was dropped + $fallback = new PBKDF2Fallback(); + $hash = $fallback->pbkdf2( + 'sha256', + $password, + $salt, + 100000, + $keySize, + true + ); + } + + return $hash; + } + + /** + * encrypt private key + * + * @param string $privateKey + * @param string $password + * @return bool|string + */ + public function encryptPrivateKey($privateKey, $password) { + $cipher = $this->getCipher(); + $hash = $this->generatePasswordHash($password, $cipher); + $encryptedKey = $this->symmetricEncryptFileContent( + $privateKey, + $hash + ); + + return $encryptedKey; + } + /** * @param string $privateKey * @param string $password @@ -252,6 +352,16 @@ class Crypt { $cipher = self::LEGACY_CIPHER; } + if (isset($header['keyFormat'])) { + $keyFormat = $header['keyFormat']; + } else { + $keyFormat = self::LEGACY_KEY_FORMAT; + } + + if ($keyFormat === 'hash') { + $password = $this->generatePasswordHash($password, $cipher); + } + // If we found a header we need to remove it from the key we want to decrypt if (!empty($header)) { $privateKey = substr($privateKey, @@ -263,20 +373,31 @@ class Crypt { $password, $cipher); - // Check if this is a valid private key - $res = openssl_get_privatekey($plainKey); - if (is_resource($res)) { - $sslInfo = openssl_pkey_get_details($res); - if (!isset($sslInfo['key'])) { - return false; - } - } else { + if ($this->isValidPrivateKey($plainKey) === false) { return false; } return $plainKey; } + /** + * check if it is a valid private key + * + * @param $plainKey + * @return bool + */ + protected function isValidPrivateKey($plainKey) { + $res = openssl_get_privatekey($plainKey); + if (is_resource($res)) { + $sslInfo = openssl_pkey_get_details($res); + if (isset($sslInfo['key'])) { + return true; + } + } + + return true; + } + /** * @param $keyFileContents * @param string $passPhrase @@ -358,7 +479,7 @@ class Crypt { * @param $data * @return array */ - private function parseHeader($data) { + protected function parseHeader($data) { $result = []; if (substr($data, 0, strlen(self::HEADER_START)) === self::HEADER_START) { diff --git a/apps/encryption/lib/keymanager.php b/apps/encryption/lib/keymanager.php index 8c8c1f8fd7..47a8e7d391 100644 --- a/apps/encryption/lib/keymanager.php +++ b/apps/encryption/lib/keymanager.php @@ -146,7 +146,7 @@ class KeyManager { Encryption::ID); // Encrypt private key empty passphrase - $encryptedKey = $this->crypt->symmetricEncryptFileContent($keyPair['privateKey'], ''); + $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], ''); $header = $this->crypt->generateHeader(); $this->setSystemPrivateKey($this->publicShareKeyId, $header . $encryptedKey); } @@ -203,8 +203,8 @@ class KeyManager { // Save Public Key $this->setPublicKey($uid, $keyPair['publicKey']); - $encryptedKey = $this->crypt->symmetricEncryptFileContent($keyPair['privateKey'], - $password); + $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $password); + $header = $this->crypt->generateHeader(); if ($encryptedKey) { @@ -226,8 +226,7 @@ class KeyManager { $keyPair['publicKey'], Encryption::ID); - $encryptedKey = $this->crypt->symmetricEncryptFileContent($keyPair['privateKey'], - $password); + $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $password); $header = $this->crypt->generateHeader(); if ($encryptedKey) { diff --git a/apps/encryption/lib/recovery.php b/apps/encryption/lib/recovery.php index e31a14fba6..e82ecca9d4 100644 --- a/apps/encryption/lib/recovery.php +++ b/apps/encryption/lib/recovery.php @@ -136,7 +136,7 @@ class Recovery { public function changeRecoveryKeyPassword($newPassword, $oldPassword) { $recoveryKey = $this->keyManager->getSystemPrivateKey($this->keyManager->getRecoveryKeyId()); $decryptedRecoveryKey = $this->crypt->decryptPrivateKey($recoveryKey, $oldPassword); - $encryptedRecoveryKey = $this->crypt->symmetricEncryptFileContent($decryptedRecoveryKey, $newPassword); + $encryptedRecoveryKey = $this->crypt->encryptPrivateKey($decryptedRecoveryKey, $newPassword); $header = $this->crypt->generateHeader(); if ($encryptedRecoveryKey) { $this->keyManager->setSystemPrivateKey($this->keyManager->getRecoveryKeyId(), $header . $encryptedRecoveryKey); diff --git a/apps/encryption/tests/controller/SettingsControllerTest.php b/apps/encryption/tests/controller/SettingsControllerTest.php index ed8135b9c4..d985c7d7d2 100644 --- a/apps/encryption/tests/controller/SettingsControllerTest.php +++ b/apps/encryption/tests/controller/SettingsControllerTest.php @@ -188,7 +188,7 @@ class SettingsControllerTest extends TestCase { $this->cryptMock ->expects($this->once()) - ->method('symmetricEncryptFileContent') + ->method('encryptPrivateKey') ->willReturn('encryptedKey'); $this->cryptMock diff --git a/apps/encryption/tests/hooks/UserHooksTest.php b/apps/encryption/tests/hooks/UserHooksTest.php index 921c924d01..aa16a4d870 100644 --- a/apps/encryption/tests/hooks/UserHooksTest.php +++ b/apps/encryption/tests/hooks/UserHooksTest.php @@ -114,7 +114,7 @@ class UserHooksTest extends TestCase { ->willReturnOnConsecutiveCalls(true, false); $this->cryptMock->expects($this->exactly(4)) - ->method('symmetricEncryptFileContent') + ->method('encryptPrivateKey') ->willReturn(true); $this->cryptMock->expects($this->any()) diff --git a/apps/encryption/tests/lib/KeyManagerTest.php b/apps/encryption/tests/lib/KeyManagerTest.php index 0bac5e0341..71b00cf254 100644 --- a/apps/encryption/tests/lib/KeyManagerTest.php +++ b/apps/encryption/tests/lib/KeyManagerTest.php @@ -260,7 +260,7 @@ class KeyManagerTest extends TestCase { ->method('setSystemUserKey') ->willReturn(true); $this->cryptMock->expects($this->any()) - ->method('symmetricEncryptFileContent') + ->method('encryptPrivateKey') ->with($this->equalTo('privateKey'), $this->equalTo('pass')) ->willReturn('decryptedPrivateKey'); diff --git a/apps/encryption/tests/lib/RecoveryTest.php b/apps/encryption/tests/lib/RecoveryTest.php index 8d5d31af0b..c0624a36be 100644 --- a/apps/encryption/tests/lib/RecoveryTest.php +++ b/apps/encryption/tests/lib/RecoveryTest.php @@ -96,7 +96,7 @@ class RecoveryTest extends TestCase { ->method('decryptPrivateKey'); $this->cryptMock->expects($this->once()) - ->method('symmetricEncryptFileContent') + ->method('encryptPrivateKey') ->willReturn(true); $this->assertTrue($this->instance->changeRecoveryKeyPassword('password', diff --git a/apps/encryption/tests/lib/crypto/cryptTest.php b/apps/encryption/tests/lib/crypto/cryptTest.php index 14ed1513e1..3c7767a890 100644 --- a/apps/encryption/tests/lib/crypto/cryptTest.php +++ b/apps/encryption/tests/lib/crypto/cryptTest.php @@ -98,18 +98,41 @@ class cryptTest extends TestCase { /** - * test generateHeader + * test generateHeader with valid key formats + * + * @dataProvider dataTestGenerateHeader */ - public function testGenerateHeader() { + public function testGenerateHeader($keyFormat, $expected) { $this->config->expects($this->once()) ->method('getSystemValue') ->with($this->equalTo('cipher'), $this->equalTo('AES-256-CFB')) ->willReturn('AES-128-CFB'); - $this->assertSame('HBEGIN:cipher:AES-128-CFB:HEND', - $this->crypt->generateHeader() - ); + if ($keyFormat) { + $result = $this->crypt->generateHeader($keyFormat); + } else { + $result = $this->crypt->generateHeader(); + } + + $this->assertSame($expected, $result); + } + + /** + * test generateHeader with invalid key format + * + * @expectedException \InvalidArgumentException + */ + public function testGenerateHeaderInvalid() { + $this->crypt->generateHeader('unknown'); + } + + public function dataTestGenerateHeader() { + return [ + [null, 'HBEGIN:cipher:AES-128-CFB:keyFormat:hash:HEND'], + ['password', 'HBEGIN:cipher:AES-128-CFB:keyFormat:password:HEND'], + ['hash', 'HBEGIN:cipher:AES-128-CFB:keyFormat:hash:HEND'] + ]; } /** @@ -262,4 +285,82 @@ class cryptTest extends TestCase { } + /** + * test return values of valid ciphers + * + * @dataProvider dataTestGetKeySize + */ + public function testGetKeySize($cipher, $expected) { + $result = $this->invokePrivate($this->crypt, 'getKeySize', [$cipher]); + $this->assertSame($expected, $result); + } + + /** + * test exception if cipher is unknown + * + * @expectedException \InvalidArgumentException + */ + public function testGetKeySizeFailure() { + $this->invokePrivate($this->crypt, 'getKeySize', ['foo']); + } + + public function dataTestGetKeySize() { + return [ + ['AES-256-CFB', 32], + ['AES-128-CFB', 16], + ]; + } + + /** + * @dataProvider dataTestDecryptPrivateKey + */ + public function testDecryptPrivateKey($header, $privateKey, $expectedCipher, $isValidKey, $expected) { + /** @var \OCA\Encryption\Crypto\Crypt | \PHPUnit_Framework_MockObject_MockObject $crypt */ + $crypt = $this->getMockBuilder('OCA\Encryption\Crypto\Crypt') + ->setConstructorArgs( + [ + $this->logger, + $this->userSession, + $this->config + ] + ) + ->setMethods( + [ + 'parseHeader', + 'generatePasswordHash', + 'symmetricDecryptFileContent', + 'isValidPrivateKey' + ] + ) + ->getMock(); + + $crypt->expects($this->once())->method('parseHeader')->willReturn($header); + if (isset($header['keyFormat']) && $header['keyFormat'] === 'hash') { + $crypt->expects($this->once())->method('generatePasswordHash')->willReturn('hash'); + $password = 'hash'; + } else { + $crypt->expects($this->never())->method('generatePasswordHash'); + $password = 'password'; + } + + $crypt->expects($this->once())->method('symmetricDecryptFileContent') + ->with('privateKey', $password, $expectedCipher)->willReturn('key'); + $crypt->expects($this->once())->method('isValidPrivateKey')->willReturn($isValidKey); + + $result = $crypt->decryptPrivateKey($privateKey, 'password'); + + $this->assertSame($expected, $result); + } + + public function dataTestDecryptPrivateKey() { + return [ + [['cipher' => 'AES-128-CFB', 'keyFormat' => 'password'], 'HBEGIN:HENDprivateKey', 'AES-128-CFB', true, 'key'], + [['cipher' => 'AES-256-CFB', 'keyFormat' => 'password'], 'HBEGIN:HENDprivateKey', 'AES-256-CFB', true, 'key'], + [['cipher' => 'AES-256-CFB', 'keyFormat' => 'password'], 'HBEGIN:HENDprivateKey', 'AES-256-CFB', false, false], + [['cipher' => 'AES-256-CFB', 'keyFormat' => 'hash'], 'HBEGIN:HENDprivateKey', 'AES-256-CFB', true, 'key'], + [['cipher' => 'AES-256-CFB'], 'HBEGIN:HENDprivateKey', 'AES-256-CFB', true, 'key'], + [[], 'privateKey', 'AES-128-CFB', true, 'key'], + ]; + } + } diff --git a/apps/encryption/vendor/pbkdf2fallback.php b/apps/encryption/vendor/pbkdf2fallback.php new file mode 100644 index 0000000000..ca579f8e7d --- /dev/null +++ b/apps/encryption/vendor/pbkdf2fallback.php @@ -0,0 +1,87 @@ + Date: Fri, 7 Aug 2015 15:51:43 +0200 Subject: [PATCH 016/329] use uid as additional information for salt --- apps/encryption/controller/settingscontroller.php | 4 ++-- apps/encryption/hooks/userhooks.php | 4 ++-- apps/encryption/lib/crypto/crypt.php | 15 +++++++++------ apps/encryption/lib/keymanager.php | 8 +++----- apps/encryption/lib/recovery.php | 3 +-- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/apps/encryption/controller/settingscontroller.php b/apps/encryption/controller/settingscontroller.php index dbd960bb78..2a668f7cd4 100644 --- a/apps/encryption/controller/settingscontroller.php +++ b/apps/encryption/controller/settingscontroller.php @@ -100,10 +100,10 @@ class SettingsController extends Controller { if ($passwordCorrect !== false) { $encryptedKey = $this->keyManager->getPrivateKey($uid); - $decryptedKey = $this->crypt->decryptPrivateKey($encryptedKey, $oldPassword); + $decryptedKey = $this->crypt->decryptPrivateKey($encryptedKey, $oldPassword, $uid); if ($decryptedKey) { - $encryptedKey = $this->crypt->encryptPrivateKey($decryptedKey, $newPassword); + $encryptedKey = $this->crypt->encryptPrivateKey($decryptedKey, $newPassword, $uid); $header = $this->crypt->generateHeader(); if ($encryptedKey) { $this->keyManager->setPrivateKey($uid, $header . $encryptedKey); diff --git a/apps/encryption/hooks/userhooks.php b/apps/encryption/hooks/userhooks.php index 71c0435d20..8b6f17bec6 100644 --- a/apps/encryption/hooks/userhooks.php +++ b/apps/encryption/hooks/userhooks.php @@ -220,7 +220,7 @@ class UserHooks implements IHook { if ($user && $params['uid'] === $user->getUID() && $privateKey) { // Encrypt private key with new user pwd as passphrase - $encryptedPrivateKey = $this->crypt->encryptPrivateKey($privateKey, $params['password']); + $encryptedPrivateKey = $this->crypt->encryptPrivateKey($privateKey, $params['password'], $params['uid']); // Save private key if ($encryptedPrivateKey) { @@ -258,7 +258,7 @@ class UserHooks implements IHook { $this->keyManager->setPublicKey($user, $keyPair['publicKey']); // Encrypt private key with new password - $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $newUserPassword); + $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $newUserPassword, $user); if ($encryptedKey) { $this->keyManager->setPrivateKey($user, $this->crypt->generateHeader() . $encryptedKey); diff --git a/apps/encryption/lib/crypto/crypt.php b/apps/encryption/lib/crypto/crypt.php index eef16e5144..6c4c108f50 100644 --- a/apps/encryption/lib/crypto/crypt.php +++ b/apps/encryption/lib/crypto/crypt.php @@ -285,12 +285,13 @@ class Crypt { * * @param string $password * @param string $cipher + * @param string $uid only used for user keys * @return string */ - protected function generatePasswordHash($password, $cipher) { + protected function generatePasswordHash($password, $cipher, $uid = '') { $instanceId = $this->config->getSystemValue('instanceid'); $instanceSecret = $this->config->getSystemValue('secret'); - $salt = hash('sha256', $instanceId . $instanceSecret, true); + $salt = hash('sha256', $uid . $instanceId . $instanceSecret, true); $keySize = $this->getKeySize($cipher); if (function_exists('hash_pbkdf2')) { @@ -324,11 +325,12 @@ class Crypt { * * @param string $privateKey * @param string $password + * @param string $uid for regular users, empty for system keys * @return bool|string */ - public function encryptPrivateKey($privateKey, $password) { + public function encryptPrivateKey($privateKey, $password, $uid = '') { $cipher = $this->getCipher(); - $hash = $this->generatePasswordHash($password, $cipher); + $hash = $this->generatePasswordHash($password, $cipher, $uid); $encryptedKey = $this->symmetricEncryptFileContent( $privateKey, $hash @@ -340,9 +342,10 @@ class Crypt { /** * @param string $privateKey * @param string $password + * @param string $uid for regular users, empty for system keys * @return bool|string */ - public function decryptPrivateKey($privateKey, $password = '') { + public function decryptPrivateKey($privateKey, $password = '', $uid = '') { $header = $this->parseHeader($privateKey); @@ -359,7 +362,7 @@ class Crypt { } if ($keyFormat === 'hash') { - $password = $this->generatePasswordHash($password, $cipher); + $password = $this->generatePasswordHash($password, $cipher, $uid); } // If we found a header we need to remove it from the key we want to decrypt diff --git a/apps/encryption/lib/keymanager.php b/apps/encryption/lib/keymanager.php index 47a8e7d391..6c793e5964 100644 --- a/apps/encryption/lib/keymanager.php +++ b/apps/encryption/lib/keymanager.php @@ -184,8 +184,7 @@ class KeyManager { */ public function checkRecoveryPassword($password) { $recoveryKey = $this->keyStorage->getSystemUserKey($this->recoveryKeyId . '.privateKey', Encryption::ID); - $decryptedRecoveryKey = $this->crypt->decryptPrivateKey($recoveryKey, - $password); + $decryptedRecoveryKey = $this->crypt->decryptPrivateKey($recoveryKey, $password); if ($decryptedRecoveryKey) { return true; @@ -203,7 +202,7 @@ class KeyManager { // Save Public Key $this->setPublicKey($uid, $keyPair['publicKey']); - $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $password); + $encryptedKey = $this->crypt->encryptPrivateKey($keyPair['privateKey'], $password, $uid); $header = $this->crypt->generateHeader(); @@ -307,8 +306,7 @@ class KeyManager { try { $privateKey = $this->getPrivateKey($uid); - $privateKey = $this->crypt->decryptPrivateKey($privateKey, - $passPhrase); + $privateKey = $this->crypt->decryptPrivateKey($privateKey, $passPhrase, $uid); } catch (PrivateKeyMissingException $e) { return false; } catch (DecryptionFailedException $e) { diff --git a/apps/encryption/lib/recovery.php b/apps/encryption/lib/recovery.php index e82ecca9d4..b22e326562 100644 --- a/apps/encryption/lib/recovery.php +++ b/apps/encryption/lib/recovery.php @@ -263,8 +263,7 @@ class Recovery { public function recoverUsersFiles($recoveryPassword, $user) { $encryptedKey = $this->keyManager->getSystemPrivateKey($this->keyManager->getRecoveryKeyId()); - $privateKey = $this->crypt->decryptPrivateKey($encryptedKey, - $recoveryPassword); + $privateKey = $this->crypt->decryptPrivateKey($encryptedKey, $recoveryPassword); $this->recoverAllFiles('/' . $user . '/files/', $privateKey, $user); } From 06065189d768e5b33cb4798403db34b12cb60ef7 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 10 Aug 2015 14:13:40 +0200 Subject: [PATCH 017/329] cleanup empty locks --- lib/private/lock/dblockingprovider.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/private/lock/dblockingprovider.php b/lib/private/lock/dblockingprovider.php index 60d516e17c..5480a6e53a 100644 --- a/lib/private/lock/dblockingprovider.php +++ b/lib/private/lock/dblockingprovider.php @@ -105,6 +105,7 @@ class DBLockingProvider extends AbstractLockingProvider { [$path] ); } + $this->markRelease($path, $type); } @@ -133,4 +134,17 @@ class DBLockingProvider extends AbstractLockingProvider { } $this->markChange($path, $targetType); } + + /** + * cleanup empty locks + */ + public function cleanEmptyLocks() { + $this->connection->executeUpdate( + 'DELETE FROM `*PREFIX*file_locks` WHERE `lock` = 0' + ); + } + + public function __destruct() { + $this->cleanEmptyLocks(); + } } From 58e96e53b039365751eb8c4a2d511fcfcf507891 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 10 Aug 2015 14:15:44 +0200 Subject: [PATCH 018/329] add method to check if we're inside a transaction --- lib/private/appframework/db/db.php | 9 +++++++++ lib/private/db/connection.php | 10 ++++++++++ lib/public/idbconnection.php | 8 ++++++++ 3 files changed, 27 insertions(+) diff --git a/lib/private/appframework/db/db.php b/lib/private/appframework/db/db.php index cde8583168..8e3fa6e419 100644 --- a/lib/private/appframework/db/db.php +++ b/lib/private/appframework/db/db.php @@ -153,6 +153,15 @@ class Db implements IDb { $this->connection->beginTransaction(); } + /** + * Check if a transaction is active + * + * @return bool + */ + public function inTransaction() { + return $this->connection->inTransaction(); + } + /** * Commit the database changes done during a transaction that is in progress */ diff --git a/lib/private/db/connection.php b/lib/private/db/connection.php index def3f2fd12..4d33cd968a 100644 --- a/lib/private/db/connection.php +++ b/lib/private/db/connection.php @@ -291,4 +291,14 @@ class Connection extends \Doctrine\DBAL\Connection implements IDBConnection { protected function replaceTablePrefix($statement) { return str_replace( '*PREFIX*', $this->tablePrefix, $statement ); } + + /** + * Check if a transaction is active + * + * @return bool + * @since 8.2.0 + */ + public function inTransaction() { + return $this->getTransactionNestingLevel() > 0; + } } diff --git a/lib/public/idbconnection.php b/lib/public/idbconnection.php index 0d04c43d73..6a4373583f 100644 --- a/lib/public/idbconnection.php +++ b/lib/public/idbconnection.php @@ -114,6 +114,14 @@ interface IDBConnection { */ public function beginTransaction(); + /** + * Check if a transaction is active + * + * @return bool + * @since 8.2.0 + */ + public function inTransaction(); + /** * Commit the database changes done during a transaction that is in progress * @since 6.0.0 From d979e54030b0069572affe173c06680597cc831d Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 10 Aug 2015 14:39:34 +0200 Subject: [PATCH 019/329] log a warning while trying to acquire a db lock from within a transaction --- lib/private/lock/dblockingprovider.php | 16 ++++++++++++++-- lib/private/server.php | 8 ++++---- tests/lib/lock/dblockingprovider.php | 2 +- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/lib/private/lock/dblockingprovider.php b/lib/private/lock/dblockingprovider.php index 5480a6e53a..5241a0440b 100644 --- a/lib/private/lock/dblockingprovider.php +++ b/lib/private/lock/dblockingprovider.php @@ -22,6 +22,7 @@ namespace OC\Lock; use OCP\IDBConnection; +use OCP\ILogger; use OCP\Lock\LockedException; /** @@ -34,10 +35,17 @@ class DBLockingProvider extends AbstractLockingProvider { private $connection; /** - * @param \OCP\IDBConnection $connection + * @var \OCP\ILogger */ - public function __construct(IDBConnection $connection) { + private $logger; + + /** + * @param \OCP\IDBConnection $connection + * @param \OCP\ILogger $logger + */ + public function __construct(IDBConnection $connection, ILogger $logger) { $this->connection = $connection; + $this->logger = $logger; } protected function initLockField($path) { @@ -68,6 +76,10 @@ class DBLockingProvider extends AbstractLockingProvider { * @throws \OCP\Lock\LockedException */ public function acquireLock($path, $type) { + if ($this->connection->inTransaction()){ + $this->logger->warning('Trying to acquire a lock while inside a transition'); + } + $this->connection->beginTransaction(); $this->initLockField($path); if ($type === self::LOCK_SHARED) { diff --git a/lib/private/server.php b/lib/private/server.php index 51e7040543..be2cfc2cf8 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -432,10 +432,10 @@ class Server extends SimpleContainer implements IServerContainer { /** @var \OC\Memcache\Factory $memcacheFactory */ $memcacheFactory = $c->getMemCacheFactory(); $memcache = $memcacheFactory->createLocking('lock'); - if (!($memcache instanceof \OC\Memcache\NullCache)) { - return new MemcacheLockingProvider($memcache); - } - return new DBLockingProvider($c->getDatabaseConnection()); +// if (!($memcache instanceof \OC\Memcache\NullCache)) { +// return new MemcacheLockingProvider($memcache); +// } + return new DBLockingProvider($c->getDatabaseConnection(), $c->getLogger()); } return new NoopLockingProvider(); }); diff --git a/tests/lib/lock/dblockingprovider.php b/tests/lib/lock/dblockingprovider.php index 4818ef1cec..fd6550d9c4 100644 --- a/tests/lib/lock/dblockingprovider.php +++ b/tests/lib/lock/dblockingprovider.php @@ -33,7 +33,7 @@ class DBLockingProvider extends LockingProvider { */ protected function getInstance() { $this->connection = \OC::$server->getDatabaseConnection(); - return new \OC\Lock\DBLockingProvider($this->connection); + return new \OC\Lock\DBLockingProvider($this->connection, \OC::$server->getLogger()); } public function tearDown() { From b91186c503621b3c6beed3f6950922d8155d8ec1 Mon Sep 17 00:00:00 2001 From: Lennart Rosam Date: Wed, 12 Aug 2015 22:18:28 +0200 Subject: [PATCH 020/329] Fix 17677 --- apps/user_ldap/ajax/setConfiguration.php | 2 +- apps/user_ldap/lib/configuration.php | 3 --- apps/user_ldap/templates/settings.php | 1 - 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/apps/user_ldap/ajax/setConfiguration.php b/apps/user_ldap/ajax/setConfiguration.php index 8e6994d8f9..9311d72d21 100644 --- a/apps/user_ldap/ajax/setConfiguration.php +++ b/apps/user_ldap/ajax/setConfiguration.php @@ -33,7 +33,7 @@ $prefix = (string)$_POST['ldap_serverconfig_chooser']; // only legacy checkboxes (Advanced and Expert tab) need to be handled here, // the Wizard-like tabs handle it on their own $chkboxes = array('ldap_configuration_active', 'ldap_override_main_server', - 'ldap_nocase', 'ldap_turn_off_cert_check'); + 'ldap_turn_off_cert_check'); foreach($chkboxes as $boxid) { if(!isset($_POST[$boxid])) { $_POST[$boxid] = 0; diff --git a/apps/user_ldap/lib/configuration.php b/apps/user_ldap/lib/configuration.php index 0af819ff66..1cbe45a82c 100644 --- a/apps/user_ldap/lib/configuration.php +++ b/apps/user_ldap/lib/configuration.php @@ -43,7 +43,6 @@ class Configuration { 'ldapAgentName' => null, 'ldapAgentPassword' => null, 'ldapTLS' => null, - 'ldapNoCase' => null, 'turnOffCertCheck' => null, 'ldapIgnoreNamingRules' => null, 'ldapUserDisplayName' => null, @@ -379,7 +378,6 @@ class Configuration { 'ldap_display_name' => 'displayName', 'ldap_group_display_name' => 'cn', 'ldap_tls' => 0, - 'ldap_nocase' => 0, 'ldap_quota_def' => '', 'ldap_quota_attr' => '', 'ldap_email_attr' => '', @@ -436,7 +434,6 @@ class Configuration { 'ldap_display_name' => 'ldapUserDisplayName', 'ldap_group_display_name' => 'ldapGroupDisplayName', 'ldap_tls' => 'ldapTLS', - 'ldap_nocase' => 'ldapNoCase', 'ldap_quota_def' => 'ldapQuotaDefault', 'ldap_quota_attr' => 'ldapQuotaAttribute', 'ldap_email_attr' => 'ldapEmailAttribute', diff --git a/apps/user_ldap/templates/settings.php b/apps/user_ldap/templates/settings.php index f40eba005d..88900e22bf 100644 --- a/apps/user_ldap/templates/settings.php +++ b/apps/user_ldap/templates/settings.php @@ -78,7 +78,6 @@ style('user_ldap', 'settings');

-

>


From 8313a3fcb3b24bf9e36f48581f64336623ae1ead Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Thu, 13 Aug 2015 07:36:42 +0200 Subject: [PATCH 021/329] Add mitigation against BREACH While BREACH requires the following three factors to be effectively exploitable we should add another mitigation: 1. Application must support HTTP compression 2. Response most reflect user-controlled input 3. Response should contain sensitive data Especially part 2 is with ownCloud not really given since user-input is usually only echoed if a CSRF token has been passed. To reduce the risk even further it is however sensible to encrypt the CSRF token with a shared secret. Since this will change on every request an attack such as BREACH is not feasible anymore against the CSRF token at least. --- lib/base.php | 13 +- lib/private/appframework/http/request.php | 22 +++- lib/private/server.php | 1 + lib/private/util.php | 8 +- .../controller/ApiControllerTest.php | 1 + .../controller/ControllerTest.php | 1 + .../controller/OCSControllerTest.php | 4 + .../dependencyinjection/DIContainerTest.php | 1 + .../lib/appframework/http/DispatcherTest.php | 6 + tests/lib/appframework/http/RequestTest.php | 117 +++++++++++++++--- .../middleware/MiddlewareDispatcherTest.php | 1 + .../middleware/MiddlewareTest.php | 1 + .../security/CORSMiddlewareTest.php | 10 ++ .../security/SecurityMiddlewareTest.php | 1 + .../middleware/sessionmiddlewaretest.php | 1 + tests/lib/util.php | 2 +- 16 files changed, 159 insertions(+), 31 deletions(-) diff --git a/lib/base.php b/lib/base.php index c0f3e50142..07a1e8dfee 100644 --- a/lib/base.php +++ b/lib/base.php @@ -134,18 +134,7 @@ class OC { OC_Config::$object = new \OC\Config(self::$configDir); OC::$SUBURI = str_replace("\\", "/", substr(realpath($_SERVER["SCRIPT_FILENAME"]), strlen(OC::$SERVERROOT))); - /** - * FIXME: The following line is required because of a cyclic dependency - * on IRequest. - */ - $params = [ - 'server' => [ - 'SCRIPT_NAME' => $_SERVER['SCRIPT_NAME'], - 'SCRIPT_FILENAME' => $_SERVER['SCRIPT_FILENAME'], - ], - ]; - $fakeRequest = new \OC\AppFramework\Http\Request($params, null, new \OC\AllConfig(new \OC\SystemConfig())); - $scriptName = $fakeRequest->getScriptName(); + $scriptName = $_SERVER['SCRIPT_NAME']; if (substr($scriptName, -1) == '/') { $scriptName .= 'index.php'; //make sure suburi follows the same rules as scriptName diff --git a/lib/private/appframework/http/request.php b/lib/private/appframework/http/request.php index aaad286e84..a210943917 100644 --- a/lib/private/appframework/http/request.php +++ b/lib/private/appframework/http/request.php @@ -32,6 +32,7 @@ namespace OC\AppFramework\Http; use OC\Security\TrustedDomainHelper; use OCP\IConfig; use OCP\IRequest; +use OCP\Security\ICrypto; use OCP\Security\ISecureRandom; /** @@ -67,6 +68,8 @@ class Request implements \ArrayAccess, \Countable, IRequest { protected $config; /** @var string */ protected $requestId = ''; + /** @var ICrypto */ + protected $crypto; /** * @param array $vars An associative array with the following optional values: @@ -80,17 +83,20 @@ class Request implements \ArrayAccess, \Countable, IRequest { * - string 'method' the request method (GET, POST etc) * - string|false 'requesttoken' the requesttoken or false when not available * @param ISecureRandom $secureRandom + * @param ICrypto $crypto * @param IConfig $config * @param string $stream * @see http://www.php.net/manual/en/reserved.variables.php */ public function __construct(array $vars=array(), ISecureRandom $secureRandom = null, + ICrypto $crypto, IConfig $config, $stream='php://input') { $this->inputStream = $stream; $this->items['params'] = array(); $this->secureRandom = $secureRandom; + $this->crypto = $crypto; $this->config = $config; if(!array_key_exists('method', $vars)) { @@ -415,8 +421,22 @@ class Request implements \ArrayAccess, \Countable, IRequest { return false; } + // Decrypt token to prevent BREACH like attacks + $token = explode(':', $token); + if (count($token) !== 2) { + return false; + } + + $encryptedToken = $token[0]; + $secret = $token[1]; + try { + $decryptedToken = $this->crypto->decrypt($encryptedToken, $secret); + } catch (\Exception $e) { + return false; + } + // Check if the token is valid - if(\OCP\Security\StringUtils::equals($token, $this->items['requesttoken'])) { + if(\OCP\Security\StringUtils::equals($decryptedToken, $this->items['requesttoken'])) { return true; } else { return false; diff --git a/lib/private/server.php b/lib/private/server.php index 618431ff2d..9eea7c4537 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -409,6 +409,7 @@ class Server extends SimpleContainer implements IServerContainer { 'requesttoken' => $requestToken, ], $this->getSecureRandom(), + $this->getCrypto(), $this->getConfig(), $stream ); diff --git a/lib/private/util.php b/lib/private/util.php index 501dbf5c4c..edd375b5c3 100644 --- a/lib/private/util.php +++ b/lib/private/util.php @@ -1057,7 +1057,8 @@ class OC_Util { /** * Register an get/post call. Important to prevent CSRF attacks. * - * @return string Generated token. + * @return string The encrypted CSRF token, the shared secret is appended after the `:`. + * * @description * Creates a 'request token' (random) and stores it inside the session. * Ever subsequent (ajax) request must use such a valid token to succeed, @@ -1074,7 +1075,10 @@ class OC_Util { // Valid token already exists, send it $requestToken = \OC::$server->getSession()->get('requesttoken'); } - return ($requestToken); + + // Encrypt the token to mitigate breach-like attacks + $sharedSecret = \OC::$server->getSecureRandom()->getMediumStrengthGenerator()->generate(10); + return \OC::$server->getCrypto()->encrypt($requestToken, $sharedSecret) . ':' . $sharedSecret; } /** diff --git a/tests/lib/appframework/controller/ApiControllerTest.php b/tests/lib/appframework/controller/ApiControllerTest.php index 137e5950f6..573fe7f3ba 100644 --- a/tests/lib/appframework/controller/ApiControllerTest.php +++ b/tests/lib/appframework/controller/ApiControllerTest.php @@ -38,6 +38,7 @@ class ApiControllerTest extends \Test\TestCase { $request = new Request( ['server' => ['HTTP_ORIGIN' => 'test']], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->controller = new ChildApiController('app', $request, 'verbs', diff --git a/tests/lib/appframework/controller/ControllerTest.php b/tests/lib/appframework/controller/ControllerTest.php index 0d7716da41..243014a91a 100644 --- a/tests/lib/appframework/controller/ControllerTest.php +++ b/tests/lib/appframework/controller/ControllerTest.php @@ -76,6 +76,7 @@ class ControllerTest extends \Test\TestCase { 'method' => 'hi', ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); diff --git a/tests/lib/appframework/controller/OCSControllerTest.php b/tests/lib/appframework/controller/OCSControllerTest.php index 92b092cf0e..292a56e3ca 100644 --- a/tests/lib/appframework/controller/OCSControllerTest.php +++ b/tests/lib/appframework/controller/OCSControllerTest.php @@ -43,6 +43,7 @@ class OCSControllerTest extends \Test\TestCase { ], ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $controller = new ChildOCSController('app', $request, 'verbs', @@ -64,6 +65,7 @@ class OCSControllerTest extends \Test\TestCase { $controller = new ChildOCSController('app', new Request( [], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') )); $expected = "\n" . @@ -96,6 +98,7 @@ class OCSControllerTest extends \Test\TestCase { $controller = new ChildOCSController('app', new Request( [], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') )); $expected = "\n" . @@ -128,6 +131,7 @@ class OCSControllerTest extends \Test\TestCase { $controller = new ChildOCSController('app', new Request( [], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') )); $expected = '{"ocs":{"meta":{"status":"failure","statuscode":400,"message":"OK",' . diff --git a/tests/lib/appframework/dependencyinjection/DIContainerTest.php b/tests/lib/appframework/dependencyinjection/DIContainerTest.php index 0cbdddbb20..598e70beff 100644 --- a/tests/lib/appframework/dependencyinjection/DIContainerTest.php +++ b/tests/lib/appframework/dependencyinjection/DIContainerTest.php @@ -74,6 +74,7 @@ class DIContainerTest extends \Test\TestCase { $this->container['Request'] = new Request( ['method' => 'GET'], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $security = $this->container['SecurityMiddleware']; diff --git a/tests/lib/appframework/http/DispatcherTest.php b/tests/lib/appframework/http/DispatcherTest.php index 02c86df8e7..c25fd7b6f8 100644 --- a/tests/lib/appframework/http/DispatcherTest.php +++ b/tests/lib/appframework/http/DispatcherTest.php @@ -295,6 +295,7 @@ class DispatcherTest extends \Test\TestCase { 'method' => 'POST' ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->dispatcher = new Dispatcher( @@ -322,6 +323,7 @@ class DispatcherTest extends \Test\TestCase { 'method' => 'POST', ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->dispatcher = new Dispatcher( @@ -352,6 +354,7 @@ class DispatcherTest extends \Test\TestCase { 'method' => 'GET' ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->dispatcher = new Dispatcher( @@ -381,6 +384,7 @@ class DispatcherTest extends \Test\TestCase { 'method' => 'GET' ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->dispatcher = new Dispatcher( @@ -411,6 +415,7 @@ class DispatcherTest extends \Test\TestCase { 'method' => 'PUT' ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->dispatcher = new Dispatcher( @@ -443,6 +448,7 @@ class DispatcherTest extends \Test\TestCase { 'method' => 'POST' ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->dispatcher = new Dispatcher( diff --git a/tests/lib/appframework/http/RequestTest.php b/tests/lib/appframework/http/RequestTest.php index 10a9e486c9..deb2890986 100644 --- a/tests/lib/appframework/http/RequestTest.php +++ b/tests/lib/appframework/http/RequestTest.php @@ -10,6 +10,7 @@ namespace OC\AppFramework\Http; +use OC\Security\Crypto; use OCP\Security\ISecureRandom; use OCP\IConfig; @@ -53,6 +54,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -85,6 +87,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -96,8 +99,8 @@ class RequestTest extends \Test\TestCase { /** - * @expectedException \RuntimeException - */ + * @expectedException \RuntimeException + */ public function testImmutableArrayAccess() { $vars = array( 'get' => array('name' => 'John Q. Public', 'nickname' => 'Joey'), @@ -107,6 +110,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -115,8 +119,8 @@ class RequestTest extends \Test\TestCase { } /** - * @expectedException \RuntimeException - */ + * @expectedException \RuntimeException + */ public function testImmutableMagicAccess() { $vars = array( 'get' => array('name' => 'John Q. Public', 'nickname' => 'Joey'), @@ -126,6 +130,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -134,8 +139,8 @@ class RequestTest extends \Test\TestCase { } /** - * @expectedException \LogicException - */ + * @expectedException \LogicException + */ public function testGetTheMethodRight() { $vars = array( 'get' => array('name' => 'John Q. Public', 'nickname' => 'Joey'), @@ -145,6 +150,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -161,6 +167,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -182,6 +189,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -206,6 +214,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -230,6 +239,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -250,6 +260,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -274,6 +285,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -303,6 +315,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -324,6 +337,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( $vars, $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -347,6 +361,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( [], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -358,6 +373,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( [], \OC::$server->getSecureRandom(), + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -382,6 +398,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -410,6 +427,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -438,6 +456,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -470,6 +489,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -497,6 +517,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( [], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -506,10 +527,10 @@ class RequestTest extends \Test\TestCase { public function testGetServerProtocolWithProtoValid() { $this->config - ->expects($this->exactly(2)) - ->method('getSystemValue') - ->with('overwriteprotocol') - ->will($this->returnValue('')); + ->expects($this->exactly(2)) + ->method('getSystemValue') + ->with('overwriteprotocol') + ->will($this->returnValue('')); $requestHttps = new Request( [ @@ -518,6 +539,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -528,6 +550,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -551,6 +574,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -571,6 +595,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -587,6 +612,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( [], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -607,6 +633,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -628,6 +655,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -716,6 +744,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -732,6 +761,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -749,6 +779,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -766,6 +797,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -793,6 +825,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( [], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -814,6 +847,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -840,6 +874,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -866,6 +901,7 @@ class RequestTest extends \Test\TestCase { ], ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -882,6 +918,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( [], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -909,6 +946,7 @@ class RequestTest extends \Test\TestCase { $request = new Request( [], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -924,6 +962,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -944,6 +983,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -964,6 +1004,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -986,6 +1027,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -1008,6 +1050,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -1030,6 +1073,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -1052,6 +1096,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -1105,6 +1150,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ); @@ -1144,6 +1190,7 @@ class RequestTest extends \Test\TestCase { ] ], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ]) @@ -1157,17 +1204,25 @@ class RequestTest extends \Test\TestCase { } public function testPassesCSRFCheckWithGet() { + $crypto = $this->getMock('\OCP\Security\ICrypto'); + $crypto + ->expects($this->once()) + ->method('decrypt') + ->with('1c637c4147e40a8a8f09428ec2059cebea3480c27b402b4e793c69710a731513|wlXxNUaFqHuQnZr5|e6ab49c9e0e20c8d3607e02f1d8e6ec17ad6020ae10b7d64ab4b0a6318c0875940943a6aa303dc090fea0b4cd5b9fb8bcbecac4308a2bd15d9f369cdc22121a4', 'secret') + ->will($this->returnValue('MyStoredRequestToken')); + /** @var Request $request */ $request = $this->getMockBuilder('\OC\AppFramework\Http\Request') ->setMethods(['getScriptName']) ->setConstructorArgs([ [ 'get' => [ - 'requesttoken' => 'MyStoredRequestToken', + 'requesttoken' => '1c637c4147e40a8a8f09428ec2059cebea3480c27b402b4e793c69710a731513|wlXxNUaFqHuQnZr5|e6ab49c9e0e20c8d3607e02f1d8e6ec17ad6020ae10b7d64ab4b0a6318c0875940943a6aa303dc090fea0b4cd5b9fb8bcbecac4308a2bd15d9f369cdc22121a4:secret', ], 'requesttoken' => 'MyStoredRequestToken', ], $this->secureRandom, + $crypto, $this->config, $this->stream ]) @@ -1177,17 +1232,25 @@ class RequestTest extends \Test\TestCase { } public function testPassesCSRFCheckWithPost() { + $crypto = $this->getMock('\OCP\Security\ICrypto'); + $crypto + ->expects($this->once()) + ->method('decrypt') + ->with('1c637c4147e40a8a8f09428ec2059cebea3480c27b402b4e793c69710a731513|wlXxNUaFqHuQnZr5|e6ab49c9e0e20c8d3607e02f1d8e6ec17ad6020ae10b7d64ab4b0a6318c0875940943a6aa303dc090fea0b4cd5b9fb8bcbecac4308a2bd15d9f369cdc22121a4', 'secret') + ->will($this->returnValue('MyStoredRequestToken')); + /** @var Request $request */ $request = $this->getMockBuilder('\OC\AppFramework\Http\Request') ->setMethods(['getScriptName']) ->setConstructorArgs([ [ 'post' => [ - 'requesttoken' => 'MyStoredRequestToken', + 'requesttoken' => '1c637c4147e40a8a8f09428ec2059cebea3480c27b402b4e793c69710a731513|wlXxNUaFqHuQnZr5|e6ab49c9e0e20c8d3607e02f1d8e6ec17ad6020ae10b7d64ab4b0a6318c0875940943a6aa303dc090fea0b4cd5b9fb8bcbecac4308a2bd15d9f369cdc22121a4:secret', ], 'requesttoken' => 'MyStoredRequestToken', ], $this->secureRandom, + $crypto, $this->config, $this->stream ]) @@ -1197,17 +1260,24 @@ class RequestTest extends \Test\TestCase { } public function testPassesCSRFCheckWithHeader() { + $crypto = $this->getMock('\OCP\Security\ICrypto'); + $crypto + ->expects($this->once()) + ->method('decrypt') + ->with('1c637c4147e40a8a8f09428ec2059cebea3480c27b402b4e793c69710a731513|wlXxNUaFqHuQnZr5|e6ab49c9e0e20c8d3607e02f1d8e6ec17ad6020ae10b7d64ab4b0a6318c0875940943a6aa303dc090fea0b4cd5b9fb8bcbecac4308a2bd15d9f369cdc22121a4', 'secret') + ->will($this->returnValue('MyStoredRequestToken')); /** @var Request $request */ $request = $this->getMockBuilder('\OC\AppFramework\Http\Request') ->setMethods(['getScriptName']) ->setConstructorArgs([ [ 'server' => [ - 'HTTP_REQUESTTOKEN' => 'MyStoredRequestToken', + 'HTTP_REQUESTTOKEN' => '1c637c4147e40a8a8f09428ec2059cebea3480c27b402b4e793c69710a731513|wlXxNUaFqHuQnZr5|e6ab49c9e0e20c8d3607e02f1d8e6ec17ad6020ae10b7d64ab4b0a6318c0875940943a6aa303dc090fea0b4cd5b9fb8bcbecac4308a2bd15d9f369cdc22121a4:secret', ], 'requesttoken' => 'MyStoredRequestToken', ], $this->secureRandom, + $crypto, $this->config, $this->stream ]) @@ -1216,18 +1286,34 @@ class RequestTest extends \Test\TestCase { $this->assertTrue($request->passesCSRFCheck()); } - public function testPassesCSRFCheckWithInvalidToken() { + public function invalidTokenDataProvider() { + return [ + ['InvalidSentToken'], + ['InvalidSentToken:InvalidSecret'], + [null], + [''], + ]; + } + + /** + * @dataProvider invalidTokenDataProvider + * @param string $invalidToken + */ + public function testPassesCSRFCheckWithInvalidToken($invalidToken) { + $crypto = new Crypto($this->config, $this->secureRandom); + /** @var Request $request */ $request = $this->getMockBuilder('\OC\AppFramework\Http\Request') ->setMethods(['getScriptName']) ->setConstructorArgs([ [ 'server' => [ - 'HTTP_REQUESTTOKEN' => 'MyInvalidSentToken', + 'HTTP_REQUESTTOKEN' => $invalidToken, ], 'requesttoken' => 'MyStoredRequestToken', ], $this->secureRandom, + $crypto, $this->config, $this->stream ]) @@ -1243,6 +1329,7 @@ class RequestTest extends \Test\TestCase { ->setConstructorArgs([ [], $this->secureRandom, + $this->getMock('\OCP\Security\ICrypto'), $this->config, $this->stream ]) diff --git a/tests/lib/appframework/middleware/MiddlewareDispatcherTest.php b/tests/lib/appframework/middleware/MiddlewareDispatcherTest.php index a873152579..eab45b03c9 100644 --- a/tests/lib/appframework/middleware/MiddlewareDispatcherTest.php +++ b/tests/lib/appframework/middleware/MiddlewareDispatcherTest.php @@ -133,6 +133,7 @@ class MiddlewareDispatcherTest extends \Test\TestCase { new Request( ['method' => 'GET'], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ) ] diff --git a/tests/lib/appframework/middleware/MiddlewareTest.php b/tests/lib/appframework/middleware/MiddlewareTest.php index 33f04e1383..8e077b37e2 100644 --- a/tests/lib/appframework/middleware/MiddlewareTest.php +++ b/tests/lib/appframework/middleware/MiddlewareTest.php @@ -61,6 +61,7 @@ class MiddlewareTest extends \Test\TestCase { new Request( [], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ) ] diff --git a/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php b/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php index ca526fb859..f5e6106dc3 100644 --- a/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php +++ b/tests/lib/appframework/middleware/security/CORSMiddlewareTest.php @@ -42,6 +42,7 @@ class CORSMiddlewareTest extends \Test\TestCase { ] ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->reflector->reflect($this, __FUNCTION__); @@ -61,6 +62,7 @@ class CORSMiddlewareTest extends \Test\TestCase { ] ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $middleware = new CORSMiddleware($request, $this->reflector, $this->session); @@ -78,6 +80,7 @@ class CORSMiddlewareTest extends \Test\TestCase { $request = new Request( [], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->reflector->reflect($this, __FUNCTION__); @@ -101,6 +104,7 @@ class CORSMiddlewareTest extends \Test\TestCase { ] ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->reflector->reflect($this, __FUNCTION__); @@ -119,6 +123,7 @@ class CORSMiddlewareTest extends \Test\TestCase { $request = new Request( [], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->reflector->reflect($this, __FUNCTION__); @@ -144,6 +149,7 @@ class CORSMiddlewareTest extends \Test\TestCase { 'PHP_AUTH_PW' => 'pass' ]], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->session->expects($this->once()) @@ -169,6 +175,7 @@ class CORSMiddlewareTest extends \Test\TestCase { 'PHP_AUTH_PW' => 'pass' ]], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->session->expects($this->once()) @@ -190,6 +197,7 @@ class CORSMiddlewareTest extends \Test\TestCase { 'PHP_AUTH_PW' => 'pass' ]], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $middleware = new CORSMiddleware($request, $this->reflector, $this->session); @@ -206,6 +214,7 @@ class CORSMiddlewareTest extends \Test\TestCase { 'PHP_AUTH_PW' => 'pass' ]], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $middleware = new CORSMiddleware($request, $this->reflector, $this->session); @@ -226,6 +235,7 @@ class CORSMiddlewareTest extends \Test\TestCase { 'PHP_AUTH_PW' => 'pass' ]], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $middleware = new CORSMiddleware($request, $this->reflector, $this->session); diff --git a/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php b/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php index 347a0423ea..3b4d7987e9 100644 --- a/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php +++ b/tests/lib/appframework/middleware/security/SecurityMiddlewareTest.php @@ -322,6 +322,7 @@ class SecurityMiddlewareTest extends \Test\TestCase { ] ], $this->getMock('\OCP\Security\ISecureRandom'), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->middleware = $this->getMiddleware(true, true); diff --git a/tests/lib/appframework/middleware/sessionmiddlewaretest.php b/tests/lib/appframework/middleware/sessionmiddlewaretest.php index 11c1600f51..06390e96d4 100644 --- a/tests/lib/appframework/middleware/sessionmiddlewaretest.php +++ b/tests/lib/appframework/middleware/sessionmiddlewaretest.php @@ -36,6 +36,7 @@ class SessionMiddlewareTest extends \Test\TestCase { $this->request = new Request( [], $this->getMockBuilder('\OCP\Security\ISecureRandom')->getMock(), + $this->getMock('\OCP\Security\ICrypto'), $this->getMock('\OCP\IConfig') ); $this->reflector = new ControllerMethodReflector(); diff --git a/tests/lib/util.php b/tests/lib/util.php index e52a9fcc61..b9b8062653 100644 --- a/tests/lib/util.php +++ b/tests/lib/util.php @@ -91,7 +91,7 @@ class Test_Util extends \Test\TestCase { function testCallRegister() { $result = strlen(OC_Util::callRegister()); - $this->assertEquals(30, $result); + $this->assertEquals(221, $result); } function testSanitizeHTML() { From df2ce8a075d70a2180f2b1c7685b19db6d3ce91b Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Thu, 13 Aug 2015 07:47:03 +0200 Subject: [PATCH 022/329] Remove search box $_POST since it is unused --- core/templates/layout.user.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/templates/layout.user.php b/core/templates/layout.user.php index 2f93a30ba6..59fced353d 100644 --- a/core/templates/layout.user.php +++ b/core/templates/layout.user.php @@ -100,7 +100,7 @@ t('Search'));?> From 70bce7a54aa6003ed7bab6c4be8966b555a282b5 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Tue, 18 Aug 2015 16:42:25 +0200 Subject: [PATCH 023/329] [admin settings] hide security warnings if empty * fixes #15257 --- settings/js/admin.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/settings/js/admin.js b/settings/js/admin.js index aa228e76be..2f0896c953 100644 --- a/settings/js/admin.js +++ b/settings/js/admin.js @@ -177,6 +177,10 @@ $(document).ready(function(){ var $el = $('#postsetupchecks'); $el.find('.loading').addClass('hidden'); if (messages.length === 0) { + var securityWarning = $('#security-warning'); + if (securityWarning.children('ul').children().length === 0) { + securityWarning.addClass('hidden'); + } } else { var $errorsEl = $el.find('.errors'); var $warningsEl = $el.find('.warnings'); From 45fba849a9ec4c0ae0673d9314d5c941def6460e Mon Sep 17 00:00:00 2001 From: Lennart Rosam Date: Wed, 19 Aug 2015 17:54:16 +0200 Subject: [PATCH 024/329] Remove another occurance of ldap_nocase --- apps/user_ldap/js/wizard/wizardTabAdvanced.js | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/apps/user_ldap/js/wizard/wizardTabAdvanced.js b/apps/user_ldap/js/wizard/wizardTabAdvanced.js index a27ec87b7c..7367bfe87a 100644 --- a/apps/user_ldap/js/wizard/wizardTabAdvanced.js +++ b/apps/user_ldap/js/wizard/wizardTabAdvanced.js @@ -41,10 +41,6 @@ OCA = OCA || {}; $element: $('#ldap_override_main_server'), setMethod: 'setOverrideMainServerState' }, - ldap_nocase: { - $element: $('#ldap_nocase'), - setMethod: 'setNoCase' - }, ldap_turn_off_cert_check: { $element: $('#ldap_turn_off_cert_check'), setMethod: 'setCertCheckDisabled' @@ -165,16 +161,6 @@ OCA = OCA || {}; ); }, - /** - * whether the server is case insensitive. This setting does not play - * a role anymore (probably never had). - * - * @param {string} noCase contains an int - */ - setNoCase: function(noCase) { - this.setElementValue(this.managedItems.ldap_nocase.$element, noCase); - }, - /** * sets whether the SSL/TLS certification check shout be disabled * From fdf1a941b760582c43015204add732d37cf94e0c Mon Sep 17 00:00:00 2001 From: Lennart Rosam Date: Wed, 19 Aug 2015 17:55:21 +0200 Subject: [PATCH 025/329] Add database update routine and bump version to 0.6.2 --- apps/user_ldap/appinfo/update.php | 15 +++++++++++++++ apps/user_ldap/appinfo/version | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index b904bce072..f369c5d067 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -24,3 +24,18 @@ $installedVersion = \OC::$server->getConfig()->getAppValue('user_ldap', 'install if (version_compare($installedVersion, '0.6.1', '<')) { \OC::$server->getConfig()->setAppValue('user_ldap', 'enforce_home_folder_naming_rule', false); } + +if(version_compare($installedVersion, '0.6.2', '<')) { + // Remove LDAP case insensitive setting from DB as it is no longer beeing used. + $helper = new \OCA\user_ldap\lib\Helper(); + $prefixes = $helper->getServerConfigurationPrefixes(); + + // Add empty prefix if only one serverconfig exists + if(count($prefixes) === 0) { + $prefixes[] = ""; + } + + foreach($prefixes as $prefix) { + \OC::$server->getConfig()->deleteAppValue('user_ldap', $prefix . "ldap_nocase"); + } +} diff --git a/apps/user_ldap/appinfo/version b/apps/user_ldap/appinfo/version index ee6cdce3c2..b616048743 100644 --- a/apps/user_ldap/appinfo/version +++ b/apps/user_ldap/appinfo/version @@ -1 +1 @@ -0.6.1 +0.6.2 From 62d328525a264015ba1f7035aed2e75de69f5cdd Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Thu, 20 Aug 2015 00:37:15 +0100 Subject: [PATCH 026/329] setUserVars() should only attempt substitution with strings --- apps/files_external/lib/amazons3.php | 4 ++-- apps/files_external/lib/config.php | 4 +++- apps/files_external/lib/smb_oc.php | 2 +- apps/files_external/templates/settings.php | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/files_external/lib/amazons3.php b/apps/files_external/lib/amazons3.php index b956a607eb..40f07b2b22 100644 --- a/apps/files_external/lib/amazons3.php +++ b/apps/files_external/lib/amazons3.php @@ -122,7 +122,7 @@ class AmazonS3 extends \OC\Files\Storage\Common { $params['region'] = empty($params['region']) ? 'eu-west-1' : $params['region']; $params['hostname'] = empty($params['hostname']) ? 's3.amazonaws.com' : $params['hostname']; if (!isset($params['port']) || $params['port'] === '') { - $params['port'] = ($params['use_ssl'] === 'false') ? 80 : 443; + $params['port'] = ($params['use_ssl'] === false) ? 80 : 443; } $this->params = $params; } @@ -585,7 +585,7 @@ class AmazonS3 extends \OC\Files\Storage\Common { return $this->connection; } - $scheme = ($this->params['use_ssl'] === 'false') ? 'http' : 'https'; + $scheme = ($this->params['use_ssl'] === false) ? 'http' : 'https'; $base_url = $scheme . '://' . $this->params['hostname'] . ':' . $this->params['port'] . '/'; $this->connection = S3Client::factory(array( diff --git a/apps/files_external/lib/config.php b/apps/files_external/lib/config.php index 390f51bfa7..2a523144f7 100644 --- a/apps/files_external/lib/config.php +++ b/apps/files_external/lib/config.php @@ -231,7 +231,9 @@ class OC_Mount_Config { } } } else { - $input = str_replace('$user', $user, $input); + if (is_string($input)) { + $input = str_replace('$user', $user, $input); + } } return $input; } diff --git a/apps/files_external/lib/smb_oc.php b/apps/files_external/lib/smb_oc.php index 52b73c46ff..547caa5ecb 100644 --- a/apps/files_external/lib/smb_oc.php +++ b/apps/files_external/lib/smb_oc.php @@ -39,7 +39,7 @@ class SMB_OC extends SMB { public function __construct($params) { if (isset($params['host'])) { $host = $params['host']; - $this->username_as_share = ($params['username_as_share'] === 'true'); + $this->username_as_share = ($params['username_as_share'] === true); // dummy credentials, unused, to satisfy constructor $user = 'foo'; diff --git a/apps/files_external/templates/settings.php b/apps/files_external/templates/settings.php index 611c5807a5..5b79edf6cf 100644 --- a/apps/files_external/templates/settings.php +++ b/apps/files_external/templates/settings.php @@ -27,7 +27,7 @@ class="" data-parameter="getName()); ?>" - checked="checked" + checked="checked" /> From 643e3a5b6db19b9ba0210fef89f6ee163bc0edef Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Thu, 20 Aug 2015 12:23:12 +0100 Subject: [PATCH 027/329] Convert string booleans to real booleans Legacy compatibility, from the days in stable8 when checkbox boolean values were stored as the strings 'true' and 'false'. --- .../lib/definitionparameter.php | 21 +++++++--- .../lib/frontenddefinitiontrait.php | 4 +- apps/files_external/lib/ftp.php | 6 +-- .../service/storagesservice.php | 8 ++++ .../tests/definitionparameterttest.php | 8 +++- .../tests/frontenddefinitiontraittest.php | 39 +++++++++++++++++-- .../service/globalstoragesservicetest.php | 7 ++++ 7 files changed, 76 insertions(+), 17 deletions(-) diff --git a/apps/files_external/lib/definitionparameter.php b/apps/files_external/lib/definitionparameter.php index 4b560908b6..7f883e5fad 100644 --- a/apps/files_external/lib/definitionparameter.php +++ b/apps/files_external/lib/definitionparameter.php @@ -154,22 +154,31 @@ class DefinitionParameter implements \JsonSerializable { /** * Validate a parameter value against this + * Convert type as necessary * * @param mixed $value Value to check * @return bool success */ - public function validateValue($value) { - if ($this->getFlags() & self::FLAG_OPTIONAL) { - return true; - } + public function validateValue(&$value) { + $optional = $this->getFlags() & self::FLAG_OPTIONAL; + switch ($this->getType()) { case self::VALUE_BOOLEAN: if (!is_bool($value)) { - return false; + switch ($value) { + case 'true': + $value = true; + break; + case 'false': + $value = false; + break; + default: + return false; + } } break; default: - if (empty($value)) { + if (!$value && !$optional) { return false; } break; diff --git a/apps/files_external/lib/frontenddefinitiontrait.php b/apps/files_external/lib/frontenddefinitiontrait.php index 4b826372d2..a5fb1a3f62 100644 --- a/apps/files_external/lib/frontenddefinitiontrait.php +++ b/apps/files_external/lib/frontenddefinitiontrait.php @@ -134,12 +134,12 @@ trait FrontendDefinitionTrait { * @return bool */ public function validateStorageDefinition(StorageConfig $storage) { - $options = $storage->getBackendOptions(); foreach ($this->getParameters() as $name => $parameter) { - $value = isset($options[$name]) ? $options[$name] : null; + $value = $storage->getBackendOption($name); if (!$parameter->validateValue($value)) { return false; } + $storage->setBackendOption($name, $value); } return true; } diff --git a/apps/files_external/lib/ftp.php b/apps/files_external/lib/ftp.php index aeca17c4f4..f3631e53fa 100644 --- a/apps/files_external/lib/ftp.php +++ b/apps/files_external/lib/ftp.php @@ -45,11 +45,7 @@ class FTP extends \OC\Files\Storage\StreamWrapper{ $this->user=$params['user']; $this->password=$params['password']; if (isset($params['secure'])) { - if (is_string($params['secure'])) { - $this->secure = ($params['secure'] === 'true'); - } else { - $this->secure = (bool)$params['secure']; - } + $this->secure = $params['secure']; } else { $this->secure = false; } diff --git a/apps/files_external/service/storagesservice.php b/apps/files_external/service/storagesservice.php index f655d99045..63e7162778 100644 --- a/apps/files_external/service/storagesservice.php +++ b/apps/files_external/service/storagesservice.php @@ -118,6 +118,8 @@ abstract class StoragesService { $applicableGroups[] = $applicable; $storageConfig->setApplicableGroups($applicableGroups); } + + return $storageConfig; } @@ -238,6 +240,12 @@ abstract class StoragesService { $this->setRealStorageIds($storages, $storagesWithConfigHash); } + // convert parameter values + foreach ($storages as $storage) { + $storage->getBackend()->validateStorageDefinition($storage); + $storage->getAuthMechanism()->validateStorageDefinition($storage); + } + return $storages; } diff --git a/apps/files_external/tests/definitionparameterttest.php b/apps/files_external/tests/definitionparameterttest.php index 6be0050869..22e0b84225 100644 --- a/apps/files_external/tests/definitionparameterttest.php +++ b/apps/files_external/tests/definitionparameterttest.php @@ -49,6 +49,9 @@ class DefinitionParameterTest extends \Test\TestCase { [Param::VALUE_BOOLEAN, Param::FLAG_NONE, false, true], [Param::VALUE_BOOLEAN, Param::FLAG_NONE, 123, false], + // conversion from string to boolean + [Param::VALUE_BOOLEAN, Param::FLAG_NONE, 'false', true, false], + [Param::VALUE_BOOLEAN, Param::FLAG_NONE, 'true', true, true], [Param::VALUE_PASSWORD, Param::FLAG_NONE, 'foobar', true], [Param::VALUE_PASSWORD, Param::FLAG_NONE, '', false], @@ -60,11 +63,14 @@ class DefinitionParameterTest extends \Test\TestCase { /** * @dataProvider validateValueProvider */ - public function testValidateValue($type, $flags, $value, $success) { + public function testValidateValue($type, $flags, $value, $success, $expectedValue = null) { $param = new Param('foo', 'bar'); $param->setType($type); $param->setFlags($flags); $this->assertEquals($success, $param->validateValue($value)); + if (isset($expectedValue)) { + $this->assertEquals($expectedValue, $value); + } } } diff --git a/apps/files_external/tests/frontenddefinitiontraittest.php b/apps/files_external/tests/frontenddefinitiontraittest.php index 871a87d4c5..d92d02b985 100644 --- a/apps/files_external/tests/frontenddefinitiontraittest.php +++ b/apps/files_external/tests/frontenddefinitiontraittest.php @@ -70,9 +70,11 @@ class FrontendDefinitionTraitTest extends \Test\TestCase { $storageConfig = $this->getMockBuilder('\OCA\Files_External\Lib\StorageConfig') ->disableOriginalConstructor() ->getMock(); - $storageConfig->expects($this->once()) - ->method('getBackendOptions') - ->willReturn([]); + $storageConfig->expects($this->any()) + ->method('getBackendOption') + ->willReturn(null); + $storageConfig->expects($this->any()) + ->method('setBackendOption'); $trait = $this->getMockForTrait('\OCA\Files_External\Lib\FrontendDefinitionTrait'); $trait->setText('test'); @@ -80,4 +82,35 @@ class FrontendDefinitionTraitTest extends \Test\TestCase { $this->assertEquals($expectedSuccess, $trait->validateStorageDefinition($storageConfig)); } + + public function testValidateStorageSet() { + $param = $this->getMockBuilder('\OCA\Files_External\Lib\DefinitionParameter') + ->disableOriginalConstructor() + ->getMock(); + $param->method('getName') + ->willReturn('param'); + $param->expects($this->once()) + ->method('validateValue') + ->will($this->returnCallback(function(&$value) { + $value = 'foobar'; + return true; + })); + + $storageConfig = $this->getMockBuilder('\OCA\Files_External\Lib\StorageConfig') + ->disableOriginalConstructor() + ->getMock(); + $storageConfig->expects($this->once()) + ->method('getBackendOption') + ->with('param') + ->willReturn('barfoo'); + $storageConfig->expects($this->once()) + ->method('setBackendOption') + ->with('param', 'foobar'); + + $trait = $this->getMockForTrait('\OCA\Files_External\Lib\FrontendDefinitionTrait'); + $trait->setText('test'); + $trait->addParameter($param); + + $this->assertEquals(true, $trait->validateStorageDefinition($storageConfig)); + } } diff --git a/apps/files_external/tests/service/globalstoragesservicetest.php b/apps/files_external/tests/service/globalstoragesservicetest.php index 05585d2c06..2bc480ca31 100644 --- a/apps/files_external/tests/service/globalstoragesservicetest.php +++ b/apps/files_external/tests/service/globalstoragesservicetest.php @@ -789,6 +789,13 @@ class GlobalStoragesServiceTest extends StoragesServiceTest { file_put_contents($configFile, json_encode($json)); + $this->backendService->getBackend('identifier:\OCA\Files_External\Lib\Backend\SMB') + ->expects($this->exactly(4)) + ->method('validateStorageDefinition'); + $this->backendService->getAuthMechanism('identifier:\Auth\Mechanism') + ->expects($this->exactly(4)) + ->method('validateStorageDefinition'); + $allStorages = $this->service->getAllStorages(); $this->assertCount(4, $allStorages); From 63a1f9afacbb7f7465eac326d2e17f32baba66f4 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Fri, 21 Aug 2015 11:09:01 +0200 Subject: [PATCH 028/329] add success message --- settings/css/settings.css | 5 +++++ settings/js/admin.js | 2 +- settings/templates/admin.php | 3 +++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/settings/css/settings.css b/settings/css/settings.css index 7340f2b2a6..6703cc5d76 100644 --- a/settings/css/settings.css +++ b/settings/css/settings.css @@ -361,6 +361,11 @@ table.grid td.date{ list-style: initial; margin: 10px 0; } +#security-warning-state span { + padding-left: 25px; + background-position: 5px center; + margin-left: -5px; +} #shareAPI p { padding-bottom: 0.8em; } #shareAPI input#shareapiExpireAfterNDays {width: 25px;} diff --git a/settings/js/admin.js b/settings/js/admin.js index 2f0896c953..ea9727078e 100644 --- a/settings/js/admin.js +++ b/settings/js/admin.js @@ -179,7 +179,7 @@ $(document).ready(function(){ if (messages.length === 0) { var securityWarning = $('#security-warning'); if (securityWarning.children('ul').children().length === 0) { - securityWarning.addClass('hidden'); + $('#security-warning-state').find('span').removeClass('hidden'); } } else { var $errorsEl = $el.find('.errors'); diff --git a/settings/templates/admin.php b/settings/templates/admin.php index 888ed82379..9c16128184 100644 --- a/settings/templates/admin.php +++ b/settings/templates/admin.php @@ -177,6 +177,9 @@ if ($_['cronErrors']) { t('Please double check the installation guides ↗, and check for any errors or warnings in the log.', link_to_docs('admin-install'))); ?>

+
+ +
From 843135e4ffc5a86435b72f177e3fee10d380a69c Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Fri, 21 Aug 2015 10:13:15 +0100 Subject: [PATCH 029/329] Replace array_filter() with foreach for PHP <5.6 ARRAY_FILTER_USE_KEY is PHP 5.6+ --- .../service/userglobalstoragesservice.php | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/apps/files_external/service/userglobalstoragesservice.php b/apps/files_external/service/userglobalstoragesservice.php index 7852041955..c59652d057 100644 --- a/apps/files_external/service/userglobalstoragesservice.php +++ b/apps/files_external/service/userglobalstoragesservice.php @@ -76,20 +76,25 @@ class UserGlobalStoragesService extends GlobalStoragesService { $data = parent::readLegacyConfig(); $userId = $this->getUser()->getUID(); + // don't use array_filter() with ARRAY_FILTER_USE_KEY, it's PHP 5.6+ if (isset($data[\OC_Mount_Config::MOUNT_TYPE_USER])) { - $data[\OC_Mount_Config::MOUNT_TYPE_USER] = array_filter( - $data[\OC_Mount_Config::MOUNT_TYPE_USER], function($key) use ($userId) { - return (strtolower($key) === strtolower($userId) || $key === 'all'); - }, ARRAY_FILTER_USE_KEY - ); + $newData = []; + foreach ($data[\OC_Mount_Config::MOUNT_TYPE_USER] as $key => $value) { + if (strtolower($key) === strtolower($userId) || $key === 'all') { + $newData[$key] = $value; + } + } + $data[\OC_Mount_Config::MOUNT_TYPE_USER] = $newData; } if (isset($data[\OC_Mount_Config::MOUNT_TYPE_GROUP])) { - $data[\OC_Mount_Config::MOUNT_TYPE_GROUP] = array_filter( - $data[\OC_Mount_Config::MOUNT_TYPE_GROUP], function($key) use ($userId) { - return ($this->groupManager->isInGroup($userId, $key)); - }, ARRAY_FILTER_USE_KEY - ); + $newData = []; + foreach ($data[\OC_Mount_Config::MOUNT_TYPE_GROUP] as $key => $value) { + if ($this->groupManager->isInGroup($userId, $key)) { + $newData[$key] = $value; + } + } + $data[\OC_Mount_Config::MOUNT_TYPE_GROUP] = $newData; } return $data; From d658d8dd4e9abf10d6abba2f8a9297bec69f02c8 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Fri, 21 Aug 2015 15:32:53 +0200 Subject: [PATCH 030/329] Always detect remote changes for fed sharing This is even more important now that filesystem_check_changes is 0 by default. --- apps/files_sharing/lib/external/storage.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/files_sharing/lib/external/storage.php b/apps/files_sharing/lib/external/storage.php index dc8d1738b0..270d8b6d1b 100644 --- a/apps/files_sharing/lib/external/storage.php +++ b/apps/files_sharing/lib/external/storage.php @@ -88,6 +88,8 @@ class Storage extends DAV implements ISharedStorage { 'user' => $options['token'], 'password' => (string)$options['password'] )); + + $this->getWatcher()->setPolicy(\OC\Files\Cache\Watcher::CHECK_ONCE); } public function getRemoteUser() { From 36eef2ddabd77ff6279f3bd6896ced4959f1c370 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 20 Jul 2015 12:59:04 +0200 Subject: [PATCH 031/329] Add a session wrapper to encrypt the data before storing it on disk --- cron.php | 5 +- lib/base.php | 12 +- lib/private/server.php | 42 ++---- lib/private/session/cryptosessiondata.php | 140 ++++++++++++++++++++ lib/private/session/cryptowrapper.php | 81 +++++++++++ tests/lib/server.php | 1 + tests/lib/session/cryptosessiondatatest.php | 53 ++++++++ tests/lib/session/cryptowrappingtest.php | 81 +++++++++++ 8 files changed, 381 insertions(+), 34 deletions(-) create mode 100644 lib/private/session/cryptosessiondata.php create mode 100644 lib/private/session/cryptowrapper.php create mode 100644 tests/lib/session/cryptosessiondatatest.php create mode 100644 tests/lib/session/cryptowrappingtest.php diff --git a/cron.php b/cron.php index 987c7dbca7..ed2a20a1e1 100644 --- a/cron.php +++ b/cron.php @@ -52,7 +52,10 @@ try { \OC::$server->getSession()->close(); // initialize a dummy memory session - \OC::$server->setSession(new \OC\Session\Memory('')); + $session = new \OC\Session\Memory(''); + $cryptoWrapper = \OC::$server->getSessionCryptoWrapper(); + $session = $cryptoWrapper->wrapSession($session); + \OC::$server->setSession($session); $logger = \OC::$server->getLogger(); diff --git a/lib/base.php b/lib/base.php index 42e1d7f858..98305a19df 100644 --- a/lib/base.php +++ b/lib/base.php @@ -463,13 +463,15 @@ class OC { $useCustomSession = false; $session = self::$server->getSession(); OC_Hook::emit('OC', 'initSession', array('session' => &$session, 'sessionName' => &$sessionName, 'useCustomSession' => &$useCustomSession)); - if($useCustomSession) { - // use the session reference as the new Session - self::$server->setSession($session); - } else { + if (!$useCustomSession) { // set the session name to the instance id - which is unique - self::$server->setSession(new \OC\Session\Internal($sessionName)); + $session = new \OC\Session\Internal($sessionName); } + + $cryptoWrapper = \OC::$server->getSessionCryptoWrapper(); + $session = $cryptoWrapper->wrapSession($session); + self::$server->setSession($session); + // if session cant be started break with http 500 error } catch (Exception $e) { \OCP\Util::logException('base', $e); diff --git a/lib/private/server.php b/lib/private/server.php index 8900156721..61eb3c736b 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -56,6 +56,7 @@ use OC\Security\Crypto; use OC\Security\Hasher; use OC\Security\SecureRandom; use OC\Security\TrustedDomainHelper; +use OC\Session\CryptoWrapper; use OC\Tagging\TagMapper; use OCP\IServerContainer; use Symfony\Component\EventDispatcher\EventDispatcher; @@ -159,7 +160,12 @@ class Server extends SimpleContainer implements IServerContainer { }); $this->registerService('UserSession', function (Server $c) { $manager = $c->getUserManager(); - $userSession = new \OC\User\Session($manager, new \OC\Session\Memory('')); + + $session = new \OC\Session\Memory(''); + $cryptoWrapper = $c->getSessionCryptoWrapper(); + $session = $cryptoWrapper->wrapSession($session); + + $userSession = new \OC\User\Session($manager, $session); $userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) { \OC_Hook::emit('OC_User', 'pre_createUser', array('run' => true, 'uid' => $uid, 'password' => $password)); }); @@ -461,6 +467,13 @@ class Server extends SimpleContainer implements IServerContainer { $this->registerService('EventDispatcher', function() { return new EventDispatcher(); }); + $this->registerService('CryptoWrapper', function (Server $c) { + return new CryptoWrapper( + $c->getConfig(), + $c->getCrypto(), + $c->getSecureRandom() + ); + }); } /** @@ -949,31 +962,4 @@ class Server extends SimpleContainer implements IServerContainer { return $this->query('MountManager'); } - /* - * Get the MimeTypeDetector - * - * @return \OCP\Files\IMimeTypeDetector - */ - public function getMimeTypeDetector() { - return $this->query('MimeTypeDetector'); - } - - /** - * Get the manager of all the capabilities - * - * @return \OC\CapabilitiesManager - */ - public function getCapabilitiesManager() { - return $this->query('CapabilitiesManager'); - } - - /** - * Get the EventDispatcher - * - * @return EventDispatcherInterface - * @since 8.2.0 - */ - public function getEventDispatcher() { - return $this->query('EventDispatcher'); - } } diff --git a/lib/private/session/cryptosessiondata.php b/lib/private/session/cryptosessiondata.php new file mode 100644 index 0000000000..9a3cd92882 --- /dev/null +++ b/lib/private/session/cryptosessiondata.php @@ -0,0 +1,140 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OC\Session; + + +use OCP\ISession; +use OCP\Security\ICrypto; + +class CryptoSessionData implements \ArrayAccess, ISession { + /** @var ISession */ + protected $session; + + /** @var \OCP\Security\ICrypto */ + protected $crypto; + + /** @var string */ + protected $passphrase; + + /** + * @param ISession $session + * @param ICrypto $crypto + * @param string $passphrase + */ + public function __construct(ISession $session, ICrypto $crypto, $passphrase) { + $this->crypto = $crypto; + $this->session = $session; + $this->passphrase = $passphrase; + } + + /** + * Set a value in the session + * + * @param string $key + * @param mixed $value + */ + public function set($key, $value) { + $encryptedValue = $this->crypto->encrypt($value, $this->passphrase); + $this->session->set($key, $encryptedValue); + } + + /** + * Get a value from the session + * + * @param string $key + * @return mixed should return null if $key does not exist + * @throws \Exception when the data could not be decrypted + */ + public function get($key) { + $encryptedValue = $this->session->get($key); + if ($encryptedValue === null) { + return null; + } + + $value = $this->crypto->decrypt($encryptedValue, $this->passphrase); + return $value; + } + + /** + * Check if a named key exists in the session + * + * @param string $key + * @return bool + */ + public function exists($key) { + return $this->session->exists($key); + } + + /** + * Remove a $key/$value pair from the session + * + * @param string $key + */ + public function remove($key) { + $this->session->remove($key); + } + + /** + * Reset and recreate the session + */ + public function clear() { + $this->session->clear(); + } + + /** + * Close the session and release the lock + */ + public function close() { + $this->session->close(); + } + + /** + * @param mixed $offset + * @return bool + */ + public function offsetExists($offset) { + return $this->exists($offset); + } + + /** + * @param mixed $offset + * @return mixed + */ + public function offsetGet($offset) { + return $this->get($offset); + } + + /** + * @param mixed $offset + * @param mixed $value + */ + public function offsetSet($offset, $value) { + $this->set($offset, $value); + } + + /** + * @param mixed $offset + */ + public function offsetUnset($offset) { + $this->remove($offset); + } +} diff --git a/lib/private/session/cryptowrapper.php b/lib/private/session/cryptowrapper.php new file mode 100644 index 0000000000..8bc41ac124 --- /dev/null +++ b/lib/private/session/cryptowrapper.php @@ -0,0 +1,81 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OC\Session; + +use OCP\IConfig; +use OCP\ISession; +use OCP\Security\ICrypto; +use OCP\Security\ISecureRandom; + +class CryptoWrapper { + const COOKIE_NAME = 'oc_sessionPassphrase'; + + /** @var ISession */ + protected $session; + + /** @var \OCP\Security\ICrypto */ + protected $crypto; + + /** @var ISecureRandom */ + protected $random; + + /** + * @param IConfig $config + * @param ICrypto $crypto + * @param ISecureRandom $random + */ + public function __construct(IConfig $config, ICrypto $crypto, ISecureRandom $random) { + $this->crypto = $crypto; + $this->config = $config; + $this->random = $random; + + if (isset($_COOKIE[self::COOKIE_NAME])) { + // TODO circular dependency +// $request = \OC::$server->getRequest(); +// $this->passphrase = $request->getCookie(self::COOKIE_NAME); + $this->passphrase = $_COOKIE[self::COOKIE_NAME]; + } else { + $this->passphrase = $this->random->getMediumStrengthGenerator()->generate(128); + + // TODO circular dependency + // $secureCookie = \OC::$server->getRequest()->getServerProtocol() === 'https'; + $secureCookie = false; + $expires = time() + $this->config->getSystemValue('remember_login_cookie_lifetime', 60 * 60 * 24 * 15); + + if (!defined('PHPUNIT_RUN')) { + setcookie(self::COOKIE_NAME, $this->passphrase, $expires, \OC::$WEBROOT, '', $secureCookie); + } + } + } + + /** + * @param ISession $session + * @return ISession + */ + public function wrapSession(ISession $session) { + if (!($session instanceof CryptoSessionData) && $this->config->getSystemValue('encrypt.session', false)) { + return new \OC\Session\CryptoSessionData($session, $this->crypto, $this->passphrase); + } + + return $session; + } +} diff --git a/tests/lib/server.php b/tests/lib/server.php index 9c5c83ceb5..bc44c50a22 100644 --- a/tests/lib/server.php +++ b/tests/lib/server.php @@ -56,6 +56,7 @@ class Server extends \Test\TestCase { ['ContactsManager', '\OCP\Contacts\IManager'], ['Crypto', '\OC\Security\Crypto'], ['Crypto', '\OCP\Security\ICrypto'], + ['CryptoWrapper', '\OC\Session\CryptoWrapper'], ['DatabaseConnection', '\OC\DB\Connection'], ['DatabaseConnection', '\OCP\IDBConnection'], diff --git a/tests/lib/session/cryptosessiondatatest.php b/tests/lib/session/cryptosessiondatatest.php new file mode 100644 index 0000000000..ee6bcbf11c --- /dev/null +++ b/tests/lib/session/cryptosessiondatatest.php @@ -0,0 +1,53 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace Test\Session; + +use OC\Session\CryptoSessionData; + +class CryptoSessionDataTest extends Session { + /** @var \PHPUnit_Framework_MockObject_MockObject|\OCP\Security\ICrypto */ + protected $crypto; + + /** @var \OCP\ISession */ + protected $wrappedSession; + + protected function setUp() { + parent::setUp(); + + $this->wrappedSession = new \OC\Session\Memory($this->getUniqueID()); + $this->crypto = $this->getMockBuilder('OCP\Security\ICrypto') + ->disableOriginalConstructor() + ->getMock(); + $this->crypto->expects($this->any()) + ->method('encrypt') + ->willReturnCallback(function ($input) { + return '#' . $input . '#'; + }); + $this->crypto->expects($this->any()) + ->method('decrypt') + ->willReturnCallback(function ($input) { + return substr($input, 1, -1); + }); + + $this->instance = new CryptoSessionData($this->wrappedSession, $this->crypto, 'PASS'); + } +} diff --git a/tests/lib/session/cryptowrappingtest.php b/tests/lib/session/cryptowrappingtest.php new file mode 100644 index 0000000000..6a3f695996 --- /dev/null +++ b/tests/lib/session/cryptowrappingtest.php @@ -0,0 +1,81 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace Test\Session; + +use OC\Session\CryptoSessionData; +use Test\TestCase; + +class CryptoWrappingTest extends TestCase { + /** @var \PHPUnit_Framework_MockObject_MockObject|\OCP\Security\ICrypto */ + protected $crypto; + + /** @var \PHPUnit_Framework_MockObject_MockObject|\OCP\ISession */ + protected $wrappedSession; + + /** @var \OC\Session\CryptoSessionData */ + protected $instance; + + protected function setUp() { + parent::setUp(); + + $this->wrappedSession = $this->getMockBuilder('OCP\ISession') + ->disableOriginalConstructor() + ->getMock(); + $this->crypto = $this->getMockBuilder('OCP\Security\ICrypto') + ->disableOriginalConstructor() + ->getMock(); + $this->crypto->expects($this->any()) + ->method('encrypt') + ->willReturnCallback(function ($input) { + return '#' . $input . '#'; + }); + $this->crypto->expects($this->any()) + ->method('decrypt') + ->willReturnCallback(function ($input) { + return substr($input, 1, -1); + }); + + $this->instance = new CryptoSessionData($this->wrappedSession, $this->crypto, 'PASS'); + } + + public function testWrappingSet() { + $unencryptedValue = 'foobar'; + + $this->wrappedSession->expects($this->once()) + ->method('set') + ->with('key', $this->crypto->encrypt($unencryptedValue)); + $this->instance->set('key', $unencryptedValue); + } + + public function testUnwrappingGet() { + $unencryptedValue = 'foobar'; + $encryptedValue = $this->crypto->encrypt($unencryptedValue); + + $this->wrappedSession->expects($this->once()) + ->method('get') + ->with('key') + ->willReturnCallback(function () use ($encryptedValue) { + return $encryptedValue; + }); + $this->assertSame($unencryptedValue, $this->instance->get('key')); + } +} From 5e1c2aecc787c6504704deb85ca2ad493a1ad5d1 Mon Sep 17 00:00:00 2001 From: tbartenstein Date: Fri, 21 Aug 2015 18:54:09 +0200 Subject: [PATCH 032/329] fix unit test for folder renaming (icon) fix unit test to go with #17501 and check for the new icon --- apps/files/tests/ajax_rename.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/files/tests/ajax_rename.php b/apps/files/tests/ajax_rename.php index a690c7dcb0..8abde9094d 100644 --- a/apps/files/tests/ajax_rename.php +++ b/apps/files/tests/ajax_rename.php @@ -116,7 +116,7 @@ class Test_OC_Files_App_Rename extends \Test\TestCase { $this->assertEquals('abcdef', $result['data']['etag']); $this->assertFalse(isset($result['data']['tags'])); $this->assertEquals('/', $result['data']['path']); - $icon = \OC_Helper::mimetypeIcon('dir'); + $icon = \OC_Helper::mimetypeIcon('dir-external'); $icon = substr($icon, 0, -3) . 'svg'; $this->assertEquals($icon, $result['data']['icon']); } From 6a3fb0d3b36dce7a6583d58ded1b133f086e2a95 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Fri, 21 Aug 2015 18:27:52 +0200 Subject: [PATCH 033/329] Handle failures gracefully, remove switch --- lib/private/server.php | 55 ++++++++++++++++++++++- lib/private/session/cryptosessiondata.php | 19 +++++--- lib/private/session/cryptowrapper.php | 45 ++++++++++++------- tests/lib/session/cryptowrappingtest.php | 7 +-- 4 files changed, 101 insertions(+), 25 deletions(-) diff --git a/lib/private/server.php b/lib/private/server.php index 61eb3c736b..c47486ab95 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -40,6 +40,7 @@ use bantu\IniGetWrapper\IniGetWrapper; use OC\AppFramework\Http\Request; use OC\AppFramework\Db\Db; use OC\AppFramework\Utility\SimpleContainer; +use OC\AppFramework\Utility\TimeFactory; use OC\Command\AsyncBus; use OC\Diagnostics\EventLogger; use OC\Diagnostics\NullEventLogger; @@ -468,10 +469,28 @@ class Server extends SimpleContainer implements IServerContainer { return new EventDispatcher(); }); $this->registerService('CryptoWrapper', function (Server $c) { + // FIXME: Instantiiated here due to cyclic dependency + $request = new Request( + [ + 'get' => $_GET, + 'post' => $_POST, + 'files' => $_FILES, + 'server' => $_SERVER, + 'env' => $_ENV, + 'cookies' => $_COOKIE, + 'method' => (isset($_SERVER) && isset($_SERVER['REQUEST_METHOD'])) + ? $_SERVER['REQUEST_METHOD'] + : null, + ], + new SecureRandom(), + $c->getConfig() + ); + return new CryptoWrapper( $c->getConfig(), $c->getCrypto(), - $c->getSecureRandom() + $c->getSecureRandom(), + $request ); }); } @@ -962,4 +981,38 @@ class Server extends SimpleContainer implements IServerContainer { return $this->query('MountManager'); } + /* + * Get the MimeTypeDetector + * + * @return \OCP\Files\IMimeTypeDetector + */ + public function getMimeTypeDetector() { + return $this->query('MimeTypeDetector'); + } + + /** + * Get the manager of all the capabilities + * + * @return \OC\CapabilitiesManager + */ + public function getCapabilitiesManager() { + return $this->query('CapabilitiesManager'); + } + + /** + * Get the EventDispatcher + * + * @return EventDispatcherInterface + * @since 8.2.0 + */ + public function getEventDispatcher() { + return $this->query('EventDispatcher'); + } + + /** + * @return \OC\Session\CryptoWrapper + */ + public function getSessionCryptoWrapper() { + return $this->query('CryptoWrapper'); + } } diff --git a/lib/private/session/cryptosessiondata.php b/lib/private/session/cryptosessiondata.php index 9a3cd92882..60d22b25e9 100644 --- a/lib/private/session/cryptosessiondata.php +++ b/lib/private/session/cryptosessiondata.php @@ -21,10 +21,14 @@ namespace OC\Session; - use OCP\ISession; use OCP\Security\ICrypto; +/** + * Class CryptoSessionData + * + * @package OC\Session + */ class CryptoSessionData implements \ArrayAccess, ISession { /** @var ISession */ protected $session; @@ -53,7 +57,7 @@ class CryptoSessionData implements \ArrayAccess, ISession { * @param mixed $value */ public function set($key, $value) { - $encryptedValue = $this->crypto->encrypt($value, $this->passphrase); + $encryptedValue = $this->crypto->encrypt(json_encode($value), $this->passphrase); $this->session->set($key, $encryptedValue); } @@ -61,8 +65,7 @@ class CryptoSessionData implements \ArrayAccess, ISession { * Get a value from the session * * @param string $key - * @return mixed should return null if $key does not exist - * @throws \Exception when the data could not be decrypted + * @return string|null Either the value or null */ public function get($key) { $encryptedValue = $this->session->get($key); @@ -70,8 +73,12 @@ class CryptoSessionData implements \ArrayAccess, ISession { return null; } - $value = $this->crypto->decrypt($encryptedValue, $this->passphrase); - return $value; + try { + $value = $this->crypto->decrypt($encryptedValue, $this->passphrase); + return json_decode($value); + } catch (\Exception $e) { + return null; + } } /** diff --git a/lib/private/session/cryptowrapper.php b/lib/private/session/cryptowrapper.php index 8bc41ac124..62bdcbfb71 100644 --- a/lib/private/session/cryptowrapper.php +++ b/lib/private/session/cryptowrapper.php @@ -21,11 +21,29 @@ namespace OC\Session; +use OCP\AppFramework\Utility\ITimeFactory; use OCP\IConfig; +use OCP\IRequest; use OCP\ISession; use OCP\Security\ICrypto; use OCP\Security\ISecureRandom; +/** + * Class CryptoWrapper provides some rough basic level of additional security by + * storing the session data in an encrypted form. + * + * The content of the session is encrypted using another cookie sent by the browser. + * One should note that an adversary with access to the source code or the system + * memory is still able to read the original session ID from the users' request. + * This thus can not be considered a strong security measure one should consider + * it as an additional small security obfuscation layer to comply with compliance + * guidelines. + * + * TODO: Remove this in a future relase with an approach such as + * https://github.com/owncloud/core/pull/17866 + * + * @package OC\Session + */ class CryptoWrapper { const COOKIE_NAME = 'oc_sessionPassphrase'; @@ -42,27 +60,24 @@ class CryptoWrapper { * @param IConfig $config * @param ICrypto $crypto * @param ISecureRandom $random + * @param IRequest $request */ - public function __construct(IConfig $config, ICrypto $crypto, ISecureRandom $random) { + public function __construct(IConfig $config, + ICrypto $crypto, + ISecureRandom $random, + IRequest $request) { $this->crypto = $crypto; $this->config = $config; $this->random = $random; - if (isset($_COOKIE[self::COOKIE_NAME])) { - // TODO circular dependency -// $request = \OC::$server->getRequest(); -// $this->passphrase = $request->getCookie(self::COOKIE_NAME); - $this->passphrase = $_COOKIE[self::COOKIE_NAME]; + if (!is_null($request->getCookie(self::COOKIE_NAME))) { + $this->passphrase = $request->getCookie(self::COOKIE_NAME); } else { $this->passphrase = $this->random->getMediumStrengthGenerator()->generate(128); - - // TODO circular dependency - // $secureCookie = \OC::$server->getRequest()->getServerProtocol() === 'https'; - $secureCookie = false; - $expires = time() + $this->config->getSystemValue('remember_login_cookie_lifetime', 60 * 60 * 24 * 15); - + $secureCookie = $request->getServerProtocol() === 'https'; + // FIXME: Required for CI if (!defined('PHPUNIT_RUN')) { - setcookie(self::COOKIE_NAME, $this->passphrase, $expires, \OC::$WEBROOT, '', $secureCookie); + setcookie(self::COOKIE_NAME, $this->passphrase, 0, \OC::$WEBROOT, '', $secureCookie, true); } } } @@ -72,8 +87,8 @@ class CryptoWrapper { * @return ISession */ public function wrapSession(ISession $session) { - if (!($session instanceof CryptoSessionData) && $this->config->getSystemValue('encrypt.session', false)) { - return new \OC\Session\CryptoSessionData($session, $this->crypto, $this->passphrase); + if (!($session instanceof CryptoSessionData)) { + return new CryptoSessionData($session, $this->crypto, $this->passphrase); } return $session; diff --git a/tests/lib/session/cryptowrappingtest.php b/tests/lib/session/cryptowrappingtest.php index 6a3f695996..12b3c905b7 100644 --- a/tests/lib/session/cryptowrappingtest.php +++ b/tests/lib/session/cryptowrappingtest.php @@ -46,7 +46,7 @@ class CryptoWrappingTest extends TestCase { $this->crypto->expects($this->any()) ->method('encrypt') ->willReturnCallback(function ($input) { - return '#' . $input . '#'; + return $input; }); $this->crypto->expects($this->any()) ->method('decrypt') @@ -62,7 +62,7 @@ class CryptoWrappingTest extends TestCase { $this->wrappedSession->expects($this->once()) ->method('set') - ->with('key', $this->crypto->encrypt($unencryptedValue)); + ->with('key', $this->crypto->encrypt(json_encode($unencryptedValue))); $this->instance->set('key', $unencryptedValue); } @@ -76,6 +76,7 @@ class CryptoWrappingTest extends TestCase { ->willReturnCallback(function () use ($encryptedValue) { return $encryptedValue; }); - $this->assertSame($unencryptedValue, $this->instance->get('key')); + + $this->assertSame($unencryptedValue, $this->wrappedSession->get('key')); } } From 588fae54cb2410071e0f0933d6620b62c60edad0 Mon Sep 17 00:00:00 2001 From: Lennart Rosam Date: Fri, 21 Aug 2015 22:50:28 +0200 Subject: [PATCH 034/329] Remove if-block as the helper does return the empty prefix --- apps/user_ldap/appinfo/update.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index f369c5d067..410b8408f8 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -30,11 +30,6 @@ if(version_compare($installedVersion, '0.6.2', '<')) { $helper = new \OCA\user_ldap\lib\Helper(); $prefixes = $helper->getServerConfigurationPrefixes(); - // Add empty prefix if only one serverconfig exists - if(count($prefixes) === 0) { - $prefixes[] = ""; - } - foreach($prefixes as $prefix) { \OC::$server->getConfig()->deleteAppValue('user_ldap', $prefix . "ldap_nocase"); } From 4b04412db3e0b7e50388a3ade1f8c33cb3f0232a Mon Sep 17 00:00:00 2001 From: Lennart Rosam Date: Sat, 22 Aug 2015 01:27:32 +0200 Subject: [PATCH 035/329] Spaces -> tabs --- apps/user_ldap/appinfo/update.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/user_ldap/appinfo/update.php b/apps/user_ldap/appinfo/update.php index 410b8408f8..4907db0cda 100644 --- a/apps/user_ldap/appinfo/update.php +++ b/apps/user_ldap/appinfo/update.php @@ -26,11 +26,11 @@ if (version_compare($installedVersion, '0.6.1', '<')) { } if(version_compare($installedVersion, '0.6.2', '<')) { - // Remove LDAP case insensitive setting from DB as it is no longer beeing used. - $helper = new \OCA\user_ldap\lib\Helper(); - $prefixes = $helper->getServerConfigurationPrefixes(); + // Remove LDAP case insensitive setting from DB as it is no longer beeing used. + $helper = new \OCA\user_ldap\lib\Helper(); + $prefixes = $helper->getServerConfigurationPrefixes(); - foreach($prefixes as $prefix) { - \OC::$server->getConfig()->deleteAppValue('user_ldap', $prefix . "ldap_nocase"); - } + foreach($prefixes as $prefix) { + \OC::$server->getConfig()->deleteAppValue('user_ldap', $prefix . "ldap_nocase"); + } } From 0a1d551090696b6423cf4fe0740468bff912a972 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Sat, 22 Aug 2015 14:36:01 +0200 Subject: [PATCH 036/329] Use IClientService to check for remote ownCloud instances 1. Allows to set a timeout (though still not perfect but way better than before) 2. Allows to have unit tests 3. I also added unit tests for the existing controller code 4. Corrected PHPDoc on IClient --- apps/files_sharing/ajax/testremote.php | 46 ----- apps/files_sharing/appinfo/application.php | 6 +- apps/files_sharing/appinfo/routes.php | 11 +- .../controllers/externalsharescontroller.php | 50 ++++- .../controller/externalsharecontroller.php | 187 ++++++++++++++++++ lib/private/http/client/client.php | 5 + lib/public/http/client/iclient.php | 5 + 7 files changed, 257 insertions(+), 53 deletions(-) delete mode 100644 apps/files_sharing/ajax/testremote.php create mode 100644 apps/files_sharing/tests/controller/externalsharecontroller.php diff --git a/apps/files_sharing/ajax/testremote.php b/apps/files_sharing/ajax/testremote.php deleted file mode 100644 index 0a0548dbbd..0000000000 --- a/apps/files_sharing/ajax/testremote.php +++ /dev/null @@ -1,46 +0,0 @@ - - * @author Morris Jobke - * @author Robin Appelman - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @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 - * - */ - -OCP\JSON::callCheck(); -OCP\JSON::checkAppEnabled('files_sharing'); - -$remote = $_GET['remote']; - -function testUrl($url) { - try { - $result = file_get_contents($url); - $data = json_decode($result); - // public link mount is only supported in ownCloud 7+ - return is_object($data) and !empty($data->version) and version_compare($data->version, '7.0.0', '>='); - } catch (Exception $e) { - return false; - } -} - -if (testUrl('https://' . $remote . '/status.php')) { - echo 'https'; -} elseif (testUrl('http://' . $remote . '/status.php')) { - echo 'http'; -} else { - echo 'false'; -} diff --git a/apps/files_sharing/appinfo/application.php b/apps/files_sharing/appinfo/application.php index 2fe9019d54..530195c65f 100644 --- a/apps/files_sharing/appinfo/application.php +++ b/apps/files_sharing/appinfo/application.php @@ -62,7 +62,8 @@ class Application extends App { $c->query('AppName'), $c->query('Request'), $c->query('IsIncomingShareEnabled'), - $c->query('ExternalManager') + $c->query('ExternalManager'), + $c->query('HttpClientService') ); }); @@ -78,6 +79,9 @@ class Application extends App { $container->registerService('UserManager', function (SimpleContainer $c) use ($server) { return $server->getUserManager(); }); + $container->registerService('HttpClientService', function (SimpleContainer $c) use ($server) { + return $server->getHTTPClientService(); + }); $container->registerService('IsIncomingShareEnabled', function (SimpleContainer $c) { return Helper::isIncomingServer2serverShareEnabled(); }); diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 1e99267a43..184ad29bba 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -33,7 +33,14 @@ $application = new Application(); $application->registerRoutes($this, [ 'resources' => [ 'ExternalShares' => ['url' => '/api/externalShares'], - ] + ], + 'routes' => [ + [ + 'name' => 'externalShares#testRemote', + 'url' => '/testremote', + 'verb' => 'GET' + ], + ], ]); /** @var $this \OCP\Route\IRouter */ @@ -50,8 +57,6 @@ $this->create('sharing_external_shareinfo', '/shareinfo') ->actionInclude('files_sharing/ajax/shareinfo.php'); $this->create('sharing_external_add', '/external') ->actionInclude('files_sharing/ajax/external.php'); -$this->create('sharing_external_test_remote', '/testremote') - ->actionInclude('files_sharing/ajax/testremote.php'); // OCS API diff --git a/apps/files_sharing/lib/controllers/externalsharescontroller.php b/apps/files_sharing/lib/controllers/externalsharescontroller.php index 494a544b2b..6eb9d3c13d 100644 --- a/apps/files_sharing/lib/controllers/externalsharescontroller.php +++ b/apps/files_sharing/lib/controllers/externalsharescontroller.php @@ -23,11 +23,11 @@ namespace OCA\Files_Sharing\Controllers; -use OC; -use OCP; use OCP\AppFramework\Controller; use OCP\IRequest; use OCP\AppFramework\Http\JSONResponse; +use OCP\Http\Client\IClientService; +use OCP\AppFramework\Http\DataResponse; /** * Class ExternalSharesController @@ -40,20 +40,25 @@ class ExternalSharesController extends Controller { private $incomingShareEnabled; /** @var \OCA\Files_Sharing\External\Manager */ private $externalManager; + /** @var IClientService */ + private $clientService; /** * @param string $appName * @param IRequest $request * @param bool $incomingShareEnabled * @param \OCA\Files_Sharing\External\Manager $externalManager + * @param IClientService $clientService */ public function __construct($appName, IRequest $request, $incomingShareEnabled, - \OCA\Files_Sharing\External\Manager $externalManager) { + \OCA\Files_Sharing\External\Manager $externalManager, + IClientService $clientService) { parent::__construct($appName, $request); $this->incomingShareEnabled = $incomingShareEnabled; $this->externalManager = $externalManager; + $this->clientService = $clientService; } /** @@ -97,4 +102,43 @@ class ExternalSharesController extends Controller { return new JSONResponse(); } + /** + * Test whether the specified remote is accessible + * + * @param string $remote + * @return bool + */ + protected function testUrl($remote) { + try { + $client = $this->clientService->newClient(); + $response = json_decode($client->get( + $remote, + [ + 'timeout' => 3, + 'connect_timeout' => 3, + ] + )->getBody()); + + return !empty($response->version) && version_compare($response->version, '7.0.0', '>='); + } catch (\Exception $e) { + return false; + } + } + + /** + * @PublicPage + * + * @param string $remote + * @return DataResponse + */ + public function testRemote($remote) { + if ($this->testUrl('https://' . $remote . '/status.php')) { + return new DataResponse('https'); + } elseif ($this->testUrl('http://' . $remote . '/status.php')) { + return new DataResponse('http'); + } else { + return new DataResponse(false); + } + } + } diff --git a/apps/files_sharing/tests/controller/externalsharecontroller.php b/apps/files_sharing/tests/controller/externalsharecontroller.php new file mode 100644 index 0000000000..3dc34bca7a --- /dev/null +++ b/apps/files_sharing/tests/controller/externalsharecontroller.php @@ -0,0 +1,187 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_Sharing\Controllers; + +use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\Http\JSONResponse; +use OCP\Http\Client\IClientService; +use OCP\IRequest; + +/** + * Class ExternalShareControllerTest + * + * @package OCA\Files_Sharing\Controllers + */ +class ExternalShareControllerTest extends \Test\TestCase { + /** @var bool */ + private $incomingShareEnabled; + /** @var IRequest */ + private $request; + /** @var \OCA\Files_Sharing\External\Manager */ + private $externalManager; + /** @var IClientService */ + private $clientService; + + public function setUp() { + $this->request = $this->getMockBuilder('\\OCP\\IRequest') + ->disableOriginalConstructor()->getMock(); + $this->externalManager = $this->getMockBuilder('\\OCA\\Files_Sharing\\External\\Manager') + ->disableOriginalConstructor()->getMock(); + $this->clientService = $this->getMockBuilder('\\OCP\Http\\Client\\IClientService') + ->disableOriginalConstructor()->getMock(); + } + + /** + * @return ExternalSharesController + */ + public function getExternalShareController() { + return new ExternalSharesController( + 'files_sharing', + $this->request, + $this->incomingShareEnabled, + $this->externalManager, + $this->clientService + ); + } + + public function testIndexDisabled() { + $this->externalManager + ->expects($this->never()) + ->method('getOpenShares'); + + $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->index()); + } + + public function testIndexEnabled() { + $this->incomingShareEnabled = true; + $this->externalManager + ->expects($this->once()) + ->method('getOpenShares') + ->will($this->returnValue(['MyDummyArray'])); + + $this->assertEquals(new JSONResponse(['MyDummyArray']), $this->getExternalShareController()->index()); + } + + public function testCreateDisabled() { + $this->externalManager + ->expects($this->never()) + ->method('acceptShare'); + + $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->create(4)); + } + + public function testCreateEnabled() { + $this->incomingShareEnabled = true; + $this->externalManager + ->expects($this->once()) + ->method('acceptShare') + ->with(4); + + $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->create(4)); + } + + public function testDestroyDisabled() { + $this->externalManager + ->expects($this->never()) + ->method('destroy'); + + $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->destroy(4)); + } + + public function testDestroyEnabled() { + $this->incomingShareEnabled = true; + $this->externalManager + ->expects($this->once()) + ->method('declineShare') + ->with(4); + + $this->assertEquals(new JSONResponse(), $this->getExternalShareController()->destroy(4)); + } + + public function testRemoteWithValidHttps() { + $client = $this->getMockBuilder('\\OCP\\Http\\Client\\IClient') + ->disableOriginalConstructor()->getMock(); + $response = $this->getMockBuilder('\\OCP\\Http\\Client\\IResponse') + ->disableOriginalConstructor()->getMock(); + $client + ->expects($this->once()) + ->method('get') + ->with( + 'https://owncloud.org/status.php', + [ + 'timeout' => 3, + 'connect_timeout' => 3, + ] + )->will($this->returnValue($response)); + $response + ->expects($this->once()) + ->method('getBody') + ->will($this->returnValue('{"installed":true,"maintenance":false,"version":"8.1.0.8","versionstring":"8.1.0","edition":""}')); + + $this->clientService + ->expects($this->once()) + ->method('newClient') + ->will($this->returnValue($client)); + + $this->assertEquals(new DataResponse('https'), $this->getExternalShareController()->testRemote('owncloud.org')); + } + + public function testRemoteWithWorkingHttp() { + $client = $this->getMockBuilder('\\OCP\\Http\\Client\\IClient') + ->disableOriginalConstructor()->getMock(); + $response = $this->getMockBuilder('\\OCP\\Http\\Client\\IResponse') + ->disableOriginalConstructor()->getMock(); + $client + ->method('get') + ->will($this->onConsecutiveCalls($response, $response)); + $response + ->expects($this->exactly(2)) + ->method('getBody') + ->will($this->onConsecutiveCalls('Certainly not a JSON string', '{"installed":true,"maintenance":false,"version":"8.1.0.8","versionstring":"8.1.0","edition":""}')); + $this->clientService + ->expects($this->exactly(2)) + ->method('newClient') + ->will($this->returnValue($client)); + + $this->assertEquals(new DataResponse('http'), $this->getExternalShareController()->testRemote('owncloud.org')); + } + + public function testRemoteWithInvalidRemote() { + $client = $this->getMockBuilder('\\OCP\\Http\\Client\\IClient') + ->disableOriginalConstructor()->getMock(); + $response = $this->getMockBuilder('\\OCP\\Http\\Client\\IResponse') + ->disableOriginalConstructor()->getMock(); + $client + ->method('get') + ->will($this->onConsecutiveCalls($response, $response)); + $response + ->expects($this->exactly(2)) + ->method('getBody') + ->will($this->returnValue('Certainly not a JSON string')); + $this->clientService + ->expects($this->exactly(2)) + ->method('newClient') + ->will($this->returnValue($client)); + + $this->assertEquals(new DataResponse(false), $this->getExternalShareController()->testRemote('owncloud.org')); + } +} diff --git a/lib/private/http/client/client.php b/lib/private/http/client/client.php index fb3e06f3c4..323fc0d324 100644 --- a/lib/private/http/client/client.php +++ b/lib/private/http/client/client.php @@ -144,6 +144,7 @@ class Client implements IClient { * 'debug' => true, * 'timeout' => 5, * @return Response + * @throws \Exception If the request could not get completed */ public function head($uri, $options = []) { $response = $this->client->head($uri, $options); @@ -176,6 +177,7 @@ class Client implements IClient { * 'debug' => true, * 'timeout' => 5, * @return Response + * @throws \Exception If the request could not get completed */ public function post($uri, array $options = []) { $response = $this->client->post($uri, $options); @@ -208,6 +210,7 @@ class Client implements IClient { * 'debug' => true, * 'timeout' => 5, * @return Response + * @throws \Exception If the request could not get completed */ public function put($uri, array $options = []) { $response = $this->client->put($uri, $options); @@ -240,6 +243,7 @@ class Client implements IClient { * 'debug' => true, * 'timeout' => 5, * @return Response + * @throws \Exception If the request could not get completed */ public function delete($uri, array $options = []) { $response = $this->client->delete($uri, $options); @@ -273,6 +277,7 @@ class Client implements IClient { * 'debug' => true, * 'timeout' => 5, * @return Response + * @throws \Exception If the request could not get completed */ public function options($uri, array $options = []) { $response = $this->client->options($uri, $options); diff --git a/lib/public/http/client/iclient.php b/lib/public/http/client/iclient.php index aadb9efd1b..494ca7d419 100644 --- a/lib/public/http/client/iclient.php +++ b/lib/public/http/client/iclient.php @@ -80,6 +80,7 @@ interface IClient { * 'verify' => true, // bool or string to CA file * 'debug' => true, * @return IResponse + * @throws \Exception If the request could not get completed * @since 8.1.0 */ public function head($uri, $options = []); @@ -109,6 +110,7 @@ interface IClient { * 'verify' => true, // bool or string to CA file * 'debug' => true, * @return IResponse + * @throws \Exception If the request could not get completed * @since 8.1.0 */ public function post($uri, array $options = []); @@ -138,6 +140,7 @@ interface IClient { * 'verify' => true, // bool or string to CA file * 'debug' => true, * @return IResponse + * @throws \Exception If the request could not get completed * @since 8.1.0 */ public function put($uri, array $options = []); @@ -167,6 +170,7 @@ interface IClient { * 'verify' => true, // bool or string to CA file * 'debug' => true, * @return IResponse + * @throws \Exception If the request could not get completed * @since 8.1.0 */ public function delete($uri, array $options = []); @@ -196,6 +200,7 @@ interface IClient { * 'verify' => true, // bool or string to CA file * 'debug' => true, * @return IResponse + * @throws \Exception If the request could not get completed * @since 8.1.0 */ public function options($uri, array $options = []); From c9e2a2f56e418610bede395465aa9282f5b04e97 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Sat, 22 Aug 2015 14:44:02 +0200 Subject: [PATCH 037/329] Add CORS header to status.php so that we can migrate to a JS based check in the future --- status.php | 1 + 1 file changed, 1 insertion(+) diff --git a/status.php b/status.php index 6e7bcea526..90250ff261 100644 --- a/status.php +++ b/status.php @@ -41,6 +41,7 @@ try { if (OC::$CLI) { print_r($values); } else { + header('Access-Control-Allow-Origin: *'); header('Content-Type: application/json'); echo json_encode($values); } From db4cb1dd4d1266c3284052fcbbfc0acc042485a2 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Sat, 22 Aug 2015 20:42:45 +0200 Subject: [PATCH 038/329] Expire token after 12h and if user logged-in again As an hardening measure we should expire password reset tokens after 12h and if the user has logged-in again successfully after the token was requested. --- core/application.php | 10 +- .../controller/lostcontroller.php | 24 +++- .../controller/lostcontrollertest.php | 123 +++++++++++++++++- 3 files changed, 142 insertions(+), 15 deletions(-) diff --git a/core/application.php b/core/application.php index 373965e7fd..12ec6b63fd 100644 --- a/core/application.php +++ b/core/application.php @@ -27,6 +27,7 @@ namespace OC\Core; use OC\AppFramework\Utility\SimpleContainer; +use OC\AppFramework\Utility\TimeFactory; use \OCP\AppFramework\App; use OC\Core\LostPassword\Controller\LostController; use OC\Core\User\UserController; @@ -63,7 +64,8 @@ class Application extends App { $c->query('SecureRandom'), $c->query('DefaultEmailAddress'), $c->query('IsEncryptionEnabled'), - $c->query('Mailer') + $c->query('Mailer'), + $c->query('TimeFactory') ); }); $container->registerService('UserController', function(SimpleContainer $c) { @@ -120,15 +122,15 @@ class Application extends App { $container->registerService('UserFolder', function(SimpleContainer $c) { return $c->query('ServerContainer')->getUserFolder(); }); - - - $container->registerService('Defaults', function() { return new \OC_Defaults; }); $container->registerService('Mailer', function(SimpleContainer $c) { return $c->query('ServerContainer')->getMailer(); }); + $container->registerService('TimeFactory', function(SimpleContainer $c) { + return new TimeFactory(); + }); $container->registerService('DefaultEmailAddress', function() { return Util::getDefaultEmailAddress('lostpassword-noreply'); }); diff --git a/core/lostpassword/controller/lostcontroller.php b/core/lostpassword/controller/lostcontroller.php index 4c5e58c7b6..7d983bd7e3 100644 --- a/core/lostpassword/controller/lostcontroller.php +++ b/core/lostpassword/controller/lostcontroller.php @@ -28,6 +28,7 @@ namespace OC\Core\LostPassword\Controller; use \OCP\AppFramework\Controller; use \OCP\AppFramework\Http\TemplateResponse; +use OCP\AppFramework\Utility\ITimeFactory; use \OCP\IURLGenerator; use \OCP\IRequest; use \OCP\IL10N; @@ -66,6 +67,8 @@ class LostController extends Controller { protected $secureRandom; /** @var IMailer */ protected $mailer; + /** @var ITimeFactory */ + protected $timeFactory; /** * @param string $appName @@ -79,6 +82,7 @@ class LostController extends Controller { * @param string $from * @param string $isDataEncrypted * @param IMailer $mailer + * @param ITimeFactory $timeFactory */ public function __construct($appName, IRequest $request, @@ -90,7 +94,8 @@ class LostController extends Controller { ISecureRandom $secureRandom, $from, $isDataEncrypted, - IMailer $mailer) { + IMailer $mailer, + ITimeFactory $timeFactory) { parent::__construct($appName, $request); $this->urlGenerator = $urlGenerator; $this->userManager = $userManager; @@ -101,6 +106,7 @@ class LostController extends Controller { $this->isDataEncrypted = $isDataEncrypted; $this->config = $config; $this->mailer = $mailer; + $this->timeFactory = $timeFactory; } /** @@ -173,7 +179,17 @@ class LostController extends Controller { try { $user = $this->userManager->get($userId); - if (!StringUtils::equals($this->config->getUserValue($userId, 'owncloud', 'lostpassword', null), $token)) { + $splittedToken = explode(':', $this->config->getUserValue($userId, 'owncloud', 'lostpassword', null)); + if(count($splittedToken) !== 2) { + throw new \Exception($this->l10n->t('Couldn\'t reset password because the token is invalid')); + } + + if ($splittedToken[0] < ($this->timeFactory->getTime() - 60*60*12) || + $user->getLastLogin() > $splittedToken[0]) { + throw new \Exception($this->l10n->t('Couldn\'t reset password because the token is expired')); + } + + if (!StringUtils::equals($splittedToken[1], $token)) { throw new \Exception($this->l10n->t('Couldn\'t reset password because the token is invalid')); } @@ -216,12 +232,12 @@ class LostController extends Controller { ISecureRandom::CHAR_DIGITS. ISecureRandom::CHAR_LOWER. ISecureRandom::CHAR_UPPER); - $this->config->setUserValue($user, 'owncloud', 'lostpassword', $token); + $this->config->setUserValue($user, 'owncloud', 'lostpassword', $this->timeFactory->getTime() .':'. $token); $link = $this->urlGenerator->linkToRouteAbsolute('core.lost.resetform', array('userId' => $user, 'token' => $token)); $tmpl = new \OC_Template('core/lostpassword', 'email'); - $tmpl->assign('link', $link, false); + $tmpl->assign('link', $link); $msg = $tmpl->fetchPage(); try { diff --git a/tests/core/lostpassword/controller/lostcontrollertest.php b/tests/core/lostpassword/controller/lostcontrollertest.php index f82fc1ba3f..0f8cb4fc5c 100644 --- a/tests/core/lostpassword/controller/lostcontrollertest.php +++ b/tests/core/lostpassword/controller/lostcontrollertest.php @@ -1,9 +1,22 @@ - * This file is licensed under the Affero General Public License version 3 or - * later. - * See the COPYING-README file. + * @author Lukas Reschke + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * */ namespace OC\Core\LostPassword\Controller; @@ -47,6 +60,8 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { ->disableOriginalConstructor()->getMock(); $this->container['SecureRandom'] = $this->getMockBuilder('\OCP\Security\ISecureRandom') ->disableOriginalConstructor()->getMock(); + $this->container['TimeFactory'] = $this->getMockBuilder('\OCP\AppFramework\Utility\ITimeFactory') + ->disableOriginalConstructor()->getMock(); $this->container['IsEncryptionEnabled'] = true; $this->lostController = $this->container['LostController']; } @@ -116,6 +131,10 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { ->method('userExists') ->with('ExistingUser') ->will($this->returnValue(true)); + $this->container['TimeFactory'] + ->expects($this->once()) + ->method('getTime') + ->will($this->returnValue(12348)); $this->container['Config'] ->expects($this->once()) ->method('getUserValue') @@ -128,7 +147,7 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { $this->container['Config'] ->expects($this->once()) ->method('setUserValue') - ->with('ExistingUser', 'owncloud', 'lostpassword', 'ThisIsMaybeANotSoSecretToken!'); + ->with('ExistingUser', 'owncloud', 'lostpassword', '12348:ThisIsMaybeANotSoSecretToken!'); $this->container['URLGenerator'] ->expects($this->once()) ->method('linkToRouteAbsolute') @@ -190,7 +209,11 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { $this->container['Config'] ->expects($this->once()) ->method('setUserValue') - ->with('ExistingUser', 'owncloud', 'lostpassword', 'ThisIsMaybeANotSoSecretToken!'); + ->with('ExistingUser', 'owncloud', 'lostpassword', '12348:ThisIsMaybeANotSoSecretToken!'); + $this->container['TimeFactory'] + ->expects($this->once()) + ->method('getTime') + ->will($this->returnValue(12348)); $this->container['URLGenerator'] ->expects($this->once()) ->method('linkToRouteAbsolute') @@ -256,9 +279,13 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { ->expects($this->once()) ->method('getUserValue') ->with('ValidTokenUser', 'owncloud', 'lostpassword', null) - ->will($this->returnValue('TheOnlyAndOnlyOneTokenToResetThePassword')); + ->will($this->returnValue('12345:TheOnlyAndOnlyOneTokenToResetThePassword')); $user = $this->getMockBuilder('\OCP\IUser') ->disableOriginalConstructor()->getMock(); + $user + ->expects($this->once()) + ->method('getLastLogin') + ->will($this->returnValue(12344)); $user->expects($this->once()) ->method('setPassword') ->with('NewPassword') @@ -272,12 +299,94 @@ class LostControllerTest extends \PHPUnit_Framework_TestCase { ->expects($this->once()) ->method('deleteUserValue') ->with('ValidTokenUser', 'owncloud', 'lostpassword'); + $this->container['TimeFactory'] + ->expects($this->once()) + ->method('getTime') + ->will($this->returnValue(12348)); $response = $this->lostController->setPassword('TheOnlyAndOnlyOneTokenToResetThePassword', 'ValidTokenUser', 'NewPassword', true); $expectedResponse = array('status' => 'success'); $this->assertSame($expectedResponse, $response); } + public function testSetPasswordExpiredToken() { + $this->container['Config'] + ->expects($this->once()) + ->method('getUserValue') + ->with('ValidTokenUser', 'owncloud', 'lostpassword', null) + ->will($this->returnValue('12345:TheOnlyAndOnlyOneTokenToResetThePassword')); + $user = $this->getMockBuilder('\OCP\IUser') + ->disableOriginalConstructor()->getMock(); + $this->container['UserManager'] + ->expects($this->once()) + ->method('get') + ->with('ValidTokenUser') + ->will($this->returnValue($user)); + $this->container['TimeFactory'] + ->expects($this->once()) + ->method('getTime') + ->will($this->returnValue(55546)); + + $response = $this->lostController->setPassword('TheOnlyAndOnlyOneTokenToResetThePassword', 'ValidTokenUser', 'NewPassword', true); + $expectedResponse = [ + 'status' => 'error', + 'msg' => 'Couldn\'t reset password because the token is expired', + ]; + $this->assertSame($expectedResponse, $response); + } + + public function testSetPasswordInvalidDataInDb() { + $this->container['Config'] + ->expects($this->once()) + ->method('getUserValue') + ->with('ValidTokenUser', 'owncloud', 'lostpassword', null) + ->will($this->returnValue('TheOnlyAndOnlyOneTokenToResetThePassword')); + $user = $this->getMockBuilder('\OCP\IUser') + ->disableOriginalConstructor()->getMock(); + $this->container['UserManager'] + ->expects($this->once()) + ->method('get') + ->with('ValidTokenUser') + ->will($this->returnValue($user)); + + $response = $this->lostController->setPassword('TheOnlyAndOnlyOneTokenToResetThePassword', 'ValidTokenUser', 'NewPassword', true); + $expectedResponse = [ + 'status' => 'error', + 'msg' => 'Couldn\'t reset password because the token is invalid', + ]; + $this->assertSame($expectedResponse, $response); + } + + public function testSetPasswordExpiredTokenDueToLogin() { + $this->container['Config'] + ->expects($this->once()) + ->method('getUserValue') + ->with('ValidTokenUser', 'owncloud', 'lostpassword', null) + ->will($this->returnValue('12345:TheOnlyAndOnlyOneTokenToResetThePassword')); + $user = $this->getMockBuilder('\OCP\IUser') + ->disableOriginalConstructor()->getMock(); + $user + ->expects($this->once()) + ->method('getLastLogin') + ->will($this->returnValue(12346)); + $this->container['UserManager'] + ->expects($this->once()) + ->method('get') + ->with('ValidTokenUser') + ->will($this->returnValue($user)); + $this->container['TimeFactory'] + ->expects($this->once()) + ->method('getTime') + ->will($this->returnValue(12345)); + + $response = $this->lostController->setPassword('TheOnlyAndOnlyOneTokenToResetThePassword', 'ValidTokenUser', 'NewPassword', true); + $expectedResponse = [ + 'status' => 'error', + 'msg' => 'Couldn\'t reset password because the token is expired', + ]; + $this->assertSame($expectedResponse, $response); + } + public function testIsSetPasswordWithoutTokenFailing() { $this->container['Config'] ->expects($this->once()) From 84d1e36ff9767714e59a6d59ccce3cbbfd5aeb85 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Sun, 23 Aug 2015 16:47:06 +0200 Subject: [PATCH 039/329] Remove requesttoken for avatars First step for https://github.com/owncloud/core/issues/11915 --- core/avatar/avatarcontroller.php | 1 + core/js/jquery.avatar.js | 4 ++-- settings/js/personal.js | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/core/avatar/avatarcontroller.php b/core/avatar/avatarcontroller.php index a0c9ebbd78..945e022600 100644 --- a/core/avatar/avatarcontroller.php +++ b/core/avatar/avatarcontroller.php @@ -91,6 +91,7 @@ class AvatarController extends Controller { /** * @NoAdminRequired + * @NoCSRFRequired * * @param string $userId * @param int $size diff --git a/core/js/jquery.avatar.js b/core/js/jquery.avatar.js index 74acaac792..b0d1ca7d88 100644 --- a/core/js/jquery.avatar.js +++ b/core/js/jquery.avatar.js @@ -76,8 +76,8 @@ var $div = this; var url = OC.generateUrl( - '/avatar/{user}/{size}?requesttoken={requesttoken}', - {user: user, size: size * window.devicePixelRatio, requesttoken: oc_requesttoken}); + '/avatar/{user}/{size}', + {user: user, size: size * window.devicePixelRatio}); $.get(url, function(result) { if (typeof(result) === 'object') { diff --git a/settings/js/personal.js b/settings/js/personal.js index 9e4dd54090..33746d22ac 100644 --- a/settings/js/personal.js +++ b/settings/js/personal.js @@ -321,7 +321,7 @@ $(document).ready(function () { var url = OC.generateUrl( '/avatar/{user}/{size}', {user: OC.currentUser, size: 1} - ) + '?requesttoken=' + encodeURIComponent(oc_requesttoken); + ); $.get(url, function (result) { if (typeof(result) === 'object') { $('#removeavatar').hide(); From 0f10e2c1fe6e7969ce2d68a803c4671bb35bf459 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Mon, 24 Aug 2015 09:36:44 +0200 Subject: [PATCH 040/329] fix horizontal scrollbar in personal settings caused by federated cloud ID section --- apps/files_sharing/css/settings-personal.css | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/files_sharing/css/settings-personal.css b/apps/files_sharing/css/settings-personal.css index c9af6c08c4..f53365c937 100644 --- a/apps/files_sharing/css/settings-personal.css +++ b/apps/files_sharing/css/settings-personal.css @@ -4,6 +4,7 @@ #fileSharingSettings xmp { margin-top: 0; + white-space: pre-wrap; } [class^="social-"], [class*=" social-"] { From 4e0e2eb22200c4962230f1c8595efe8b88a7c21e Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 24 Aug 2015 12:12:08 +0200 Subject: [PATCH 041/329] Change log level of debugging logs to debug --- lib/private/share/share.php | 44 ++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/lib/private/share/share.php b/lib/private/share/share.php index 9aea4677b5..c245f0f88a 100644 --- a/lib/private/share/share.php +++ b/lib/private/share/share.php @@ -599,7 +599,7 @@ class Share extends Constants { if ($backend->isShareTypeAllowed($shareType) === false) { $message = 'Sharing %s failed, because the backend does not allow shares from type %i'; $message_t = $l->t('Sharing %s failed, because the backend does not allow shares from type %i', array($itemSourceName, $shareType)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareType), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareType), \OCP\Util::DEBUG); throw new \Exception($message_t); } @@ -617,14 +617,14 @@ class Share extends Constants { if (!$path) { $message = 'Sharing %s failed, because the file does not exist'; $message_t = $l->t('Sharing %s failed, because the file does not exist', array($itemSourceName)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::DEBUG); throw new \Exception($message_t); } // verify that the user has share permission if (!\OC\Files\Filesystem::isSharable($path)) { $message = 'You are not allowed to share %s'; $message_t = $l->t('You are not allowed to share %s', array($itemSourceName)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::DEBUG); throw new \Exception($message_t); } } @@ -637,7 +637,7 @@ class Share extends Constants { foreach ($mounts as $mount) { if ($mount->getStorage()->instanceOfStorage('\OCA\Files_Sharing\ISharedStorage')) { $message = 'Sharing "' . $itemSourceName . '" failed, because it contains files shared with you!'; - \OCP\Util::writeLog('OCP\Share', $message, \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', $message, \OCP\Util::DEBUG); throw new \Exception($message); } @@ -654,13 +654,13 @@ class Share extends Constants { if ($shareWith == $uidOwner) { $message = 'Sharing %s failed, because the user %s is the item owner'; $message_t = $l->t('Sharing %s failed, because the user %s is the item owner', array($itemSourceName, $shareWith)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } if (!\OC_User::userExists($shareWith)) { $message = 'Sharing %s failed, because the user %s does not exist'; $message_t = $l->t('Sharing %s failed, because the user %s does not exist', array($itemSourceName, $shareWith)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } if ($shareWithinGroupOnly) { @@ -669,7 +669,7 @@ class Share extends Constants { $message = 'Sharing %s failed, because the user ' .'%s is not a member of any groups that %s is a member of'; $message_t = $l->t('Sharing %s failed, because the user %s is not a member of any groups that %s is a member of', array($itemSourceName, $shareWith, $uidOwner)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith, $uidOwner), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith, $uidOwner), \OCP\Util::DEBUG); throw new \Exception($message_t); } } @@ -682,7 +682,7 @@ class Share extends Constants { if ($checkExists['uid_owner'] != $uidOwner || $checkExists['share_type'] == $shareType) { $message = 'Sharing %s failed, because this item is already shared with %s'; $message_t = $l->t('Sharing %s failed, because this item is already shared with %s', array($itemSourceName, $shareWith)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } } @@ -690,14 +690,14 @@ class Share extends Constants { if (!\OC_Group::groupExists($shareWith)) { $message = 'Sharing %s failed, because the group %s does not exist'; $message_t = $l->t('Sharing %s failed, because the group %s does not exist', array($itemSourceName, $shareWith)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } if ($shareWithinGroupOnly && !\OC_Group::inGroup($uidOwner, $shareWith)) { $message = 'Sharing %s failed, because ' .'%s is not a member of the group %s'; $message_t = $l->t('Sharing %s failed, because %s is not a member of the group %s', array($itemSourceName, $uidOwner, $shareWith)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $uidOwner, $shareWith), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $uidOwner, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } // Check if the item source is already shared with the group, either from the same owner or a different user @@ -710,7 +710,7 @@ class Share extends Constants { if ($checkExists['uid_owner'] != $uidOwner || $checkExists['share_type'] == $shareType) { $message = 'Sharing %s failed, because this item is already shared with %s'; $message_t = $l->t('Sharing %s failed, because this item is already shared with %s', array($itemSourceName, $shareWith)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } } @@ -750,7 +750,7 @@ class Share extends Constants { if (\OCP\Util::isPublicLinkPasswordRequired() && empty($shareWith)) { $message = 'You need to provide a password to create a public link, only protected links are allowed'; $message_t = $l->t('You need to provide a password to create a public link, only protected links are allowed'); - \OCP\Util::writeLog('OCP\Share', $message, \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', $message, \OCP\Util::DEBUG); throw new \Exception($message_t); } @@ -779,7 +779,7 @@ class Share extends Constants { } $message = 'Sharing %s failed, because sharing with links is not allowed'; $message_t = $l->t('Sharing %s failed, because sharing with links is not allowed', array($itemSourceName)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::DEBUG); throw new \Exception($message_t); } else if ($shareType === self::SHARE_TYPE_REMOTE) { @@ -790,7 +790,7 @@ class Share extends Constants { $shareWith, $uidOwner, self::FORMAT_NONE, null, 1, true, true)) { $message = 'Sharing %s failed, because this item is already shared with %s'; $message_t = $l->t('Sharing %s failed, because this item is already shared with %s', array($itemSourceName, $shareWith)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } @@ -819,7 +819,7 @@ class Share extends Constants { // Future share types need to include their own conditions $message = 'Share type %s is not valid for %s'; $message_t = $l->t('Share type %s is not valid for %s', array($shareType, $itemSource)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $shareType, $itemSource), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $shareType, $itemSource), \OCP\Util::DEBUG); throw new \Exception($message_t); } @@ -1047,7 +1047,7 @@ class Share extends Constants { $message = 'Setting permissions for %s failed,' .' because the permissions exceed permissions granted to %s'; $message_t = $l->t('Setting permissions for %s failed, because the permissions exceed permissions granted to %s', array($itemSource, \OC_User::getUser())); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSource, \OC_User::getUser()), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSource, \OC_User::getUser()), \OCP\Util::DEBUG); throw new \Exception($message_t); } } @@ -1110,7 +1110,7 @@ class Share extends Constants { $message = 'Setting permissions for %s failed, because the item was not found'; $message_t = $l->t('Setting permissions for %s failed, because the item was not found', array($itemSource)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSource), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSource), \OCP\Util::DEBUG); throw new \Exception($message_t); } @@ -2158,7 +2158,7 @@ class Share extends Constants { $message = 'Sharing %s failed, because the user %s is the original sharer'; $message_t = $l->t('Sharing %s failed, because the user %s is the original sharer', array($itemSourceName, $shareWith)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $shareWith), \OCP\Util::DEBUG); throw new \Exception($message_t); } } @@ -2170,7 +2170,7 @@ class Share extends Constants { $message = 'Sharing %s failed, because the permissions exceed permissions granted to %s'; $message_t = $l->t('Sharing %s failed, because the permissions exceed permissions granted to %s', array($itemSourceName, $uidOwner)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $uidOwner), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName, $uidOwner), \OCP\Util::DEBUG); throw new \Exception($message_t); } else { // TODO Don't check if inside folder @@ -2196,7 +2196,7 @@ class Share extends Constants { $message = 'Sharing %s failed, because resharing is not allowed'; $message_t = $l->t('Sharing %s failed, because resharing is not allowed', array($itemSourceName)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSourceName), \OCP\Util::DEBUG); throw new \Exception($message_t); } } else { @@ -2209,7 +2209,7 @@ class Share extends Constants { $message = 'Sharing %s failed, because the sharing backend for ' .'%s could not find its source'; $message_t = $l->t('Sharing %s failed, because the sharing backend for %s could not find its source', array($itemSource, $itemType)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSource, $itemType), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSource, $itemType), \OCP\Util::DEBUG); throw new \Exception($message_t); } if ($backend instanceof \OCP\Share_Backend_File_Dependent) { @@ -2224,7 +2224,7 @@ class Share extends Constants { $message = 'Sharing %s failed, because the file could not be found in the file cache'; $message_t = $l->t('Sharing %s failed, because the file could not be found in the file cache', array($itemSource)); - \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSource), \OCP\Util::ERROR); + \OCP\Util::writeLog('OCP\Share', sprintf($message, $itemSource), \OCP\Util::DEBUG); throw new \Exception($message_t); } } else { From bd13126a80eec36482e649b1c37a78ab65d747cd Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Mon, 24 Aug 2015 12:19:03 +0200 Subject: [PATCH 042/329] Fix master again Caused due to merge of two PRs --- lib/private/server.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/private/server.php b/lib/private/server.php index 91ffe1b5e4..92a671c721 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -484,6 +484,7 @@ class Server extends SimpleContainer implements IServerContainer { : null, ], new SecureRandom(), + $c->getCrypto(), $c->getConfig() ); From e88b380973b54bc7b8bc86f888b1f11ae8e54076 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 24 Aug 2015 12:00:37 +0200 Subject: [PATCH 043/329] Remove DEBUG constant and use config value * introduces config.php option 'debug' that defaults to false * migrate DEBUG constant to config value --- apps/files/appinfo/update.php | 9 +++++++++ apps/files/appinfo/version | 2 +- config/config.sample.php | 14 ++++++++------ core/js/config.php | 2 +- lib/base.php | 9 +++++---- lib/private/config.php | 6 ------ lib/private/server.php | 6 +++--- lib/private/template.php | 2 +- 8 files changed, 28 insertions(+), 22 deletions(-) diff --git a/apps/files/appinfo/update.php b/apps/files/appinfo/update.php index 2691c05c34..ff1369bb1a 100644 --- a/apps/files/appinfo/update.php +++ b/apps/files/appinfo/update.php @@ -94,3 +94,12 @@ if ($installedVersion === '1.1.9' && ( } } } + +/** + * migrate old constant DEBUG to new config value 'debug' + * + * TODO: remove this in ownCloud 8.3 + */ +if(defined('DEBUG') && DEBUG === true) { + \OC::$server->getConfig()->setSystemValue('debug', true); +} diff --git a/apps/files/appinfo/version b/apps/files/appinfo/version index 5ed5faa5f1..9ee1f786d5 100644 --- a/apps/files/appinfo/version +++ b/apps/files/appinfo/version @@ -1 +1 @@ -1.1.10 +1.1.11 diff --git a/config/config.sample.php b/config/config.sample.php index 522cf02ceb..234bf8e0fa 100644 --- a/config/config.sample.php +++ b/config/config.sample.php @@ -20,12 +20,6 @@ * * use RST syntax */ -/** - * Only enable this for local development and not in production environments - * This will disable the minifier and outputs some additional debug informations - */ -define('DEBUG', true); - $CONFIG = array( @@ -1079,6 +1073,14 @@ $CONFIG = array( */ 'memcache.locking' => '\\OC\\Memcache\\Redis', +/** + * Set this ownCloud instance to debugging mode + * + * Only enable this for local development and not in production environments + * This will disable the minifier and outputs some additional debug information + */ +'debug' => false, + /** * This entry is just here to show a warning in case somebody copied the sample * configuration. DO NOT ADD THIS SWITCH TO YOUR CONFIGURATION! diff --git a/core/js/config.php b/core/js/config.php index 95dd733028..21451bf91b 100644 --- a/core/js/config.php +++ b/core/js/config.php @@ -62,7 +62,7 @@ if ($defaultExpireDateEnabled) { $outgoingServer2serverShareEnabled = $config->getAppValue('files_sharing', 'outgoing_server2server_share_enabled', 'yes') === 'yes'; $array = array( - "oc_debug" => (defined('DEBUG') && DEBUG) ? 'true' : 'false', + "oc_debug" => $config->getSystemValue('debug', false), "oc_isadmin" => OC_User::isAdminUser(OC_User::getUser()) ? 'true' : 'false', "oc_webroot" => "\"".OC::$WEBROOT."\"", "oc_appswebroots" => str_replace('\\/', '/', json_encode($apps_paths)), // Ugly unescape slashes waiting for better solution diff --git a/lib/base.php b/lib/base.php index 2435661dfa..aceac2e53c 100644 --- a/lib/base.php +++ b/lib/base.php @@ -582,7 +582,7 @@ class OC { if (!defined('PHPUNIT_RUN')) { $logger = \OC::$server->getLogger(); OC\Log\ErrorHandler::setLogger($logger); - if (defined('DEBUG') and DEBUG) { + if (\OC::$server->getConfig()->getSystemValue('debug', false)) { OC\Log\ErrorHandler::register(true); set_exception_handler(array('OC_Template', 'printExceptionErrorPage')); } else { @@ -1040,7 +1040,7 @@ class OC { return false; } - if (defined("DEBUG") && DEBUG) { + if (\OC::$server->getConfig()->getSystemValue('debug', false)) { \OCP\Util::writeLog('core', 'Trying to login from cookie', \OCP\Util::DEBUG); } @@ -1093,11 +1093,12 @@ class OC { self::cleanupLoginTokens($userId); if (!empty($_POST["remember_login"])) { - if (defined("DEBUG") && DEBUG) { + $config = self::$server->getConfig(); + if ($config->getSystemValue('debug', false)) { self::$server->getLogger()->debug('Setting remember login to cookie', array('app' => 'core')); } $token = \OC::$server->getSecureRandom()->getMediumStrengthGenerator()->generate(32); - self::$server->getConfig()->setUserValue($userId, 'login_token', $token, time()); + $config->setUserValue($userId, 'login_token', $token, time()); OC_User::setMagicInCookie($userId, $token); } else { OC_User::unsetMagicInCookie(); diff --git a/lib/private/config.php b/lib/private/config.php index 20ff02c1ab..3ad800a00b 100644 --- a/lib/private/config.php +++ b/lib/private/config.php @@ -47,8 +47,6 @@ class Config { protected $configFilePath; /** @var string */ protected $configFileName; - /** @var bool */ - protected $debugMode; /** * @param string $configDir Path to the config dir, needs to end with '/' @@ -59,7 +57,6 @@ class Config { $this->configFilePath = $this->configDir.$fileName; $this->configFileName = $fileName; $this->readData(); - $this->debugMode = (defined('DEBUG') && DEBUG); } /** @@ -225,9 +222,6 @@ class Config { private function writeData() { // Create a php file ... $content = "debugMode) { - $content .= "define('DEBUG',true);\n"; - } $content .= '$CONFIG = '; $content .= var_export($this->cache, true); $content .= ";\n"; diff --git a/lib/private/server.php b/lib/private/server.php index 92a671c721..5a3a6328fa 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -329,14 +329,14 @@ class Server extends SimpleContainer implements IServerContainer { ); }); $this->registerService('EventLogger', function (Server $c) { - if (defined('DEBUG') and DEBUG) { + if ($c->getSystemConfig()->getValue('debug', false)) { return new EventLogger(); } else { return new NullEventLogger(); } }); - $this->registerService('QueryLogger', function ($c) { - if (defined('DEBUG') and DEBUG) { + $this->registerService('QueryLogger', function (Server $c) { + if ($c->getSystemConfig()->getValue('debug', false)) { return new QueryLogger(); } else { return new NullQueryLogger(); diff --git a/lib/private/template.php b/lib/private/template.php index e7acc778de..920be71abb 100644 --- a/lib/private/template.php +++ b/lib/private/template.php @@ -233,7 +233,7 @@ class OC_Template extends \OC\Template\Base { $content->assign('file', $exception->getFile()); $content->assign('line', $exception->getLine()); $content->assign('trace', $exception->getTraceAsString()); - $content->assign('debugMode', defined('DEBUG') && DEBUG === true); + $content->assign('debugMode', \OC::$server->getSystemConfig()->getValue('debug', false)); $content->assign('remoteAddr', $request->getRemoteAddress()); $content->assign('requestID', $request->getId()); $content->printPage(); From 4ba8685c2da5f23755b10c4b89964e7a348517c4 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 29 Jul 2015 18:26:10 +0200 Subject: [PATCH 044/329] adjust search box style --- core/css/mobile.css | 4 +--- core/css/styles.css | 4 +++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/css/mobile.css b/core/css/mobile.css index 2256d821d7..9008e39b89 100644 --- a/core/css/mobile.css +++ b/core/css/mobile.css @@ -31,7 +31,6 @@ width: 0; cursor: pointer; background-color: transparent; - background-image: url('../img/actions/search-white.svg'); -webkit-transition: all 100ms; -moz-transition: all 100ms; -o-transition: all 100ms; @@ -44,8 +43,7 @@ width: 155px; max-width: 50%; cursor: text; - background-color: #fff; - background-image: url('../img/actions/search.svg'); + background-color: #112; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; opacity: 1; } diff --git a/core/css/styles.css b/core/css/styles.css index ccb4801087..619a9df743 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -258,7 +258,8 @@ input:disabled+label, input:disabled:hover+label, input:disabled:focus+label { font-size: 1.2em; padding: 3px; padding-left: 25px; - background: #fff url('../img/actions/search.svg') no-repeat 6px center; + background: #112 url('../img/actions/search-white.svg') no-repeat 6px center; + color: #fff; border: 0; border-radius: 3px; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; @@ -271,6 +272,7 @@ input:disabled+label, input:disabled:hover+label, input:disabled:focus+label { .searchbox input[type="search"]:active { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; opacity: .7; + color: #fff; } input[type="submit"].enabled { From fe575feca85ee6e6bb7b8b423a60d377bd364193 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Mon, 24 Aug 2015 16:42:53 +0200 Subject: [PATCH 045/329] Prevent scanner going crazy with unavailable storages --- apps/files/ajax/scan.php | 12 ++++++++---- apps/files/js/files.js | 3 +++ lib/private/files/cache/scanner.php | 18 ++++++++++++++---- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/apps/files/ajax/scan.php b/apps/files/ajax/scan.php index 3f430cd27e..7d47a538fa 100644 --- a/apps/files/ajax/scan.php +++ b/apps/files/ajax/scan.php @@ -49,10 +49,14 @@ foreach ($users as $user) { $scanner = new \OC\Files\Utils\Scanner($user, \OC::$server->getDatabaseConnection()); $scanner->listen('\OC\Files\Utils\Scanner', 'scanFile', array($listener, 'file')); $scanner->listen('\OC\Files\Utils\Scanner', 'scanFolder', array($listener, 'folder')); - if ($force) { - $scanner->scan($dir); - } else { - $scanner->backgroundScan($dir); + try { + if ($force) { + $scanner->scan($dir); + } else { + $scanner->backgroundScan($dir); + } + } catch (\Exception $e) { + $eventSource->send('error', get_class($e) . ': ' . $e->getMessage()); } } diff --git a/apps/files/js/files.js b/apps/files/js/files.js index 245648a79e..4fdc9eb211 100644 --- a/apps/files/js/files.js +++ b/apps/files/js/files.js @@ -333,6 +333,9 @@ function scanFiles(force, dir, users) { scannerEventSource.listen('folder',function(path) { console.log('now scanning ' + path); }); + scannerEventSource.listen('error',function(message) { + console.error('Scanner error: ', message); + }); scannerEventSource.listen('done',function(count) { scanFiles.scanning=false; console.log('done after ' + count + ' files'); diff --git a/lib/private/files/cache/scanner.php b/lib/private/files/cache/scanner.php index 7c65c72135..f76ef5ba0d 100644 --- a/lib/private/files/cache/scanner.php +++ b/lib/private/files/cache/scanner.php @@ -416,11 +416,21 @@ class Scanner extends BasicEmitter { public function backgroundScan() { $lastPath = null; while (($path = $this->cache->getIncomplete()) !== false && $path !== $lastPath) { - $this->scan($path, self::SCAN_RECURSIVE, self::REUSE_ETAG); - \OC_Hook::emit('Scanner', 'correctFolderSize', array('path' => $path)); - if ($this->cacheActive) { - $this->cache->correctFolderSize($path); + try { + $this->scan($path, self::SCAN_RECURSIVE, self::REUSE_ETAG); + \OC_Hook::emit('Scanner', 'correctFolderSize', array('path' => $path)); + if ($this->cacheActive) { + $this->cache->correctFolderSize($path); + } + } catch (\OCP\Files\StorageInvalidException $e) { + // skip unavailable storages + } catch (\OCP\Files\StorageNotAvailableException $e) { + // skip unavailable storages + } catch (\OCP\Lock\LockedException $e) { + // skip unavailable storages } + // FIXME: this won't proceed with the next item, needs revamping of getIncomplete() + // to make this possible $lastPath = $path; } } From 763b75ff4ff28b932fcf17fc8c37b3b4e378cc57 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Mon, 24 Aug 2015 16:58:04 +0200 Subject: [PATCH 046/329] lighter style for app sidebar, new switcher style --- core/css/apps.css | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/core/css/apps.css b/core/css/apps.css index 300b186bba..b3d7eaf659 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -440,8 +440,10 @@ left: auto; bottom: 0; width: 27%; + min-width: 250px; display: block; - background: #eee; + background: #fff; + border-left: 1px solid #eee; -webkit-transition: margin-right 300ms; -moz-transition: margin-right 300ms; -o-transition: margin-right 300ms; @@ -600,47 +602,31 @@ em { /* generic tab styles */ .tabHeaders { margin: 15px; - background-color: #1D2D44; } - .tabHeaders .tabHeader { float: left; - border: 1px solid #ddd; padding: 5px; cursor: pointer; - background-color: #f8f8f8; - font-weight: bold; } .tabHeaders .tabHeader, .tabHeaders .tabHeader a { color: #888; } - -.tabHeaders .tabHeader:first-child { - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; +.tabHeaders .tabHeader.selected { + font-weight: 600; } - -.tabHeaders .tabHeader:last-child { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} - .tabHeaders .tabHeader.selected, .tabHeaders .tabHeader:hover { - background-color: #e8e8e8; + border-bottom: 1px solid #333; } - .tabHeaders .tabHeader.selected, .tabHeaders .tabHeader.selected a, .tabHeaders .tabHeader:hover, .tabHeaders .tabHeader:hover a { color: #000; } - .tabsContainer { clear: left; } - .tabsContainer .tab { padding: 15px; } From a659ccb89c5e51cd8a5f14865872c2eb5162e1f2 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Mon, 24 Aug 2015 16:58:30 +0200 Subject: [PATCH 047/329] bigger file thumbnail in app sidebar --- apps/files/css/detailsView.css | 9 +++++---- apps/files/js/mainfileinfodetailview.js | 4 ++-- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/apps/files/css/detailsView.css b/apps/files/css/detailsView.css index 76629cb790..dafd8c2457 100644 --- a/apps/files/css/detailsView.css +++ b/apps/files/css/detailsView.css @@ -12,11 +12,11 @@ } #app-sidebar .thumbnail { - width: 50px; - height: 50px; + width: 75px; + height: 75px; float: left; margin-right: 10px; - background-size: 50px; + background-size: 75px; } #app-sidebar .ellipsis { @@ -27,7 +27,8 @@ #app-sidebar .fileName { font-size: 16px; - padding-top: 3px; + padding-top: 13px; + padding-bottom: 3px; } #app-sidebar .file-details { diff --git a/apps/files/js/mainfileinfodetailview.js b/apps/files/js/mainfileinfodetailview.js index 6910e5f2be..8bf2214984 100644 --- a/apps/files/js/mainfileinfodetailview.js +++ b/apps/files/js/mainfileinfodetailview.js @@ -125,8 +125,8 @@ path: this.model.getFullPath(), mime: this.model.get('mimetype'), etag: this.model.get('etag'), - x: 50, - y: 50, + x: 75, + y: 75, callback: function(previewUrl) { $iconDiv.css('background-image', 'url("' + previewUrl + '")'); } From 37939fb0e83b09208c1462ddc80d07fb3e622b36 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Mon, 24 Aug 2015 17:16:20 +0200 Subject: [PATCH 048/329] Parse mtime from the data attributes --- apps/files/js/filelist.js | 1 + apps/files/tests/js/filelistSpec.js | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index eb46f15526..e294e2f3c0 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -673,6 +673,7 @@ id: parseInt($el.attr('data-id'), 10), name: $el.attr('data-file'), mimetype: $el.attr('data-mime'), + mtime: parseInt($el.attr('data-mtime'), 10), type: $el.attr('data-type'), size: parseInt($el.attr('data-size'), 10), etag: $el.attr('data-etag'), diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js index 7ed60084fa..a6d72a88ef 100644 --- a/apps/files/tests/js/filelistSpec.js +++ b/apps/files/tests/js/filelistSpec.js @@ -98,6 +98,7 @@ describe('OCA.Files.FileList tests', function() { type: 'file', name: 'One.txt', mimetype: 'text/plain', + mtime: 123456789, size: 12, etag: 'abc', permissions: OC.PERMISSION_ALL @@ -106,6 +107,7 @@ describe('OCA.Files.FileList tests', function() { type: 'file', name: 'Two.jpg', mimetype: 'image/jpeg', + mtime: 234567890, size: 12049, etag: 'def', permissions: OC.PERMISSION_ALL @@ -114,6 +116,7 @@ describe('OCA.Files.FileList tests', function() { type: 'file', name: 'Three.pdf', mimetype: 'application/pdf', + mtime: 234560000, size: 58009, etag: '123', permissions: OC.PERMISSION_ALL @@ -122,6 +125,7 @@ describe('OCA.Files.FileList tests', function() { type: 'dir', name: 'somedir', mimetype: 'httpd/unix-directory', + mtime: 134560000, size: 250, etag: '456', permissions: OC.PERMISSION_ALL @@ -1722,6 +1726,7 @@ describe('OCA.Files.FileList tests', function() { id: 1, name: 'One.txt', mimetype: 'text/plain', + mtime: 123456789, type: 'file', size: 12, etag: 'abc', @@ -1732,6 +1737,7 @@ describe('OCA.Files.FileList tests', function() { type: 'file', name: 'Three.pdf', mimetype: 'application/pdf', + mtime: 234560000, size: 58009, etag: '123', permissions: OC.PERMISSION_ALL @@ -1741,6 +1747,7 @@ describe('OCA.Files.FileList tests', function() { type: 'dir', name: 'somedir', mimetype: 'httpd/unix-directory', + mtime: 134560000, size: 250, etag: '456', permissions: OC.PERMISSION_ALL @@ -1754,6 +1761,7 @@ describe('OCA.Files.FileList tests', function() { id: 1, name: 'One.txt', mimetype: 'text/plain', + mtime: 123456789, type: 'file', size: 12, etag: 'abc', @@ -1764,6 +1772,7 @@ describe('OCA.Files.FileList tests', function() { type: 'dir', name: 'somedir', mimetype: 'httpd/unix-directory', + mtime: 134560000, size: 250, etag: '456', permissions: OC.PERMISSION_ALL @@ -2330,4 +2339,24 @@ describe('OCA.Files.FileList tests', function() { }); }); }); + describe('elementToFile', function() { + var $tr; + + beforeEach(function() { + fileList.setFiles(testFiles); + $tr = fileList.findFileEl('One.txt'); + }); + + it('converts data attributes to file info structure', function() { + var fileInfo = fileList.elementToFile($tr); + expect(fileInfo.id).toEqual(1); + expect(fileInfo.name).toEqual('One.txt'); + expect(fileInfo.mtime).toEqual(123456789); + expect(fileInfo.etag).toEqual('abc'); + expect(fileInfo.permissions).toEqual(OC.PERMISSION_ALL); + expect(fileInfo.size).toEqual(12); + expect(fileInfo.mimetype).toEqual('text/plain'); + expect(fileInfo.type).toEqual('file'); + }); + }); }); From 2817eecf196ebeb0b58580f6fc21a2de178b9061 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Mon, 24 Aug 2015 17:38:32 +0200 Subject: [PATCH 049/329] Fix regression * fixes #18529 --- core/js/config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/js/config.php b/core/js/config.php index 21451bf91b..5da610698d 100644 --- a/core/js/config.php +++ b/core/js/config.php @@ -62,7 +62,7 @@ if ($defaultExpireDateEnabled) { $outgoingServer2serverShareEnabled = $config->getAppValue('files_sharing', 'outgoing_server2server_share_enabled', 'yes') === 'yes'; $array = array( - "oc_debug" => $config->getSystemValue('debug', false), + "oc_debug" => $config->getSystemValue('debug', false) ? 'true' : 'false', "oc_isadmin" => OC_User::isAdminUser(OC_User::getUser()) ? 'true' : 'false', "oc_webroot" => "\"".OC::$WEBROOT."\"", "oc_appswebroots" => str_replace('\\/', '/', json_encode($apps_paths)), // Ugly unescape slashes waiting for better solution From f505883e452f3c1e2653096f57e3494e0546fc46 Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 22:01:21 +0100 Subject: [PATCH 050/329] Add on-backend and on-auth-mechanism events to JS --- apps/files_external/js/settings.js | 34 ++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/apps/files_external/js/settings.js b/apps/files_external/js/settings.js index d3e20e3844..b542fe63d6 100644 --- a/apps/files_external/js/settings.js +++ b/apps/files_external/js/settings.js @@ -550,7 +550,7 @@ var MountConfigListView = function($el, options) { /** * @memberOf OCA.External.Settings */ -MountConfigListView.prototype = { +MountConfigListView.prototype = _.extend({ /** * jQuery element containing the config list @@ -644,11 +644,31 @@ MountConfigListView.prototype = { addSelect2(this.$el.find('tr:not(#addMountPoint) .applicableUsers'), this._userListLimit); - this.$el.find('tr:not(#addMountPoint)').each(function(i, tr) { + this._initEvents(); + + this.$el.find('tbody tr:not(#addMountPoint)').each(function(i, tr) { self.recheckStorageConfig($(tr)); }); + }, - this._initEvents(); + /** + * Custom JS event handlers + * Trigger callback for all existing configurations + */ + whenSelectBackend: function(callback) { + this.$el.find('tbody tr:not(#addMountPoint)').each(function(i, tr) { + var backend = $(tr).find('.backend').data('class'); + callback($(tr), backend); + }); + this.on('selectBackend', callback); + }, + whenSelectAuthMechanism: function(callback) { + var self = this; + this.$el.find('tbody tr:not(#addMountPoint)').each(function(i, tr) { + var authMechanism = $(tr).find('.selectAuthMechanism').val(); + callback($(tr), authMechanism, self._allAuthMechanisms[authMechanism]['scheme']); + }); + this.on('selectAuthMechanism', callback); }, /** @@ -728,6 +748,8 @@ MountConfigListView.prototype = { var $td = $tr.find('td.configuration'); $.each(backendConfiguration['configuration'], _.partial(this.writeParameterInput, $td)); + this.trigger('selectBackend', $tr, backend); + selectAuthMechanism.trigger('change'); // generate configuration parameters for auth mechanism var priorityEl = $(''); @@ -758,6 +780,10 @@ MountConfigListView.prototype = { this.writeParameterInput, $td, _, _, ['auth-param'] )); + this.trigger('selectAuthMechanism', + $tr, authMechanism, authMechanismConfiguration['scheme'] + ); + if ($tr.data('constructing') !== true) { // row is ready, trigger recheck this.saveStorageConfig($tr); @@ -1045,7 +1071,7 @@ MountConfigListView.prototype = { self.saveStorageConfig($tr); }); } -}; +}, OC.Backbone.Events); $(document).ready(function() { var enabled = $('#files_external').attr('data-encryption-enabled'); From ced04f9ad2a55439d74681ce1a582a5c6ed2d5ab Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 21:58:22 +0100 Subject: [PATCH 051/329] Migrate AmazonS3 external storage to new API --- apps/files_external/appinfo/app.php | 27 --------- apps/files_external/appinfo/application.php | 4 ++ .../lib/auth/amazons3/accesskey.php | 47 +++++++++++++++ apps/files_external/lib/backend/amazons3.php | 58 +++++++++++++++++++ 4 files changed, 109 insertions(+), 27 deletions(-) create mode 100644 apps/files_external/lib/auth/amazons3/accesskey.php create mode 100644 apps/files_external/lib/backend/amazons3.php diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 3d8e610db4..241e29be40 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -70,33 +70,6 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\SMB_OC', 'login'); -OC_Mount_Config::registerBackend('\OC\Files\Storage\AmazonS3', [ - 'backend' => (string)$l->t('Amazon S3'), - 'priority' => 100, - 'configuration' => [ - 'key' => (string)$l->t('Key'), - 'secret' => '*'.$l->t('Secret'), - 'bucket' => (string)$l->t('Bucket'), - ], - 'has_dependencies' => true, -]); - -OC_Mount_Config::registerBackend('\OC\Files\Storage\AmazonS3', [ - 'backend' => (string)$l->t('Amazon S3 and compliant'), - 'priority' => 100, - 'configuration' => [ - 'key' => (string)$l->t('Access Key'), - 'secret' => '*'.$l->t('Secret Key'), - 'bucket' => (string)$l->t('Bucket'), - 'hostname' => '&'.$l->t('Hostname'), - 'port' => '&'.$l->t('Port'), - 'region' => '&'.$l->t('Region'), - 'use_ssl' => '!'.$l->t('Enable SSL'), - 'use_path_style' => '!'.$l->t('Enable Path Style') - ], - 'has_dependencies' => true, -]); - OC_Mount_Config::registerBackend('\OC\Files\Storage\Dropbox', [ 'backend' => 'Dropbox', 'priority' => 100, diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index 4520a8737b..5f83e1bf91 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -65,6 +65,7 @@ class Application extends App { $container->query('OCA\Files_External\Lib\Backend\DAV'), $container->query('OCA\Files_External\Lib\Backend\OwnCloud'), $container->query('OCA\Files_External\Lib\Backend\SFTP'), + $container->query('OCA\Files_External\Lib\Backend\AmazonS3'), ]); if (!\OC_Util::runningOnWindows()) { @@ -91,6 +92,9 @@ class Application extends App { // AuthMechanism::SCHEME_PASSWORD mechanisms $container->query('OCA\Files_External\Lib\Auth\Password\Password'), $container->query('OCA\Files_External\Lib\Auth\Password\SessionCredentials'), + + // Specialized mechanisms + $container->query('OCA\Files_External\Lib\Auth\AmazonS3\AccessKey'), ]); } diff --git a/apps/files_external/lib/auth/amazons3/accesskey.php b/apps/files_external/lib/auth/amazons3/accesskey.php new file mode 100644 index 0000000000..9e3aab374b --- /dev/null +++ b/apps/files_external/lib/auth/amazons3/accesskey.php @@ -0,0 +1,47 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Auth\AmazonS3; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; + +/** + * Amazon S3 access key authentication + */ +class AccessKey extends AuthMechanism { + + const SCHEME_AMAZONS3_ACCESSKEY = 'amazons3_accesskey'; + + public function __construct(IL10N $l) { + $this + ->setIdentifier('amazons3::accesskey') + ->setScheme(self::SCHEME_AMAZONS3_ACCESSKEY) + ->setText($l->t('Access key')) + ->addParameters([ + (new DefinitionParameter('key', $l->t('Access key'))), + (new DefinitionParameter('secret', $l->t('Secret key'))) + ->setType(DefinitionParameter::VALUE_PASSWORD), + ]); + } + +} diff --git a/apps/files_external/lib/backend/amazons3.php b/apps/files_external/lib/backend/amazons3.php new file mode 100644 index 0000000000..880d47621f --- /dev/null +++ b/apps/files_external/lib/backend/amazons3.php @@ -0,0 +1,58 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\AmazonS3\AccessKey; + +class AmazonS3 extends Backend { + + public function __construct(IL10N $l, AccessKey $legacyAuth) { + $this + ->setIdentifier('amazons3') + ->addIdentifierAlias('\OC\Files\Storage\AmazonS3') // legacy compat + ->setStorageClass('\OC\Files\Storage\AmazonS3') + ->setText($l->t('Amazon S3')) + ->addParameters([ + (new DefinitionParameter('bucket', $l->t('Bucket'))), + (new DefinitionParameter('hostname', $l->t('Hostname'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('port', $l->t('Port'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('region', $l->t('Region'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('use_ssl', $l->t('Enable SSL'))) + ->setType(DefinitionParameter::VALUE_BOOLEAN), + (new DefinitionParameter('use_path_style', $l->t('Enable Path Style'))) + ->setType(DefinitionParameter::VALUE_BOOLEAN), + ]) + ->setDependencyCheck('\OC\Files\Storage\AmazonS3::checkDependencies') + ->addAuthScheme(AccessKey::SCHEME_AMAZONS3_ACCESSKEY) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + +} From a50ef618761ae3588d00e55c39451cba75672e7f Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 22:03:41 +0100 Subject: [PATCH 052/329] Migrate Dropbox external storage to new API --- .../ajax/{dropbox.php => oauth1.php} | 7 +- apps/files_external/appinfo/app.php | 14 --- apps/files_external/appinfo/application.php | 4 + apps/files_external/appinfo/routes.php | 4 +- apps/files_external/js/dropbox.js | 111 ------------------ apps/files_external/js/oauth1.js | 78 ++++++++++++ .../files_external/lib/auth/oauth1/oauth1.php | 53 +++++++++ apps/files_external/lib/backend/dropbox.php | 48 ++++++++ 8 files changed, 189 insertions(+), 130 deletions(-) rename apps/files_external/ajax/{dropbox.php => oauth1.php} (89%) delete mode 100644 apps/files_external/js/dropbox.js create mode 100644 apps/files_external/js/oauth1.js create mode 100644 apps/files_external/lib/auth/oauth1/oauth1.php create mode 100644 apps/files_external/lib/backend/dropbox.php diff --git a/apps/files_external/ajax/dropbox.php b/apps/files_external/ajax/oauth1.php similarity index 89% rename from apps/files_external/ajax/dropbox.php rename to apps/files_external/ajax/oauth1.php index 55dc417b73..ca339aeec5 100644 --- a/apps/files_external/ajax/dropbox.php +++ b/apps/files_external/ajax/oauth1.php @@ -30,6 +30,7 @@ OCP\JSON::checkLoggedIn(); OCP\JSON::callCheck(); $l = \OC::$server->getL10N('files_external'); +// FIXME: currently hard-coded to Dropbox OAuth if (isset($_POST['app_key']) && isset($_POST['app_secret'])) { $oauth = new Dropbox_OAuth_Curl((string)$_POST['app_key'], (string)$_POST['app_secret']); if (isset($_POST['step'])) { @@ -47,7 +48,7 @@ if (isset($_POST['app_key']) && isset($_POST['app_secret'])) { 'request_token_secret' => $token['token_secret']))); } catch (Exception $exception) { OCP\JSON::error(array('data' => array('message' => - $l->t('Fetching request tokens failed. Verify that your Dropbox app key and secret are correct.')) + $l->t('Fetching request tokens failed. Verify that your app key and secret are correct.')) )); } break; @@ -60,7 +61,7 @@ if (isset($_POST['app_key']) && isset($_POST['app_secret'])) { 'access_token_secret' => $token['token_secret'])); } catch (Exception $exception) { OCP\JSON::error(array('data' => array('message' => - $l->t('Fetching access tokens failed. Verify that your Dropbox app key and secret are correct.')) + $l->t('Fetching access tokens failed. Verify that your app key and secret are correct.')) )); } } @@ -68,5 +69,5 @@ if (isset($_POST['app_key']) && isset($_POST['app_secret'])) { } } } else { - OCP\JSON::error(array('data' => array('message' => $l->t('Please provide a valid Dropbox app key and secret.')))); + OCP\JSON::error(array('data' => array('message' => $l->t('Please provide a valid app key and secret.')))); } diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 241e29be40..14edfe3538 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -70,20 +70,6 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\SMB_OC', 'login'); -OC_Mount_Config::registerBackend('\OC\Files\Storage\Dropbox', [ - 'backend' => 'Dropbox', - 'priority' => 100, - 'configuration' => [ - 'configured' => '#configured', - 'app_key' => (string)$l->t('App key'), - 'app_secret' => '*'.$l->t('App secret'), - 'token' => '#token', - 'token_secret' => '#token_secret' - ], - 'custom' => 'dropbox', - 'has_dependencies' => true, -]); - OC_Mount_Config::registerBackend('\OC\Files\Storage\Google', [ 'backend' => 'Google Drive', 'priority' => 100, diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index 5f83e1bf91..4a9a7a6b82 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -66,6 +66,7 @@ class Application extends App { $container->query('OCA\Files_External\Lib\Backend\OwnCloud'), $container->query('OCA\Files_External\Lib\Backend\SFTP'), $container->query('OCA\Files_External\Lib\Backend\AmazonS3'), + $container->query('OCA\Files_External\Lib\Backend\Dropbox'), ]); if (!\OC_Util::runningOnWindows()) { @@ -93,6 +94,9 @@ class Application extends App { $container->query('OCA\Files_External\Lib\Auth\Password\Password'), $container->query('OCA\Files_External\Lib\Auth\Password\SessionCredentials'), + // AuthMechanism::SCHEME_OAUTH1 mechanisms + $container->query('OCA\Files_External\Lib\Auth\OAuth1\OAuth1'), + // Specialized mechanisms $container->query('OCA\Files_External\Lib\Auth\AmazonS3\AccessKey'), ]); diff --git a/apps/files_external/appinfo/routes.php b/apps/files_external/appinfo/routes.php index 4462ad1f27..ccc50cbd0f 100644 --- a/apps/files_external/appinfo/routes.php +++ b/apps/files_external/appinfo/routes.php @@ -46,8 +46,8 @@ namespace OCA\Files_External\AppInfo; ) ); -$this->create('files_external_dropbox', 'ajax/dropbox.php') - ->actionInclude('files_external/ajax/dropbox.php'); +$this->create('files_external_oauth1', 'ajax/oauth1.php') + ->actionInclude('files_external/ajax/oauth1.php'); $this->create('files_external_google', 'ajax/google.php') ->actionInclude('files_external/ajax/google.php'); diff --git a/apps/files_external/js/dropbox.js b/apps/files_external/js/dropbox.js deleted file mode 100644 index 53b5d5d666..0000000000 --- a/apps/files_external/js/dropbox.js +++ /dev/null @@ -1,111 +0,0 @@ -$(document).ready(function() { - - $('#externalStorage tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Dropbox').each(function() { - var configured = $(this).find('[data-parameter="configured"]'); - if ($(configured).val() == 'true') { - $(this).find('.configuration input').attr('disabled', 'disabled'); - $(this).find('.configuration').append(''+t('files_external', 'Access granted')+''); - } else { - var app_key = $(this).find('.configuration [data-parameter="app_key"]').val(); - var app_secret = $(this).find('.configuration [data-parameter="app_secret"]').val(); - var config = $(this).find('.configuration'); - if (app_key != '' && app_secret != '') { - var pos = window.location.search.indexOf('oauth_token') + 12; - var token = $(this).find('.configuration [data-parameter="token"]'); - if (pos != -1 && window.location.search.substr(pos, $(token).val().length) == $(token).val()) { - var token_secret = $(this).find('.configuration [data-parameter="token_secret"]'); - var tr = $(this); - var statusSpan = $(tr).find('.status span'); - statusSpan.removeClass(); - statusSpan.addClass('waiting'); - $.post(OC.filePath('files_external', 'ajax', 'dropbox.php'), { step: 2, app_key: app_key, app_secret: app_secret, request_token: $(token).val(), request_token_secret: $(token_secret).val() }, function(result) { - if (result && result.status == 'success') { - $(token).val(result.access_token); - $(token_secret).val(result.access_token_secret); - $(configured).val('true'); - OCA.External.Settings.mountConfig.saveStorageConfig(tr, function(status) { - if (status) { - $(tr).find('.configuration input').attr('disabled', 'disabled'); - $(tr).find('.configuration').append(''+t('files_external', 'Access granted')+''); - } - }); - } else { - OC.dialogs.alert(result.data.message, t('files_external', 'Error configuring Dropbox storage')); - } - }); - } - } else { - onDropboxInputsChange($(this)); - } - } - }); - - $('#externalStorage').on('paste', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Dropbox td', function() { - var tr = $(this).parent(); - setTimeout(function() { - onDropboxInputsChange(tr); - }, 20); - }); - - $('#externalStorage').on('keyup', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Dropbox td', function() { - onDropboxInputsChange($(this).parent()); - }); - - $('#externalStorage').on('change', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Dropbox .chzn-select', function() { - onDropboxInputsChange($(this).parent().parent()); - }); - - function onDropboxInputsChange(tr) { - if ($(tr).find('[data-parameter="configured"]').val() != 'true') { - var config = $(tr).find('.configuration'); - if ($(tr).find('.mountPoint input').val() != '' - && $(config).find('[data-parameter="app_key"]').val() != '' - && $(config).find('[data-parameter="app_secret"]').val() != '' - && ($(tr).find('.chzn-select').length == 0 - || $(tr).find('.chzn-select').val() != null)) - { - if ($(tr).find('.dropbox').length == 0) { - $(config).append($(document.createElement('input')) - .addClass('button dropbox') - .attr('type', 'button') - .attr('value', t('files_external', 'Grant access'))); - } else { - $(tr).find('.dropbox').show(); - } - } else if ($(tr).find('.dropbox').length > 0) { - $(tr).find('.dropbox').hide(); - } - } - } - - $('#externalStorage').on('click', '.dropbox', function(event) { - event.preventDefault(); - var tr = $(this).parent().parent(); - var app_key = $(this).parent().find('[data-parameter="app_key"]').val(); - var app_secret = $(this).parent().find('[data-parameter="app_secret"]').val(); - if (app_key != '' && app_secret != '') { - var tr = $(this).parent().parent(); - var configured = $(this).parent().find('[data-parameter="configured"]'); - var token = $(this).parent().find('[data-parameter="token"]'); - var token_secret = $(this).parent().find('[data-parameter="token_secret"]'); - $.post(OC.filePath('files_external', 'ajax', 'dropbox.php'), { step: 1, app_key: app_key, app_secret: app_secret, callback: location.protocol + '//' + location.host + location.pathname }, function(result) { - if (result && result.status == 'success') { - $(configured).val('false'); - $(token).val(result.data.request_token); - $(token_secret).val(result.data.request_token_secret); - OCA.External.Settings.mountConfig.saveStorageConfig(tr, function() { - window.location = result.data.url; - }); - } else { - OC.dialogs.alert(result.data.message, t('files_external', 'Error configuring Dropbox storage')); - } - }); - } else { - OC.dialogs.alert( - t('files_external', 'Please provide a valid Dropbox app key and secret.'), - t('files_external', 'Error configuring Dropbox storage') - ); - } - }); - -}); diff --git a/apps/files_external/js/oauth1.js b/apps/files_external/js/oauth1.js new file mode 100644 index 0000000000..47aca36871 --- /dev/null +++ b/apps/files_external/js/oauth1.js @@ -0,0 +1,78 @@ +$(document).ready(function() { + + OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme) { + if (authMechanism === 'oauth1::oauth1') { + var config = $tr.find('.configuration'); + config.append($(document.createElement('input')) + .addClass('button auth-param') + .attr('type', 'button') + .attr('value', t('files_external', 'Grant access')) + .attr('name', 'oauth1_grant') + ); + + var configured = $tr.find('[data-parameter="configured"]'); + if ($(configured).val() == 'true') { + $tr.find('.configuration input').attr('disabled', 'disabled'); + $tr.find('.configuration').append(''+t('files_external', 'Access granted')+''); + } else { + var app_key = $tr.find('.configuration [data-parameter="app_key"]').val(); + var app_secret = $tr.find('.configuration [data-parameter="app_secret"]').val(); + if (app_key != '' && app_secret != '') { + var pos = window.location.search.indexOf('oauth_token') + 12; + var token = $tr.find('.configuration [data-parameter="token"]'); + if (pos != -1 && window.location.search.substr(pos, $(token).val().length) == $(token).val()) { + var token_secret = $tr.find('.configuration [data-parameter="token_secret"]'); + var statusSpan = $tr.find('.status span'); + statusSpan.removeClass(); + statusSpan.addClass('waiting'); + $.post(OC.filePath('files_external', 'ajax', 'oauth1.php'), { step: 2, app_key: app_key, app_secret: app_secret, request_token: $(token).val(), request_token_secret: $(token_secret).val() }, function(result) { + if (result && result.status == 'success') { + $(token).val(result.access_token); + $(token_secret).val(result.access_token_secret); + $(configured).val('true'); + OCA.External.Settings.mountConfig.saveStorageConfig($tr, function(status) { + if (status) { + $tr.find('.configuration input').attr('disabled', 'disabled'); + $tr.find('.configuration').append(''+t('files_external', 'Access granted')+''); + } + }); + } else { + OC.dialogs.alert(result.data.message, t('files_external', 'Error configuring OAuth1')); + } + }); + } + } + } + } + }); + + $('#externalStorage').on('click', '[name="oauth1_grant"]', function(event) { + event.preventDefault(); + var tr = $(this).parent().parent(); + var app_key = $(this).parent().find('[data-parameter="app_key"]').val(); + var app_secret = $(this).parent().find('[data-parameter="app_secret"]').val(); + if (app_key != '' && app_secret != '') { + var configured = $(this).parent().find('[data-parameter="configured"]'); + var token = $(this).parent().find('[data-parameter="token"]'); + var token_secret = $(this).parent().find('[data-parameter="token_secret"]'); + $.post(OC.filePath('files_external', 'ajax', 'oauth1.php'), { step: 1, app_key: app_key, app_secret: app_secret, callback: location.protocol + '//' + location.host + location.pathname }, function(result) { + if (result && result.status == 'success') { + $(configured).val('false'); + $(token).val(result.data.request_token); + $(token_secret).val(result.data.request_token_secret); + OCA.External.Settings.mountConfig.saveStorageConfig(tr, function() { + window.location = result.data.url; + }); + } else { + OC.dialogs.alert(result.data.message, t('files_external', 'Error configuring OAuth1')); + } + }); + } else { + OC.dialogs.alert( + t('files_external', 'Please provide a valid app key and secret.'), + t('files_external', 'Error configuring OAuth1') + ); + } + }); + +}); diff --git a/apps/files_external/lib/auth/oauth1/oauth1.php b/apps/files_external/lib/auth/oauth1/oauth1.php new file mode 100644 index 0000000000..3fb1b16aa6 --- /dev/null +++ b/apps/files_external/lib/auth/oauth1/oauth1.php @@ -0,0 +1,53 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Auth\OAuth1; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; + +/** + * OAuth1 authentication + */ +class OAuth1 extends AuthMechanism { + + public function __construct(IL10N $l) { + $this + ->setIdentifier('oauth1::oauth1') + ->setScheme(self::SCHEME_OAUTH1) + ->setText($l->t('OAuth1')) + ->addParameters([ + (new DefinitionParameter('configured', 'configured')) + ->setType(DefinitionParameter::VALUE_HIDDEN), + (new DefinitionParameter('app_key', $l->t('App key'))), + (new DefinitionParameter('app_secret', $l->t('App secret'))) + ->setType(DefinitionParameter::VALUE_PASSWORD), + (new DefinitionParameter('token', 'token')) + ->setType(DefinitionParameter::VALUE_HIDDEN), + (new DefinitionParameter('token_secret', 'token_secret')) + ->setType(DefinitionParameter::VALUE_HIDDEN), + ]) + ->setCustomJs('oauth1') + ; + } + +} diff --git a/apps/files_external/lib/backend/dropbox.php b/apps/files_external/lib/backend/dropbox.php new file mode 100644 index 0000000000..bfd2e4cddc --- /dev/null +++ b/apps/files_external/lib/backend/dropbox.php @@ -0,0 +1,48 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\OAuth1\OAuth1; + +class Dropbox extends Backend { + + public function __construct(IL10N $l, OAuth1 $legacyAuth) { + $this + ->setIdentifier('dropbox') + ->addIdentifierAlias('\OC\Files\Storage\Dropbox') // legacy compat + ->setStorageClass('\OC\Files\Storage\Dropbox') + ->setText($l->t('Dropbox')) + ->addParameters([ + // all parameters handled in OAuth1 mechanism + ]) + ->setDependencyCheck('\OC\Files\Storage\Dropbox::checkDependencies') + ->addAuthScheme(AuthMechanism::SCHEME_OAUTH1) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + +} From 88a78237b01bae66786f9c32f30b936240ea6f58 Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 22:09:20 +0100 Subject: [PATCH 053/329] Migrate Google external storage to new API --- .../ajax/{google.php => oauth2.php} | 1 + apps/files_external/appinfo/app.php | 14 -- apps/files_external/appinfo/application.php | 4 + apps/files_external/appinfo/routes.php | 4 +- apps/files_external/js/google.js | 131 ------------------ apps/files_external/js/oauth2.js | 95 +++++++++++++ .../files_external/lib/auth/oauth2/oauth2.php | 51 +++++++ apps/files_external/lib/backend/google.php | 48 +++++++ 8 files changed, 201 insertions(+), 147 deletions(-) rename apps/files_external/ajax/{google.php => oauth2.php} (98%) delete mode 100644 apps/files_external/js/google.js create mode 100644 apps/files_external/js/oauth2.js create mode 100644 apps/files_external/lib/auth/oauth2/oauth2.php create mode 100644 apps/files_external/lib/backend/google.php diff --git a/apps/files_external/ajax/google.php b/apps/files_external/ajax/oauth2.php similarity index 98% rename from apps/files_external/ajax/google.php rename to apps/files_external/ajax/oauth2.php index acaf1b0b27..0a202e3ddc 100644 --- a/apps/files_external/ajax/google.php +++ b/apps/files_external/ajax/oauth2.php @@ -33,6 +33,7 @@ OCP\JSON::checkLoggedIn(); OCP\JSON::callCheck(); $l = \OC::$server->getL10N('files_external'); +// FIXME: currently hard-coded to Google Drive if (isset($_POST['client_id']) && isset($_POST['client_secret']) && isset($_POST['redirect'])) { $client = new Google_Client(); $client->setClientId((string)$_POST['client_id']); diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 14edfe3538..9db4b0a633 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -70,20 +70,6 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\SMB_OC', 'login'); -OC_Mount_Config::registerBackend('\OC\Files\Storage\Google', [ - 'backend' => 'Google Drive', - 'priority' => 100, - 'configuration' => [ - 'configured' => '#configured', - 'client_id' => (string)$l->t('Client ID'), - 'client_secret' => '*'.$l->t('Client secret'), - 'token' => '#token', - ], - 'custom' => 'google', - 'has_dependencies' => true, -]); - - OC_Mount_Config::registerBackend('\OC\Files\Storage\Swift', [ 'backend' => (string)$l->t('OpenStack Object Storage'), 'priority' => 100, diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index 4a9a7a6b82..1e43c73740 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -67,6 +67,7 @@ class Application extends App { $container->query('OCA\Files_External\Lib\Backend\SFTP'), $container->query('OCA\Files_External\Lib\Backend\AmazonS3'), $container->query('OCA\Files_External\Lib\Backend\Dropbox'), + $container->query('OCA\Files_External\Lib\Backend\Google'), ]); if (!\OC_Util::runningOnWindows()) { @@ -97,6 +98,9 @@ class Application extends App { // AuthMechanism::SCHEME_OAUTH1 mechanisms $container->query('OCA\Files_External\Lib\Auth\OAuth1\OAuth1'), + // AuthMechanism::SCHEME_OAUTH2 mechanisms + $container->query('OCA\Files_External\Lib\Auth\OAuth2\OAuth2'), + // Specialized mechanisms $container->query('OCA\Files_External\Lib\Auth\AmazonS3\AccessKey'), ]); diff --git a/apps/files_external/appinfo/routes.php b/apps/files_external/appinfo/routes.php index ccc50cbd0f..5d7018c347 100644 --- a/apps/files_external/appinfo/routes.php +++ b/apps/files_external/appinfo/routes.php @@ -48,8 +48,8 @@ namespace OCA\Files_External\AppInfo; $this->create('files_external_oauth1', 'ajax/oauth1.php') ->actionInclude('files_external/ajax/oauth1.php'); -$this->create('files_external_google', 'ajax/google.php') - ->actionInclude('files_external/ajax/google.php'); +$this->create('files_external_oauth2', 'ajax/oauth2.php') + ->actionInclude('files_external/ajax/oauth2.php'); $this->create('files_external_list_applicable', '/applicable') diff --git a/apps/files_external/js/google.js b/apps/files_external/js/google.js deleted file mode 100644 index 648538f802..0000000000 --- a/apps/files_external/js/google.js +++ /dev/null @@ -1,131 +0,0 @@ -$(document).ready(function() { - - $('#externalStorage tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google').each(function() { - var configured = $(this).find('[data-parameter="configured"]'); - if ($(configured).val() == 'true') { - $(this).find('.configuration input').attr('disabled', 'disabled'); - $(this).find('.configuration').append($('').attr('id', 'access') - .text(t('files_external', 'Access granted'))); - } else { - var client_id = $(this).find('.configuration [data-parameter="client_id"]').val(); - var client_secret = $(this).find('.configuration [data-parameter="client_secret"]') - .val(); - if (client_id != '' && client_secret != '') { - var params = {}; - window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) { - params[key] = value; - }); - if (params['code'] !== undefined) { - var tr = $(this); - var token = $(this).find('.configuration [data-parameter="token"]'); - var statusSpan = $(tr).find('.status span'); - statusSpan.removeClass(); - statusSpan.addClass('waiting'); - $.post(OC.filePath('files_external', 'ajax', 'google.php'), - { - step: 2, - client_id: client_id, - client_secret: client_secret, - redirect: location.protocol + '//' + location.host + location.pathname, - code: params['code'], - }, function(result) { - if (result && result.status == 'success') { - $(token).val(result.data.token); - $(configured).val('true'); - OCA.External.Settings.mountConfig.saveStorageConfig(tr, function(status) { - if (status) { - $(tr).find('.configuration input').attr('disabled', 'disabled'); - $(tr).find('.configuration').append($('') - .attr('id', 'access') - .text(t('files_external', 'Access granted'))); - } - }); - } else { - OC.dialogs.alert(result.data.message, - t('files_external', 'Error configuring Google Drive storage') - ); - } - } - ); - } - } else { - onGoogleInputsChange($(this)); - } - } - }); - - $('#externalStorage').on('paste', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google td', - function() { - var tr = $(this).parent(); - setTimeout(function() { - onGoogleInputsChange(tr); - }, 20); - } - ); - - $('#externalStorage').on('keyup', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google td', - function() { - onGoogleInputsChange($(this).parent()); - } - ); - - $('#externalStorage').on('change', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\Google .chzn-select' - , function() { - onGoogleInputsChange($(this).parent().parent()); - } - ); - - function onGoogleInputsChange(tr) { - if ($(tr).find('[data-parameter="configured"]').val() != 'true') { - var config = $(tr).find('.configuration'); - if ($(tr).find('.mountPoint input').val() != '' - && $(config).find('[data-parameter="client_id"]').val() != '' - && $(config).find('[data-parameter="client_secret"]').val() != '' - && ($(tr).find('.chzn-select').length == 0 - || $(tr).find('.chzn-select').val() != null)) - { - if ($(tr).find('.google').length == 0) { - $(config).append($(document.createElement('input')).addClass('button google') - .attr('type', 'button') - .attr('value', t('files_external', 'Grant access'))); - } else { - $(tr).find('.google').show(); - } - } else if ($(tr).find('.google').length > 0) { - $(tr).find('.google').hide(); - } - } - } - - $('#externalStorage').on('click', '.google', function(event) { - event.preventDefault(); - var tr = $(this).parent().parent(); - var configured = $(this).parent().find('[data-parameter="configured"]'); - var client_id = $(this).parent().find('[data-parameter="client_id"]').val(); - var client_secret = $(this).parent().find('[data-parameter="client_secret"]').val(); - if (client_id != '' && client_secret != '') { - var token = $(this).parent().find('[data-parameter="token"]'); - $.post(OC.filePath('files_external', 'ajax', 'google.php'), - { - step: 1, - client_id: client_id, - client_secret: client_secret, - redirect: location.protocol + '//' + location.host + location.pathname, - }, function(result) { - if (result && result.status == 'success') { - $(configured).val('false'); - $(token).val('false'); - OCA.External.Settings.mountConfig.saveStorageConfig(tr, function(status) { - window.location = result.data.url; - }); - } else { - OC.dialogs.alert(result.data.message, - t('files_external', 'Error configuring Google Drive storage') - ); - } - } - ); - } - }); - -}); diff --git a/apps/files_external/js/oauth2.js b/apps/files_external/js/oauth2.js new file mode 100644 index 0000000000..8494143742 --- /dev/null +++ b/apps/files_external/js/oauth2.js @@ -0,0 +1,95 @@ +$(document).ready(function() { + + OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme) { + if (authMechanism === 'oauth2::oauth2') { + var config = $tr.find('.configuration'); + config.append($(document.createElement('input')) + .addClass('button auth-param') + .attr('type', 'button') + .attr('value', t('files_external', 'Grant access')) + .attr('name', 'oauth2_grant') + ); + + var configured = $tr.find('[data-parameter="configured"]'); + if ($(configured).val() == 'true') { + $tr.find('.configuration input').attr('disabled', 'disabled'); + $tr.find('.configuration').append($('').attr('id', 'access') + .text(t('files_external', 'Access granted'))); + } else { + var client_id = $tr.find('.configuration [data-parameter="client_id"]').val(); + var client_secret = $tr.find('.configuration [data-parameter="client_secret"]') + .val(); + if (client_id != '' && client_secret != '') { + var params = {}; + window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) { + params[key] = value; + }); + if (params['code'] !== undefined) { + var token = $tr.find('.configuration [data-parameter="token"]'); + var statusSpan = $tr.find('.status span'); + statusSpan.removeClass(); + statusSpan.addClass('waiting'); + $.post(OC.filePath('files_external', 'ajax', 'oauth2.php'), + { + step: 2, + client_id: client_id, + client_secret: client_secret, + redirect: location.protocol + '//' + location.host + location.pathname, + code: params['code'], + }, function(result) { + if (result && result.status == 'success') { + $(token).val(result.data.token); + $(configured).val('true'); + OCA.External.Settings.mountConfig.saveStorageConfig($tr, function(status) { + if (status) { + $tr.find('.configuration input').attr('disabled', 'disabled'); + $tr.find('.configuration').append($('') + .attr('id', 'access') + .text(t('files_external', 'Access granted'))); + } + }); + } else { + OC.dialogs.alert(result.data.message, + t('files_external', 'Error configuring OAuth2') + ); + } + } + ); + } + } + } + } + }); + + $('#externalStorage').on('click', '[name="oauth2_grant"]', function(event) { + event.preventDefault(); + var tr = $(this).parent().parent(); + var configured = $(this).parent().find('[data-parameter="configured"]'); + var client_id = $(this).parent().find('[data-parameter="client_id"]').val(); + var client_secret = $(this).parent().find('[data-parameter="client_secret"]').val(); + if (client_id != '' && client_secret != '') { + var token = $(this).parent().find('[data-parameter="token"]'); + $.post(OC.filePath('files_external', 'ajax', 'oauth2.php'), + { + step: 1, + client_id: client_id, + client_secret: client_secret, + redirect: location.protocol + '//' + location.host + location.pathname, + }, function(result) { + if (result && result.status == 'success') { + $(configured).val('false'); + $(token).val('false'); + OCA.External.Settings.mountConfig.saveStorageConfig(tr, function(status) { + window.location = result.data.url; + }); + } else { + OC.dialogs.alert(result.data.message, + t('files_external', 'Error configuring OAuth2') + ); + } + } + ); + } + }); + +}); diff --git a/apps/files_external/lib/auth/oauth2/oauth2.php b/apps/files_external/lib/auth/oauth2/oauth2.php new file mode 100644 index 0000000000..73faa85a44 --- /dev/null +++ b/apps/files_external/lib/auth/oauth2/oauth2.php @@ -0,0 +1,51 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Auth\OAuth2; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; + +/** + * OAuth2 authentication + */ +class OAuth2 extends AuthMechanism { + + public function __construct(IL10N $l) { + $this + ->setIdentifier('oauth2::oauth2') + ->setScheme(self::SCHEME_OAUTH2) + ->setText($l->t('OAuth2')) + ->addParameters([ + (new DefinitionParameter('configured', 'configured')) + ->setType(DefinitionParameter::VALUE_HIDDEN), + (new DefinitionParameter('client_id', $l->t('Client ID'))), + (new DefinitionParameter('client_secret', $l->t('Client secret'))) + ->setType(DefinitionParameter::VALUE_PASSWORD), + (new DefinitionParameter('token', 'token')) + ->setType(DefinitionParameter::VALUE_HIDDEN), + ]) + ->setCustomJs('oauth2') + ; + } + +} diff --git a/apps/files_external/lib/backend/google.php b/apps/files_external/lib/backend/google.php new file mode 100644 index 0000000000..b46b2f653a --- /dev/null +++ b/apps/files_external/lib/backend/google.php @@ -0,0 +1,48 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\OAuth2\OAuth2; + +class Google extends Backend { + + public function __construct(IL10N $l, OAuth2 $legacyAuth) { + $this + ->setIdentifier('googledrive') + ->addIdentifierAlias('\OC\Files\Storage\Google') // legacy compat + ->setStorageClass('\OC\Files\Storage\Google') + ->setText($l->t('Google Drive')) + ->addParameters([ + // all parameters handled in OAuth2 mechanism + ]) + ->setDependencyCheck('\OC\Files\Storage\Google::checkDependencies') + ->addAuthScheme(AuthMechanism::SCHEME_OAUTH2) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + +} From a86602a1575d829a64588b35eb073484ec9543db Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 25 Aug 2015 11:07:47 +0200 Subject: [PATCH 054/329] Properly hide sidebar when switching between files app sections Since there are multiple sidebars, one for each files app section, we need to hide the correct ones. --- apps/files/js/app.js | 4 ++++ apps/files/js/filelist.js | 4 ++-- core/js/apps.js | 12 ++++++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/apps/files/js/app.js b/apps/files/js/app.js index adb1893bb0..f31770466f 100644 --- a/apps/files/js/app.js +++ b/apps/files/js/app.js @@ -162,6 +162,7 @@ dir: '/' }; this._changeUrl(params.view, params.dir); + OC.Apps.hideAppSidebar($('.detailsView')); this.navigation.getActiveContainer().trigger(new $.Event('urlChanged', params)); } }, @@ -181,6 +182,9 @@ */ _onChangeViewerMode: function(e) { var state = !!e.viewerModeEnabled; + if (e.viewerModeEnabled) { + OC.Apps.hideAppSidebar($('.detailsView')); + } $('#app-navigation').toggleClass('hidden', state); $('.app-files').toggleClass('viewer-mode no-sidebar', state); }, diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index e294e2f3c0..ac96d58701 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -339,7 +339,7 @@ } if (!fileName) { - OC.Apps.hideAppSidebar(); + OC.Apps.hideAppSidebar(this._detailsView.$el); this._detailsView.setFileInfo(null); this._currentFileModel = null; return; @@ -354,7 +354,7 @@ this._detailsView.setFileInfo(model); this._detailsView.$el.scrollTop(0); - _.defer(OC.Apps.showAppSidebar); + _.defer(OC.Apps.showAppSidebar, this._detailsView.$el); }, /** diff --git a/core/js/apps.js b/core/js/apps.js index d0d351f514..f148de3b2e 100644 --- a/core/js/apps.js +++ b/core/js/apps.js @@ -22,9 +22,11 @@ /** * Shows the #app-sidebar and add .with-app-sidebar to subsequent siblings + * + * @param {Object} [$el] sidebar element to show, defaults to $('#app-sidebar') */ - exports.Apps.showAppSidebar = function() { - var $appSidebar = $('#app-sidebar'); + exports.Apps.showAppSidebar = function($el) { + var $appSidebar = $el || $('#app-sidebar'); $appSidebar.removeClass('disappear') $('#app-content').addClass('with-app-sidebar'); @@ -33,9 +35,11 @@ /** * Shows the #app-sidebar and removes .with-app-sidebar from subsequent * siblings + * + * @param {Object} [$el] sidebar element to hide, defaults to $('#app-sidebar') */ - exports.Apps.hideAppSidebar = function() { - var $appSidebar = $('#app-sidebar'); + exports.Apps.hideAppSidebar = function($el) { + var $appSidebar = $el || $('#app-sidebar'); $appSidebar.addClass('disappear'); $('#app-content').removeClass('with-app-sidebar'); }; From 5e6fa3c9389fcfa3af682f12fe0f54918ae6c85d Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 25 Aug 2015 11:29:35 +0200 Subject: [PATCH 055/329] Fix trashbin sidebar Do not display size as it is not available. Use display name instead of name to remove the ".d123456" suffix. --- apps/files/js/mainfileinfodetailview.js | 8 ++++---- .../tests/js/mainfileinfodetailviewSpec.js | 13 ++++++++++++ apps/files_trashbin/js/filelist.js | 10 ++++++++++ apps/files_trashbin/tests/js/filelistSpec.js | 20 +++++++++++++++++++ 4 files changed, 47 insertions(+), 4 deletions(-) diff --git a/apps/files/js/mainfileinfodetailview.js b/apps/files/js/mainfileinfodetailview.js index 8bf2214984..513f833299 100644 --- a/apps/files/js/mainfileinfodetailview.js +++ b/apps/files/js/mainfileinfodetailview.js @@ -17,7 +17,7 @@ ' class="action action-favorite favorite">' + ' ' + ' ' + - ' {{size}}, {{date}}' + + ' {{#if hasSize}}{{size}}, {{/if}}{{date}}' + '
'; /** @@ -104,9 +104,10 @@ var isFavorite = (this.model.get('tags') || []).indexOf(OC.TAG_FAVORITE) >= 0; this.$el.html(this.template({ nameLabel: t('files', 'Name'), - name: this.model.get('name'), + name: this.model.get('displayName') || this.model.get('name'), pathLabel: t('files', 'Path'), path: this.model.get('path'), + hasSize: this.model.has('size'), sizeLabel: t('files', 'Size'), size: OC.Util.humanFileSize(this.model.get('size'), true), altSize: n('files', '%n byte', '%n bytes', this.model.get('size')), @@ -120,8 +121,7 @@ // TODO: we really need OC.Previews var $iconDiv = this.$el.find('.thumbnail'); if (!this.model.isDirectory()) { - // TODO: inject utility class? - FileList.lazyLoadPreview({ + this._fileList.lazyLoadPreview({ path: this.model.getFullPath(), mime: this.model.get('mimetype'), etag: this.model.get('etag'), diff --git a/apps/files/tests/js/mainfileinfodetailviewSpec.js b/apps/files/tests/js/mainfileinfodetailviewSpec.js index ca7384f620..582824585b 100644 --- a/apps/files/tests/js/mainfileinfodetailviewSpec.js +++ b/apps/files/tests/js/mainfileinfodetailviewSpec.js @@ -100,6 +100,19 @@ describe('OCA.Files.MainFileInfoDetailView tests', function() { fileListMock.verify(); }); + it('does not show size if no size available', function() { + testFileInfo.unset('size'); + view.setFileInfo(testFileInfo); + + expect(view.$el.find('.size').length).toEqual(0); + }); + it('renders displayName instead of name if available', function() { + testFileInfo.set('displayName', 'hello.txt'); + view.setFileInfo(testFileInfo); + + expect(view.$el.find('.fileName').text()).toEqual('hello.txt'); + expect(view.$el.find('.fileName').attr('title')).toEqual('hello.txt'); + }); it('rerenders when changes are made on the model', function() { view.setFileInfo(testFileInfo); diff --git a/apps/files_trashbin/js/filelist.js b/apps/files_trashbin/js/filelist.js index 71b6372189..febe3a45be 100644 --- a/apps/files_trashbin/js/filelist.js +++ b/apps/files_trashbin/js/filelist.js @@ -122,6 +122,16 @@ return OC.linkTo('files', 'index.php')+"?view=trashbin&dir="+ encodeURIComponent(dir).replace(/%2F/g, '/'); }, + elementToFile: function($el) { + var fileInfo = OCA.Files.FileList.prototype.elementToFile($el); + if (this.getCurrentDirectory() === '/') { + fileInfo.displayName = getDeletedFileName(fileInfo.name); + } + // no size available + delete fileInfo.size; + return fileInfo; + }, + updateEmptyContent: function(){ var exists = this.$fileList.find('tr:first').exists(); this.$el.find('#emptycontent').toggleClass('hidden', exists); diff --git a/apps/files_trashbin/tests/js/filelistSpec.js b/apps/files_trashbin/tests/js/filelistSpec.js index 9aa1f907fa..05caaf2786 100644 --- a/apps/files_trashbin/tests/js/filelistSpec.js +++ b/apps/files_trashbin/tests/js/filelistSpec.js @@ -212,6 +212,26 @@ describe('OCA.Trashbin.FileList tests', function() { describe('breadcrumbs', function() { // TODO: test label + URL }); + describe('elementToFile', function() { + var $tr; + + beforeEach(function() { + fileList.setFiles(testFiles); + $tr = fileList.findFileEl('One.txt.d11111'); + }); + + it('converts data attributes to file info structure', function() { + var fileInfo = fileList.elementToFile($tr); + expect(fileInfo.id).toEqual(1); + expect(fileInfo.name).toEqual('One.txt.d11111'); + expect(fileInfo.displayName).toEqual('One.txt'); + expect(fileInfo.mtime).toEqual(11111000); + expect(fileInfo.etag).toEqual('abc'); + expect(fileInfo.permissions).toEqual(OC.PERMISSION_READ | OC.PERMISSION_DELETE); + expect(fileInfo.mimetype).toEqual('text/plain'); + expect(fileInfo.type).toEqual('file'); + }); + }); describe('Global Actions', function() { beforeEach(function() { fileList.setFiles(testFiles); From 010c03fc30a6d5d1765889431905dc415d289018 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 25 Aug 2015 12:05:04 +0200 Subject: [PATCH 056/329] Fix row highlight in other file lists --- apps/files/css/files.css | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index d66eece94d..840915604e 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -148,6 +148,7 @@ background-color: rgb(240,240,240); } #filestable tbody tr.highlighted, +#filestable tbody tr.highlighted .name:focus, #filestable tbody tr.selected { background-color: rgb(230,230,230); } From cf53137911efbb64753ddf2b65bfe05f96a70acd Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Tue, 25 Aug 2015 14:06:05 +0200 Subject: [PATCH 057/329] replace section line with whitespace --- core/css/apps.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/css/apps.css b/core/css/apps.css index b3d7eaf659..620c301382 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -533,7 +533,7 @@ button.loading { display: block; padding: 30px; color: #555; - border-top: 1px solid #ddd; + margin-bottom: 24px; } .section.hidden { display: none !important; From 29c538c66745086ef3165778dddcb74815a216d8 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Tue, 25 Aug 2015 14:06:20 +0200 Subject: [PATCH 058/329] replace apps navigation line with whitespace --- settings/css/settings.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings/css/settings.css b/settings/css/settings.css index 0f1f432e4e..5fa9b30a64 100644 --- a/settings/css/settings.css +++ b/settings/css/settings.css @@ -316,7 +316,7 @@ span.version { } #app-category-1 { - border-bottom: 1px solid #e8e8e8; + margin-bottom: 18px; } /* capitalize "Other" category */ #app-category-925 { From 3cfbf77866460944176954848bd74688a5f48894 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Tue, 25 Aug 2015 14:14:53 +0200 Subject: [PATCH 059/329] reduce files table header line --- apps/files/css/files.css | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index d66eece94d..d821b56012 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -218,10 +218,14 @@ table th:focus .sort-indicator.hidden { visibility: visible; } -table th, table td { border-bottom:1px solid #ddd; text-align:left; font-weight:normal; } +table th, +table td { + border-bottom: 1px solid #eee; + text-align: left; + font-weight: normal; +} table td { padding: 0 15px; - border-bottom: 1px solid #eee; font-style: normal; background-position: 8px center; background-repeat: no-repeat; From d337c2bf0e2fe5d4de2eb088ecfe00f337aba018 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Tue, 25 Aug 2015 14:22:00 +0200 Subject: [PATCH 060/329] remove border from button style --- core/css/styles.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/css/styles.css b/core/css/styles.css index 619a9df743..0bed45d092 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -200,7 +200,7 @@ button, .button, background-color: rgba(240,240,240,.9); font-weight: bold; color: #555; - border: 1px solid rgba(190,190,190,.9); + border: 1px solid rgba(240,240,240,.9); cursor: pointer; } input[type="submit"]:hover, input[type="submit"]:focus, From 6f6a5f6c2981cd046abc0530c4b6a222e67f17a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 25 Aug 2015 14:31:21 +0200 Subject: [PATCH 061/329] Adding path to log message --- lib/private/lock/dblockingprovider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/lock/dblockingprovider.php b/lib/private/lock/dblockingprovider.php index 5241a0440b..f3e684d0b4 100644 --- a/lib/private/lock/dblockingprovider.php +++ b/lib/private/lock/dblockingprovider.php @@ -77,7 +77,7 @@ class DBLockingProvider extends AbstractLockingProvider { */ public function acquireLock($path, $type) { if ($this->connection->inTransaction()){ - $this->logger->warning('Trying to acquire a lock while inside a transition'); + $this->logger->warning("Trying to acquire a lock for '$path' while inside a transition"); } $this->connection->beginTransaction(); From cc898cf346cb956d6ee73149cf5ebcbea55ef8d6 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Tue, 25 Aug 2015 14:45:39 +0200 Subject: [PATCH 062/329] fix being able to distinguish shared items on mobile --- apps/files/css/mobile.css | 12 ++++++------ core/js/share.js | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css index dd8244a291..635c24c416 100644 --- a/apps/files/css/mobile.css +++ b/apps/files/css/mobile.css @@ -32,6 +32,12 @@ table td.filename .nametext { width: 100%; } +/* show share action of shared items darker to distinguish from non-shared */ +#fileList a.action.permanent.shared-style { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)" !important; + filter: alpha(opacity=70) !important; + opacity: .7 !important; +} /* always show actions on mobile, not only on hover */ #fileList a.action, #fileList a.action.action-menu.permanent { @@ -40,12 +46,6 @@ table td.filename .nametext { opacity: .2 !important; display: inline !important; } -/* show share action of shared items darker to distinguish from non-shared */ -#fileList a.action.permanent { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)" !important; - filter: alpha(opacity=70) !important; - opacity: .7 !important; -} #fileList a.action.action-menu img { padding-left: 2px; } diff --git a/core/js/share.js b/core/js/share.js index bf9250b3c3..7e0d0b7a2d 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -219,7 +219,7 @@ OC.Share={ return html; }, /** - * Loop over all recipients in the list and format them using + * Loop over all recipients in the list and format them using * all kind of fancy magic. * * @param {String[]} recipients array of all the recipients @@ -249,6 +249,7 @@ OC.Share={ var owner = $tr.attr('data-share-owner'); var shareFolderIcon; var image = OC.imagePath('core', 'actions/share'); + action.removeClass('shared-style'); // update folder icon if (type === 'dir' && (hasShares || hasLink || owner)) { if (hasLink) { @@ -265,6 +266,7 @@ OC.Share={ // update share action text / icon if (hasShares || owner) { recipients = $tr.attr('data-share-recipients'); + action.addClass('shared-style'); message = t('core', 'Shared'); // even if reshared, only show "Shared by" From 4f13f9698171f8041a443a1c1f0c8fbd4522ca77 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Tue, 25 Aug 2015 15:47:31 +0200 Subject: [PATCH 063/329] Save detected l10n of browser on login * fixes owncloud/activity#373 --- lib/private/l10n.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/private/l10n.php b/lib/private/l10n.php index d367dbae69..17acaac169 100644 --- a/lib/private/l10n.php +++ b/lib/private/l10n.php @@ -449,8 +449,11 @@ class OC_L10N implements \OCP\IL10N { return self::$language; } - if(OC_User::getUser() && \OC::$server->getConfig()->getUserValue(OC_User::getUser(), 'core', 'lang')) { - $lang = \OC::$server->getConfig()->getUserValue(OC_User::getUser(), 'core', 'lang'); + $config = \OC::$server->getConfig(); + $userId = \OC_User::getUser(); + + if($userId && $config->getUserValue($userId, 'core', 'lang')) { + $lang = $config->getUserValue($userId, 'core', 'lang'); self::$language = $lang; if(is_array($app)) { $available = $app; @@ -463,13 +466,18 @@ class OC_L10N implements \OCP\IL10N { } } - $default_language = \OC::$server->getConfig()->getSystemValue('default_language', false); + $default_language = $config->getSystemValue('default_language', false); if($default_language !== false) { return $default_language; } - return self::setLanguageFromRequest($app); + $lang = self::setLanguageFromRequest($app); + if($userId && !$config->getUserValue($userId, 'core', 'lang')) { + $config->setUserValue($userId, 'core', 'lang', $lang); + } + + return $lang; } /** From 8998cf517d3274770ffe1bc3c69377f978104b19 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Tue, 25 Aug 2015 15:29:46 +0200 Subject: [PATCH 064/329] adjust style of triangle and caret icons --- core/img/actions/caret-dark.png | Bin 199 -> 151 bytes core/img/actions/caret-dark.svg | 3 +- core/img/actions/caret.png | Bin 2876 -> 147 bytes core/img/actions/caret.svg | 76 +------------------------------- core/img/actions/triangle-e.png | Bin 121 -> 176 bytes core/img/actions/triangle-e.svg | 2 +- core/img/actions/triangle-n.png | Bin 138 -> 147 bytes core/img/actions/triangle-n.svg | 4 +- core/img/actions/triangle-s.png | Bin 138 -> 151 bytes core/img/actions/triangle-s.svg | 4 +- 10 files changed, 8 insertions(+), 81 deletions(-) diff --git a/core/img/actions/caret-dark.png b/core/img/actions/caret-dark.png index 215af33ea4b144383908fc30387942f2979092bc..8f25a9bbb4385c6e5f12fe25d1429638c51241ce 100644 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyLIFM@u0R?MJkXY01QcQ|3GxeO zC~xTK+|;q=GEhL@)5S5Qf-za5CPBnt(;@~jCaoEqGYN1|NoCBu-*Q - - + diff --git a/core/img/actions/caret.png b/core/img/actions/caret.png index 736beb667bd646ca530ef05c922fb65efad47fe2..e5806aa627ab2b9078c2c5c0cfffebbf0949b224 100644 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQaLIFM@u0Z-fDzFP$YXuZ#EeY}q zW+-py=-kw?<}y$~+tbA{q=GS7BICe`E~bbL9Y)E4r+bdFr0F~}O5WHjd6}2PkR>50 cNkWE!LFEmjRiDg@HlQ{JPgg&ebxsLQ0Qb%^s{jB1 literal 2876 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 a_%i?%JH2%N`ELyX0000 - - - - - image/svg+xml - - - - - - - - - - - - - + + diff --git a/core/img/actions/triangle-e.png b/core/img/actions/triangle-e.png index 8abe23a628090fe9450f867d864aaff86a1e8e3f..90897e0fecd6f46b993eef4bb077b1c375c47c9f 100644 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy(g8jpu0R?Wm=gF%0Vu~&666=m zP~Xtr(fRjZ@A?u>pqP!Pi(^Q|t+%Ik@-is!9B}x|vg!YkCGIDwg2X*VEO{Wt~$(69B9}G>!lO literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9oB=)|u0R?Bnv-810J0cMg8YIR z9G=}s19Id%T^vI=qLUL2u*o_Xf98UlM diff --git a/core/img/actions/triangle-e.svg b/core/img/actions/triangle-e.svg index c3d908b366..381a03636d 100644 --- a/core/img/actions/triangle-e.svg +++ b/core/img/actions/triangle-e.svg @@ -1,4 +1,4 @@ - + diff --git a/core/img/actions/triangle-n.png b/core/img/actions/triangle-n.png index 0f37e950a45ba77de0dfd704ad84f17a621431ec..ca5e1868253a8176d748150be5be8a063002065e 100644 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy`~f~8u0R?Y`13vQ1@c)+g8YIR z8X7w$$KGcG^7TDk978G?-=0!r0-A9&pk(*|nYw9psvCZVCEw;dIQ4}%W!V#UEaDYuhR$_(&3p4X?R)ua?29J&o22MsX1;GPcDl!rq aU$HPGC@}e?+xy%B8RzNh=d#Wzp$P!GJs*Vt diff --git a/core/img/actions/triangle-n.svg b/core/img/actions/triangle-n.svg index 49d1ac99a7..fad7002d28 100644 --- a/core/img/actions/triangle-n.svg +++ b/core/img/actions/triangle-n.svg @@ -1,4 +1,4 @@ - - + + diff --git a/core/img/actions/triangle-s.png b/core/img/actions/triangle-s.png index 81f623eac17be425d358d4cf7fd20422ce836798..8f25a9bbb4385c6e5f12fe25d1429638c51241ce 100644 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyLIFM@u0R?MJkXY01QcQ|3GxeO zC~xTK+|;q=GEhL@)5S5Qf-za5CPBnt(;@~jCaoEqGY}%W!V#UEaDeUGf99@h|5=58**CQO5mz|)m%(F0JcE!AuS3&C b#?^idsq5K)TIcPW3Np^q)z4*}Q$iB}<}@c) diff --git a/core/img/actions/triangle-s.svg b/core/img/actions/triangle-s.svg index 4f35c38f68..cc3e372737 100644 --- a/core/img/actions/triangle-s.svg +++ b/core/img/actions/triangle-s.svg @@ -1,4 +1,4 @@ - - + + From fcde0234b7ed786f2a2440cb814d455b33611f0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 25 Aug 2015 16:05:57 +0200 Subject: [PATCH 065/329] Simply hide sharing buttons for IE8 - fixes #18011 --- apps/files_sharing/settings-personal.php | 7 +++++++ apps/files_sharing/templates/settings-personal.php | 2 ++ 2 files changed, 9 insertions(+) diff --git a/apps/files_sharing/settings-personal.php b/apps/files_sharing/settings-personal.php index 9ff94eb16c..f4c9c6cd30 100644 --- a/apps/files_sharing/settings-personal.php +++ b/apps/files_sharing/settings-personal.php @@ -25,6 +25,12 @@ $l = \OC::$server->getL10N('files_sharing'); +$isIE8 = false; +preg_match('/MSIE (.*?);/', $_SERVER['HTTP_USER_AGENT'], $matches); +if (count($matches) > 0 && $matches[1] <= 9) { + $isIE8 = true; +} + $uid = \OC::$server->getUserSession()->getUser()->getUID(); $server = \OC::$server->getURLGenerator()->getAbsoluteURL('/'); $cloudID = $uid . '@' . rtrim(\OCA\Files_Sharing\Helper::removeProtocolFromUrl($server), '/'); @@ -38,5 +44,6 @@ $tmpl->assign('message_without_URL', $l->t('Share with me through my #ownCloud F $tmpl->assign('owncloud_logo_path', $ownCloudLogoPath); $tmpl->assign('reference', $url); $tmpl->assign('cloudId', $cloudID); +$tmpl->assign('showShareIT', !$isIE8); return $tmpl->fetchPage(); diff --git a/apps/files_sharing/templates/settings-personal.php b/apps/files_sharing/templates/settings-personal.php index ee761ff589..6221de405d 100644 --- a/apps/files_sharing/templates/settings-personal.php +++ b/apps/files_sharing/templates/settings-personal.php @@ -18,6 +18,7 @@ style('files_sharing', '3rdparty/gs-share/style');
+

t('Share it:')); ?>

@@ -68,6 +69,7 @@ style('files_sharing', '3rdparty/gs-share/style');

+
From 79567dcbc0d4fce5a7bd52e18766c9fe914c337e Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Mon, 24 Aug 2015 16:16:56 +0200 Subject: [PATCH 066/329] move fonts from Regular+Bold to Light+Semibold for lighter feel --- core/css/fonts.css | 10 +++++----- core/css/styles.css | 15 ++++++++------- core/fonts/OpenSans-Bold.woff | Bin 21272 -> 0 bytes core/fonts/OpenSans-Light.woff | Bin 0 -> 62844 bytes core/fonts/OpenSans-Regular.woff | Bin 20544 -> 0 bytes core/fonts/OpenSans-Semibold.woff | Bin 0 -> 69888 bytes 6 files changed, 13 insertions(+), 12 deletions(-) delete mode 100644 core/fonts/OpenSans-Bold.woff create mode 100644 core/fonts/OpenSans-Light.woff delete mode 100644 core/fonts/OpenSans-Regular.woff create mode 100644 core/fonts/OpenSans-Semibold.woff diff --git a/core/css/fonts.css b/core/css/fonts.css index aa6e71bef2..de2742c636 100644 --- a/core/css/fonts.css +++ b/core/css/fonts.css @@ -1,13 +1,13 @@ @font-face { font-family: 'Open Sans'; font-style: normal; - font-weight: normal; - src: local('Open Sans'), local('OpenSans'), url(../fonts/OpenSans-Regular.woff) format('woff'); + font-weight: 300; + src: local('Open Sans Light'), local('OpenSans-Light'), url(../fonts/OpenSans-Light.woff) format('woff'); } @font-face { font-family: 'Open Sans'; font-style: normal; - font-weight: bold; - src: local('Open Sans Bold'), local('OpenSans-Bold'), url(../fonts/OpenSans-Bold.woff) format('woff'); -} \ No newline at end of file + font-weight: 600; + src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(../fonts/OpenSans-Semibold.woff) format('woff'); +} diff --git a/core/css/styles.css b/core/css/styles.css index 0bed45d092..1773593730 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -16,7 +16,7 @@ ul { list-style:none; } body { background-color: #ffffff; - font-weight: normal; + font-weight: 300; font-size: .8em; line-height: 1.6em; font-family: 'Open Sans', Frutiger, Calibri, 'Myriad Pro', Myriad, sans-serif; @@ -198,7 +198,7 @@ button, .button, min-width: 25px; padding: 5px; background-color: rgba(240,240,240,.9); - font-weight: bold; + font-weight: 600; color: #555; border: 1px solid rgba(240,240,240,.9); cursor: pointer; @@ -370,6 +370,7 @@ input[type="submit"].enabled { } #emptycontent h2, .emptycontent h2 { + font-weight: 600; font-size: 22px; margin-bottom: 10px; } @@ -444,7 +445,7 @@ input[type="submit"].enabled { padding-top: 20px; } #body-login p.info a { - font-weight: bold; + font-weight: 600; padding: 13px; margin: -13px; } @@ -708,7 +709,7 @@ label.infield { .warning a, .error a { color: #fff !important; - font-weight: bold !important; + font-weight: 600 !important; } .error pre { white-space: pre-wrap; @@ -803,7 +804,7 @@ label.infield { overflow: hidden; } -.bold { font-weight:bold; } +.bold { font-weight:600; } .center { text-align:center; } .inlineblock { display: inline-block; } @@ -1023,7 +1024,7 @@ div.crumb:first-child a { top: 13px; } div.crumb.last { - font-weight: bold; + font-weight: 600; margin-right: 10px; } div.crumb a.ellipsislink { @@ -1069,7 +1070,7 @@ div.crumb:active { #body-public footer .info a { color: #777; - font-weight: bold; + font-weight: 600; padding: 13px; margin: -13px; } diff --git a/core/fonts/OpenSans-Bold.woff b/core/fonts/OpenSans-Bold.woff deleted file mode 100644 index ee2ea797d1c4910f0eef8c06a37dfb4df72a2904..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21272 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 bHZto#>!YHeZTZ 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 diff --git a/core/fonts/OpenSans-Semibold.woff b/core/fonts/OpenSans-Semibold.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c0313ff36b3b3524737e0043faa5581c4eba19e GIT binary patch literal 69888 zcmZU318`(fw{^!(Cbl)PZD(TJp4fIKwv7oVwr$(V#5OwSpZVT<^}nju)obr{)?H_x z?puAkPWRnz^5WtE5C8xGf(!tl{L9mLUt`!W_J1DY;wrLVhNQ0pc>iEr0IQWykXQcFX1<1BmHBm+Q&MFmlvRZR0K$bYeHj1%9q=OTGL~0nUZP%bp*;XV0uKOyVFLi*wptXS7{;#7L;wK!_b-q37mB~d0vW<9%&~=yv-_7O^HpCS06;7Zz$8Yrwln_nJ!E}p z3}4W|m@)6NF?9c0_kH4P9??HQaDhD98rqnCY3E<>0}}v%oCZfk3AML#at45afPd8j zew_;l$On=ndq-1y00`34*Li{X0+xG4rtMb^kS_pc>;;zou7SjuKB zJ5G^TuN$YQ9ClblH#}P>z})p}{qD=Q<`1{>OGPcJ#XLkMiBkIc;w!JXwVgAdJeOYd z(-74#UWqH;hZRsxC0A9KQ$n>|YUp`@nD5F)WBn{Uq_I=}(yIBQ)n=Li?zM8u*JarbF^y+? z9|S3I@w^i3_IW=*8j^R#0%y|SCA#>GqrKW{%TsP!3-z|r(B^$<`B1z2zH<|1nW`y~ z$2PjaAKCfH7s8WvqB*27I?;3jOl}j)5s_498K}34b2PdI;so@1%wn_;x9*%JmtewK zZMs;sc&Ws+?$&A=YPd0OEwLan=a{tSu0I(S3T2P6%-}j+5mINJ#N+KendpTYz3IJu z9_?L5;J3JL`!eux6^{G2ir|DeW6$xLFna-4x(!B*_$$p{-A7)2cj8LixP2B=h7zz@ zkI9W^WQG!uYXe&j(fc`~H28P>4VA^&Ibv~d41q22s1nhuKUZt0CTYa!_LPAm_Ln2! zq?Cwh>yBdMY(||+OmylEF+X(|+Ws75%*u{1IXd4>%(5J4toUWxJ@LL=EHM>iip$|` zuntA#w9eP<;0|R`VexpKpCc2-&^6NIaMijf0wZQ+L09*kVrFG|=x|qg4XWN8(cEy^ ziw-hsW23js-q_lswoDJ{y9sX$$I(eLhZ|$4h>l`?Dh@JqyX!L7Dl1*$E#@32ZJW5A_=BfFp!maJug9El$&n4QYgkKxi7QthRY;S#jiVDma6M?Ewv-@*ssVS>OXDQE!Eu;9p&|q0stWI+ZX8@U|Il1t$4PeZih9W@{ zCWv~2u>I-M)*eX%G$rt08|0eE z9hw)O03_Bi7u|r|9iDgeo~7zWd0%;?Bz~GG_uy}Cz)=s}Hu*K&we)sR`S$X5^EO)* zklP)s1A@Q8%+qQH;SSWN41ELB8tNtJf{XndJZQgQz2z)vkHy1qV0JIP0Y?o_+K8Li zA74-Aw4tjKCu{M>if#?r`_!IPt|r3ahocVmm|So<5MVE8S9i@W5elW3?3nbRxcJK0UjtK*cK#^^QwLOyo}|DXj-ff#)-eK?-7#()4zPR z`)d`Yu1}_0y?r0a!*$+)kAe}^ZHH^{+;sDP-pmrL<@vI~3P`IStr&sfo1=IJB7M=W zUvFHurq|LB`a<0M)p6A%%fx=sZwR-|BU{A!A|C|L+>U&=2>aT9Ut_oBx2LzOx32)& z=}0{i+gpoL`5^4lO`y6$ZZlwap!Sp}+LH+vf_?xul$JzR(5FOrwfBVI1`;z-xfX0{ zd=>O6q-AQ2fx5lmj4*mviY}J&Pu$otAaI<%=q)%pU{w&yAaJ(Ze{p+d4TxLPf$C1) z2pVuXP~BkNP-nfFs^wlmHa$&wghcem$a&~fQ6PIg?lm-N0E)hJKEU2=?%vz9lePZ- z$J?PwiyH=K>O1i1!#k!Q#0R-019jQ2Pnz`zX~|sBijtg}2_* zN~ltK0v4hoZHDDYX)S;kWzr211!>$nWq<)}CcLHDRqeMqpK~9KMT%1SS{~_pjPWBVMOi;sk|A**A8>3=7@TC5dkaPbft8ATN zG>?|aZGBo(+Fy+Le@OOu%DEyPrSgn<;As%MkC4+0qlidsh~5SHgP@TCYDQdpHVxDtz4iIBFNlGabJpX@a+1r+bbgMJCn0BIl1nfixF(7t%pJEf0 zx#vev{_oI|)LR5kZ)#7~&m-k7@dH8GhkrHiCD80P&|UNrA%&}cBHeU~*2yfLWjsss zaDv&~m2^q_aGKdK<+*+$*YtxHXr3-G{-*iABCxMV6&1phC=>&J{UQJ~&nPPR>#YL+R|E}o-PK1l(S*B60R*O!3R zFNF-QSLrgP)|Wo8D)pvIu14U!6miC&e-wkwZ5DwoDTOcnMVDMtgi@sdqkc+lC{1qt z-$Ij0pW2?6Cv5yjy#XPSPVSIPF;G_zIrUGNbik|rA<$PRv5ZsAkGxF4DktD|I%I?> zS)WSHw@BkT`INd_sp3tl_LgRFtQw8xe+@(r)QfLvl%JDJ-^NsYO{u$?ll8ftwxJ|% z`eWmEBR|D4KK_g{?>s>U+M;?Ij}S zIzJWmQ{wZV-28}@_w=6INhJ6u4O8;*Q<2JJdyI`Ji{~)kCdHRL;d^$bl_J87i99;{9esaA{@Ax79FG(DU030bGw3l>Sv8oZY0z4MNs^}@lqyTLz zF)C@-D}jrzi?ViW&kN=Ai*WVqc_D5&J>~R2;&mNe^MzhD3Z1|BZ)!keEHhlQsy#H}J5#$1&vWAa%`Hyb6Vq-nLCw7dPfmHm5 z*G!|w1cXjcX*I-y-FP456_PhJqis~a5jAUO4tmG-#WCyJ~K_+WgJt128 zO^VquLjQ-F+?RKP%J<-!CRCs6ZEQy!vD@(}xxbpM*#jsvVn@)OfOqs|aU$rxeM;Wv zj@AFs1^gnsUu5$i;r}8Z|A=7hzxjLW|1l0%^ZFj#&=@ubFRHzp6mS>KQLW4D(UPE7 zG}Wy2S*kZv80}?*MO%^l)Ifc<{NqN=*bZ7x^IyShyz!2t%85n;-WIGmh^Hreo8F$I z1&S6#y4O)q0JNTNqKR?6&$>PQJ^^+jB}+G8HKCb?aeb)5$XKnGseC0(mG-|JaQ|b) zt&fP*92~6JHBxiPUQ)jO|4!?T7b)2K`N^tsnVq-kKp&&%vA2Q7WLVnfn!iIbMur}+ z<1{sYL)d;bo(o`FCc@IDz7&Fv7m1hl+si%1Od|o+zmo9to}<#(PqmaKY6s8c{XEAC*r? zC8PYopTJATC3zdWPcX`p;6%3dR-yx>s(_I<>rY%Q^O`IhJnfAMP_GxkoWlN%ib=t< z_>J>;J5RaOs{5>z{)i)Tk$+^my!2Gs0AmFSZ?sl`jbZBI+S{hnhn<1~_I8jbttrvX7`8}`VYZz_+bHh`1t8ce0nnez@ z#NWf-jQW8vn_E8_Fqs8hp4}mb|RaIm*D%>J{-3>4;on$ z@z8@Sx>&Db&+a>`#SQ4P-Iz-pjy6L}kHcA-yAvqpDKp>q&QWko4Hxf0_d#jBnO;-< zrCV7px?dF&X6qrl}V1Sx9Nx1r*sWF17An$91;IJ za@rDav=yZv5nVqLS)umGws1po086DV+0S_t%4V%Uo~@-X0lA9vQGCroCk`)v;}>J2 zn%R1G>b|T!n(-2N{U%;Pr{?muWT+adioa~Hv1lk(n>FZ&F|KL!G^ zgneMqCcmL~*G$r#A}(XcfO!S#9L`KJ@t}N*y}~y&Zeiby{x+-zM-QfaM*{eaMV7^~ zCD_O2#Es$upTYtM;)#97tTDX}1NlCY{nr@#^-)<_DJT;vj;7^s%%D39lf&hD@fDkE z(ZieC{2oV8Z=NBdsf?WWJuhS7tQR-ylj10T{EiTyTI7qXpn2-{6mzQNbxnWt2Jxe) z^b;c|qfmot@v8Py-uJQk8g20O6XYrg=}B(M^N%1K`k!LZ#azb3Ma$Li1~X(ru0n~n z{$=wD4jDOlm^hD!^2S*KAjO2Q&&quf*gYSJc`)!03r1!VT~^|Avgz>#Xt~;Pl_Rqw zOe3`;4hH6oInz(Yy&RL9+fLg+ypj+mmHUvgO-VLCz^$OYz5CqW1o7LY!oJ~1zbagP zHuF4HeO5-b!`s=2ao@QXkj|c#GsY=aBFCRM-6@RqaNU5QEh~bTuBIo0C4hG|sU+i8 zv>udx=j|$JJpG37`aRj-c1mZ`&DrTti!6RjC$@vQ=6kRZ)%g#@7`6d<5ef4@wea_< z-Y8lz^1|agREfNX`2{RUOgXu~N@S;aadOy;AV1QExgNkj+DBb}_cR1*c8~Z_Osv&# zqB6rVgBceb3`Q6U-GJQ$828=?z6r9TR*DvA_gmnTx= zcVqR>I^fwf)~+xr138#-#4-sJ;}^3u8=?IKW-IHjJj741O^Z+Lu3J^caXxrP+~WPf zt_H)D4 z@xTy=*jg@;Y*~G0WRu$p|N6*7)zpI~7Ct_?t6OI6>kvDpZMy{!KGS^m5Z`8FbqbM3 z+9%%d2%g7WyQcQc#JE!6HwHdI*;WT)q9yUXT?mu8D82mt?N?a16{V9OK+$Es8wry` zNhhQJA(|jbHY-6AYu(l2Sua&0g><^l-JX}O$Xx5gIPVJ%mKFWpJKd;8Waw+L-cGdYTZ(ecW(OvJp%n3 zd^e-YtxpO+Mj|*m)hl3m-R}O*hQe+;7n-jYI|KCT4`p$2bz2B%Dif+#^TIx zLVNTZni@tLT#z!~yt?s2xArhsjaRQjt=d;y*1A!ue2$CedD>wtMqKWkIbO8)7^?a55k1 zU{574s^aes_&8&GU?!YOtms2vvOFyN$7D+u>x*^8=n#qDUy zoC!8@CdS5>#IPLo9r@7EU>*THxNU2oI({E%k7aem|9Q?mx8hRRnBm0x>ik>9h|U=w zTUSDSIeyXQKO}j{$SeSCMc~`l1u{h%oh^aGjdU|!5O=X5zEm19-i}auI2U&yXZpz+ z=Z1@2uWjf`GhqwSRMcp@2j%TXKEe~t>WcI8oON#I=l+J6xZ770{`ETx{3wrvQL zHM_+B?SsQDa9^W}kOu!Gd+H2kX`+wN&Ub(Di`u0Zcfc)ZiB|kO^xgI>zh%P&tvYry zo3uGPzP&TzMa@8JOs6O_eC8*ea4x>1{a_aE?N^Acu)lN32FKH&xHhfh>tmq>87gzCwk`IXs{+5$KH{8QJc1!g5} zZ7BLB|Hnv&nhoHsi?(L{yW({d>ywKw+xTL|X|aA8u%^F%C31?tdP01embCVyXiY1n zLpOWyJCUlHA#ymRBU?ChPS`fKIz|;Qt>-O^Ev@nE73|rpEN>tKMk3rn?jGm2^Z7*>bG_7M7!hTITc5TJfy?}JJ6QJZrMsJmd@_0+gczGK#xiw=&jqT#+F4R*2;Y7ES0Sk zGPUe1tE+EwX8w#Xs#)I()bJ&#`Kah8|2e$&w#{18yjN*2gDGpyDC8gKm|t*aeuBRj zTP*AvVAq&5!p(nBhbsGhYS3in0=;hUl18nlI%R65dQ^I4oJ?3Jn;+CBck#QTO-xob zasglG#?w&8Ero*M(rCRHYhJDVw#^qE-{>0?=Bb40CaMad~0< zwE5KHUZM$g@%5C{CE?=)B)~K8rOI|8`qX-(LZZ~kx!hJ2oliVg5%bu=GpkJ@c6o16%u~IyTq}?A z80OT7Pw}dVepdNjbg>aZ~-OylVdS3~b@PO}4od z_s-!3&7~lxgkL+i@^bFz6mDVTg``t(qnu$jwaoN| z*(Y7As(MEK57b@q3-^6q(^?t&i?~mLRw?Fb@F|l|WS3awT=VJRse?~wmk3|!)tpV5r-=6!^(oIpvIuh6H`yVPey z&OO_^)w?$J`SP9BsqA~(N06uV=a0`H@0#7^TdI1Ws-LQz<)2lbMIZTF%Y=U(?<8Kf zPW9U?qdd2qS@;%)i&IaEl244A=GX2x!0wldXIW1P%;K;My)uZ+%s0l*4G|ZECU*|8 zI-8%1xrF>ivrG<8z$V-#e!hHj3gJ>FH0!dOT6CItKJ@naRhl+_7k@|%B=xD#w64i( zou^$a$@H2ue!&B_jNTm_{siW9&2`xEFUhCLPf)&`fE%5eqarK%5E-GepdL z&RA*5JUG7NexfR4)@wuvUV`f*|8DR%zU^F)R51Rsnt^k85{C=bNXD&ex~&^N0So>p zU++PF#B14lm;sG_z7)=W%_)Z*IGufz)Yd-LsvCa7Yh*&FpiEDWknxosikxjKUyDcm zr)ZI+gC;anUH&o3VYkEVI-o=+GXKI$;CHQa4vzir_lDldrs|*fA|Hn zxr4R;&TVA8p1JBXp%P-s(sg#5ce6O^Fmt)AwS`%#l)PFCl4huIl_bl(BU*k-Q2UwK zqQlw-KUPyYZ~Cc=W!@+aN1vC?l}!=OdZi^dtL~Se9P!f(UD>sGUmw!T!r-fw02~Oa z0e}ENLu5d(d^HIW{#OQ@1(<<6e05d8K|z8+gM)&CZv#ND1OY_A{!RYxexRW&iyhFH=(qdBv(8fl}I5~YyLkVy@4l=M8%ewL#jXiH$WF-={6z0h}5 zJ66dqvbi|b;Zr|4Gt$j3cMjdG=fw=}-RC)XdK@G_j|Xh|=7EEbn{PY@#;L1b z=LCB~=BHFzvF?W_`ApMtd*Qg#>3;4R!@MVczy@rjA)ptUn2<9)PSoyf{2yX1Y`Unr z{sKcccg}P8_5LM$*%hp%5cKd|6aflfNqF)uc^w&evX{_l1UCeAq-hv>h_Z-75+&hGCj-7{9Cr0&D`F)C)bf?nvjZ%k$ z$juFp5s&HeG0#V=cwO?Xx#F92am|n`#wVY+JS~ks+$d4v z4-=+zDwzYz;&>Y+Z#s4^3OYpk`Se~H$MiuLooR##GenMrVcCfTv%~mlZ;YBaP*|$` zG_fQFDeME4nlvff-x1_0PBd(^rr6E3S?Cq}u9pVrZc5Vl_kYE}qAQBS&9pQ`Xsk4c zJ@>A5f8^}`)Y~@IBcHO$+DFhkLM!3w*S@=92fJe#;prHE?HGpg9th1kQ0CurqT2Ia zTN%J8HNfn2u2Ic!k8}Nb1Q<49K^jq89Wo=Qs`1(zj;GND8Sttry7#C~GqyNXKG~QE_WYMwOS(2;0NK&dO!3S>_ z2GJ?b+&$%Jg5d^5Vgf;bA6?EqYrIU3%_-MXA=;7+sT^am@bnYVvGJ(zb$NXC-JlwN zGru<8fFzUFY_82Q6$GIbf+vBufrtOx@^^>6&4msFKTUXJIrv=nTl^Gw*S@hMn1N>o zf%?VWQxjwe)^8L-CAg#+QUHI1?aDM^#A>nv4q#y?TKuZ*qB^a-E{?W|4hfG%qCCd9 zNL+4v-e-{NoX{jlWoBz)&uqN^uinpfC zMX`L>nJi1hvIuRp_2_%~xJhsMdQCL*>UFWPG$k*<|ML6Ur=Uw0*lBsd)7bcYF~o6Z zRj%)Me}MU@&d-pFAwYw1IV!)=4(H_YIyG^(urKQBZOzJJ+IY zPCGXLi^0~hz6Rs{e!yt;r&J`*eF5TmL&FtU6>gF=LRx%|Vr>}=jIk;f2k{_G^3;@= zk|(;r)%y8&ohcU+$`{Rk$zNSJVT8loBEHxug;3JdA9_96gd#sY`Dv9G4liAD4qub- z#NnFIZg4}^@R$!#>(mj}RAfpbSEFy9nT$^ww?qBq~J^)P7U6A(K4W{%~7#04}rhe3qC=!X*U3 zx6{wsZ>pa|LmW3cQ^UFL>o7Lf;rXK{94;yVZ}@+DicB_oeXnhvY>FXPws01#nD+ZfFXdP%mHrp)DrGY|41J)bK z8ev83Neke0$hX5`2@=iTA2@$|VEvASNsZ$?A%9t&CxK?vFULDCqY+=iNJ+E2QB?Pq z*u+i`#*tPI3P*_4VKB&XB=zKQTtu!wyE>P8-rK%BDzekz-a}B=L%R1&EvGpf>v9D1 z7aK!h2DRvz(QTP3%-Y##bqRL}=PGe4%RI>{h0VjMT8VyV zQSAqrfE9T}ZX?oN(PSFu`aC8^bD1HzoC+JsvPFYn}LaKzPWJkt&vkk(}n29dcLluJNzfy|7!4 zm`lF%cSQRPf02vbc(mNNlYs|x7wR5q@}^I!PbjKKVyb`J1rPw}S6?OU=O+NkJuArv z#voDb;c0?n>+ztgy6Ggj7)n9vr--)HZv=I!BD6oy;H^S`!~_LJ2VkwaAokIazo8=| z>xzmRAh+^;(-g(f73IZbP|y)m`^oa&ozC!MKCr!8pooktk;87Y!(+MQF%aAtjaZT9 zLJYiAAzz;XpPyv?vKQ2Fnm+0G0|EC?qcRs3;TpQlB;C-0mJxZK}I{sJDLA zykTl5)rtGd6yl1IKsD`|>TGj^x`21w-;QTFkFAeR&y88a8;=q8oyTuoKYW9vL>Uvs z>ENh^6~eEaZPEJD0PatNiCWcGbTXlSg`K^*5G=2zHFbs;97TL1(FrpJAC4|c9U=`@ zw4R+qmdvN3m6K*}6l7(htK>##G((aJ)~SsIC`TkrYiTC2S_@};wZt&#leLJEAiiX& z(H7)1L`u8$7#L>e{oFp@m1AJTlMu0ZV&&y=pSR|%tz)Dj>wAC(8@-3jqgs#cWeM-| zT<%2Xq+uxUVQ^@42mghO*Y zi{3AgIJw~`Y5Uw=U6;Q9NcxRyDovMuPjDRz9kd!|;>DhPg>|q4)8Tyj;e3rj7ypxD zidm{EqMe?nxE_hCCiB`(2jVk?2Y={%k<@fe3rcMn81JER`@AWW5z`*w75&ruiO|+x zHv2PF!Yh4yOS`KQb~QXLAD5mHUDkr->kqIS?Q%qJhAh_Z z)m)!J&o=hok15aDFYYIb&DSo5VmS0Osib7T1ESRrROhG)gMk?4SiyD8@m^VlIQGl77n8YhWzD0oG!rRnKYL|~u4;8LF5u`Hu67VmY2l)9Y zMymR*cxHF$M6PC%NN05eCvtR-Z1fil7>26kHV&t+mS70IK34A;wi8P91~?+x78hM; z`i7hMI(>N_?A*hB|Jr|GjiSx&l{0NOc}{X{>Ak||zSZs|4lnO6aoQa0ZFvLtj-K{a zcUv_PkA7X;{~0Qud#usJui(H$xNEk`{OMxSkia*RePZvW^#kAg=THT^(K>trj))9) zxJ_kv27iEPZD$wB48OB|a=#T!tu?UdHn=UqkYnCZwMl1N{=9}~-oWV@gXTy(7zpPb z2ZP~xc=tz z&GV<~B7Sbq9J1LhsQm72Ul$TGNjPXCY6&`aVHh+$0orJucX0#(8uc~{WE`V7$!VBc za09d`=&OaRMo&wcB&#-@cinc4w(h3$Z_B;YdFkaUT}R7FNMb0f>n%5eLe1ss`M2(i z9y_qV^nhj}Q1x=seAsY+`a;vM$jQL5OuNZ5B9o^qwciGNr^>Nan(cS2U^1V1*-hO6 zTb&=c{I7>JtP;JgI)9Ka>hQ7S*X;sLjgp1RXMf6=H6s5`K=tllah%slkS*%RZfXDx zhn{X20`8u?lwVnUz1=lC2Vn}VXf@4u|Memc$jJ&TKb{J2A=>Hdd_v|Q{(je(MoIw1 zZ+Yf6CR)CDQj>voheNwv=AT7p5LenSqU6s4J;IfS298w$_bX#C(l3Ah+SuzFmfIzk z(TYP)zT9md$6pte*&6i)W;8EYMv^2!OYF_j?-?w81aRjZ#?5sxZ?X%KzbAWf^wDTO z)=Ws4hgo~W6QhsKPn`rOZBUKxiy$NjzQEz1?rlUEvM~na90La-^m)_`=180BbJdWK z(x)T^ry&Ld#TmLb{P-TGBnL-5=Ba*1M^paiLYFJAVHsZ)9E4LAtBW!+W{v3riH=Bnft0j9 zJ{O~5tKXIdnY6q=&|>;r?$bwx^RsH%yw-lVLlEje7mKvC!lcWf(n3*Ms-HH;OdBZw$$%nNv!3#?BrrB>W&^fu$;zq-& zr3QNq`-oUue7^>BKZ2<{8?0r@X6KLL;tL6sqXXC66X*KiOy-mO7UkNU_RVhg0YO7W z7;nfS83Yo0=@)ErQLC`DRW#7PHV+zERh;QCiNgrh)qS835-I1tukdgBBfPg|Ush<> z^Y|-=XQf9tte4x~Dnq4vq4jygE(k6qJa@PG`6Wkg=kJ489_Zsth?c^F%MX>zF@!&* z@KtE7s*nzY11&EQMn(;#rQtqcrPP(Jc7p4oHa)bN0-}b)F6tyBY_o}dcc}~4tv7X0-yUH#)Ghvyr1m9L8$^M0!6yf>Q zX)7Ip!LDBycgI?}VIgyl$%u0in0Jc#P30l23*^;r-Ng1FklmGQ#TP|C3<4R?S7>+r zLUt#^=GXPmenfHAh3ms<9R4+>I8`iuBcnvF-jBR0XWvs^S{Lfual4Xd=I)YO2u43Pz3$l@+WMlz(A;Ooua0^az0du34gzkyS-;1mlC6p@ zT|S?~ClEL|gzS`rgjzS(Kc_j_90j*iwNam|t#tnP19_}XB~+e#5zQp4Qp|Jr6roh5 z`aLEjh!WOY{vu)v@A-rK7msL}TzkF373>Tw{BuBVq7^MG9PQY;E>{iOJnfSdh-^?1 zzZanr2G5-?<6OhH)#59H-+dx}>1sx(16B>c@UU>r z%LoVU777{3g|NDBJwv0@_RDRmZwtR<{X|ov-@QZHTGn^RS2tw~Aq5$k%~G)p)?Zjy z6$Eu^==~aPMi+pAVd%@lGSDnjZv2EVAH(5HJp5zSs(QAx-K}{5SvrsmEauj)cedD2 za#yjhC@(e3W@Jd)V2OD6=LD@51ZM_rH$`HLt+a&hJAr%$ZmIQ%MI@%SX&60b8fd9m zeUp3-Z7~HRbm3ZtLs9ap$E?g~jK+!?bQH&#c$ZrGTy3^y?*dYtdDY@>cd! zv5mppbpqjXlIq>XVmT<`oxGkdSALuI_RQOzu5xV0in;h?cBcfwNWMhwvHH?k3`iDX z2`gd((vMID0%{@j4`&YQIyWUQVDzTzh=p5|C8gVaxr;7s%HOmYe6ehL7OK=j^L*>e zelwN}kV^#K=std;SrRSC4K>Z@9V@@#6?~C;;~Wn^pmZATy4dG~{0p{^+wqc+ zJ46?*^i#OsXnHRen~XBF^o zOoJf8OP|!oNkp=B$6*@Oda-oY#RDPm7*~oNxXt|`&q#I}Vt#LQPrydICBB!Z6c*== z#LS$Ohf8i&w@~HG>$%freo7GuxlBgdmY_o!Kle2gPWgI4`dpBY*Z`mjB}Me8(5{iq z9})x9dq*)rLh{8V;4hI7OW!aMZbnG^(lx_`_s6flmw3I8!cql(hn_rO+8+V+@o-c= zIwVg@8sa~ss*B09E+a6vGyHahyd*mICXKxySrdoACKm+R;>sZv!7dY5Ndi)-k!KZ< zzg0HZrz%=m-;j|SLB1}g(ngmgo(OY;(9+xV^G0f zA~OeKrX@ZTWIxbPT4h{OOq2-W2axWdGxqn&n$)M8RFKxu8k94elchn{@ve;pl7|%c z@%WJikMUZk1S*f=)r2Y`o*UxT9~gmWYAFn3i^iGs=n3j&Pw61fgeRa%TE04IPZP1XCZ?YS1+-;L<*qj6@Uvp`BYoseX_h+HRa`gmBg|LC~#W(&$c&mA7iS@n9 zU{qYwzT&R*R@(&4Z7eYIOHegu#W|NG{X_mEg$;7o8Cne?-i10aidm!;V#<)MH(I@V zvG*_1dB1fmw+37fK7FCcLJFKaK#wvgzw$+#vh1hb4c!Y+zE@b#Fr?+qtkvEYg& zkQHZwc2OdIbS(bD@xtu`%c@MM6EVDK_r6~M#N_Ayyb;?$>2MRsip62o{6j<;3uNv?O5EMo)!}JTv$~I&k9p5#uc~n9!-M3Bmxcc~qdi1;;wo z%!v{0=HY>VO19oUUJo7gV|=Y=`-e9-A_gM~eH9$uMqdf71w01p&!lc{_j2#wsd+v( z+sleo5uXh1yO2WhtJ_{<`an#@Hm>v$I4J-A;aopu!(NaUN^Z{mVmBMXk; zzCeP(HefOHjSR&|wU2ZXf%BV$-qQi1O~CgzIYlsZ+wH70??&RSeDG78VmH2Q?HgOK zG?Cc2vY26^H(w-iCaq{}UNg52A%>GlrW+-rK+OnZt!7;$_5hM_Eyu_J=eiq&gW~UykO~2F+r9i~dZBs@zG3<25b6mzy?@ewC+QhQhY%J@$`B zCtP-zT-aRJ4)2#z9)WWyNH*)t=e-E&!U$j*^j%A@3)L}B6suOUj3{zabj8x?0%T_% z23wxhfJMNn&ay?C>G+4y4di=#RWS_?a+eH`Azf7C1g$Luk!-%d?h&O2^Yl@)$jx|W?TgY;|fG<9#kXiJNT>uZ(8(%MhmkVW;<=?K<26m5HZ4-6@% zcW(^Ap|eWTtqLjK-ihm3Xj=xXuU}1)cA8<5SV*KlCfh2tD6GI!QSt;$!U{`jUjvSr>&Y`O0-au-5wLcs_78f-NH zSJ-_X@LqSJikkhkpH*=Ed!oQfkQEoji35s!xI0d&(d;s{^^HQ+5Te$*(F2f9JxAiuaUBf%^rELa|9$JW%DV4sNR1i= zl)F`jCFrb3?AmjVz;;HYzlLrJhO4I^+K0T&u|_x7E2lgh$*S=07W=KSK^#Z6-q!1= zBJ6)Ryq4=3E>y96+(@`>rlbjF7&g>d~5BdVA0gxL0@^qt)RC zULX;AyLWRrEu%N)bzYSYTL!n5TONh)3AKOX4jipgo|^FZRNP}60VVV}4Slcfo3{+i zIIc&ZhRRKlW>$OOxWR}mX&ksr@$*c?%><`c=c*HxGGsnYD2jXgIgAXw`6{6hXglgE zmiG!yQfUZ$EHy`AdE~(A`-0b9edF^M{_>=Q+FU8N<}rE1Fo$Yij16anf<42h5!W?BN=m zQI5bqdfH)ODW&uhHeS6*gGtiX$H%-ldeE*-_boEu8^T;W&cbTIHlN=3e$KOhP0Kvo zI)%LZ*y1J2`5t=VWOtL3U=NG@i3Yn}CBOlPv+i;dhYmJT2h!J$%K|F92?U6uyrV+Q zR>cS4*10#YfZy3F1_j_LoTI;7-Me@Hn-4!&Jh)%~-q=Ws)Y?UxlHAOW?^|b00)#s{f zDwRqwVL+oKd-&ATQ3*UOq(Y(-c-CCG@<&g9anGK`{+?nLPAlorqoi}so@~CxMbysc z)1w&F-QUKh)q=25sp4Xtev>)LoNexB9%)`-e%gG-{JB|UBxbb<0S!=y71&`?vWzi_R1e43jKbfO0MnHQ~b!?zyG8nP)A$g@s(4fn1@BFH86>vEu5e@r&nN z+3(S}d*vR~c!xP>_w=`4zcPCKk~zYTIkm6;J$ON^TGemR&Z=SWo(^WS*Is(HiN66~ z8_My=a7@8i)Gu@uO{{%IKw;z9$p_04*KKvNt?OkU=({sjF;EwPkquPWYTIU%uidV-rP(+Th#2zcrMPrpAo z(MjUsVzs7NQ;H|f?J^}f^;WB@G+;IBQE5OQt=I}}H}ai)NaZ z{y0-OToQEvn>M6jI1-?Qz!@hiu6}xH;qmPk+D{&Hc+uszj_<5^?V$sspIh>9XI!-9 zuiZ}#t!vY->c;{9m-1bhD=xFLq_9O;b*A~IJt{I$)vZjfUVXdx|{}+ zUt`sqOx7~cpE8QFA9*$&OTddx!b#&Mniu?OZ(a%ZIhfl5hEb0}gED4!qr0Ej(ti~$ zqHo=~!~Lqog+~bks|WpXV|Q@ZodXm+Hp7{kBvyef)ZXvH7K>e{wyT{EL9%L0$RQa^ zBc^xAyNf!;VS`(7>49tE3EAV(=e&OZ$+v&3p0al7)m43myn9MG7aTNa&Z{2?8TC8E zzGNB9se@B&gI&kWh|x+s4c0hP8?o9ib7me{&I_&o^JL%P$E??fHL&d6K z?Ur$6hlDx?oxul*Do+Ra38>ibNkA@}RaC2t?s%<6)EHgyQc@x^xQN=Jaf`$XW|PZT z;_}_joA;1(;uXM`S7v9vyvGKfje>{hTM^eo({sGx(qL(H|RBR5N-&0LISPDb-}NLr(nbw zz6T&9%K5&-oOZ3K*1&6`#w0o&qTQiJCcOn@Lr6pWN_@?IEsIB?2T(x>-N2WCH~pp0 zqSmzkhSH3A^ju|mUXL9;Tf@SaFMOcjDPd#1o4#NhAze`7*!5O zybu#l5)&+fU?OwK3i1j$OwJG)e1Mo(omTP0S;|dxJfqN}SkfIld5qIR6u`N2fNkag zF%IIu0rCMC&>M^DE?k&4;qvA2)4x51lMWodYd9|0v}Uh#M-~0}oeX{INqW9&ps-JP z@+F2JSQ1IXa&R$N9;3kW7zw;wk{!uo1Tl**?Aarme>X+ea|+gz$k*exiY}u{#qI(~ za+2QdHpR_}TM_q4+~K%0adKRo4H(?^XY27NzaOM?bwxEJMILaN;GxBozihK@` zwfM|C7f06A%)Wfr#94Xy-)6>Uyd7i_|ChP zd_ti}%puiqkp2Et6SyiynOH2kssOl17C}QSvR`Ib|8kOCB2SS;nP2@g$;R9&WR5vu zemfjY01qmU+x5=Sbz@3;MmjFfo!w>Z6WtydQWxk@+v%QFU26x<5%zTMa`@i3w1VPJ zho&TX3lv*;0UU^(;s|aFxAI#>K?_s{^9dQ0^z~5cMDz4@o6qLKN)9i#K9BD7(JR=~ zr@XA9qO7d1u%JOLbu6#!*SqJy0kGa}pl5DKr+~-G{jH6HPLP~xNo|f76B8ssi0vCd zf>{8MQV?T}w!Q(~N>GM+6)HJBJeQrWx41JIo!O=2L-LGjA+LiqoJs8sXSEcNi!+yQ zI`i(yzi(b&SGu}-^|F%a8}t&R#Rob8WWBQH@Uve z6VVhGO;L>CRe}lvo`MHpt1h6Ge85`5?qjc4Yn~id|7FaGg9pEsPFC&h zb@BSkd+(Z?b>?{D{QLI5jM2e=uzj0>1<@^T1s@>;Ecmn(V?4YnY4k=wIZoTUl}68= z2$DLJ5y4KBDFmC$HG4p25 z>(XV;%z0z)AG2V=7#O3-8z7!o3+K~`?(+MP%1m@RJ;&SXP{p`ptIgVt_Ald*q5WisipL)M40{lY2t3b~u5-m=^n4fZLz9)7%e9{vNb2xYkIbvpHH`Yn#7 z-+oCiV>iA01%2QKNf4e4s-M{K;*`q?Ke&A0Ky`n}u=k^mF{kbEK+W40Si~?T(NGC zx~LP0EwJadkrUNwQ}2KpC#LoeBu1HEw! z*ChP*#E9qh?Y;Wq-|pHrw#WSsb~!eA@hj_=F1`A}KNj{qGT=&^aif?2rOW>Ila@_- z`04zfB%^;_<{j(jtxjpPB{yzTem`H2rzX7`=)dBz=X<@@%2$_}pPybZe8%Xk(jFbV zPUtfs&wLlqFHI82I_WCEKTP!N^;Q|SKQ_ih92%6}qGTn?i%pC6tJAu-&nxkFXx|+# zfoJ}1zV_XvnZ*Ug1$q8XMeH%Zq!Ww5jBC6q_W&8=MCm9We8g77l%15}(wOY7B&j0^ zJFA(cjJjo$K1u(yp6K;npIglI+QQfB!*3~O;LeQeF^(`ZD4EE-LE zNsWOWPUN=C=)o=xR^c?|p$d=NPQSr%+vz5J4Bx$-o!#wpqmYAlji6iT*3tNtxTdFy ztQmz7=-EspG5-m(V=QA)BvpZI5sRU8x)YH+0L*Xl#GKs?Uy`#J;aR&;V`DhC9$1$Z zNr(|XV|S}*C=U(y`$Ub-XwW0G+0rgC-3g-1;!Kna^1&Xl8cdcXi(s+DsYCpik{c(s zNomP+EjHvf7q60C#pSg;@;Dt$~P@q6R z77I)A8*H)x*di|0tZ@>?pC_V)f~`pqw8PQbXwspjj~+U*c*v7Oo*Z9ZKEArFtXiD6 z==hOGm%cf8eW0{@La&PP)rx&H3N|fA{1Rl4lJCZv!WP=smk>4W+wxE4=3euGz+OlQaA_+2RlcJ^0o!E{!os za5!)>V*4NEHt<=(X_4WqNZEuv!nWY@Z)SA$`-a~;V(E^>PYheK6fYOb7kznOO;LyZ zA+u)ApLWL+bLMf|S11&=z?@!?1W7JrmXWNpB@#I;6*Os*9m8L{T@&X?GHN^#4xAc& zJFH~;hhxc#YtJ(MbDP~42@3}F8!__0U)Mggs`j;arr)!_XUD?Pg#){+9<%T%@#{V# zGaQrq&Uv)>seX%U7tHI>u~pi%c15#W+>1%*mU}Uk{Y0X=as_W|P~7r0cMKdFzdMy4k&Bi6ok|H|y~(dLmYGaOmEZUBM&m<$T}fqahVP214j{(RYHvsko7BUXdxkr39Kt&+p8HBCJXIgOA#4+~gKr7; z;8mfhz5s8Y&6B-DNxk?ka=O?WbD z%ma|iC|{M#X4k_ToJIURH8;>sR(F@=xmk%&a0c6m!dYMgR^J@PYD+?mE3G!vNVF{ zg-=<%8Xv-U;rR`JTz?Du=;>z!tMENtPv;0z-WBH1MRY3|b{g9IT{<*GSE-Kkeolz@ zcPnd+Yg#MMALaDORp^RlD(A!V=VKng8UJexoW%pmnADbI$|7U#LOYc)$t}keN9L+Q zr$T2jD@1#Y>abBXit9nw#QRN{NGc7BF=wNZtac(cdw8h$21LAuJ0>9Y@kx517MJ1P zwR9iuIh*dI2Wy3MxO5IZfJx#qE`=dHS727-9_gIa0H@duc3P!B3w-q?(H?I{ z@meIQwI(So)s^T>5m;GfO!AwvJR4(H|IHd9EYhpN^q@E>L*E-9-DAV;(?1{jV{w&r6jt zi7m$zN8r?;^`Y~V5iL)}gB(uh&|E_lIMxuHP(JZ0e#RWA)SqTS1`SUrb~#ykGt!tf z0$5raS!ED`{03P?Sgv+AH4wD;F9sN<1kb7m`d#;`U)PC`D^)t{1vZgmVj-KAm_KfGV$sX8`9!$TX?oT3iGTU3&ZrtYm2P*#S z`*`4Y{C!`u_oW+=_wV`_e?PnV`&T3IYkoug)OWThr@jftO%WJizwCDP=WWaDoT$WVW(d0=rh*{+UQA{;-aP|&#=#Xl#Q1HWr}C>%crj=83VuEla4fdX!tv zlyoJIQ=r6bRJ?Fi<>`<<^w&QQo?O1Ie8}0c{~r6`SAV}A?5M@w{VxxCY4WlQ-A5c< z_52&xw>`Xa(Z-cz>wR?^d|?Le^73ERa>cQ#ZP_^+H_~7KHHYr%f4FtZq{+1-_H5j^ zYR)KG9xYgwF8#||PQUTg&T{F1ex-`8$K#aOSuPphyE0|(U*UU`7T%kd?>{i=zrGJL zfxq9X+53ENmCx6N_ARGrZyVo$!}TnO@oPxG58zO+!4i=xn?NZ1C2GtAjkztyG_o<9 zo5p~C|C=(#+%)D}7&C<9^J_@IA45pd@0PHB=Xn~e3klfR{r#Ex_;{289*x-+Beibj zjI|ielFMYWGx?L$E1=O3mmQO|UXh#lx5HA1#lM>;T8HvE5U=xf6{K@zkWt{|s=!J* zG~JPiwe-jOEA%TYfBMm2b@B5zhrB;%z`$h>d^_ae`lo+>qV9=>YnQBDC=}4|>HFAx z`CDw5BEGq4-GZ4#nX5|%JUVacGCH4rKWE+6%};LGtN0l_=Y^lc0m?b_aO%WI?^P|Q zUzNfOZ}7cL`m^^RnDSrW#{>2J{gh_!^ZAwc?`q`lCpLfoY6O0bRpFJ)s53qaT@`ag zrJs`L=gN>KvW@F3?a>34G4S=$v-DX~x+pMa&>G>#fHn_gT z-^JgfuygnDqcCgtZrb4QRaR0`-b)BSK^&j)jr+w~aVfVKQcypCJ8mz;+vAa4u@|gz zs<(x~5L+5Bn2D!ZzR#Z;4Bm*r5V`~k849w*4Tof&3AD1NVo}v&*j~SKTF=FmiyAJb z;YFPXuU#PcJhV1{5ROsuf(j=Mov{&XSZYwoxMBCMZ$yg*3fUPa_RXpae(d2q!t*Kk z9u84>U?1m^$R0I+pXu(UC~Cy*VBmoYpLv?W;QOr1QInyZz&26xp5O0t7{e4^%ZQ#O zl*`2P6Fp2DC&_xNBTh7#%x2g|y+cDR$m}Lgps`t#P#VzuS)#6zv4@$o4(Bl^VSY8~u6`SG%0v_Oq$ z)uV3r*4=6Ey^iM{dZTGQe9g*wYTmoenwg&|Ux@gtgHVNHBiownD@9i>is->Xio9(T zrmfx%7~apjPa;l%_d(E;rxLQe{7f@coR)jutRLk0?GrPHPV1ohBG~;8z?*N^=+$ z5g0@8&D-N4-3-BCV@gpJCbwG;z7y@e#m;4LzKFu*&Uy~T9ma*%1alY}AsC~SeQ-2` zA)S-$Fs2uyCs|Co@Yh5BrBz0&BYA^A%XY4h?(=ukm}8SggU#SfC&cJ*imh8|;*jh# znvA^zHj^pIlx-q5Vlv4V6yuP+r2*D$Az3CGBAZZrQ)VAeR){GHRqKXtY@?G%o9D2% z!(A}HsCD=p-f%K|B)3k8{rlxhpL{k=PmC<(@am>bM>Dneu6(R+-ul|vcJRVP?7;C` zw2!tO{@l);&((KX_57iy|LS>v>#N7;I@A;k;QZez#Q&l~cT+Q(fjzM(Vs8u*n(H7X zo-i~5V{l`m0z=;d2IqeT#$ZJc#W#nM9f2_fSK_=Du?+=}n;{r%OgW0OjFk1zOjf6@ zz~Sd*V8|Bh!SeT&&+^x+Q0#5uC3hl0!QIjl_a=MmP6c;Q)ESU+IE*%-b97dLkghUFm| zS~(3#->9=li&$N_0te2>5}b6qHIPRu`6tVw&tErAhs+QiHrx_>;`Weg2aM?x8q*pt z;qpR=_@VGe7Qhd+Ar~6r&qfwIktESzb`iB&BZwNE7#l;JI=!w>0GaiAjnSp52)JAt ztC2{W=$ddI_u+>uDib2yevlt1i&Es^g98SKjDVFQbvtr|6^tJ}%1XxJnRsDG{aIEz zE@tnzbm>xX$C)!q{U6WOPek|l{TLZ7_85_;>+5Y|a#D;o-mW+3dxLXhh&RPcr2$hs zekJ~J{F(S`@s05kiZ{n6$CLPYttp(+&)YRkZ62&DjK;co4s-}-C2^*Cs{f`+PcZ}4-Y z%sT|dHjiV5bMwWj=-hnMZFBQsj3S4sS*^WU!9j(xgsJ@X4d4@=lx~_898{>UkipkA zj#h`_q*=}5q)qX6Rx=@NVCRpuSL0(|SJoaIE&qyGUjcyAPC2`1m2&QA5vy&0*DKlD z$&&t&ngekW;A~*Mq9hRuI>Zhc5oL{JGRj1SL=D!OB#q;iMg&c{q)qh>cDw?g!#X+; zzfFIlyO#d)i;yLxQDg8Ke0Bm|CsxtV=Z5u;=;rIq4*8a=Z_zt|o3K*#GK}dL8so=H z`MwCz>t%FS;IMUdQTB8=En>A4%4ZoJ=zp5#mG*__C5v%c<8w&08*519ZiwZW+ajNp z$>LfR_1W-TOuohjCx*r+$#!#SE|96U!Hz&%W2oPP0d@DMsYIO)#%T0m?zF2g`o`U70iOg&T;P&eZ-&6o*REY0Mo$V8@pa$EiNdwu zGj*Hy)AG|w{s9Hrjg#%XUrCyV72Zl}fwwCmY7w*Sw`^5E)kxLTDp{qHz-@9Uk-Xt8 zX2szCz|Qii@iXH`oVYq{=-#VjUXKlPf&+!vP8(*B^rqPN^l{0J6`b(*A@`QY0 z=Etm3_&1?B|JHFD=Y;t8%LxC@;QD)jvd`lpdlEe_=!%@;!tOQqD}2|#<1%p6EVe*c(>MOa+-{qwEiNrS`h3tO?XCY|Hr|PUyxITc z`KCMn@hAcCN>aJO{xlPCypj@aW|zfecDQt<0hc+tTq^8>waDZOl}xoLtl_D=GRYa! zty4+eJ(GEXjWOr7X{X-WrqoW6yoVl))Y-gus$uhsyPNJ3xE{z2*^+N5_P4vaEmh0) zfD(@wWaPF~Y_tt?j_ZKjkR5dVmit2`=An+j7_7uRoXuf0-Hi;xnV~z4Hj#LE%ecv~ z8YS-0DiZhLy*^ZK=`^yVBs9pMZ9pcQEg?omvL!+EB%7?PD-_o0j1>VLQ5t|?TSWld zh`S;{tWh=-n|QH>Y6l&eNDkNyCj@vrnduZYr=c*#{&1?QL6s6CqE?_v;Av+VZN zcD6*7$`+R@=H?g#QJZBi3+S`rvjj8A$`ZAvHe~^mR-3^JrI4#v0Az@#G$1;a)ZXx= zX|u?G%Lpx(AX0LM>`757U7ajCi=xY2aa1Nkni80mHq&pH&ZpO}((kbKw^{FZtNZ;D zM!`hg;~U2B7&Y*f`d)Rbm)Ff-wPKzaJ9&`~|N9a9v12$NYp@w-ju~}~{`TFRtvk{( z54Z9PC2t-(eDKKOL+>wLx^QJ!UT8UQ7Vc>yJaTx6)FhKU`xo?mkifQ*yJ_mNq3cmJ1 zq1P4p+;Yx48^2TLZ1d-H-uWD#GZGs~fH|utN+|bc4Un`<3uH z3qo^#b<5p#2FzJ0Cx$;u7Nh-08`bN?gi8D#y~N5bh)QdeEM^lCNuPjT6xGnq_ zP)AyyG-Y2mX-=gJiqZ+i66%J+a;$kr6zrnk3$st)9j8yzK_{YWyAse~f40%$vWsrF zR?zB9&R97q(Q5a*V|04Gu6IDMm+eNEo!xfXo7H+XrGG0YF}mu@)l~JBlFk$C^CG2R ziW4D}_8p#H+x4aA7A*?be_;>(oR@&@-gEM~uXqjESI-^aiK6Zt%OdxZcZJST^j)_S zbG#9WN#13R()M8(Twiny>5Fx@H0IGbt|-5gFay7=9)k~A-5Z@TjOvAUYV;nJuh^`pdX zhu+BCoyh&N<3MMxbP6nw9{$ugePW`TsI|6u$&;)}h)V!P9T#UtW@l*tgZt1|{AZ9#fa9MG2|I*{fw;igS)~3_oZk1hw_0;Y-WF0zzJT6l-_UFHs*oml>5ocGSDG%~L{5|fRP{IvNM*KK6Oc=#LaAPdfta;^ zZ89$mkBhn}YKAl0#b~@Eb>hw_%%g0YsG{*nhkEwv^>0(!sz-_&E-rk0&4Pt%TNaP^ z>fxwcdDAL&*4!OwUo zu9Ws3vo5W3KDK$BHMqT=eyz0H8bn{lgUI$!EwC(#4Zs0?{pqgQSZuLd5_RfCb#jtR z;};~2J)t~cx1-yZ1}mDXIhqy)(c2XYH{nk9fJgG`{qMb_R1Eh6)Z@oI_dtuv;hEOu ze{rpPcC4}CP$Yh`IVyf~XE=6b4ao!6DGO}13e^r|=G7zZ(EWa&MzD)SrA9=O)jEsa z6_cQApB>{j*vevz#3Xcf!HGH;I{CsbrH_ZCu{l$V#D&_ zu_XjgZCt`QqLO&&jc zRzo)K@b<*?{?sDQu_Y|cGiI!6Lx1oU6!>xr3pqKIyDOjx>%G(tbWAB)?RWO*Se)C` zg(l-ECRRNl(GXYwR7$?KZ!^8f!d zZ2}JYEcXQX7`Z1#44-Og(R{Z>WqF6x|JKUMmX{9{lvO00U+Vx@x2f}YI&1aReg6Z` z9Ki7B@c6rXZ5mWD>YeKI=Yu!rYO3qw?BL+)B;LXJ*u*=Txh;)yxzYc_``z}t7pxup7bE@3m@ZuIdAe@ zR<4H@D>_k_q4)?1&F&E8{ag=i55-t^D6#vl(f4S3LcZ^Y(3mt1hh#vh}{|1F@{GuouA6`GEyq*B#o9uIV-Gf5*c~O*o4zItc#HLv97Zyv6 z?xotSyUXo+sfIhbL^p8Z^O(s|TqEseahv}zne?@Ifn1h70Kb*rs!R1N+t+3gF^`vLy`B+Ooa`}-7ZrafG&CQPv9$hDU+;tDPyXS;^ z=hQ*@VH_Up73KuzNsD&ESP{k^m(|F~Dlv6>k?4up zq?;pRaju%L^8Mxo04eDizC?jJ-aaE1Mm+VpdWqC_z#aG8ty-o(B3^iUW&6UIZY9gN z@VMy}^%Wb!jdi4%k!Csq9wmNEisVha?|mD;Q;)2&jAC4- z`!v|3Nz!C%h{n#Ac4GLS7AdGgG7bO~8fB%9c-vvhF$oZ9hs*FHQR z#8hrg0mIovGw~weFf*&OFc^_m)EbG^B8-9^GNSD0O2(Y_F1s%`Qo_gx^3IUVE!H#O<$LfstO3Y%a9 zqGtoim9P4;G;0l*(oXQEsJu)Zu?=9;5p|mZmE|b|;vdr2jnAyA?48ojU910#c)^?L zoxXH6`*-0JO1&2FAo&(}PK~U{?bjnwV-)Q+gE&_c&C4vw1{T7Y&Bycve|EIG>UzSl z%Kv0eP5Koc#S5`3pLXQD-8r`K^{(tux$6!d61p|k@mi8xf4s6+u`!Na1dk+76JZX) z#Kd+@03Mj?dw=-U|G8&OnhM<(O{|$ax8~l3i`k~-=e6%dw^Tp;P<8d}IpZPQ$K$mRQF17XPJ*jiY9=+?9NaxmM4BujC-?q1Lk!2jv zpnf;ZcSfnhLdHEtX|6Uz+fZ{tA8StNi9Dl~J&q<`j~|;u<5UzSy(7}M%iF5{@$Id`5|U}{xb1K)%iX#y*?VsVt(IC0@*F^0T>RH%)bXjbh^!2 zQKNN>DV`Vu%jQjnLuk+##6%k$#P=EB4sThc5}78gSut``E%J3&w))HXdy4O+zZK{B zI{UM8it*Jc?fm|Bxm~0Myjgg$0aa7az z1gp`pA>|(C|G&FCFEUE1&*RS&JKm@01!} zfjK_lpYM$Ap*h}G=Fo@d_y}wOHb**MSP=~edz;|=v+=5MUfu&X>^ctRZh8&g(1WhP zivEtyYmyFHWk%o7-PHx2-;#zx{j;a>Iy{zXoP8a5AQj+NL-vxjq2*1;FUBz>47u7VBv+l2C(Xq%K7wf$abGC1~^Wy){ z;qreP8}*x)83-X+QJ)qj5KRQP^HIt}yZhIvU!3-yP#U|xKsQDX`CgOyp`+SfVM zo!=v+{T!TqO&lkF&p9i?r%U+Sd>l4gTTSQ=)hlS!1mrT2H3rFK6f_zHj+wGDtc%>B zhKiMy1d8VJ%$KKO#mb%x4NmhoD)2>`Lq4YJkMT+B!G-wSqe2mGICNS?jlp;1Q;}FQ z$ETnvM#lf&nbUp@oc%7m_B{o-d$hj**dohKzVf_A|Gi-umUk6>)#X(zEdf4%J^8DgZ3o}mXT?j8 zzWmI=`t@JdVfmSje=Og#XW4%?KSvw>@}*e)=F>Zl!&h2%X&9Sh<8}j7T6HAT8^{nl>!l;uSI-ZF^|HLA71^NjQEWxV9g^e%-xrJ z&~x<5oG)_dW%}W_`;Nqak+}Ep59B=kgZ@Cv@P2H;TKqNj?AlHW8cx3SBK}(G5hV*C zTar+T-|LLi$_X}NkktlT3|JV+W>gU{i%vO?Xw;gDKrDC3xf>q+?Q>C$F07#R^E^Dn z!=#K|;7w}Sw=t#@?>|0Wvn99*PhS5lz85rQF}`=}dOS6_Ve^xhBy{bov-CpE>C+Q& z|95dJ4$vL+!YR5NUKxj5pa1%&#{Waz+y611%I-41ma9Q0JjUab<9Ob#kQesn1~y(L z=lT1qmG}R{qaIn|_xXJ?e}Ap={*dNz`mJ2&R7Z5qIQpFuH*q!jof`m$bzCoP;V|wl z32CJcVXdU(RDR8S3}&Koe@0AfY-=YW2^y0rAqCEfvyI*wV^X>drYDyMSf{~seWW7f zmZBbbu5>*LwfAM+hoia;=JRjkjC3UC-%TV7BUaB57OtQTkM#TS$KO7E@Tok#yY(S= zO50XRiRONZBdg=g(|5f1uKw?@(%Lr<9>Q(00XuNpJMS3ntD=o}(S23`o| zL!XnAKPN|Z9vrNpG9#L_@gk`9^NymK+q#gqng|D!E+_zUvP zl0&rc_WryW$(0<-QqL{Q*9UE~4XS#cOwq&wRCVL2hgd~J@SWF^BKtyB^l}$tx5fKp)5djep5pju# z2#AP?h>D0_HxvXeB61PAh=^R2#UP1_sE{eXs_LG}WWjrX&-4BDJ)at3Lg=nKb?Vf6 z>YVeQN9GEtU%rbDcM#g3=e|18BXUycaP0gCXn(_}{h(v^q7P?I8GpBdvjjYkYV42e zpfr@o*`Q730aR3hhrG(VB@V-BUV(nHlgR=!*~9ohQnTK{Sq6(K&0RM}FNOlc3~1=s z7FD0yozz4Kx5QBL+JsK zqA)4$3_oLW`?>r)CkO<5JTF&g2>ap*7`5UiW|G>KChR{#l>P@8-RvOc`Z2u} z=KMGB-}=eI;n%Jk(f_);SL|4ie!h4H{rClQ?VVFzd}+yp^Oms7AKx}_c|p$&`JH=p z>~#AzxBs&85A@p~```Qv&Aw|*x4fN;rarZj)cKQrM)_E;3gxG{c?C#{)14?}X6P^& zWU9h)Fe!*nfM8Je`BEywK2;Vgo04fZM$((W96AM~cb3tPuOv#mW0D&cvzFz{7Q=+C z@7MhP>m@L4&c5Hi{PwMW6XsQ(SzN=^ym8IIWrMf(eP!vbv(jv(J0Drv|E+dObE+$i z^&f+#vAYBp2oQU&c^Q_){-56t>@F`>zf?(bv*}*V<#ttu-M~0tY0Oh=PS8TA;fR+T zWFDFPKY_48K0UlK)(n|EGm0^#EwOaM6uobd$ zGm=nWiylR^Ff|HXi=28O5$fsqe32kG;SxZ9HJ}UR4ia2~mdIa^%@QI9xj75w&#*F? z)|sq~ZbOsd({Miinuo?U*hnEII*l%J2T|k_{yQv|6Sdnkw=Xs10Cu~eIP8j*ZLG{_ zbSE`e%u1GMaM2Ut>of1``Pz%zzy`F2gn&1`$#St=s=3@ij0G;xySxU7SpEGXHf;i=gi6clf#&p-QqCk=%61Ce5G2Nsk+o6KY z8?NqH(tF@73vVukJ(IiSISUg928Z5}xu~aA2zEWm<>ePx!XJ+Qy zp|qZsryi{R{KQFaU}W_*U%w1j!7k_t#Gj7aTLoZbsMxBI-mIBfS-H7ET}Z-EMOJ)4 zp|EXQn>O|=F2UnTsKQEQ&q`OVvK<>cd;E5bk)F5McTqd6M=e8{kWX-K6bQOw&0q)x z8r`5-*%@P=o_qMQ=RWRPz|?i$j-FnzcKxgGm)^E=<)brCb?Q5I5*h~A&)L~d>hk5C zkLSyq*Drr?>`m*IJksx`PJ!S(Ll?cZlB>iU2B`u+$be>2TV}P-~LVseK2h2vhCvW-(+JEDFpKg2Cu(wm$T{Iu7B$S8;X19w#7j++-n!>57 zM@skjE5aTXG~FrjbRvH?+SgxTcUFF5N!1f~JvW~L zqbFA;XHL0s@kc|K78Vry@_yR|JHU>;{?X|Gh~YD`7ZUKwC3$37bODD5L>uc*l)YAO zW!S24nwbO^r5A35V~uSfv02N-PGl?+noT01vmQLV>O4Bl+|2mU**6;wE}1`f$us4j zyadnG{PY0!hIyvj=6CjOc<;5BetY#jBB$g_r?H#{0u8hYd7;f_*LY5M0=r_b3@eHS z8!}7Ffy9g%y_D1fM0c3{wc#6Xe&D^=(f2D^8@n{}{s#XWxo^I~^cy{Bi*W{0{7Q8; zKjczWRn`SoXT2VUQ-HOxey6ype(>o=BB!Yl*~NHORKU#q?Og2x^PilTlyf%QkN$EY zC^N$%t6zNO!13{i*Vdeziguvg#@+51Mg}5~5_E|JoK8GB75LSp zs<5i2$`D%wFZ49&+0eLau=*Bh6#HlySpK>fBOH~dsRoo4P1I=FkX!2pnK|e;boSeg z!>VEDt!sAFEkq5k!NKEin!kJta=~xiFcTj<1yH*CzJE_aueV{!-`jGzu_gOfvpm_bX3`*5x zd_u=(rIL(tZ0a>S3F_kN#Qu}+GrDmGQ2thyG)*@Th<%keRkWD^bI+m5t--58ZHjsf zz3-{A8E8WT{9$QwRdGRnH8-s7h-v5$lO17DU`U0u+55l?@aD(^>qf^J9e^qc@cv{)Mb>c5?pn81V*P%Ts%7Wim zVJg&_+{nK7Hrx2y4c(k@>5SmVx|s?3hB6cVes4;Krm3PJNGz+Su-RD|f~tZ=*p)wA;* zH*Y%f=9uwaLqBydJ+l48m9{HgFb}fNL)+rT=={<*wm}9KqJ0Q`{MIt4Jo*Hxe+D6R zVB0q1UdKwX2&u(1d`Rr;{$S=k1!H+nbPv*>S!L8~78*a1AD3fgk+=4}@3|o}+ zM39JaM%-2~%fRpoXyr}ZMJ;N|OFER%<05F1#0CXugtD}f;%I_EHZ$pquSTN!<-%|@ z^s6s^xXN-B`p1o==Haa9pZ}o`mdkyq4Lv#a~HR5V>kTz>B?o0S-txHhihIu z^j*t(L(uEeE0^JLisxsNn({Nzv+)d1`f(!~@l z>af#jQ>r(fl(Alrajl5V{4iQtN-t-PwACU{GIR-C@-0^m>U&-Pu~X2}dbEPGpelIR zH>Y>HQg)|~95M6u8zNmv07yW$zl%S#X6M`UK06q@$IT@3gcHpizX?tA>dgMLOtk+j z_Bl09*1TMjpA|?9z~OcS(*Mw5ZOm(GEe4QIiKC-OMOu7k;fkHVxR^DOA=0TMD}UH@ z0&PS!uffV=C-)4U{xpZa`+WD&UwiK90Uv}Det_4$bK|bEU}MfQzZ>J(QqWoq;D5Nc zi}s7ff2V-zu;tQeaU`uJ34-cSZYuEl{hZ(ioZ{v(GrU1kz{t5dKjE!%#$Va9ytL|?F2G9APq=4yOp&#IlYmK%S=r3soV0K-q^&=B-*#P=?tc$ zAMp$pMfTOzF@?WQh8`G*44Sxd%}Qg~jjeqn8;+o!6Cb$e4#R#W13>qQPP&u=-63FT zVwH8y?Q-B<;c!SmblR;F)-frT&E34ccl&k$t@*ZaYuuYR-HGOt?U0MI;oQAPVZ+#) zq8nky=E&JttR_hJ!7g(j>@oI%tI2-nYv|AHFl++2u|+PmjQ2`{I0gUAzi8dsTri+% zofEBB8c*XeHqb8QvjPimwEeQnlEAV-o^(T`0V!i8noN-Jpi!ZdhRKpY0k-Q?U89;Wr8_J|lF}rI|IuPOL4iAf~mh*ig-la<4U# zL@keej;>?xk4)OYgd)!M>sPGYxd?7SRs7~XXj;Jo3u-Tw;rusd3JV zLE0M?TL-IP2dtfSh!zIgBvpeJ$)WMO(<-xq!jtvqAnUMcW~XIxhIyL}(resR&|aFw zno*)@9KMB-pCDi?#~BL*k)N0X^k?Ms@yKa(o;k;S66wNhqhH-3GV^1^Prm5*hG3gG z2ixjQjFmGIfl~yWD0>1zb{6aLdOdxy`I3UcNM_nTImz58@&~cKGkJG7}$DPX01#u^nR;bB2IJ)n;grO-}1SI7y2;2zV^q(adG>3 zN_0Qty?VAOr+_)GAl*Bqp+s`&B#A7`k((#k#^7Oc7Cx>cYdolm?O1~{1+Oa~L?Bxhq=xr9C7_Tt{80%$Y*0CIb<}qaR&y79%K+8Dr zC6gb7p2=CDMO>ED;}iQxdnmLIC3t}102aGL=Y3u~MyMVK%S&-RhMU}}kWJ!Xg0Uja z0Hnbq$S0uUYajc^oV!PjyzTmFMUfw|gL88`n?>iJy_3FwafeTEoNZk#9em=^BJ=*5y1x=>HOMbUE_e&!gIWp z%#RV+=F=-~Ha&A{ z9utOPSi{o2Rb`&LUUKrfT?!B}-U6J9P4LmA8IkkwtlP=inuD)a;bT*Y&?&Tbe^+eJZ<|sKZ1DNMkZ0TqdIm618pHhYd#*l>kn7~$D$?Z zl^-^Zes9!?I!k02v&wObLxZ>9h^C;I(Bo)wk3GqmKcCpW^LrC3Upiv}{2q*zQ$S@X zD*@gUiq6-Hg`a!ecT3XKObxsXK31NWv$rTIdFQTcu1DxJ`W<_TW7onVu)5>0_Gf;>`{h>k<$otRjrl?{`*(Wq*>NQCYuVve^==!Zt#;=6(aO{r{K2rBXq@HoWH@~?5e)J1;|C)Tu7I? z+j1?+>|39Ig&P=Q2J}KZn8`gmqw`%2J51`{NY6Z;#1}EvCs~AUo~aD;O7r+4%_C$d zp|o0V;Fg9lgd~LlK{S=yL+4L%Ib(Oos-%mgL#8AXTn_nkNySrD$Zfn(8D`!81(!o3 zv#i+gfC)J_BXWBVN2EhT?^$4HR;)r(&gxUILsQ{gG?nT43Oov34WpS;U!XhZgGR0= zs#{gj_@FSJ#vrOgIUH{hNw*9I*fiDd;6kr;WfXii3lyVzW5hmx1NQjp&Vn z^5PgMx58p(*I~HsPjnUh21QV(!>BVt@DS?vCsWQOL{8$b(~<2=`^aAU)tT{<{#=*N zu=}F<2CO|rx7bxZAt+>KDCxmqdR)GNN0Ru;u%vqYBuM>V^9_grj=O<0ka{pJ+V_AU zb+~M0P5p|OtGAy1;)ersCZXT!(8c-hY+Ly3(v@?Wn#w+Nt6uN_%)<9NSu!3TRrB^0 zy9f8b`kH=k#Po*y6wA~>Fu4u;5u^(ZiBDtcv3Aa(i1zr#h2@R*&xr1b1|TO`O@s3Y zZ+Gf{Y+U3ZI)>GB*Qk%#p%*tW1#Q15Y*@<;G-KAE3Yi#>pQOB1bH}!*-{fZC@lY%d zAje{?B8ZR`F&5_~h7o~9;Y9c4v3ShAD%RM+kU?dz9{q~a2^mnNHu5Q1GW@%f1{Ocd zmEd=&CKgwKRbibPbSo?|Q=(iE7CnE5#Z91!6`U*i8SPEF>Dl|P>X4Z^W^#Zz$u7lK z{LU?&Ee^OF9*WAE$5Oz!xKk+EE&~EmTpC_*Y#x1H)dE;2rz>{RX)0|~>QvJY$}B4_ z(}~PQL1cq$7Rg8o=pHs`&rSIgmLGB!r2hKmuSIzWVOf3Jv35@lV1`}Xz)tV7vO2P! z8S>DJ4YTm{H(wpkH$?hYCSWo1kc4J=y9_OrVF)GG7VWNF+zccb+a~68Yj6o;t*wpx zfrX5E!}l+4fJab}u6OfzGRhEcR9e5xRnF)9q?jzgZyT+ADusn{z7|T z9&{do5-hm5diCm;USw~5apj9EncTn7zg;K|e(!<>=OQpuhnrC!ANu;Y)jKujg8td+ zRonE4r0<~fGJBWed0lU;51PgYs7_$y$THL?Vho>1Vbh7zfR7aS|KJmGGglmG7+uS- zwVNZ`;T&!t$qQ)oiO8|zBtDTKNmi(7Ru?{2Y)*%Rts*ypqEn$+Lygd&S>_OlD-%aZ zi#bPd%EoI~-B4RQ;_cgB`vmLZ?du9Vz{6M-4|FMiYb9JBvvsT#(y%ugbV@!=skIGLZbEEzc%h>U8L?vh?{*WO4 z_lM#HX}s-)BNtN5_r=LGDpQIN`JS|n&qcftJ9aCbR^Do3J#MH~;oWSNWm{!fR;(Dr zSlxej|3|M>4UAF(O^m_}hn8PXpE->z=moCl)M@xYw4B94u2`|+mDlkeiGXW*q8$c~ z;`dYgP5hyu%S)+p(fC!?Y{l2lDO`$z%okW{4V8%vW zWL-LNkdcTMMZ`lA-Iw!&0%=-o3{(oGa0zt7y=RUiPz(QjU=sQZ+U}mp)S!=Fc|H32 zL57}TKZsq1@qiDb^(;vgJ&Z;5aES?43x)#LBrApjRx8kTdu3Qx0R{x1H7F1}aEzEx znogY{lU|+rM{wG^55Dj;OwmySJSoqgHF8CdUawyZdB~yDuI^haVEOu|9xdOHnuWf{ zxc4;ripb^C8H}UGP+#ckP(hRTSWR#6w z5k~3Rw9^1ae;K50dt4E|FdqH!^Ec>{`&@19`2@&*eFDl6Y3jU3?z``ic~hBuLL&_E znH?lY$+zc73-?(0Js!Ig8{c}0Q$55FV(d=r2|0Me0w~!zpO>*~_NuU^S!~d4abYD> z{)-=!3!%{&oMtz%H0wQ(F2Dr5xE=0%@cU2TpJ$H#G;{pnOJMk|aC_QI_dWjxHY)4j zkZZ4nRRd!n2JPFCHL#J^>Uk0C(ovZ{B zG^ciD*yD5tTmh*ftOVfefsX=v19gE*0UiX@Kw5ys$4)?T0mU6(!D}wmW<%O>)ay(6do;%a@QV;eF>i7M$C(r#Z!C!@jj|$M~Em_X+%u zQSU4?#ed`s-xJ+84ozcOi$eB|0~;~fk>tQy>2Lr+z_v_Kf$P8Sn<$|dO~;B0PBOF5 zpQskQ*XlcqE0*5z@M9W0g?zS0AE|k9whN}?ZJrFXdc0Zw*pl@tYbrkK5#vUp_+qe; zXO9<-a99eYGUn2yOQ*4d4sF7%zYR3u);D+$%)fJ$8H=nJ=3#yIf;19s@VV6FWWYFp z#o^-814gzHa5%6d=TJa0Hd}7N7S~h$^07#)&P@=iW|~wzYEN0mA4xYpJ9SW@0a&+e zJ@M`7|9n4n@}@15reN^;44S;zWq?;={gLP%S#p2d+bd`@nqYJ`Wwydy0uzrinDd>GOIV ziP*){Z4v{aAUSlOkmR@ed`<}}yw|}J`Fe{m2yC8R8a+`1kY+h|gE||CPj|*nF`S2{ zo)QY!12|Ek7GnKdi;{C!SF%2BC`5;#X7hGc1DXM=MKVE z6VM(5Bavo{0Phi!LvVel$jd{!%IZ3Sj!rH)2~cKdRhFRx`m4if5L--WV=c?nOTT82QMiW7c(>QnZx}9!|*yS?gUkQ_74myrbq2cH#4Ahf8<1f7O$}8JvaicGR z!~4GZjvM{KZ@+!eFly2RQ*SlL&F$s0vHz7oY><-!vch`37S1ARoIlZSgC2r@itrP;M}^J2Z?W|=mnMygHYHFPF9?f3=TP9-vnBjcqrUyj&3a^q374ZWbC({*() zISbwe+kUrm@D2_g*tO@_h0NqVJ>X5S%DjTkguR(jpA9qprAue{L-;&SC3A2~K8YoL zs8~VqrtpC@Y)`Sn=e@4G(sJ0eETkh1_ z=Xx!eFy|2&9!06vCm(+Nh5KERbB59X;Y_cMVIZ5B z9B$*E(+|w}qn_ylWv04eA?!J@rz~VMiy{-r7r*5~6+7_2y7vA%@VH3)aW}QKDv8{a zAxTz+UQAeQvR$z_HAawyDiVqSoW-qJ6?*y70=q_!_$K3FvIX||rW^MSfAc4J0Hc=! z5f4=E^d-X`sGNL}yAx(Il&Y?d<_>MbGSab?x;0d;scxY27RAN+M26L!g6NPWEEAj4 z$0rfGLmuyVtembi2Xr`Wsw%UrsIw$F!%K^*vDCIlv-(<8MBq>5}9oG!PI5OrZ^6nhAAW!R-@IwMG|!>#yqg|5Dr z$a;HzE1rUx!V!$hTsNoShsAASw#e;+2Tr{=bnlS&Pwhen4<3Y5KGYieWGF+3*x_N6 zNxxz!1(m%qqRoHsxKpvNUZA;yY2b!XJDZT=@uo^?qN;ej$#{(<#fxo)J3&b38&0ta zg2k%>rzECXENM~FOF}T|GYflLRQ6K&mltE%7nkbYm@?WQn&fl`*|zw|B6Go;j>Y1!jtgqZVr`Nxn#H7lVVBb6-N@DuEpWOrUPR! z-<9EHtHPynjE&_u!J`1Tg-;cP)T*$cG@BXe(9zoD%(>~^pgA?B`P85uP^XnXJOS`*j?nnK(0bT;cpv14KUR)H z+nJ}K8qKk?ki3R;kO}Szby55*#*#t5KPkhJX>+^M0Wpn0usK{wLUvYiA~ufLoCmE| z*_{Mf!RfGN%5o-#IxxHmFY17%*VQo# z(Iea!Xu{Y5q=OV&CB?_R<~-UD-9SeR?Rd61c3cl$?V09Yeh$rDg?f=vl^!~L}vG)5yWxeWNxn2MF?Q$IIa(Wu+B zR!YifB_}DICN-vRdixV)N}@#$jj38qB#kkw`AL~14SZU9K#18p47r*lH zJ1_rZC)$IKj2Pc`MsWepXYbIHd7)oEW(35r4^JH(XiZ zm?KyB^S?iL{=0sQ=j}zij|q$?&%hLZG>F~D4*`|nwosS0TA8hzrME9HuS=+?w%{5HP`iw~<* zxmkzYA}|y$5K|ta!zj4u4o%S-ea|y9N*YVM4Y_8SVr9!i1<8d4H)P%a$i7(<(XZzR zjVh=bcI}vFW~b?c%C6WxW#wA-gw=oRZBbZ6%jVrk~Sr~9P&vmrKxE3T=2gNE!%m22NiItMX|MPnYIkGApUnmvNBCI}eUbCC=E#x#@*}fmKI~xfmAOs%KGE*Tv}bB+ zo?$L5dUWAqQ9hX|wBDjaDA8qSc}@~B^p#kzN5UAGcWM~4YjNckaT-@-V04ImH%O@F zbaO}YYH3wlv=*I1;5;nvl;rESrpu5?*Is#b3D*7<||t%9Y< zcYB*YH(%4EFp%H2*o~dpdh9elb+S*%mMdZ9?7NCxZ`-SSG@Lf`ji->jXeLN&bw+Yg zKIPmd{1|h|T?CV1{!9&MS~bLyp4*a_>ZupB0RuyA+9W6Y(gF!SCy?>k=?i4@Z3~jx zxYK-!LF3OVL|Zd*`-U^(O4aDTZQF`XBO?oDOuyz;X3|AJdRco<-agih7h3jFop*ygFep@zm*)3- zQc}Gh4cJ8>dQvm_Hu;Hp?i7zA=~VRccH1d6DMZDhhbOP18GUQx%%*2)1q_D&r9+9 zL|-MDt2;dtPqreg>UO1ZvfVE`SrRV z;@#T*vu6)ldzKdUv>m8#7`tET)Ul+qwr{VaYsb!A9DAAkT68q?*4r{*=82zST6%GI zc1Z^M<~Z8cIVUS8s|)N5i@O!%=NEK~o-5)J%V^LR^aR&{J44;eJN4<+#+v5ltcp7^ zt6isFmHlnk4(i$d>h_?M+KI7t>QqtMwGvdoM7F{Ql6}e5VZq1c2A#p`u_=U{_q4buow6#kc6$kB!C=UD zJp8UMqjLH^^xU7&g}y+iCa&+>cl|_kid+Hy_3Z2cx7;}I*^k!`d#l$KZ(je}CrhWP zBcHf?SYAoKu(YAm#3{4;q2HgH*11c1Zu-=oeRY10ULJNOtH-Ua^ypNEsl?cj(_ z)yCc6{-FZ~48>ZfpT|)7?DF)y^z!oTUozWdqT28S&i-1*L|xMo{lof2&qZORn2)un z8yEm?4|Vkg?QBK&4kfI`nG(#&FX`T^uWjJfdHMaYEp4xqLk*)542#Np^%N3qBqWk1 zsBRUg72&M-x>G~aUl(o5C&DJ6yM>&2QYP*+rE2i>(7UA)HE6DY*&S4X@ggp5DPxkS z#0>ofMZP;U|F+5@efG|ty>N2z16R*_cu#Tv^r|}_`S-V%eqDL{?F^@mS~BVSyyASz z(y6md;XX69bEiOVphw4^eM!qiAO1I3zM&A!_~5fK`Q3MZ1ZSpb8_LlUykMu$p&>(r zozDmJf@NK@@3}9tAQPRve!8=tUY4jk)x@NN!hU#fjwAXj20=S4(_2F2N={C8TWbJo zuRAfjeTTBn-K0?W(oUVag{=0fZXG*x@rAOpoj#D_OQCw3pW)1CMQ`cVVWRq7QPH0K zq9%Afb~Sw&rET?Mnstl8?4bEo!tcr-(!1ZB8ls|m(CJAVt{SrOR&2iZK>flqj|{lt z+WbeJ`|O?ZBkOOt_nps{E*?-&w61-A`}Ktd1L%eIO;jTnpi$ks_UuIOtFM9g-eg`^ zpGE(whHKHV0kFVO%3zmux8Q%)b-}Wt_tyMs?6>EE8$%`5M4uNs?D03(iOFff>^xhW z{Pe7>JR-8ZjICRxmT&CARJas&MEP??TyNsDWtNO?uxH_`>V%wMDQrJ6! z9!Hy>gJt6 z&QZP}7v-Puk}p5r`cEyD@-DYJ#P-DjYiT)&k%{P`* zEF1gmV@ntI9n-efX@SX5B|*(z|LFAYwvXTOX_2n*8#;!umm0V!yams-cPJ0oRgIG& zD~J+jV{9^H7|tR)ocIkoU^PMERnab4Wg7&Ajs3~YTRtO!iOtqC%Xs?b#Rpy{{$iL- z(>I~xy&D1rpb0zv@^_10U)tV`W zj6US%uv_@8KmjQs*&+i@=CCo6fCvf+m3~~Z7(OUzC?9V=5=Dgb?BSaWJHj2d>&LX~ z$Q{3NQpcj3#&;~o&pgi^VbAgBfeU1XoRU?ydhq;o`y&1YtP&4Ols&kpxG^l;)%ioSM@9pmHPdiy4?RXzqv>Mb_IF5`_&lNH7mhp3ykJ+ZrZDE*CK6yX2u%U8%e!V&Petm#eW}HCWH;4IkWQ{eynXQeIwh?~H7 zxuRbY-`BSNhKXW-^8-KnmSK|wc#iMV8-J|kZzdlv7B>0Fwg1~cttTIg@pC`JpZ@x= z=^yTG(sRud@U3HpK~F(`cKe~Xj=3TFD|@*4cThr`HaYD+89S7IW9*n= zhOW#Ir}O*qK2)&%N~IkMNfkFY|cC?6#2Wsa0f* zDA5+|)2~b&(ZRWZdB1XJk0UcL4(<6-|06TGv%P-mK9YOjjb4wJ4cCL$T{zS0Smg+A z*1BHHbBF7xL)#lawFdv4Zy!Pd@(l7U^O?+%-ZgE9JNsQs=>1*akzA+uJNJH~1OCjN z?EPEmNUmtBahHt73roc*AOU2PJM!$rK$>i`+a%H9VXZz6!UU_7keJ5j=6E>=$X3#z zl}!s}B#VGeaLPeih###b>R$YHQQ{tg?OOD&j?r2e1(a;D69%*Z8_Oese?^inhbf z?4XPO$TGNu`8E048;1313oninr)*sI%-dtG9d?s(e~hN_8-+~Z1Zfz9l}c8t&61qr z^(ee7iz-L%3M`t3#6%TNb|xzxJXcSm9^##f=9bcFLYg}^*TnCNTAOR*REy07QF6_p z6|+GySCXEd**MK&2ZZyWLbBC=o_A{Yf0W1pbewU1was=w9CFX7G1hO?uP~Z8q~-m| z4s94s5-yp-v7a`q;Reoq_N_73UO)V`7YyI8(5$;A@pJ6wdM$t@@pGBMXC|Rgb|{W& zk_^LXluv+@HCEOMqKr>Eyj;wjq>jYG<}?_s#p=Q~!Vvm+IZVgy__yc>H0p^b>Q=q{ z`kD`)%S>R~1&>@j?E}k5@O-T^bWegV2ne%gbuv0JIU>emPbDBNCRe zGiFRfko}#{t*u>+beg|8r(us7IyY(K}oP_1eHkEHVCCe;t7MwKmtpyQV1%ZYW0<`9>3>yuz?rrh7 z(PO9289r@!9o&FHl^#i5R8}-_)`UUNzqF2Rc<8gv3rD@_iyYxMA46W@juB7vm_1_} zF!@NAU|i?H`+G#FW2WkKxzo~vf*xRPeo|Ep*Rof3-=8ww1g6Jiei>u!fA)_xeY-*IT~ z$rs1YoYHyD{2APXi?cm<%p2Qny6c(VV^LS3+mmb2SLhe?!P5(FUhZPwTd^hh&$lg) zjhP#M>%)IUYfHJF!byU`LS9w?kmT`0r@}#rEyEo_5;qW*BR6>#*_Zj0 zXP{Fkh4$QKcv0pQ2TR)p0*giBos!+8ngFf04I~@T$m1e}2zbjaL!;}Sc!C`lnZuUt zj4Wm*>||!_q4FS9*fVHeDt@1h)T{tbwBq;iR>@i!W+X`#-7>5&LSUDDpBDEr$tRg(>|%6kGwKRI-Asx}NZl>qbMgFAz?Gq#B*jWPor#Kn@aZdI=ct4i}Wxh=RqVy)9?xGOeT;$1V$#K-O!f6x81SH4l+sg}V; zW^fnC!o)w2)baE3EpNZ|fsBT713yJS$Y?+M8U2R-P4CvxcySJvqZCsTtf4B(*=-D*pp~ z>cYuctrI{Tp(kvN1OophG>zt9(s8q#O^`$$+MU4eaOv2A6GVrm<8kw{;%0cK)5Zc_ zacFL9x=pAI+uZ-_xS>%R7dK}70mka%dj5E5N_>GFTuW-Jn1o0zno1ANXpvl3#vM6H z;#NaYKH;u#X2H*Bug@AdjmER8P(G=j!{0w)em^-@qd%9PuRTH;Jm4TnREJiT^hI&$ z*duXryh7@B*&r<~Zp1{*tEbGWilEsYom8v=kz07-WDP1=SXVc41Y7`BG;_^9D(a^v z5u+ZdxOW2FkGg$i*2YZbw$NI+ickiC7FOi!cw^fjmOrN|RtLjafUMZuLb`<{PBvne zRw~t^wQ4cZ#_H7u9XNDHv|tU3@l!ZARuk%LL)-oGl)oQ$PYO##`AHm_1qosX@{ikyB zfWDzT2y~ZKR|?Z2HUhLrbtwWxPH5ze||UG5U)ovjgz_X*scz>mF=nm$x)%}F2Sz292yy%Lvva= zmn?dKhr%)$BREBMQQ5^E9p3WhBaC4%vAE1Ag`@+Pmz{<;pcf@!ChP|_)C(R&XVLRB zPcP%gY}oK3x@zYdI2vU}=E37*(H!nmldA;Fa3eiKL!ltci2_k}j&$B5^u-q5%5XNk zw4x209ekulE6%%XEw`Q?&>BY*urOVitDqJ+%oL+DSa9`d6V|QX%=?iU4Z97o5nU%W zP35$vsYfWlu>ji4T2L$Ju=6rT84@7HpyYs+l*YHWS{52D@FipqT*6c>&Wo?twi$JyxSeT;K1)EN;VBA$4F2!@tv@cu6_4Vz{awSL?8_#vWi3EF=~=T*@BneDZ@svT^!}m zZyLf0#7#UPEJSac6K6VeCod*6nYd9Sdy?WP{9eXl5uwc{W8{Y43nemZnYAkx*-cB( zmA`$j7DZFh2{V1sipC<3svWhkC+8n`NyrwfT7Avr~GB&2ZZ0mg$*dIke3 zhDk}4R6O~l#1v;L_A*jq6K@St8KYU#eF|r-2y=1Bs;QP3D(Y$^t!p|&0tY=#;ltZ@&wu##F_Z4T zf9cxXl(VR$mR;SU)AOev=>8U(-SLag@4fZb2ND`$)aRn0G#52QW5MhBv-}>A2TH;C zQ0ESEW{_vm;e8aMus`w{zy7ElDHhO%u; zkk19dBu(=KbKCJ9ird(->`XvR&BE>v$WpV?vRIYPBG;seR=FxG%kHwatqNQ1Ay-00 z*rnQ2vES%vMMU}kMMhquI~$}TG7|{mq6%e=-8oHRvd&w}D<)2X6^m!yeoxJ*2Ow8J z=DH45z2;1R`UloU#x;9nY^C8Ju(D=7>5lV*zAehB_=tdB^?17aO)( z=70F=yYH`?wyl%u*q~EhDU1#G(q5NY1_opbjk<1(4L8wVmlY;9Tx{?OqVcppybW{+ z`5^~*ju$1)F0;XCPxyG#+@#n$-X@pOhVZ9O)fw&JsX69O?%iwDkfUj|hMc~G6&Mi+ z`1rBQd^)rm=Z?r!#%f4gyaNWb*jq?h`ToN{pc?jlc4;Ju*js$uwCH05Y0XYGwSm~T zmhC)efg}oJr$qRy8+)+~Z2;0(Hyk5QC6=x@n()CaJA($GJ=uj)LGIoL26^C5+@Q$* zTeiJFfhjQair%MuY*nEwz&cn0tr=Be1glNqotkKq2~UtLvkm~PP+_emO%=8nEpz(m zWePcD-KNzo36x+L=SDabawq|opxyOoH~s~$6zgZ6Yna)75846C_vEs3=zU(XR%AH z<-fZejap`<=!Zy$8~4MBIp_(r2!rY$Q70(Df%snxYYiAM7@vganU5m}ncPSh!rza5 zj%5@F;PDXeR3s(q3}85t(~id@0M^PeBGw7FJ)PFvx&L-N#xVRb*8@YadUPJnK?|YW zfS`mPh0^ZB)8TS7k||-5(R4T~avaShZiu<(gg>c#@H%1X0GV*6i4w1=c)em94}V*Z zXBTV9br36ZH)%YzVnIH0>S7I=%$1-DW=>sfA6`5`Nx$e`q}YJIo3Rl#2mB_RoyQKZ zVok?OWhZ5l0%K!LANR8FhJhF$q9b5upe^uh?ZG1rJ<(Bi5Z<3@_#7K;?oq;7fc4@a zp0^kD31xAR_jtSxJG6V*1fLtbHV&)RNqEP2kDYC%7IExGtvjTxvAbb(7|-u!=tfJD zH!`lN6eD}^9?rB&g2Q129;@VGeO`f8oE|4z6?QruqDPU_9oSwu+|7s8VpNUX3QdM* z@+<5=e7q^c0+tfijYgJ*M$S7gxH(kra5^=cgvBMWtVYBIBvl$9-6=gNJuV4WR`PnC zx*NzCOmkLXB^~md3dcI*8S!ZS2uZmhr+sX+&bVf}ru3*^PlqjF^ukO!cdq{42WQ^3 zw7!1nT{Gd?Egur;-E%t}h~BZ6G8-@SVJbSh&<=CVH)1*Zz)hhdMc19O&Fl4vg5dPA zi3vWR&M3B28>6!}yJBM{mq%b2sVdAcx+*Ao6RL`G&1>Kif=XK%tr%VHCc||HnQU+3 zE1#U%IBmq8wYB$#r@@iT8!zI0c>6l&Md#f;3^I!=-RI-`{83&($;vpLx^8v5GzX*e z2CtwFSV^Z2t=2k+hF+|hJ-N-ARV=ctbx$0)@yqY)@0@w0-cQ0WQBs zw7WcHZoX6><6wP(kPBD>0YV@VND4428whADn^F~KRSnyHt#vM`%gqx~W`<-Ka0W;T zA?*~BoncP77#j10RrwJ7^B9B?rvyuHS$oUiwsahbYrIQrv)C6o7QgxFrxk5Lb=VmJ%H*x0B2VY9YTI$Uf`k^-tk2Y3U$bkGl zb3x&Cft7iqiF4rn@^vHyP*XY{s#H(Z(IViJAU5z{f+Rp zWHbpIQ2|~+9tItycY1gqI%vG3cPN8pI0o`SbOC605fVugxwtTfbFnrxj-<1B{#o?W zz{n+NK}-y}mFSoCE$E32OxJ>=n2yWfopQy-CAdT#+I1J_akJ?>AdE@6SQ*w8o7%K- zW2@sb;{MG@+KSK4J2k785Vh4z8(5f`IpUrmbCS|2u{CHJn)tTsJqKI||1|ZkC%r%J z8cK6vJ<}CM1)_>^m5z^BU03mur8-#*SlFb$;dITUN%`gy#^3*;qiEEu%9)E+uQjg$ zr=UYoz~iup7;D=o4VQ5m#e5`M|ZIwyL5j4q)}MlFjL1?G}dAk4kn2 zmzcnKtgO=}vT6_rPN%&(?2PA)j(2Fy3W-=kanMPCEUCAOWjK|V1tD9GhFG*i@M`$9 z1+E~j_6k(L;RGvN(3RYF^lrG}Fu(cYWNv|x#l*HRy7$z@u2CHmo~Ci@t3!F%*Oaik z4LF-k@VVU{Ac!6=Imsmh*28(R`>AF4)me*Uo4XutN)_Up!`R@4W6q%44$hljXk3-A$;cVr(=60`d(oRJ@M_6YFv`)P}|6OQK9`fi#Vfud$@U(B)x%`~&^=(C>?}UfqX}j*lbL zxB}(ut6PrQ8}@z7gDD5P7NH5~dGrFho4HtZ>h#4eM|Xewg>mmY9FM;%?U|ZL#^<%! zSf9j7Dx2h&d{tpd5&&>u;HL_%s<_6Ct&NY43?uih(BOr`qt(p;Iw1$MQGM+(bcs33 zzgY9ZyVt(HX5ynZ1RmtZps&&Ih}_57PR)4v<$+tXGa5QRI)Bb$Dqku;vewMQ=2~wx z*Sava)^rYJt(m#TTK{gWb-TF!Uc1G3}(lA zkeAW%D+pWbHW(U8^%-0<2cp`H~9e5R%b!pWyNx4c&md?@Bu;a z_6-Yy%rh*@kd{ZXvu{(~a5lk{jkjr}BwdbgpP_XK1Ys^*7g@%xM7dCeD*6;1Ll<8g z^`Bed9caKTwi-UaXC3M$ee>~`KaoxukU2xfmy291;Y~;&@!eU1C=C;1L42A+nsEfqK+I_EB_k{khdQ9=P$vx6rLq z;UW0Zdn-_TSLDklk4>%K+otX6g|HxITlgB`P_&;091M1}=%GV7srb23PAWKfU>vHC z_2lRl>#;MA_TeF`l@(i0;~8gSyjJ6e80(o4r(d+@ncAcx^EtarJuPU`k9|6|Ndt}N zxC}jw^|AZ^Yp4I;ubqxx8zx|`&2G9j99!6OZJ2apZJdDqM7#~5{RF74d}}^OFmPmz0oF@!jX&d((+LMIp?Y~UDEo{-(iE^b8y*0Sf;NZ`ia;X`8p8!}ur@y*I zpMl3xVveOvV+}NY#+m3dz_@=JW65hi7TROV7|SrQs%0%TcB+B#E ztOiM^eWC~^+{)e_nRVhs9lv?c#Zv@G8Tg5E(l>uDrIiB;VF`&b(O&MkYnk0BZU5op z+`uhH$jt0#Q$^?fjd`wQo4QpHZ$I#!CiA{v%H}9Aw5uR?t`wr)Bu5nMUx>yPp9LRM zxk{)v$>qe~??J!66x0~~V^D9t8^2l2BK>2?&$AN^4rTnD72H7l{p*dNXZC|=KkM_f z*Uy!qT-nA8EaRZTH9MzhP*f#ZciJTlXw_j(1VF*IT~?xPhFYaYA(An|NF*QC_{|hp zh^EKFNYi0^wB!FN?MuL;Dzb&EZrywP_P%$gvvjA^=`4g0vNT~4(h!m~AwY-`X_l~u zMItBz7%+y&AR;3BmSGT45fK3qBcdV*2#5^BFg%AJ83z><1;;_h$3SxPs_Nd}0_yw! zKl!rs?dnsf>YS=NTb+aTwj0F7B#LmGcm~xl!`sd?S#8@-wbfAv(`qTkM9%$;@hkCr z!}zfTK|L|(QrrR|-1M4o=+-acmQNi^FyAU=q=KHhe~Tw&x6<+3w_v&Wv-nTyZYukc zSq_g7=aSfapXeptCU}v^Ml&!@6_MH{Dzll<^Q0^)ts$dCB$O;t!0aB0gN^RwR9``= zJ3m};8;$xw93@^AFT>8zy=Bpf*IwPdg=@K8e(A!wizgm_tYKzIrmQCUG(Z`Z(PmJ4 zGtpO4K$SmJZ?LNrDJiNXgbXT_>ahdCVDJchJQgE)kAO5T;Hn5($aTTI=(3Jv(~b4} znB;)%G>W8=-T|dr9yLSpMv65#qnVN}Gy7Tti|9}TX&pUs*Kd_P6Id8$YWA2yZ3a<0pc?)oXER1`W)t035C^Z^gCPF$J z%I>U8;;mM|YXF~4?ij`!OM@V}G#D@48IHCz8e_r*!njKp9_{%N^)xa99ZbjP2n`^? zZ!!I^-nxA9Y@NpNUCq?m5!cV3tN(+)=X+D0dV*esJ_;*|^FP2VZ!{{g>Th!~5?^{F;x)wVXReZ`pU^P08*I2h^Hu4mY3GDLL7z zw?c-21A`3HNv~H94C+~LVnxt<&+2ECEYX6r#~02}EEPPHljhhZfhjz^0=Voz%iD(* z%?-XhYVJvB`3$nJZQRwuFk>fA9sAwq=l}Kv!>rra_`7ja@_WCq=7ViZ54Z&TuC-50 zpZPdmm03qmT|6t2vGm7dG2nANjf}q)#UOpq8Wraky-eAxZ6L5NBqOB~L zXb?bjiS1t-i&w(eK&~E>EJ=|xHj=xCCcm-U*xE^>u8G4>UuMvnC2N}2Ej#V@Vb0j8GhYZ)9F}-! zusEOHOzrX*=Qyjwg0zCxV6i%Rce0*jZVCilE{Do4nT!k$OIgri{Y{+jF47T$Kiu%b zhRZEmD&GI@*mq~1c=XeY|Jd;S=1^shKQ4Z^hswQhY7@0A^%y?v4XHN8H3f-BbAw{P zM^GAp$qkh8ZY;wKLY&);_dqw&vLst7$*>T2cWu%RIo)Gdsqd~LrRBQ*1K@mX=+iEvp`3E%7dB7Bx45quSb4j2-F zU{7RSPKCmfm}tN(tXCsqxTV2Lcjqtezyu+52^af1+HsRcP98h@nmFqGMe%C1E%z*J zm^v}Ux5qzXTro!7a8AyJbYCCnPqSE645Ovl%d}P$@32@%a1S|Wc(nrYCSZu%0FM~Q zVsMrHEy*a_q#BuP?o)9X+qU?h|77Za7%{PSFYtr0c+suFCz&|m&FeK2 zYerrZYtCI@M4fEsY|DyFo-vqruGFwnp(a@tHT^(66CzX4r}2U$y;w`JIo%MaVRz ztsi_2PPhW^Z<+AXDDiW#RlFr$IdMn;Qtoh;QvP;?05OZw-3q;EwIa zR;)epN{+{y9j^!4s4Hjp=${MsNm)rk1QngTByK|c#7#A|?_WD-IdP0}@892cW!j{h zgnf>EEb+~F-2ZCKH)$kRRR?UzKw(Ts_TbYl)od`B2NGu|OUu%+NpTgyq+hRDYA%qj zP>0A9lJ?xm)OVjslH>Whz~xWe*wlRUkw?dWP`hLm+_7WVm2cq`s64t~yo4!r@{@O8 zev7S{wrzB2#jc|6lg561Xx^NgH5Ueb_0j70EkgWT1n+9BTb{=}MfTxTr-ju)L1(l$ z@cf$?x0?wB-EOtro>&&N8>sd7o+osKf>uv5#!?DMm9Uh8E9oL2Y=(r*;yGwO{@#Xv z-)sl-7oGj_FaPJwz{{JzU%7$V@W%Fy!;TGnwR!5oWOcU_i~lfWcVJOP8P!1qteadV zx(WPP(oI-L__>kjCh%KHH$nX+UAOHZtshM7xdsIs4XY)4Y}-Lv&yCt}$#d{!q=u+s zHh$h!s+|mX;ZI=g*coH@QSek}t(4nblKi>Z#z^gC+-4!Ix!zN%uM7oA4^NB0vEaUF zjQ}u0%4yy}p@ePG9bwFY`+frkX;TEEphV%)Ck$sAW)4Yz&I{|26b{wrN632Q71=(S zZ;a^b^)YiffwN0$d(SragvRjv2?V@H_Ntk+=ksx@s|x(QE<+N z?fNS?Mz(+1Vr=qT_{I<%w1V9UBnwzX5AFzOrJUOhF-Z}71jQ!;XJr^pK`b1hJPcuYYWQ1WIIGyb_r^yUABMA<12UX0vAza{Aq;0VyF-Rk5=$4#CxkBP5?%0IRs$&( z0VPMxH=z~fm;O>)b{n<3RDVNe9Tmp-L9lKd!fg$wl5vZR#f?84#%)b_j5!^~7=g2v z6MhrUT6WJbz!@Hfvn~uLrNdnDVL0p978y>D4sgbX;jHIa8BRtAIJz*L_2F?9b(r(< z;W>X0&-DnSye2yOoamej@|>r^2froMp{pdu_jFjSr}eq1Pl&Fg({fyRJ*^K&{Xq2j zsnA}9TIu@Akk`&BX@4+u^dU9NJ|xoStki3AWPM3+0%15K+rPcb)-Ba``8ni^f+Md| zD5+7lZgwwSTN(2DJ1FllrWiZu9=f&ya+~+$c})q=tCivsfwPi5EW>ex;aKUIB5-gU z8BS&x4#8&%U85QD`g`x5_>8A(G$6NWxeFgUH*}3=$m{Qb45w2JoE~(I2IMv&I6Wh9 z2yN*a&5+mKX=#nN-;wsj#HhI@^bXb8p>2;#YxGCDMmvY*d=&sp7Nvh@iMD8~L^mM< zYc6hMp!EMyZnIcAAA|_~_louK0Oh;R5`Q7dN4Xw9CpBEsNZl9ue3|5rz`RfDXj6X# zJqI>~@ou1eS|#)8=TZKP>mmOIJ_nZHJ!WDfr+8M$e0o9R)A$IU5}dOkIQSfBlGm;? zh87=C-l&p!?37H4#4s&7!dV%H6Y=r7DLxT6D+#@58&518%3~6oRb1me@oAtuRweV; zFW^IYEKfcMLU6jp!l67?CG*(nyUry_7s_LK@;R_UJ_im<=Rig*k2O#ptCD%_ONqxc zl*iISJce=OH&Yvau`FM>CE8`g(2kR89ZCN1IkPF{I{y-kVlewRVHCelVR&L;To1v( zJk%_~@N|UHEW;o?^m+6S8{#1hClH1+5=b%?limRi+3O@+;7GOuE@C~unYTzVDF3eu z%_%pFy)Au?^1mcg?!(V}(e>3`Za;-S-;8NcN9^xlxZM7_)E@WWi>{aM@>qvU>)IB< zaWm$JI=Wtl%VWJFt!qbQtQZb|md<;LOglz`ld9pF&cs`_c47DBmZ4UK|+bp_^4 zqw|a~RNI%_-y%0-2Dk1)Rpdv^UHa@&>Ni4%A*n^K0Cv9;DioYj04xGUr^Cte%<0`s zh53xatFhE}+u`@3!?ycj{G;vQ-_f7v>F0T#6%;IwKmSqq^U%&CkEsw&)cfY|C~Dr@ODGa=!A;%493gqW2`9Jdrk7INM4KIa~4>xsP@Onwg*Pk8` zFGAfnAcVv0&=`2Y0HuHwF=K!>vnP#7FNC_3lAXRuHXYY;Rs7dXXdY!F@!jY!vd}T; zK#Jd>&;kx|YAtKf^E!s)l*vDx7p?erGvn#-c%^Ca!2P}kJg#eEl{7!s(5I)MMf}_8 z$TY?Dp{0FjNFOSa#72cQB%4eAM=^a!qvhm5&!SWJHQeKyzY`Ch+agUNok{&w0zXT< zg)-?pYC)#o77IUWLSu*GjqPS}Vg1g2so%goT^EqQpZ=Hl-;lj&CsWPdl;|}d%ZeL# z3s8eT{#3{+1f_~+7z7ZhyQ)yB0c3d&uOi}0L!=5aC@PBF{0ZOg!z1*XJ!a0wp?u^; z8^j&?-}}T5U|-+&`EVFI;%s%H%g#SJ;S1szXQMsU}SE|%Hy}@X)YUFf4 zX3lQo5d(pe7ZeJiBB)nD9nu+1W{aBFXtkP(V5Jr+v|pZ6Tu(~c!r#xUU-Z;tk3Gd)e`dwXC5zXrB=I7P z+P~xlXrcMmJ>)*AGtQ*JfHZN)o0_0UN;EX+wkplw?gZ2reqj`R?=Sqns3I_+Vo)GZ z!DQe4U&DaGLrcrxWzPLDqHQ6G3N^oRv(SFKzJ(^sv&`t^-}z>_!rcDtNw zX=T=~S+yQ|SFF8y^~UG$D(UgPs=5!wdpXgsBgo>%xabBn&_r1JtyVQSE2yvF1F zD#SB*qZJe!J~WPovxJ(V9q;0>3QpWEUWM`7#Z62u+*2cN6<-<$cVifpF);AX!D1MY zi-w_u=}K4#nHsTqJB$~vZilsuT^u?Nj)FBcVx<&2hItWvMdK$}a-IX0=|*rAi7vJr z?{kRcGR21)x$KM(L)IHUjtHIdXz3-$EN|U@2#p}ld#*)_rA%iEnSd!?AP%c zU^Hs%Hl^8xbZ#K0$`4(=Ge^~-<)~+g5bv5l5GXDV5aNk%zW53(f9X|Bj}^<;tzEHV zwdnijXYlw9+LwVTXU=o);h8q#oh(@ip<2OWnGVmX*#tR`SL%%}BV)vBNU~1h3{{NG zk6}MKEriGFA@`&43%9SJkk>=ze8VB}G5G9z4dM~LAaxCMd(WOmrnv3&-f9X6+ycZUNsBpdm%YR4Vs$f79~a&uwmjgZoyM1&YU1qvH@jM!(+j^qQ^(tDk)4m9s^a zgGz>$`-V=SeBT4pYA-!Ill^)*k`i+*NM;ZvOtdpWijmw5hl|Bby|{-^dHwu0J&m`^ z!E@e%$7%y9pbN=g#u<|{SwYtsrCE{$yAF{;tzC06lZ_m!_5fGBnvR)drH$Qjq|<@A zhiOF~xr7g`J&ZzpnXV(@cTy4x{1VPyxMkJo`}Zx|_C=Ifl<$7#PWud^?- zUV1S5W!iQ3ClSgenDE&~XlHfm^)5m@6lZk_D2jNdjy`%Ox6UjJGNm2!JI-PM4DNE1AskDQFD*iW;cXrGiNV5l? zg@xkD>o2~D{B1j#?6z}oYcrN(g=W_Bu{iK!f=fBZWjLly3Yh2bZ?x(Kjm8z1pwcGA zGg`AXK7mj5sFR#Yl|e!8bUAaJA2?Yhaym5ej`+%;-r*qmk_H8V!fG*EjDv%gIJt&e z*c}yJbD?8J#{BSRL48q4H2En0wvdX9zCN&!B)uX(1>Kna$97db|Ktg{h?IF1>sK&8 z-MKk#nED|8`iwhSxv%)*+6~K^TdL0-Nn9|mdD(`>3m3>*BEIcWc&Qrb;ZXgAcfLkP2e*#1f$Ma8C2_Z35hPpprFf@m=KqkJ}8*Tb6`l2b977(*m3@& zPj@f%v?V*B$5#ZUj9nHRw6OGwjXOD9fs{Knq~Cxi#qT$4t!TJ)tB*KM{D*kszAqt3 zTetGQZ7;8RzIsdiwhWjL7u5_q|M?DaX-PR6b@fM@6Rq34=Njirc8>?r1O-fD4M2rWt=^(GN?gzXhC+nIVA-Q z3Z^K`x>f+s#s&-k8lS*nTtakj{Bzqn~IwoYgkC3#Rl)VAN`P26EjZ9Rwsoyn>~c%!zk231-jmK;=x?oNs>*%`nA9S&sEYDql1 zDb~<46k~a65~dtNoqJ(>-i%n3%2aqxN6tV z=2g2z_oj^-A1G^Ev;Cd@uRlDd%kY8kyjAyLg(OYf+4SQ3AH4ALyN9-1ym;YJII!iV z*ITll^jnm^d zpEIrUrJYN+ijywZ^(>e%echDW!*3tm_paU5oRkQUH}8CDjkx@PDE39vTP?ttwx{6tR!AZ){7)1X^=zCG%zL2ixC$@0C~H{cy`e)2BZ)ed^RU z*Ve6sKEs$x+y=~d9#8!VyoG}wshw*|uO3>OvUtYihqF2j&g?S~9Vr|c ziBB=N)pOT~;M`RoGnuEE3WEEEz3={IHOn7nt}vBNO>KMbMiTFj{jre9aHmZ?d`gZ} zy~HkM12lKM&z}&d(YjnLtFabVRhb%!(X50Sq-^Az6RQ# zeNJq9S={6+o!XT7hsT+v(CX_qTO>8l`nG?|S7Lo79Rg$_UuH1V03vq{d z@$exS55co#DVvt=C@Zf&gm!ASZL9gTLcAtk7ZDdL7R}gh-K9Whk|fR6#YiQgd$CLYjmMlKk(e3(SGXAOnxy znaz}Dx!VD=w$0vU8JBhY+*0tosg)9T+Y*{NDY50_8ZP^#Ym6o^%@#IngT;oQkN z(b^=Gv*WQvZ4dp#Hi#bn=zs20tiDx8^$*cQ?**&L%rgS1%}UDxsCsJ;W^~&=wzlZ+g-7!5{7iHy9T$F${>GCfs6kZH)o&oYzzN%pFsKFO6-lr$!(F^Nl}WoP5#45veN zX2Y*?vVbA(sNtyLBZFkjkt9YREmvZbi_6nEauj|XE;>)2!+>u=VcqILQ=oB_?}_fU z&Be2ZmrckoXzVdKQIPf>sxqmhR0P{)boSs@!q6(xW?b( zgXyjmm!qiX!MY@m$42=VG_$!Jx#9MJzX0KRH!2J&ty+aw4y!ja8cbvej4a1;RY6v% z#wVImDc}(+bCg4rGnA}S;&Z$=5V2VPPa;mJKoJ&w-Gx}~H`}Rn?6xxQrmbT|ST$KJ zV^mMQI1w`9&MELcxJUf91&Gbf>$h+aKvtpRG-?IL zLV=1%I=h_FABDq8v785e(5hsJ)RWtqgU+^jm`knM=xi(8RS&=ZP~0w_6^rmnWboJ{ zu+#lkh?P-33N|R>Au-7tqM@6W1Ux>s@RDXOwRtdH+y^|2x4z*YijI1*s+GbXk71W$ z8Hoc*eBLH9P{FZEVsQr~rLJ0~00K{ZL>x)opL2I+W@0MICo(u150BKqBVz9w7!bb} zzlILxbLNXSXPcY(9DXWhikbAh^5FA6lXu~Ba{$$c1~6ZTp0i7$o>xRYpBMFfNaVTV zk?`|$2@d%jcP9M)_3XGcx;^2;}BJ*ERRP-u}LVPNzjg zva&hilbp$(>@Ed`-FpQFkDdHb=b_&%8r3lHp`oK@ zJ_H{kIXr!8UErZ1qu?l@vU<}pJLTr}?$ftlN$IGEjL>9`b0j8p&KAgBbw#qfz}LNp zz_L(-x9}V})gk^x>g3=hJQ}axqem%?OjK`@El!cNh^CH;vDt`4I;)q&fcr?Q?R>1` zlky@ox|dkP$PbBU$3LO}$=`hWe;;{`f4F;SV_rE|C@rzfXF+pF%TAIuWe*H(i6nlw z8s;40{sg<${RhlA#OaRIwGDvAJC~tOya{#e+jaQs&WF&@+I7YZ<`6W@g~r?4XW%bh z#BV&mxUq5Z;>IVQ7H2KSU-0tIx|v-%_wG_xb7p?OE~%YzdX?vTN5Gnb#4N|KhN$wGj4B(I;{QbZ}+OJgWGW5<)oX|9B8PA`nD<1 zFkt1TO)FRZp?USOV@Jmo-=EuG;C20dLxXU9N^(llm(5w;a`CpRRu~3XiI0w%Af0{H z;$a2xK_TD-oj`YgqFwD}U91x#wb99S&dP9FbSX}q&Y6N3yldph#jK1`23)H7A}(C; zo7hb4p@ghDJgX>Lvl7wH*6P+_=)2B+Cl7e{ksXRF&?v+qh+HXLhI8ee{ zT8Fhhh+e&ulh-%5>WSfto4a?~TiG+mH?Uj(ndQC28%2Quef$Fgl1+-)K;@W1eilBe4N8oRMPtU9o=z=QqinV!6$*cB9lrA8BKz zIFAUod9Yo7S3Zk!F^kNx)W*QW5i>w|yc-l1;m-~SRd>&cIE7tGd@A&_3XsiQrt?7J z^Pc6}v5qho{6s%JvF&f|>w#h~)MIJI7lu!KMdY*pyLtJ){|x4#t?UJKi}wN@NcL;h z8Ww4gL9b>P;DaY8FaDF53VyUk6C>AXVoLvdOnsiu8hZcuTJ;6}U)c*A-wafG9-O#y z3#qL)i#^S(!)r^xa;^$70;5t23lJV%e3Ta-1G180VQ^NC=?nXati|k=%_}W^-t0$Z zepoB^Vpg^<#3y2$A1lNNs8z}ZEXaulL28UiFly~t!sVn=A6K^#Pof#LfbxNc)QoWg__n_%LUz2znnGeUIi+9D-mW%aKJWOID zFB4g*bufFO{U^Q=Xn=)MNom2~hC@6FTZ#XKc+({#Ls~j1D2oSVv!~0$5`Su(IpNW9 zO`CfEJiM{`{=73Ks~Xq~14mBk>v$`;;JFVcOtFr76!&qbn!O<2!hL9oAK9-`AwB*! zAJPi3eURC=*{xDnh4_yTzih3VIVcgsZyfjNw5d(i^Oshf@eO8gJ~<(C!E=tjlg5@F znL5e(@aXVZcJjCISdxI-Z$L^T{7YGHQtMcheKf<|$HKg~C*x>h!HuWULAUmSR%DfPG4k;C7P`9#=|${PjDH z2>~PEG;W~L05@`3bF4*HWc6F@0qY^BLqc(M_>jrUGUgkOl4U2C^d+vi@bWW9k3h^# z9Z=FQF{6`ik}$c-JFwIrPySa=er)!<2_v7J`)bcGiZ}C_3GT$q+{p_PQxdasr_UGn zlmv$ka_oL!>`NGTLZ>VIVa(%JkmT2y)R?i6U!@D6Lwbo;S!D8}INKakvaPMWJoo5` zS&vq(e?@3ijGpx16lIfYH}~_TTI=sdime+~R}2_f{@fqwJVp94lfDdUsD>Qri#w$2 z(3i{!i1bDBo0Fcto;hp8vD~r&>vt%d^aol@jp|ppOCx`0eQ2!sZR^`&?=!^6-^o@E>e<;pGyBtlKBa7;=9r(c(-MyGQo3Byz z$gRvwHJ1b@t&YNipI@7lIZ^3M%I8N2{YATsOnA&U6*|ltUQps!DM3ntJ^>m5Ac!Sm z7U47rgf9{zd|@Vh;fjmp3(ORwe~m9t3{|2TV^Vd5F(!Sr@l~NoF{*aLC}pF1JD-nP zBO`BoJ!Oq4v&3y{78dvEQ~b;_Amx?Lf+RxEM09H)AVG&LX2V!aHoTEW%zn9D?FICN zu!c43Zs*HO)(85e)K4kx+pUW?=UTT%`gI>rojvYR(+Yhyfo&1{!_(kPylzSTSfvtS zxt+sGkQR$7IeCUi*qJ$6Fx@e6j{|{atabE~t z4kq4Kn)3kfD&z(=3!z5MDxi{waZ=C`4fwH3$>9nL@nMn<^O>#J1;^kw=E7aa(4JQ( z#P?sm7H`Y=EU9b1&IZ^98uOFkx0nFQcjbsvS_cJ{X-GdPh$23u$jM9dNExL}Fi`>} z8xZf@_y$Wq{IzQkwHX#RHZ?AIvZ;~ri8ru}mJe;v41MA!;`I+cK6Bu}>C@7f@TtJG zuv6|aCd0kQ#Oom$Q_D4>NB^C3;X5aoq@&N?mpgwQ93;bIRd`JCAj@x8SR4$av&6HB z2}aeRpfL?P1_ue)(4Zoz;C-+U6S~$PiZf7fb~meP&4Nv@j?8>`QqA*~4Uc{K_?atB z`$Ump9^L^R^MgZuWtA0uo2OL2{)ajHAK$AYI1Cdvv)LF2dWSIqm`RB@tv!X$NJsX# zIQx)bT%0O3)j24bnx--g3aY%neityLBC+mpUMA_bdva7B0vpS0S-WSC_+R3Uf4@BX z&trFNKXAOU3D(S;`@rT2vraP*PYBVL897Cllx&dd!7@=CKADGVr8ioeSbl{yb0ZI^sj zQaJ+}x?(Ia6?%9DWM>?^**1pRaqXB`EwDm%rMNvoTn1;oh<3Er!K9uLbRRZTEW~p- z8_!`T#w8Kl=TFw7_;3shFb)a=z}sw?lr{se85HF2n!o6f7S?J3?x=)TWWGp93+e-z z^1nkUUKDTsytLxe5zlWE_x4yg#! z7!-t6 znIGvudpfe#}uZ=UHA$TmvWzUt15^@Qb2Hkso%B z%E3Se4zrmjoOh&{G|D3o=do%!awKmToxD(*#*(-i7QDFp&P$@R|H)yimjL;W0v-d2Q%CZ>Kc3!g$PdNF zOYaNe_aE$VM~%Ku?gY{Iv93m9GXI7bQtBLfEm6G#*Qdg2YXc${NkWMJUv z{kwvJflKyx$iHeXaR#6WGGJZ~0Ers~_W%F@c$|%w0Z1KJ7KZ;fb7$UEBuLg0q=+mc z62yJG*br>DgcT_wB0)qXWJ6X&BufyH5G0fmib#+UvV}B=$Py&`2w_*U*+RS7!XqrD zgi=CCZMT#zND!%n5=sf_tJCk?H!qvKjU>v?Kkv@HGxwbHpL6cGPgN3su2BjM`!pB6 zrMaj>1$SOk@jVSkTRNJ1pt<0ThQJ$cO#R$D8no&_@UHrTF4nZDfw57r2o8Y}&<;+3 zBcMOKKVtKPZXK{^fC=O9&uYjQG!^wrQJ+fDZp}vDsN_z99)5qO**H)smdpf4#m}km@1Oep5I&?`!Qph<;^^O9!_k_;$72>(d|J!-3!2UU75jLvwH$ng?H6@3K88lyv1N&8T+_1m-#|qN zmItQAs-3m_wYj-7)WBO>_xL#1>Tczn)eE%v^5no@?gj9YN+?Rg*3H}bg zCjC^$+)cNv&8R~+j77&-`w8|Oq9$jxC~jx}_#o;fHpIpE2=;C{kbhrE{&rv8qA55FJtTZf9txZa9yD~QHb7j>#GKZ|eLm~#pL-ImK==l4}= zMUz_CPeW4R_Xg{~qUW~j6|Xak^_oyb4QThp5OZs)p zzt`ezHP?K2LLZSgKaf9n!CHP(d+E)44>neU+$N$9N$KVR%Yn3|Y<~316nieA(IT2`iQZ;j#-?%8sc8jm z`aQ;-?CCe)q0jqbJPBW5&-N_S!%h6pdBxX-nm$*pZ|Hy3Yp|dN#*bFH`mU;9+%@%Z zuG#DJ15G^UYCjl!noaknJp->vq}=kZg0 z`57Fa-u{c@yCku1lZ@$`qLnE(!q_a=U0g3R@TvSC^M;ZPVSifAEvU&5wCR9x*qLFK z`0v&!*QQfpz}fVy=3ct5A^XO$Z=Yb5@0?W~L}zoky6uyko7+JH=mQ;~8x(9j?4|ac zN85bgP^XIi47j2L@hrSo2dQ~Q>hcIR@D=N+)Sn5?+`j{zz|P?#?lSM9fAgL7KI^;v zd39WE(Phnq1^VlG9nQX$j(EPJG0ust^d*m^t^!s3G;FZzU|s#-)e5Kg;n(1Av$0=f z_xtI8{oz_#%6`9AW$NiAr`!yfFa(R5udbl_}Uh*23OGZS-HA6gcO%8{Tl)Pw~NXlGu%{A9pbIv*E9BYla=9**9 zx#pa6t~u76bIrN--XHJZch7^tU>N_?gmGeye{uY>pVF4%Pnk*CPR&Y{rkYZnsgcwL zECvf=t=RYp!ikm>^Cz~_lxb6GTPGPLnw!=4ey zn92BlI`een>EP)#To%rXn>&L$1D!FR89K9<31&8C`ZK39mot-RNoUz-)n}*iDR?nH zfZsj`oLfBilfWl*6BY?;=b`iF^Hb-461Bu0;>rc$1@#5zg+vxUOOu6Ut!C~0D)|-p z*9NL&0jj8Kom1&j)70 zan5AUY)(99BPU76(3SKV`bT<#zC%CEP0uCgzRmrR8_QkI-OfE^q%+727DK|AV$3n( zjCIC0#!((FuRd=+Z#nO4UJ}3nc%T(<0KGsMmM1sz~77zU@o1#ku21osQD1^5D5L2-e!V5r~+GlNNCvY8c3 zEz`(sW5Ub;bCMZlE-+V^Tg)W$sE}VMFVq#93T=f*VSiz`@NMA^i^_snl`J(&$Fi_s zmY20!L@O#Tsw}E6G8T0dd5iYgHa5Z@WJlQV*bD5>>`nG}P6~&>p>miUF-OH|;utv{ zoF2{slm&s108&Ca$O6Go0E$3SC7tQDsC%Y zzCymzcBO}h<1O%3cw4-K5^M>+gi->Q@JjS0#*$#kQpp-WjSui!_yPVh|F~3KDl65L z>PnrZQ>C%e9RXh;7nlXGARq_}rUi?FFM=IGQgA3F3MoQ{kR{{^{lcIyBwQA*3O7VV z5k*ufQi}YdpeR&^DAW*D%-Q*PPepD#?}h%H=9{RYjGy%1~viLZlf|l{6}iNfXsTwV)cQ z?yVlIo~)jh5oBiBlx$x1S+-e&uOZdwYm7CPnwgpfd8XVfe{MP(iTqn~l{>Q3M*W>jh zy;Z+-JMFgow(hp&_HJ`abK-aD??)|f?uhP0?;IHT2GsE0u>A-A53x~e{Qjru&s7s> z>NaiO)!cR5joe*p#kZPTKitFLv)r@aL+-`RIJ4FqF(>a=-tW1;Xu()2EU;zv0pWq^ z!M@dDMXf<=%z9}3`LOt*{o#BYwoTRMZ~OF!_^A2OtPO8d+q|~Jzgqv=Y;S6BX}7f_ z?Hi9-kL`~aJJLE-9sM1vPpD5?pDfv_cEB#M%k4V5#olg*?E(9kJ=rPg)N~p;+dI+D zSDjOxM-G*v*UO2QbJ05f1dY=8rB1dhTB za2!s+TThFh!cS+PE;^}Bzw`Uw+P~j*W4fEV-*q29Q#}hk+wB2+T6g(G9o-ZlzoA zwz*Mv&^_jU?_P4Ry0_hjXgW$pS*Qfnpa!%Z^`m3xdvpo?jIN_Q=)MQ*$?||6kw@ie z_Oy9=JcFJ|&%9^Fv*p?MV!cE!;1zh4UY*zEwRxRhzc=ii_AYwAc(=U=zBC`n$MlJO zGN0CG^mX`pd;wp?7xl$_tG>(Gz$)BS3{)gSP`_pdxpd0zb7^n9Wh+so*+^%46h zeT+U?pSiE2Z?G>O$OxzdkwEMP>xJ{hhZjfv=Kl5moqzQId2RR8K|cPu^*j9bR%$7AEk@xw@CWH$0CvKILkIr=Z`5&ppd00961 z1FHav02TmO00jU701yB#09*h70RsT!00RI4c$}q_(P|Sx6o&t865G-$ZSg`xWR!v; z%_b=#B3@YAT7+Vu5%I#C>F#thHQ8NeC)D&E^c6%9q|e~B;3N15f?jy%mEymXscCH$ z(JV9j?d+NVoSbuJ0bC4H1Q`CVW5;uVIlS{chH-rKT)~y#j^`@of)}1^m=4~0K84xf zv*&Saj=lCgfwPrMo~Ll3l6#&;So!4nG{WjL&u4J0`pxqUCTq7n&tjtXn2`k4Nj`O4 zR3!(P$4k#+-2K6G1rPAWa~1PJ$8!zmf>)kT;d1ca^Eh4y-#t&@>eyG$Q@B~V;dvTQ zD$hNi#*^xK&u8$k`o{AN=4w|x&tj%_4=d0}I4s8=6k-St$!AH5kRita##wc^DzMM7 zh$dRR7RYO~$@sR*-2%&G!#(9Jooa>@A+VwoZS|gtMJ%lpQI-#kPC8cXi^XQEwIJ5A zEa@t-oS8f`(&{Ybt_?~l3JA0*m!fc_(4+7crMnCk8@WnFTc(9*tDfGoa2!)1(PINVe63ofqMO9^-{b(5Phod zWZMT#Bhy&)BnFFic0|egRKZ7s`|IZ&^?HmvY7@8meK?p%Jv_LDgK|6H77#IuVU_4BKSU}abZR)y7Ibyx$|gtcI8SO?aH^HigY#bJzkV!j{kpVTeE! zV$cO~NI()&uoY|#+rYN49c&LfKpHgA!2lC7FbO6@H%x)4Fb$@|4CsNGup`WZ+0YAp zuoKLIonbD_gI!=(*bR1vJz!7B!ZmO)90G^Jy>J?Q3WvdQa5S6?SHdMoa1=5e3@5|) z@Bm&U%*#zB+LgJ7QiqRpa>U03HE{!C_@EmP=$rC2tJ3! zuoRZS-mow119!lMus`ev2f%^wC43EcVG{;0h#_po7WfPP##V)$c{CL49>`dLIu~OMONo$B$D$7K5c{UsJ$$*8HNKXhS^_b>oNJ;8M2;28LYbu{FEpRnO zf6k718axQ5axBfg))HExDdT|asXg-&I60qY$uO>nYy#w*&)lr-f)x_av*3U@H4A=@5|sI_8nGI~N|sI+NTvcQXnwGr-C?4?3!y zGGeHL#2@xcGvq;{4+p#$S|AC#{xb|2kci!YBSRf@Zmj<@<043GY#@vQ0!ga$b1^R9 zg;fTu7?<$k*nS{G5ig1z2w>>oC4&3K7_xYg;DH;AEBJF8{kjZgyx7J-ECY;}{Ke`! zpTJ;=J1sew#^8$+kR-lfaK!PK4L)Ot#GNf8E-@0A#|h~wv{5D}ArnhmVX_f2f@zr8o{Z1%q`hYX;H4&>qZiEVqirzRe`X}m zW|_P!QhaI}_K8UXXdhU)GYk{)^{JYA!4M@1X)sFJYCGOw4y253Z7P&%at8&<4B zh^OlQ6}eYsz5V!Ys^CaNM}JY9XCjkEm;KFy=Fy@TioZ-8SA3%?SYs^RCX`=e=u}HFbTiKK=TNHb^_QF~{Ej)KAJfU< zLEodF*2&|+5b39M9%rL5bYY!>Y|K3Ugw7*dbS_;$C*Kw`LFd-VeT{CVi|Z7=#%$A% zcjqXhv*`TYdCHhkI%oIeMsyurw7Z}YvqEReJaR|x&_I9OZs+o$Vc&T0 zj_%>rgmKRu%|l}U@bgzT;&bQIa78z8`JZs5x>4K@7ehcOxy?{K=qSdvEb*7HgLPXl zyv|XmZMosEV2LYRF?jG%#BG`4)q)3$w|wwNa}v%(TdgmsnrV%wt$)^%(|V~eliB$t zDC)*ccIVPLEwboJVAD$x)bre~;%A!>)X+pU+wP|I%p+e$;QAsM#{vIR8pU&zr9>nA zW$N+HK_cQb=vW%@?dGYm#b|^ib*!gf4-ecJ>e-gS%lUSdg>7>2Hj(a?EJ<}lgH;l} z=Hiq$RfW2qOCyeUkopc3Z35gmWM1BB1M~DIS7_^EGo=MwX zJd8>JC-N@bW8MNM^DYvZ2yoKF1q{;%1 zr;ROcGvf$}DhpXmC?Q#8ag-TKNWw1EF=2#MEZ}Wsgs<dA@IpJnLOo1E0ch$@+$$wsMgW0sm)shZqx#?_TrsC9NHC@#FI>wS5ieb zNeHM{7sOk&iNz+a}s<%!C*%?kh?p692x&QG~yim9msslTz zm$JGS(^84DaV6V!lPly-w(^^zo51j?=rhGJi_wt^EuajL_Bg%7v z8Z-G;zZJV2qL#zcTE6mlm+9weB*^bqAd!%XB^SqSnKv#SS$hU#y@(wpN7n`l*SD8B z@9#Lh@*fVhzo*wZ;Bg7YzO<*I{H-Eu8mhugL^`(6(86JV;qAJ$Wm@D=gLd7R#Ip> z!3T{p)zvj2qA6A74*q{=iFAhdIms(=Laay*m0tZFBhIA8D35?{)k}HbUKIp3L)tkD zN`o}b6gwt_X6Qbxitl@@pzXWdpVrNP*m@Gl4SGc9nZBdN%~S$6aIP7tUWWu&kLbMJ z6RCnq(KN_m%FRTs9Ug7xTrO^Fa`yc@rR~~O{hUg=2GSl=x|Vat;BpX31H$>LW1Hx@ zPJU@}Xo+&} z;V=R4L#=O%CBL%8`>m@%6eQ2|A?g`(5drt=2>2@*=xRE>k-x@K%L)hL8W@MiD{UN zh#6#vFW=XglvNFqRtz;Z$*vx@7u2r3VCJ+?{WYr^YAh&SD{N0nS2TsFK{NRr?>~V) z7m%(J#vJnhLtmMitu=9PPp>;0^7cZbn+(L6Bj3t!@$t1T8OTC%X34cjXB0yXO>Aq2 zEu4ZK)E;L(g50lw$_Pr=2wRZM6-_PG95Np{+|Pqn2uN27E0D~8J8I6?m=eNJzScLn zX}{L@uF|Rj4#e8D6Ys$@HKco%!tSsiFs%h z#Hgrl`s{CS134NrY(u$^<)FzWmz|C`Wd09fL6b`<6NqUMB9kgvu z4E}c!XTwBpYS01(-zQ@^JkJnh|78?*mOuIP7EW6ke4m2l@)RN{$K7OhZ~nyq&_;t{ z*71&Bsha?r*dX@TJJCVSF;bH@WOTMO=I#{#@kCPa!V8#_EcqXV&;1WXT%mq7^7@)v~o&qUfsX zP2wOgm;S|rrWd@$@$uQIcOM|pMRO%_+ADGLN?YF9zgSv_a|^V;z3(nC2_FqEEQs>Y zSi(k{rTqQqF`h?rP%8W^)s<>9zM@mB7gn&lO*Q|{<}a|0jQ@e>PhS6t<1c)Y{~sUC zlp`Fn;w39~)Zb9UuI0YTD83leWs&mzI=zyN=sfdheU{>YEK_3)T8*Mi!TA}gDAY!V$P;5;MODuVF2w1}Z{C&(uSZ@h_aIkU(%QYS5g8nO&*F`4A_TB>Mc)yE%UL^gx3w${1TSX_o?za|Kc$aFlexc}k?TP6#*$|;Fk51M%X&&GHkp&GA6jx=cPL1e9DB?NDM~v#cPir*7__^x;JN zi<{qbl1^T0I>uRWOZ>E1x7pJ7SvPhI0~Thog`Q;c>^4`KCrQ~OTU?y99~J6jzpFLS zYnx(&G0b&|lDe7Ke6O_H1~7NWxFqM^oSp}QV5>il&BLbUJP!h4HSg2pwPiFzhqEL6 z#7?+AdK$?hZ;)QLN1C-pbe*gdg literal 0 HcmV?d00001 From de13c3b577292c2cf0cb754df9d4a8d121aa85a3 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Mon, 24 Aug 2015 09:51:09 +0200 Subject: [PATCH 067/329] make profile photos round --- core/css/styles.css | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/core/css/styles.css b/core/css/styles.css index 0bed45d092..6f5906c753 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -807,6 +807,18 @@ label.infield { .center { text-align:center; } .inlineblock { display: inline-block; } +/* round profile photos */ +.avatar, +.avatar img, +.avatardiv, +.avatardiv img { + border-radius: 50%; +} +td.avatar { + border-radius: 0; +} + + #notification-container { position: absolute; top: 0; From 5cf3170e89ddb9884e2a61c4a015d130fb294cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 25 Aug 2015 16:49:40 +0200 Subject: [PATCH 068/329] don't load gs-share --- apps/files_sharing/templates/settings-personal.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/files_sharing/templates/settings-personal.php b/apps/files_sharing/templates/settings-personal.php index 6221de405d..ae6b909df7 100644 --- a/apps/files_sharing/templates/settings-personal.php +++ b/apps/files_sharing/templates/settings-personal.php @@ -3,8 +3,10 @@ /** @var array $_ */ script('files_sharing', 'settings-personal'); style('files_sharing', 'settings-personal'); -script('files_sharing', '3rdparty/gs-share/gs-share'); -style('files_sharing', '3rdparty/gs-share/style'); +if ($_['showShareIT']) { + script('files_sharing', '3rdparty/gs-share/gs-share'); + style('files_sharing', '3rdparty/gs-share/style'); +} ?> From 63218ec098655f9d7630b16394818746736d2f77 Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Tue, 25 Aug 2015 14:51:47 +0100 Subject: [PATCH 069/329] Prevent objectstore being set from client side --- apps/files_external/controller/storagescontroller.php | 10 ++++++++++ apps/files_external/service/storagesservice.php | 8 ++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/apps/files_external/controller/storagescontroller.php b/apps/files_external/controller/storagescontroller.php index 3d91af8bd8..613f22c033 100644 --- a/apps/files_external/controller/storagescontroller.php +++ b/apps/files_external/controller/storagescontroller.php @@ -138,6 +138,16 @@ abstract class StoragesController extends Controller { ); } + if ($storage->getBackendOption('objectstore')) { + // objectstore must not be sent from client side + return new DataResponse( + array( + 'message' => (string)$this->l10n->t('Objectstore forbidden') + ), + Http::STATUS_UNPROCESSABLE_ENTITY + ); + } + /** @var Backend */ $backend = $storage->getBackend(); /** @var AuthMechanism */ diff --git a/apps/files_external/service/storagesservice.php b/apps/files_external/service/storagesservice.php index 3e2152741e..947e544d88 100644 --- a/apps/files_external/service/storagesservice.php +++ b/apps/files_external/service/storagesservice.php @@ -472,10 +472,14 @@ abstract class StoragesService { if (!isset($allStorages[$id])) { throw new NotFoundException('Storage with id "' . $id . '" not found'); } - $oldStorage = $allStorages[$id]; - $allStorages[$id] = $updatedStorage; + // ensure objectstore is persistent + if ($objectstore = $oldStorage->getBackendOption('objectstore')) { + $updatedStorage->setBackendOption('objectstore', $objectstore); + } + + $allStorages[$id] = $updatedStorage; $this->writeConfig($allStorages); $this->triggerChangeHooks($oldStorage, $updatedStorage); From f3561e2349e0a3bac44cda9716f5cd373799a9b9 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Tue, 25 Aug 2015 18:07:40 +0200 Subject: [PATCH 070/329] Explicitly specify status code 200 as response code Potentially fixes https://github.com/owncloud/core/issues/17586 --- lib/private/connector/sabre/dummygetresponseplugin.php | 1 + tests/lib/connector/sabre/DummyGetResponsePluginTest.php | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/lib/private/connector/sabre/dummygetresponseplugin.php b/lib/private/connector/sabre/dummygetresponseplugin.php index 6057236b63..6f5a009d08 100644 --- a/lib/private/connector/sabre/dummygetresponseplugin.php +++ b/lib/private/connector/sabre/dummygetresponseplugin.php @@ -61,6 +61,7 @@ class DummyGetResponsePlugin extends \Sabre\DAV\ServerPlugin { fwrite($stream, $string); rewind($stream); + $response->setStatus(200); $response->setBody($stream); return false; diff --git a/tests/lib/connector/sabre/DummyGetResponsePluginTest.php b/tests/lib/connector/sabre/DummyGetResponsePluginTest.php index fa8f069462..096c2c5f0d 100644 --- a/tests/lib/connector/sabre/DummyGetResponsePluginTest.php +++ b/tests/lib/connector/sabre/DummyGetResponsePluginTest.php @@ -59,6 +59,10 @@ class DummyGetResponsePluginTest extends TestCase { $response ->expects($this->once()) ->method('setBody'); + $response + ->expects($this->once()) + ->method('setStatus') + ->with(200); $this->assertSame(false, $this->dummyGetResponsePlugin->httpGet($request, $response)); } From 891673d9ea4d5301a26030f30ca7aeb5689c630b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Tue, 25 Aug 2015 18:22:12 +0200 Subject: [PATCH 071/329] Update slug --- l10n/.tx/config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/l10n/.tx/config b/l10n/.tx/config index 1d766d3463..875e1324db 100644 --- a/l10n/.tx/config +++ b/l10n/.tx/config @@ -14,7 +14,7 @@ source_file = templates/files.pot source_lang = en type = PO -[owncloud.settings] +[owncloud.settings-1] file_filter = /settings.po source_file = templates/settings.pot source_lang = en From 2171cc02c31c3629ee1c2fe5cdafd64500bb08b0 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Tue, 25 Aug 2015 12:39:10 -0400 Subject: [PATCH 072/329] [tx-robot] updated from transifex --- apps/encryption/l10n/pt_PT.js | 14 +++- apps/encryption/l10n/pt_PT.json | 14 +++- apps/encryption/l10n/zh_CN.js | 1 + apps/encryption/l10n/zh_CN.json | 1 + apps/files/l10n/af_ZA.js | 1 - apps/files/l10n/af_ZA.json | 1 - apps/files/l10n/ar.js | 9 ++- apps/files/l10n/ar.json | 9 ++- apps/files/l10n/ast.js | 10 +-- apps/files/l10n/ast.json | 10 +-- apps/files/l10n/az.js | 9 +-- apps/files/l10n/az.json | 9 +-- apps/files/l10n/bg_BG.js | 9 +-- apps/files/l10n/bg_BG.json | 9 +-- apps/files/l10n/bn_BD.js | 6 +- apps/files/l10n/bn_BD.json | 6 +- apps/files/l10n/bn_IN.js | 6 +- apps/files/l10n/bn_IN.json | 6 +- apps/files/l10n/bs.js | 9 +-- apps/files/l10n/bs.json | 9 +-- apps/files/l10n/ca.js | 10 +-- apps/files/l10n/ca.json | 10 +-- apps/files/l10n/cs_CZ.js | 13 +-- apps/files/l10n/cs_CZ.json | 13 +-- apps/files/l10n/cy_GB.js | 6 +- apps/files/l10n/cy_GB.json | 6 +- apps/files/l10n/da.js | 13 +-- apps/files/l10n/da.json | 13 +-- apps/files/l10n/de.js | 12 +-- apps/files/l10n/de.json | 12 +-- apps/files/l10n/de_AT.js | 5 +- apps/files/l10n/de_AT.json | 5 +- apps/files/l10n/de_DE.js | 10 +-- apps/files/l10n/de_DE.json | 10 +-- apps/files/l10n/el.js | 13 +-- apps/files/l10n/el.json | 13 +-- apps/files/l10n/en_GB.js | 10 +-- apps/files/l10n/en_GB.json | 10 +-- apps/files/l10n/eo.js | 8 +- apps/files/l10n/eo.json | 8 +- apps/files/l10n/es.js | 10 +-- apps/files/l10n/es.json | 10 +-- apps/files/l10n/es_AR.js | 8 +- apps/files/l10n/es_AR.json | 8 +- apps/files/l10n/es_CL.js | 1 - apps/files/l10n/es_CL.json | 1 - apps/files/l10n/es_MX.js | 8 +- apps/files/l10n/es_MX.json | 8 +- apps/files/l10n/et_EE.js | 17 ++-- apps/files/l10n/et_EE.json | 17 ++-- apps/files/l10n/eu.js | 9 +-- apps/files/l10n/eu.json | 9 +-- apps/files/l10n/fa.js | 6 +- apps/files/l10n/fa.json | 6 +- apps/files/l10n/fi_FI.js | 13 +-- apps/files/l10n/fi_FI.json | 13 +-- apps/files/l10n/fr.js | 13 +-- apps/files/l10n/fr.json | 13 +-- apps/files/l10n/gl.js | 12 +-- apps/files/l10n/gl.json | 12 +-- apps/files/l10n/he.js | 6 +- apps/files/l10n/he.json | 6 +- apps/files/l10n/hi.js | 1 + apps/files/l10n/hi.json | 1 + apps/files/l10n/hr.js | 9 +-- apps/files/l10n/hr.json | 9 +-- apps/files/l10n/hu_HU.js | 13 +-- apps/files/l10n/hu_HU.json | 13 +-- apps/files/l10n/hy.js | 5 +- apps/files/l10n/hy.json | 5 +- apps/files/l10n/ia.js | 4 +- apps/files/l10n/ia.json | 4 +- apps/files/l10n/id.js | 15 ++-- apps/files/l10n/id.json | 15 ++-- apps/files/l10n/is.js | 7 +- apps/files/l10n/is.json | 7 +- apps/files/l10n/it.js | 13 +-- apps/files/l10n/it.json | 13 +-- apps/files/l10n/ja.js | 15 ++-- apps/files/l10n/ja.json | 15 ++-- apps/files/l10n/ka_GE.js | 6 +- apps/files/l10n/ka_GE.json | 6 +- apps/files/l10n/km.js | 5 +- apps/files/l10n/km.json | 5 +- apps/files/l10n/kn.js | 6 +- apps/files/l10n/kn.json | 6 +- apps/files/l10n/ko.js | 10 +-- apps/files/l10n/ko.json | 10 +-- apps/files/l10n/ku_IQ.js | 1 + apps/files/l10n/ku_IQ.json | 1 + apps/files/l10n/lb.js | 5 +- apps/files/l10n/lb.json | 5 +- apps/files/l10n/lt_LT.js | 10 +-- apps/files/l10n/lt_LT.json | 10 +-- apps/files/l10n/lv.js | 9 +-- apps/files/l10n/lv.json | 9 +-- apps/files/l10n/mk.js | 8 +- apps/files/l10n/mk.json | 8 +- apps/files/l10n/ms_MY.js | 4 +- apps/files/l10n/ms_MY.json | 4 +- apps/files/l10n/nb_NO.js | 10 +-- apps/files/l10n/nb_NO.json | 10 +-- apps/files/l10n/nl.js | 13 +-- apps/files/l10n/nl.json | 13 +-- apps/files/l10n/nn_NO.js | 8 +- apps/files/l10n/nn_NO.json | 8 +- apps/files/l10n/oc.js | 10 +-- apps/files/l10n/oc.json | 10 +-- apps/files/l10n/pa.js | 5 +- apps/files/l10n/pa.json | 5 +- apps/files/l10n/pl.js | 10 +-- apps/files/l10n/pl.json | 10 +-- apps/files/l10n/pt_BR.js | 13 +-- apps/files/l10n/pt_BR.json | 13 +-- apps/files/l10n/pt_PT.js | 10 +-- apps/files/l10n/pt_PT.json | 10 +-- apps/files/l10n/ro.js | 9 +-- apps/files/l10n/ro.json | 9 +-- apps/files/l10n/ru.js | 13 +-- apps/files/l10n/ru.json | 13 +-- apps/files/l10n/si_LK.js | 5 +- apps/files/l10n/si_LK.json | 5 +- apps/files/l10n/sk_SK.js | 10 +-- apps/files/l10n/sk_SK.json | 10 +-- apps/files/l10n/sl.js | 10 +-- apps/files/l10n/sl.json | 10 +-- apps/files/l10n/sq.js | 8 +- apps/files/l10n/sq.json | 8 +- apps/files/l10n/sr.js | 10 +-- apps/files/l10n/sr.json | 10 +-- apps/files/l10n/sr@latin.js | 8 +- apps/files/l10n/sr@latin.json | 8 +- apps/files/l10n/sv.js | 9 +-- apps/files/l10n/sv.json | 9 +-- apps/files/l10n/ta_LK.js | 6 +- apps/files/l10n/ta_LK.json | 6 +- apps/files/l10n/te.js | 5 +- apps/files/l10n/te.json | 5 +- apps/files/l10n/th_TH.js | 21 ++--- apps/files/l10n/th_TH.json | 21 ++--- apps/files/l10n/tr.js | 10 +-- apps/files/l10n/tr.json | 10 +-- apps/files/l10n/ug.js | 6 +- apps/files/l10n/ug.json | 6 +- apps/files/l10n/uk.js | 10 +-- apps/files/l10n/uk.json | 10 +-- apps/files/l10n/ur_PK.js | 6 +- apps/files/l10n/ur_PK.json | 6 +- apps/files/l10n/vi.js | 8 +- apps/files/l10n/vi.json | 8 +- apps/files/l10n/zh_CN.js | 10 +-- apps/files/l10n/zh_CN.json | 10 +-- apps/files/l10n/zh_HK.js | 7 +- apps/files/l10n/zh_HK.json | 7 +- apps/files/l10n/zh_TW.js | 22 +++-- apps/files/l10n/zh_TW.json | 22 +++-- apps/files_external/l10n/af_ZA.js | 4 +- apps/files_external/l10n/af_ZA.json | 4 +- apps/files_external/l10n/ar.js | 29 ++++--- apps/files_external/l10n/ar.json | 29 ++++--- apps/files_external/l10n/ast.js | 63 +++++++-------- apps/files_external/l10n/ast.json | 63 +++++++-------- apps/files_external/l10n/az.js | 62 +++++++------- apps/files_external/l10n/az.json | 62 +++++++------- apps/files_external/l10n/bg_BG.js | 64 +++++++-------- apps/files_external/l10n/bg_BG.json | 64 +++++++-------- apps/files_external/l10n/bn_BD.js | 42 +++++----- apps/files_external/l10n/bn_BD.json | 42 +++++----- apps/files_external/l10n/bn_IN.js | 4 +- apps/files_external/l10n/bn_IN.json | 4 +- apps/files_external/l10n/bs.js | 11 ++- apps/files_external/l10n/bs.json | 11 ++- apps/files_external/l10n/ca.js | 63 +++++++-------- apps/files_external/l10n/ca.json | 63 +++++++-------- apps/files_external/l10n/cs_CZ.js | 64 +++++++-------- apps/files_external/l10n/cs_CZ.json | 64 +++++++-------- apps/files_external/l10n/cy_GB.js | 8 +- apps/files_external/l10n/cy_GB.json | 8 +- apps/files_external/l10n/da.js | 64 +++++++-------- apps/files_external/l10n/da.json | 64 +++++++-------- apps/files_external/l10n/de.js | 64 +++++++-------- apps/files_external/l10n/de.json | 64 +++++++-------- apps/files_external/l10n/de_AT.js | 8 +- apps/files_external/l10n/de_AT.json | 8 +- apps/files_external/l10n/de_DE.js | 64 +++++++-------- apps/files_external/l10n/de_DE.json | 64 +++++++-------- apps/files_external/l10n/el.js | 64 +++++++-------- apps/files_external/l10n/el.json | 64 +++++++-------- apps/files_external/l10n/en_GB.js | 64 +++++++-------- apps/files_external/l10n/en_GB.json | 64 +++++++-------- apps/files_external/l10n/eo.js | 54 ++++++------- apps/files_external/l10n/eo.json | 54 ++++++------- apps/files_external/l10n/es.js | 64 +++++++-------- apps/files_external/l10n/es.json | 64 +++++++-------- apps/files_external/l10n/es_AR.js | 26 +++--- apps/files_external/l10n/es_AR.json | 26 +++--- apps/files_external/l10n/es_CL.js | 2 +- apps/files_external/l10n/es_CL.json | 2 +- apps/files_external/l10n/es_MX.js | 20 +++-- apps/files_external/l10n/es_MX.json | 20 +++-- apps/files_external/l10n/et_EE.js | 64 +++++++-------- apps/files_external/l10n/et_EE.json | 64 +++++++-------- apps/files_external/l10n/eu.js | 62 +++++++------- apps/files_external/l10n/eu.json | 62 +++++++------- apps/files_external/l10n/fa.js | 26 +++--- apps/files_external/l10n/fa.json | 26 +++--- apps/files_external/l10n/fi_FI.js | 55 ++++++------- apps/files_external/l10n/fi_FI.json | 55 ++++++------- apps/files_external/l10n/fr.js | 64 +++++++-------- apps/files_external/l10n/fr.json | 64 +++++++-------- apps/files_external/l10n/gl.js | 64 +++++++-------- apps/files_external/l10n/gl.json | 64 +++++++-------- apps/files_external/l10n/he.js | 26 +++--- apps/files_external/l10n/he.json | 26 +++--- apps/files_external/l10n/hi.js | 4 +- apps/files_external/l10n/hi.json | 4 +- apps/files_external/l10n/hr.js | 62 +++++++------- apps/files_external/l10n/hr.json | 62 +++++++------- apps/files_external/l10n/hu_HU.js | 53 ++++++------ apps/files_external/l10n/hu_HU.json | 53 ++++++------ apps/files_external/l10n/ia.js | 8 +- apps/files_external/l10n/ia.json | 8 +- apps/files_external/l10n/id.js | 64 +++++++-------- apps/files_external/l10n/id.json | 64 +++++++-------- apps/files_external/l10n/is.js | 19 +++-- apps/files_external/l10n/is.json | 19 +++-- apps/files_external/l10n/it.js | 64 +++++++-------- apps/files_external/l10n/it.json | 64 +++++++-------- apps/files_external/l10n/ja.js | 69 ++++++++-------- apps/files_external/l10n/ja.json | 69 ++++++++-------- apps/files_external/l10n/ka_GE.js | 24 +++--- apps/files_external/l10n/ka_GE.json | 24 +++--- apps/files_external/l10n/km.js | 21 ++--- apps/files_external/l10n/km.json | 21 ++--- apps/files_external/l10n/kn.js | 12 +-- apps/files_external/l10n/kn.json | 12 +-- apps/files_external/l10n/ko.js | 63 +++++++-------- apps/files_external/l10n/ko.json | 63 +++++++-------- apps/files_external/l10n/ku_IQ.js | 5 +- apps/files_external/l10n/ku_IQ.json | 5 +- apps/files_external/l10n/lb.js | 13 +-- apps/files_external/l10n/lb.json | 13 +-- apps/files_external/l10n/lt_LT.js | 24 +++--- apps/files_external/l10n/lt_LT.json | 24 +++--- apps/files_external/l10n/lv.js | 22 ++--- apps/files_external/l10n/lv.json | 22 ++--- apps/files_external/l10n/mk.js | 26 +++--- apps/files_external/l10n/mk.json | 26 +++--- apps/files_external/l10n/mn.js | 4 +- apps/files_external/l10n/mn.json | 4 +- apps/files_external/l10n/ms_MY.js | 9 ++- apps/files_external/l10n/ms_MY.json | 9 ++- apps/files_external/l10n/my_MM.js | 4 +- apps/files_external/l10n/my_MM.json | 4 +- apps/files_external/l10n/nb_NO.js | 64 +++++++-------- apps/files_external/l10n/nb_NO.json | 64 +++++++-------- apps/files_external/l10n/nl.js | 64 +++++++-------- apps/files_external/l10n/nl.json | 64 +++++++-------- apps/files_external/l10n/nn_NO.js | 12 +-- apps/files_external/l10n/nn_NO.json | 12 +-- apps/files_external/l10n/oc.js | 62 +++++++------- apps/files_external/l10n/oc.json | 62 +++++++------- apps/files_external/l10n/pa.js | 3 +- apps/files_external/l10n/pa.json | 3 +- apps/files_external/l10n/pl.js | 64 +++++++-------- apps/files_external/l10n/pl.json | 64 +++++++-------- apps/files_external/l10n/pt_BR.js | 64 +++++++-------- apps/files_external/l10n/pt_BR.json | 64 +++++++-------- apps/files_external/l10n/pt_PT.js | 64 +++++++-------- apps/files_external/l10n/pt_PT.json | 64 +++++++-------- apps/files_external/l10n/ro.js | 35 ++++---- apps/files_external/l10n/ro.json | 35 ++++---- apps/files_external/l10n/ru.js | 64 +++++++-------- apps/files_external/l10n/ru.json | 64 +++++++-------- apps/files_external/l10n/si_LK.js | 21 +++-- apps/files_external/l10n/si_LK.json | 21 +++-- apps/files_external/l10n/sk_SK.js | 64 +++++++-------- apps/files_external/l10n/sk_SK.json | 64 +++++++-------- apps/files_external/l10n/sl.js | 64 +++++++-------- apps/files_external/l10n/sl.json | 64 +++++++-------- apps/files_external/l10n/sq.js | 12 +-- apps/files_external/l10n/sq.json | 12 +-- apps/files_external/l10n/sr.js | 63 +++++++-------- apps/files_external/l10n/sr.json | 63 +++++++-------- apps/files_external/l10n/sr@latin.js | 61 ++++++-------- apps/files_external/l10n/sr@latin.json | 61 ++++++-------- apps/files_external/l10n/sv.js | 64 +++++++-------- apps/files_external/l10n/sv.json | 64 +++++++-------- apps/files_external/l10n/ta_LK.js | 21 +++-- apps/files_external/l10n/ta_LK.json | 21 +++-- apps/files_external/l10n/te.js | 2 +- apps/files_external/l10n/te.json | 2 +- apps/files_external/l10n/th_TH.js | 63 +++++++-------- apps/files_external/l10n/th_TH.json | 63 +++++++-------- apps/files_external/l10n/tr.js | 64 +++++++-------- apps/files_external/l10n/tr.json | 64 +++++++-------- apps/files_external/l10n/ug.js | 13 +-- apps/files_external/l10n/ug.json | 13 +-- apps/files_external/l10n/uk.js | 64 +++++++-------- apps/files_external/l10n/uk.json | 64 +++++++-------- apps/files_external/l10n/ur_PK.js | 6 +- apps/files_external/l10n/ur_PK.json | 6 +- apps/files_external/l10n/vi.js | 28 +++---- apps/files_external/l10n/vi.json | 28 +++---- apps/files_external/l10n/zh_CN.js | 44 +++++----- apps/files_external/l10n/zh_CN.json | 44 +++++----- apps/files_external/l10n/zh_HK.js | 10 ++- apps/files_external/l10n/zh_HK.json | 10 ++- apps/files_external/l10n/zh_TW.js | 33 ++++---- apps/files_external/l10n/zh_TW.json | 33 ++++---- apps/files_sharing/l10n/af_ZA.js | 1 - apps/files_sharing/l10n/af_ZA.json | 1 - apps/files_sharing/l10n/ar.js | 2 +- apps/files_sharing/l10n/ar.json | 2 +- apps/files_sharing/l10n/ast.js | 2 +- apps/files_sharing/l10n/ast.json | 2 +- apps/files_sharing/l10n/az.js | 2 +- apps/files_sharing/l10n/az.json | 2 +- apps/files_sharing/l10n/bg_BG.js | 2 +- apps/files_sharing/l10n/bg_BG.json | 2 +- apps/files_sharing/l10n/bn_BD.js | 2 +- apps/files_sharing/l10n/bn_BD.json | 2 +- apps/files_sharing/l10n/bn_IN.js | 1 - apps/files_sharing/l10n/bn_IN.json | 1 - apps/files_sharing/l10n/bs.js | 2 +- apps/files_sharing/l10n/bs.json | 2 +- apps/files_sharing/l10n/ca.js | 5 +- apps/files_sharing/l10n/ca.json | 5 +- apps/files_sharing/l10n/cs_CZ.js | 2 +- apps/files_sharing/l10n/cs_CZ.json | 2 +- apps/files_sharing/l10n/cy_GB.js | 1 - apps/files_sharing/l10n/cy_GB.json | 1 - apps/files_sharing/l10n/da.js | 2 +- apps/files_sharing/l10n/da.json | 2 +- apps/files_sharing/l10n/de.js | 2 +- apps/files_sharing/l10n/de.json | 2 +- apps/files_sharing/l10n/de_AT.js | 1 - apps/files_sharing/l10n/de_AT.json | 1 - apps/files_sharing/l10n/de_DE.js | 2 +- apps/files_sharing/l10n/de_DE.json | 2 +- apps/files_sharing/l10n/el.js | 2 +- apps/files_sharing/l10n/el.json | 2 +- apps/files_sharing/l10n/en_GB.js | 2 +- apps/files_sharing/l10n/en_GB.json | 2 +- apps/files_sharing/l10n/eo.js | 2 +- apps/files_sharing/l10n/eo.json | 2 +- apps/files_sharing/l10n/es.js | 2 +- apps/files_sharing/l10n/es.json | 2 +- apps/files_sharing/l10n/es_AR.js | 2 +- apps/files_sharing/l10n/es_AR.json | 2 +- apps/files_sharing/l10n/es_CL.js | 1 - apps/files_sharing/l10n/es_CL.json | 1 - apps/files_sharing/l10n/es_MX.js | 2 +- apps/files_sharing/l10n/es_MX.json | 2 +- apps/files_sharing/l10n/et_EE.js | 3 +- apps/files_sharing/l10n/et_EE.json | 3 +- apps/files_sharing/l10n/eu.js | 2 +- apps/files_sharing/l10n/eu.json | 2 +- apps/files_sharing/l10n/fa.js | 2 +- apps/files_sharing/l10n/fa.json | 2 +- apps/files_sharing/l10n/fi_FI.js | 2 +- apps/files_sharing/l10n/fi_FI.json | 2 +- apps/files_sharing/l10n/fr.js | 2 +- apps/files_sharing/l10n/fr.json | 2 +- apps/files_sharing/l10n/gl.js | 2 +- apps/files_sharing/l10n/gl.json | 2 +- apps/files_sharing/l10n/he.js | 2 +- apps/files_sharing/l10n/he.json | 2 +- apps/files_sharing/l10n/hi.js | 1 - apps/files_sharing/l10n/hi.json | 1 - apps/files_sharing/l10n/hr.js | 2 +- apps/files_sharing/l10n/hr.json | 2 +- apps/files_sharing/l10n/hu_HU.js | 2 +- apps/files_sharing/l10n/hu_HU.json | 2 +- apps/files_sharing/l10n/ia.js | 1 - apps/files_sharing/l10n/ia.json | 1 - apps/files_sharing/l10n/id.js | 2 +- apps/files_sharing/l10n/id.json | 2 +- apps/files_sharing/l10n/is.js | 3 +- apps/files_sharing/l10n/is.json | 3 +- apps/files_sharing/l10n/it.js | 2 +- apps/files_sharing/l10n/it.json | 2 +- apps/files_sharing/l10n/ja.js | 16 ++-- apps/files_sharing/l10n/ja.json | 16 ++-- apps/files_sharing/l10n/ka_GE.js | 2 +- apps/files_sharing/l10n/ka_GE.json | 2 +- apps/files_sharing/l10n/km.js | 2 +- apps/files_sharing/l10n/km.json | 2 +- apps/files_sharing/l10n/kn.js | 2 +- apps/files_sharing/l10n/kn.json | 2 +- apps/files_sharing/l10n/ko.js | 2 +- apps/files_sharing/l10n/ko.json | 2 +- apps/files_sharing/l10n/ku_IQ.js | 1 - apps/files_sharing/l10n/ku_IQ.json | 1 - apps/files_sharing/l10n/lb.js | 1 - apps/files_sharing/l10n/lb.json | 1 - apps/files_sharing/l10n/lo.js | 6 ++ apps/files_sharing/l10n/lo.json | 4 + apps/files_sharing/l10n/lt_LT.js | 2 +- apps/files_sharing/l10n/lt_LT.json | 2 +- apps/files_sharing/l10n/lv.js | 2 +- apps/files_sharing/l10n/lv.json | 2 +- apps/files_sharing/l10n/mk.js | 2 +- apps/files_sharing/l10n/mk.json | 2 +- apps/files_sharing/l10n/mn.js | 2 +- apps/files_sharing/l10n/mn.json | 2 +- apps/files_sharing/l10n/ms_MY.js | 1 - apps/files_sharing/l10n/ms_MY.json | 1 - apps/files_sharing/l10n/nb_NO.js | 2 +- apps/files_sharing/l10n/nb_NO.json | 2 +- apps/files_sharing/l10n/nl.js | 2 +- apps/files_sharing/l10n/nl.json | 2 +- apps/files_sharing/l10n/nn_NO.js | 2 +- apps/files_sharing/l10n/nn_NO.json | 2 +- apps/files_sharing/l10n/oc.js | 2 +- apps/files_sharing/l10n/oc.json | 2 +- apps/files_sharing/l10n/pa.js | 1 - apps/files_sharing/l10n/pa.json | 1 - apps/files_sharing/l10n/pl.js | 2 +- apps/files_sharing/l10n/pl.json | 2 +- apps/files_sharing/l10n/pt_BR.js | 2 +- apps/files_sharing/l10n/pt_BR.json | 2 +- apps/files_sharing/l10n/pt_PT.js | 2 +- apps/files_sharing/l10n/pt_PT.json | 2 +- apps/files_sharing/l10n/ro.js | 2 +- apps/files_sharing/l10n/ro.json | 2 +- apps/files_sharing/l10n/ru.js | 2 +- apps/files_sharing/l10n/ru.json | 2 +- apps/files_sharing/l10n/si_LK.js | 2 +- apps/files_sharing/l10n/si_LK.json | 2 +- apps/files_sharing/l10n/sk_SK.js | 2 +- apps/files_sharing/l10n/sk_SK.json | 2 +- apps/files_sharing/l10n/sl.js | 2 +- apps/files_sharing/l10n/sl.json | 2 +- apps/files_sharing/l10n/sq.js | 2 +- apps/files_sharing/l10n/sq.json | 2 +- apps/files_sharing/l10n/sr.js | 2 +- apps/files_sharing/l10n/sr.json | 2 +- apps/files_sharing/l10n/sr@latin.js | 1 - apps/files_sharing/l10n/sr@latin.json | 1 - apps/files_sharing/l10n/sv.js | 2 +- apps/files_sharing/l10n/sv.json | 2 +- apps/files_sharing/l10n/ta_LK.js | 1 - apps/files_sharing/l10n/ta_LK.json | 1 - apps/files_sharing/l10n/th_TH.js | 2 +- apps/files_sharing/l10n/th_TH.json | 2 +- apps/files_sharing/l10n/tr.js | 2 +- apps/files_sharing/l10n/tr.json | 2 +- apps/files_sharing/l10n/ug.js | 2 +- apps/files_sharing/l10n/ug.json | 2 +- apps/files_sharing/l10n/uk.js | 2 +- apps/files_sharing/l10n/uk.json | 2 +- apps/files_sharing/l10n/ur_PK.js | 1 - apps/files_sharing/l10n/ur_PK.json | 1 - apps/files_sharing/l10n/vi.js | 2 +- apps/files_sharing/l10n/vi.json | 2 +- apps/files_sharing/l10n/zh_CN.js | 11 ++- apps/files_sharing/l10n/zh_CN.json | 11 ++- apps/files_sharing/l10n/zh_HK.js | 2 +- apps/files_sharing/l10n/zh_HK.json | 2 +- apps/files_sharing/l10n/zh_TW.js | 3 +- apps/files_sharing/l10n/zh_TW.json | 3 +- apps/files_trashbin/l10n/is.js | 2 +- apps/files_trashbin/l10n/is.json | 2 +- apps/files_trashbin/l10n/zh_TW.js | 2 + apps/files_trashbin/l10n/zh_TW.json | 2 + apps/files_versions/l10n/is.js | 2 +- apps/files_versions/l10n/is.json | 2 +- apps/user_ldap/l10n/ast.js | 1 - apps/user_ldap/l10n/ast.json | 1 - apps/user_ldap/l10n/bg_BG.js | 1 - apps/user_ldap/l10n/bg_BG.json | 1 - apps/user_ldap/l10n/bn_BD.js | 1 - apps/user_ldap/l10n/bn_BD.json | 1 - apps/user_ldap/l10n/ca.js | 1 - apps/user_ldap/l10n/ca.json | 1 - apps/user_ldap/l10n/cs_CZ.js | 1 - apps/user_ldap/l10n/cs_CZ.json | 1 - apps/user_ldap/l10n/da.js | 1 - apps/user_ldap/l10n/da.json | 1 - apps/user_ldap/l10n/de.js | 1 - apps/user_ldap/l10n/de.json | 1 - apps/user_ldap/l10n/de_DE.js | 1 - apps/user_ldap/l10n/de_DE.json | 1 - apps/user_ldap/l10n/el.js | 1 - apps/user_ldap/l10n/el.json | 1 - apps/user_ldap/l10n/en_GB.js | 1 - apps/user_ldap/l10n/en_GB.json | 1 - apps/user_ldap/l10n/es.js | 1 - apps/user_ldap/l10n/es.json | 1 - apps/user_ldap/l10n/es_AR.js | 1 - apps/user_ldap/l10n/es_AR.json | 1 - apps/user_ldap/l10n/et_EE.js | 1 - apps/user_ldap/l10n/et_EE.json | 1 - apps/user_ldap/l10n/eu.js | 1 - apps/user_ldap/l10n/eu.json | 1 - apps/user_ldap/l10n/fi_FI.js | 1 - apps/user_ldap/l10n/fi_FI.json | 1 - apps/user_ldap/l10n/fr.js | 3 +- apps/user_ldap/l10n/fr.json | 3 +- apps/user_ldap/l10n/gl.js | 1 - apps/user_ldap/l10n/gl.json | 1 - apps/user_ldap/l10n/hu_HU.js | 1 - apps/user_ldap/l10n/hu_HU.json | 1 - apps/user_ldap/l10n/id.js | 3 +- apps/user_ldap/l10n/id.json | 3 +- apps/user_ldap/l10n/is.js | 2 +- apps/user_ldap/l10n/is.json | 2 +- apps/user_ldap/l10n/it.js | 1 - apps/user_ldap/l10n/it.json | 1 - apps/user_ldap/l10n/ja.js | 1 - apps/user_ldap/l10n/ja.json | 1 - apps/user_ldap/l10n/ko.js | 1 - apps/user_ldap/l10n/ko.json | 1 - apps/user_ldap/l10n/nb_NO.js | 1 - apps/user_ldap/l10n/nb_NO.json | 1 - apps/user_ldap/l10n/nl.js | 1 - apps/user_ldap/l10n/nl.json | 1 - apps/user_ldap/l10n/pl.js | 1 - apps/user_ldap/l10n/pl.json | 1 - apps/user_ldap/l10n/pt_BR.js | 1 - apps/user_ldap/l10n/pt_BR.json | 1 - apps/user_ldap/l10n/pt_PT.js | 1 - apps/user_ldap/l10n/pt_PT.json | 1 - apps/user_ldap/l10n/ru.js | 1 - apps/user_ldap/l10n/ru.json | 1 - apps/user_ldap/l10n/sk_SK.js | 1 - apps/user_ldap/l10n/sk_SK.json | 1 - apps/user_ldap/l10n/sl.js | 1 - apps/user_ldap/l10n/sl.json | 1 - apps/user_ldap/l10n/sr.js | 1 - apps/user_ldap/l10n/sr.json | 1 - apps/user_ldap/l10n/sv.js | 1 - apps/user_ldap/l10n/sv.json | 1 - apps/user_ldap/l10n/th_TH.js | 1 - apps/user_ldap/l10n/th_TH.json | 1 - apps/user_ldap/l10n/tr.js | 1 - apps/user_ldap/l10n/tr.json | 1 - apps/user_ldap/l10n/uk.js | 1 - apps/user_ldap/l10n/uk.json | 1 - apps/user_webdavauth/l10n/is.js | 2 +- apps/user_webdavauth/l10n/is.json | 2 +- core/l10n/af_ZA.js | 2 +- core/l10n/af_ZA.json | 2 +- core/l10n/ar.js | 21 ++++- core/l10n/ar.json | 21 ++++- core/l10n/ast.js | 24 +++++- core/l10n/ast.json | 24 +++++- core/l10n/az.js | 21 ++++- core/l10n/az.json | 21 ++++- core/l10n/bg_BG.js | 24 +++++- core/l10n/bg_BG.json | 24 +++++- core/l10n/bn_BD.js | 21 ++++- core/l10n/bn_BD.json | 21 ++++- core/l10n/bn_IN.js | 2 +- core/l10n/bn_IN.json | 2 +- core/l10n/bs.js | 24 +++++- core/l10n/bs.json | 24 +++++- core/l10n/ca.js | 36 ++++++++- core/l10n/ca.json | 36 ++++++++- core/l10n/cs_CZ.js | 37 ++++++++- core/l10n/cs_CZ.json | 37 ++++++++- core/l10n/cy_GB.js | 21 ++++- core/l10n/cy_GB.json | 21 ++++- core/l10n/da.js | 38 ++++++++- core/l10n/da.json | 38 ++++++++- core/l10n/de.js | 27 ++++++- core/l10n/de.json | 27 ++++++- core/l10n/de_AT.js | 21 ++++- core/l10n/de_AT.json | 21 ++++- core/l10n/de_DE.js | 26 +++++- core/l10n/de_DE.json | 26 +++++- core/l10n/el.js | 40 ++++++++- core/l10n/el.json | 40 ++++++++- core/l10n/en_GB.js | 24 +++++- core/l10n/en_GB.json | 24 +++++- core/l10n/eo.js | 21 ++++- core/l10n/eo.json | 21 ++++- core/l10n/es.js | 24 +++++- core/l10n/es.json | 24 +++++- core/l10n/es_AR.js | 21 ++++- core/l10n/es_AR.json | 21 ++++- core/l10n/es_CL.js | 2 +- core/l10n/es_CL.json | 2 +- core/l10n/es_MX.js | 21 ++++- core/l10n/es_MX.json | 21 ++++- core/l10n/et_EE.js | 24 +++++- core/l10n/et_EE.json | 24 +++++- core/l10n/eu.js | 24 +++++- core/l10n/eu.json | 24 +++++- core/l10n/fa.js | 21 ++++- core/l10n/fa.json | 21 ++++- core/l10n/fi_FI.js | 39 ++++++++- core/l10n/fi_FI.json | 39 ++++++++- core/l10n/fr.js | 45 +++++++++-- core/l10n/fr.json | 45 +++++++++-- core/l10n/gl.js | 35 +++++++- core/l10n/gl.json | 35 +++++++- core/l10n/he.js | 21 ++++- core/l10n/he.json | 21 ++++- core/l10n/hi.js | 2 +- core/l10n/hi.json | 2 +- core/l10n/hr.js | 24 +++++- core/l10n/hr.json | 24 +++++- core/l10n/hu_HU.js | 39 ++++++++- core/l10n/hu_HU.json | 39 ++++++++- core/l10n/hy.js | 7 ++ core/l10n/hy.json | 7 ++ core/l10n/ia.js | 22 ++++- core/l10n/ia.json | 22 ++++- core/l10n/id.js | 39 ++++++++- core/l10n/id.json | 39 ++++++++- core/l10n/is.js | 24 +++++- core/l10n/is.json | 24 +++++- core/l10n/it.js | 38 ++++++++- core/l10n/it.json | 38 ++++++++- core/l10n/ja.js | 45 +++++++++-- core/l10n/ja.json | 45 +++++++++-- core/l10n/ka_GE.js | 21 ++++- core/l10n/ka_GE.json | 21 ++++- core/l10n/km.js | 21 ++++- core/l10n/km.json | 21 ++++- core/l10n/kn.js | 5 +- core/l10n/kn.json | 5 +- core/l10n/ko.js | 24 +++++- core/l10n/ko.json | 24 +++++- core/l10n/ku_IQ.js | 2 +- core/l10n/ku_IQ.json | 2 +- core/l10n/lb.js | 21 ++++- core/l10n/lb.json | 21 ++++- core/l10n/lt_LT.js | 21 ++++- core/l10n/lt_LT.json | 21 ++++- core/l10n/lv.js | 21 ++++- core/l10n/lv.json | 21 ++++- core/l10n/mk.js | 21 ++++- core/l10n/mk.json | 21 ++++- core/l10n/ms_MY.js | 21 ++++- core/l10n/ms_MY.json | 21 ++++- core/l10n/nb_NO.js | 24 +++++- core/l10n/nb_NO.json | 24 +++++- core/l10n/nl.js | 43 ++++++++-- core/l10n/nl.json | 43 ++++++++-- core/l10n/nn_NO.js | 21 ++++- core/l10n/nn_NO.json | 21 ++++- core/l10n/oc.js | 24 +++++- core/l10n/oc.json | 24 +++++- core/l10n/pa.js | 2 +- core/l10n/pa.json | 2 +- core/l10n/pl.js | 24 +++++- core/l10n/pl.json | 24 +++++- core/l10n/pt_BR.js | 39 ++++++++- core/l10n/pt_BR.json | 39 ++++++++- core/l10n/pt_PT.js | 56 +++++++++---- core/l10n/pt_PT.json | 56 +++++++++---- core/l10n/ro.js | 23 +++++- core/l10n/ro.json | 23 +++++- core/l10n/ru.js | 28 ++++++- core/l10n/ru.json | 28 ++++++- core/l10n/si_LK.js | 21 ++++- core/l10n/si_LK.json | 21 ++++- core/l10n/sk_SK.js | 24 +++++- core/l10n/sk_SK.json | 24 +++++- core/l10n/sl.js | 24 +++++- core/l10n/sl.json | 24 +++++- core/l10n/sq.js | 24 +++++- core/l10n/sq.json | 24 +++++- core/l10n/sr.js | 24 +++++- core/l10n/sr.json | 24 +++++- core/l10n/sr@latin.js | 24 +++++- core/l10n/sr@latin.json | 24 +++++- core/l10n/sv.js | 24 +++++- core/l10n/sv.json | 24 +++++- core/l10n/ta_LK.js | 21 ++++- core/l10n/ta_LK.json | 21 ++++- core/l10n/th_TH.js | 42 ++++++++-- core/l10n/th_TH.json | 42 ++++++++-- core/l10n/tr.js | 24 +++++- core/l10n/tr.json | 24 +++++- core/l10n/ug.js | 21 ++++- core/l10n/ug.json | 21 ++++- core/l10n/uk.js | 24 +++++- core/l10n/uk.json | 24 +++++- core/l10n/ur_PK.js | 2 +- core/l10n/ur_PK.json | 2 +- core/l10n/vi.js | 21 ++++- core/l10n/vi.json | 21 ++++- core/l10n/zh_CN.js | 29 +++++-- core/l10n/zh_CN.json | 29 +++++-- core/l10n/zh_HK.js | 2 +- core/l10n/zh_HK.json | 2 +- core/l10n/zh_TW.js | 24 +++++- core/l10n/zh_TW.json | 24 +++++- lib/l10n/hu_HU.js | 15 ++++ lib/l10n/hu_HU.json | 15 ++++ lib/l10n/is.js | 2 +- lib/l10n/is.json | 2 +- lib/l10n/pt_PT.js | 5 ++ lib/l10n/pt_PT.json | 5 ++ lib/l10n/zh_CN.js | 1 + lib/l10n/zh_CN.json | 1 + lib/l10n/zh_TW.js | 1 + lib/l10n/zh_TW.json | 1 + settings/l10n/az.js | 1 - settings/l10n/az.json | 1 - settings/l10n/bg_BG.js | 1 - settings/l10n/bg_BG.json | 1 - settings/l10n/bs.js | 1 - settings/l10n/bs.json | 1 - settings/l10n/ca.js | 7 +- settings/l10n/ca.json | 7 +- settings/l10n/cs_CZ.js | 2 - settings/l10n/cs_CZ.json | 2 - settings/l10n/da.js | 3 +- settings/l10n/da.json | 3 +- settings/l10n/de.js | 7 +- settings/l10n/de.json | 7 +- settings/l10n/de_DE.js | 2 - settings/l10n/de_DE.json | 2 - settings/l10n/el.js | 8 +- settings/l10n/el.json | 8 +- settings/l10n/en_GB.js | 2 - settings/l10n/en_GB.json | 2 - settings/l10n/es.js | 2 - settings/l10n/es.json | 2 - settings/l10n/et_EE.js | 3 +- settings/l10n/et_EE.json | 3 +- settings/l10n/eu.js | 1 - settings/l10n/eu.json | 1 - settings/l10n/fi_FI.js | 2 - settings/l10n/fi_FI.json | 2 - settings/l10n/fr.js | 6 +- settings/l10n/fr.json | 6 +- settings/l10n/gl.js | 2 - settings/l10n/gl.json | 2 - settings/l10n/hu_HU.js | 108 +++++++++++++++++++++++-- settings/l10n/hu_HU.json | 108 +++++++++++++++++++++++-- settings/l10n/id.js | 7 +- settings/l10n/id.json | 7 +- settings/l10n/is.js | 2 +- settings/l10n/is.json | 2 +- settings/l10n/it.js | 2 - settings/l10n/it.json | 2 - settings/l10n/ja.js | 34 ++++---- settings/l10n/ja.json | 34 ++++---- settings/l10n/ko.js | 2 - settings/l10n/ko.json | 2 - settings/l10n/nb_NO.js | 2 - settings/l10n/nb_NO.json | 2 - settings/l10n/nl.js | 8 +- settings/l10n/nl.json | 8 +- settings/l10n/oc.js | 2 - settings/l10n/oc.json | 2 - settings/l10n/pl.js | 1 - settings/l10n/pl.json | 1 - settings/l10n/pt_BR.js | 2 - settings/l10n/pt_BR.json | 2 - settings/l10n/pt_PT.js | 9 ++- settings/l10n/pt_PT.json | 9 ++- settings/l10n/ru.js | 8 +- settings/l10n/ru.json | 8 +- settings/l10n/sk_SK.js | 1 - settings/l10n/sk_SK.json | 1 - settings/l10n/sl.js | 1 - settings/l10n/sl.json | 1 - settings/l10n/sr.js | 2 - settings/l10n/sr.json | 2 - settings/l10n/sv.js | 1 - settings/l10n/sv.json | 1 - settings/l10n/th_TH.js | 8 +- settings/l10n/th_TH.json | 8 +- settings/l10n/tr.js | 2 - settings/l10n/tr.json | 2 - settings/l10n/uk.js | 1 - settings/l10n/uk.json | 1 - settings/l10n/zh_CN.js | 7 +- settings/l10n/zh_CN.json | 7 +- settings/l10n/zh_TW.js | 43 ++++++++++ settings/l10n/zh_TW.json | 43 ++++++++++ 778 files changed, 7286 insertions(+), 4828 deletions(-) create mode 100644 apps/files_sharing/l10n/lo.js create mode 100644 apps/files_sharing/l10n/lo.json diff --git a/apps/encryption/l10n/pt_PT.js b/apps/encryption/l10n/pt_PT.js index c02efa4c1f..48730b91b1 100644 --- a/apps/encryption/l10n/pt_PT.js +++ b/apps/encryption/l10n/pt_PT.js @@ -1,9 +1,9 @@ OC.L10N.register( "encryption", { - "Missing recovery key password" : "Palavra-passe da chave de recuperação em falta", - "Please repeat the recovery key password" : "Por favor, insira a palavra-passe da chave de recuperação", - "Repeated recovery key password does not match the provided recovery key password" : "A palavra-passe de recuperação repetida não corresponde à palavra-passe fornecida", + "Missing recovery key password" : "Senha da chave de recuperação em falta", + "Please repeat the recovery key password" : "Por favor, repita a senha da chave de recuperação", + "Repeated recovery key password does not match the provided recovery key password" : "A contrassenha da chave de recuperação não corresponde à senha fornecida", "Recovery key successfully enabled" : "A chave de recuperação foi ativada com sucesso", "Could not enable recovery key. Please check your recovery key password!" : "Não foi possível ativar a chave de recuperação. Por favor, verifique a sua senha da chave de recuperação!", "Recovery key successfully disabled" : "A chave de recuperação foi desativada com sucesso", @@ -14,20 +14,28 @@ OC.L10N.register( "Please repeat the new recovery password" : "Escreva de novo a nova palavra-passe de recuperação", "Password successfully changed." : "Palavra-passe alterada com sucesso.", "Could not change the password. Maybe the old password was not correct." : "Não foi possível alterar a senha. Possivelmente a senha antiga não está correta.", + "Recovery Key disabled" : "Chave de recuperação desativada", "Recovery Key enabled" : "Chave de Recuperação ativada", "Could not enable the recovery key, please try again or contact your administrator" : "Não foi possível ativar a chave de recuperação, por favor, tente de novo ou contacte o seu administrador", "Could not update the private key password." : "Não foi possível atualizar a senha da chave privada.", "The old password was not correct, please try again." : "A senha antiga não estava correta, por favor, tente de novo.", "The current log-in password was not correct, please try again." : "A senha de iniciar a sessão atual não estava correta, por favor, tente de novo.", "Private key password successfully updated." : "A senha da chave privada foi atualizada com sucesso. ", + "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" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, execute 'occ encryption:migrate' ou contacte o seu administrador", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente", "Encryption App is enabled and ready" : "A aplicação de encriptação está ativa e pronta", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível desencriptar este ficheiro, provavelmente é um ficheiro partilhado. Por favor, peça ao proprietário do ficheiro para voltar a partilhar o ficheiro consigo.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este ficheiro, provavelmente isto é um ficheiro compartilhado. Por favor, peça ao dono do ficheiro para voltar a partilhar o ficheiro consigo.", "Enable recovery key" : "Ativar a chave de recuperação", "Disable recovery key" : "Desativar a chave de recuperação", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A chave de recuperação é uma chave de encriptação extra que é utilizada para encriptar os ficheiros. Esta permite a recuperação dos ficheiros do utilizador se este esquecer a sua senha.", "Recovery key password" : "Senha da chave de recuperação", + "Repeat recovery key password" : "Repetir a senha da chave de recuperação", "Change recovery key password:" : "Alterar a senha da chave de recuperação:", + "Old recovery key password" : "Senha da chave de recuperação antiga", + "New recovery key password" : "Nova senha da chave de recuperação", + "Repeat new recovery key password" : "Repetir senha da chave de recuperação", "Change Password" : "Alterar a Senha", "ownCloud basic encryption module" : "módulo de encriptação básico da ownCloud", "Your private key password no longer matches your log-in password." : "A Password da sua chave privada não coincide mais com a password do seu login.", diff --git a/apps/encryption/l10n/pt_PT.json b/apps/encryption/l10n/pt_PT.json index 32f1d984ff..3a63d95bea 100644 --- a/apps/encryption/l10n/pt_PT.json +++ b/apps/encryption/l10n/pt_PT.json @@ -1,7 +1,7 @@ { "translations": { - "Missing recovery key password" : "Palavra-passe da chave de recuperação em falta", - "Please repeat the recovery key password" : "Por favor, insira a palavra-passe da chave de recuperação", - "Repeated recovery key password does not match the provided recovery key password" : "A palavra-passe de recuperação repetida não corresponde à palavra-passe fornecida", + "Missing recovery key password" : "Senha da chave de recuperação em falta", + "Please repeat the recovery key password" : "Por favor, repita a senha da chave de recuperação", + "Repeated recovery key password does not match the provided recovery key password" : "A contrassenha da chave de recuperação não corresponde à senha fornecida", "Recovery key successfully enabled" : "A chave de recuperação foi ativada com sucesso", "Could not enable recovery key. Please check your recovery key password!" : "Não foi possível ativar a chave de recuperação. Por favor, verifique a sua senha da chave de recuperação!", "Recovery key successfully disabled" : "A chave de recuperação foi desativada com sucesso", @@ -12,20 +12,28 @@ "Please repeat the new recovery password" : "Escreva de novo a nova palavra-passe de recuperação", "Password successfully changed." : "Palavra-passe alterada com sucesso.", "Could not change the password. Maybe the old password was not correct." : "Não foi possível alterar a senha. Possivelmente a senha antiga não está correta.", + "Recovery Key disabled" : "Chave de recuperação desativada", "Recovery Key enabled" : "Chave de Recuperação ativada", "Could not enable the recovery key, please try again or contact your administrator" : "Não foi possível ativar a chave de recuperação, por favor, tente de novo ou contacte o seu administrador", "Could not update the private key password." : "Não foi possível atualizar a senha da chave privada.", "The old password was not correct, please try again." : "A senha antiga não estava correta, por favor, tente de novo.", "The current log-in password was not correct, please try again." : "A senha de iniciar a sessão atual não estava correta, por favor, tente de novo.", "Private key password successfully updated." : "A senha da chave privada foi atualizada com sucesso. ", + "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" : "Precisa de migrar as suas chaves de encriptação da encriptação antiga (ownCloud <= 8.0) para a nova. Por favor, execute 'occ encryption:migrate' ou contacte o seu administrador", "Invalid private key for Encryption App. Please update your private key password in your personal settings to recover access to your encrypted files." : "Chave privada inválida da Aplicação de Encriptação. Por favor atualize a sua senha de chave privada nas definições pessoais, para recuperar o acesso aos seus ficheiros encriptados.", "Encryption App is enabled but your keys are not initialized, please log-out and log-in again" : "A Aplicação de Encriptação está ativada, mas as suas chaves não inicializaram. Por favor termine e inicie a sessão novamente", "Encryption App is enabled and ready" : "A aplicação de encriptação está ativa e pronta", "Can not decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível desencriptar este ficheiro, provavelmente é um ficheiro partilhado. Por favor, peça ao proprietário do ficheiro para voltar a partilhar o ficheiro consigo.", + "Can not read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "Não é possível ler este ficheiro, provavelmente isto é um ficheiro compartilhado. Por favor, peça ao dono do ficheiro para voltar a partilhar o ficheiro consigo.", "Enable recovery key" : "Ativar a chave de recuperação", "Disable recovery key" : "Desativar a chave de recuperação", + "The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "A chave de recuperação é uma chave de encriptação extra que é utilizada para encriptar os ficheiros. Esta permite a recuperação dos ficheiros do utilizador se este esquecer a sua senha.", "Recovery key password" : "Senha da chave de recuperação", + "Repeat recovery key password" : "Repetir a senha da chave de recuperação", "Change recovery key password:" : "Alterar a senha da chave de recuperação:", + "Old recovery key password" : "Senha da chave de recuperação antiga", + "New recovery key password" : "Nova senha da chave de recuperação", + "Repeat new recovery key password" : "Repetir senha da chave de recuperação", "Change Password" : "Alterar a Senha", "ownCloud basic encryption module" : "módulo de encriptação básico da ownCloud", "Your private key password no longer matches your log-in password." : "A Password da sua chave privada não coincide mais com a password do seu login.", diff --git a/apps/encryption/l10n/zh_CN.js b/apps/encryption/l10n/zh_CN.js index e38e6f0322..bf09eab2ca 100644 --- a/apps/encryption/l10n/zh_CN.js +++ b/apps/encryption/l10n/zh_CN.js @@ -7,6 +7,7 @@ OC.L10N.register( "Could not enable recovery key. Please check your recovery key password!" : "不能启用恢复密钥。请检查恢复密钥密码!", "Recovery key successfully disabled" : "恢复密钥成功禁用", "Could not disable recovery key. Please check your recovery key password!" : "不能禁用恢复密钥。请检查恢复密钥密码!", + "Missing parameters" : "缺少参数", "Please provide the old recovery password" : "请提供原来的恢复密码", "Please provide a new recovery password" : "请提供一个新的恢复密码", "Please repeat the new recovery password" : "请替换新的恢复密码", diff --git a/apps/encryption/l10n/zh_CN.json b/apps/encryption/l10n/zh_CN.json index 0a1c7b5b89..c9c58b0dee 100644 --- a/apps/encryption/l10n/zh_CN.json +++ b/apps/encryption/l10n/zh_CN.json @@ -5,6 +5,7 @@ "Could not enable recovery key. Please check your recovery key password!" : "不能启用恢复密钥。请检查恢复密钥密码!", "Recovery key successfully disabled" : "恢复密钥成功禁用", "Could not disable recovery key. Please check your recovery key password!" : "不能禁用恢复密钥。请检查恢复密钥密码!", + "Missing parameters" : "缺少参数", "Please provide the old recovery password" : "请提供原来的恢复密码", "Please provide a new recovery password" : "请提供一个新的恢复密码", "Please repeat the new recovery password" : "请替换新的恢复密码", diff --git a/apps/files/l10n/af_ZA.js b/apps/files/l10n/af_ZA.js index 0bb44ef953..1844e8ad36 100644 --- a/apps/files/l10n/af_ZA.js +++ b/apps/files/l10n/af_ZA.js @@ -1,7 +1,6 @@ OC.L10N.register( "files", { - "Unshare" : "Deel terug neem", "Error" : "Fout", "Settings" : "Instellings", "Folder" : "Omslag" diff --git a/apps/files/l10n/af_ZA.json b/apps/files/l10n/af_ZA.json index 8e3cc3ef4f..841c572bc7 100644 --- a/apps/files/l10n/af_ZA.json +++ b/apps/files/l10n/af_ZA.json @@ -1,5 +1,4 @@ { "translations": { - "Unshare" : "Deel terug neem", "Error" : "Fout", "Settings" : "Instellings", "Folder" : "Omslag" diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js index 412f339a4b..d4960b2f37 100644 --- a/apps/files/l10n/ar.js +++ b/apps/files/l10n/ar.js @@ -19,16 +19,16 @@ OC.L10N.register( "Upload failed. Could not get file info." : "فشلت عملية الرفع. تعذر الحصول على معلومات الملف.", "Invalid directory." : "مسار غير صحيح.", "Files" : "الملفات", + "All files" : "كل الملفات", "Favorites" : "المفضلة ", "Home" : "البيت", + "Close" : "إغلاق", "Unable to upload {filename} as it is a directory or has 0 bytes" : "تعذر رفع الملف {filename} إما لأنه مجلد أو لان حجم الملف 0 بايت", "Upload cancelled." : "تم إلغاء عملية رفع الملفات .", "Could not get result from server." : "تعذر الحصول على نتيجة من الخادم", "File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.", "{new_name} already exists" : "{new_name} موجود مسبقا", - "Rename" : "إعادة تسميه", - "Delete" : "إلغاء", - "Unshare" : "إلغاء المشاركة", + "Actions" : "* تطبيقات.\n* أنشطة.", "Download" : "تحميل", "Pending" : "قيد الانتظار", "Error moving file" : "حدث خطأ أثناء نقل الملف", @@ -38,11 +38,11 @@ OC.L10N.register( "Modified" : "معدل", "_%n folder_::_%n folders_" : ["لا يوجد مجلدات %n","1 مجلد %n","2 مجلد %n","عدد قليل من مجلدات %n","عدد كبير من مجلدات %n","مجلدات %n"], "_%n file_::_%n files_" : ["لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"], + "{dirs} and {files}" : "{dirs} و {files}", "_Uploading %n file_::_Uploading %n files_" : ["لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"], "File name cannot be empty." : "اسم الملف لا يجوز أن يكون فارغا", "Your storage is full, files can not be updated or synced anymore!" : "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !", "Your storage is almost full ({usedSpacePercent}%)" : "مساحتك التخزينية امتلأت تقريبا ", - "{dirs} and {files}" : "{dirs} و {files}", "Favorite" : "المفضلة", "A new file or folder has been created" : "تم إنشاء ملف جديد أو مجلد ", "A file or folder has been changed" : "تم تغيير ملف أو مجلد", @@ -71,6 +71,7 @@ OC.L10N.register( "Folder" : "مجلد", "Upload" : "رفع", "Cancel upload" : "إلغاء الرفع", + "Delete" : "إلغاء", "Upload too large" : "حجم الترفيع أعلى من المسموح", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "حجم الملفات التي تريد ترفيعها أعلى من المسموح على الخادم.", "Files are being scanned, please wait." : "يرجى الانتظار , جاري فحص الملفات ." diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json index 812769a4fb..16d9732aae 100644 --- a/apps/files/l10n/ar.json +++ b/apps/files/l10n/ar.json @@ -17,16 +17,16 @@ "Upload failed. Could not get file info." : "فشلت عملية الرفع. تعذر الحصول على معلومات الملف.", "Invalid directory." : "مسار غير صحيح.", "Files" : "الملفات", + "All files" : "كل الملفات", "Favorites" : "المفضلة ", "Home" : "البيت", + "Close" : "إغلاق", "Unable to upload {filename} as it is a directory or has 0 bytes" : "تعذر رفع الملف {filename} إما لأنه مجلد أو لان حجم الملف 0 بايت", "Upload cancelled." : "تم إلغاء عملية رفع الملفات .", "Could not get result from server." : "تعذر الحصول على نتيجة من الخادم", "File upload is in progress. Leaving the page now will cancel the upload." : "عملية رفع الملفات قيد التنفيذ. اغلاق الصفحة سوف يلغي عملية رفع الملفات.", "{new_name} already exists" : "{new_name} موجود مسبقا", - "Rename" : "إعادة تسميه", - "Delete" : "إلغاء", - "Unshare" : "إلغاء المشاركة", + "Actions" : "* تطبيقات.\n* أنشطة.", "Download" : "تحميل", "Pending" : "قيد الانتظار", "Error moving file" : "حدث خطأ أثناء نقل الملف", @@ -36,11 +36,11 @@ "Modified" : "معدل", "_%n folder_::_%n folders_" : ["لا يوجد مجلدات %n","1 مجلد %n","2 مجلد %n","عدد قليل من مجلدات %n","عدد كبير من مجلدات %n","مجلدات %n"], "_%n file_::_%n files_" : ["لا يوجد ملفات %n","ملف %n","2 ملف %n","قليل من ملفات %n","الكثير من ملفات %n"," ملفات %n"], + "{dirs} and {files}" : "{dirs} و {files}", "_Uploading %n file_::_Uploading %n files_" : ["لا يوجد ملفات %n لتحميلها","تحميل 1 ملف %n","تحميل 2 ملف %n","يتم تحميل عدد قليل من ملفات %n","يتم تحميل عدد كبير من ملفات %n","يتم تحميل ملفات %n"], "File name cannot be empty." : "اسم الملف لا يجوز أن يكون فارغا", "Your storage is full, files can not be updated or synced anymore!" : "مساحتك التخزينية ممتلئة, لا يمكم تحديث ملفاتك أو مزامنتها بعد الآن !", "Your storage is almost full ({usedSpacePercent}%)" : "مساحتك التخزينية امتلأت تقريبا ", - "{dirs} and {files}" : "{dirs} و {files}", "Favorite" : "المفضلة", "A new file or folder has been created" : "تم إنشاء ملف جديد أو مجلد ", "A file or folder has been changed" : "تم تغيير ملف أو مجلد", @@ -69,6 +69,7 @@ "Folder" : "مجلد", "Upload" : "رفع", "Cancel upload" : "إلغاء الرفع", + "Delete" : "إلغاء", "Upload too large" : "حجم الترفيع أعلى من المسموح", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "حجم الملفات التي تريد ترفيعها أعلى من المسموح على الخادم.", "Files are being scanned, please wait." : "يرجى الانتظار , جاري فحص الملفات ." diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js index 297ebd6048..586d66d0c2 100644 --- a/apps/files/l10n/ast.js +++ b/apps/files/l10n/ast.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Tolos ficheros", "Favorites" : "Favoritos", "Home" : "Casa", + "Close" : "Zarrar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nun pudo xubise {filename}, paez que ye un directoriu o tien 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "El tamañu de ficheru total {size1} perpasa la llende de xuba {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nun hai abondu espaciu llibre, tas xubiendo {size1} pero namái falta {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} yá existe", "Could not create file" : "Nun pudo crease'l ficheru", "Could not create folder" : "Nun pudo crease la carpeta", - "Rename" : "Renomar", - "Delete" : "Desaniciar", - "Disconnect storage" : "Desconeutar almacenamientu", - "Unshare" : "Dexar de compartir", - "No permission to delete" : "Ensin permisos pa desaniciar", + "Actions" : "Aiciones", "Download" : "Descargar", "Select" : "Esbillar", "Pending" : "Pendiente", @@ -58,13 +55,13 @@ OC.L10N.register( "Modified" : "Modificáu", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetes"], "_%n file_::_%n files_" : ["%n ficheru","%n ficheros"], + "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí", "_Uploading %n file_::_Uploading %n files_" : ["Xubiendo %n ficheru","Xubiendo %n ficheros"], "\"{name}\" is an invalid file name." : "\"{name}\" ye un nome de ficheru inválidu.", "File name cannot be empty." : "El nome de ficheru nun pue quedar baleru.", "Your storage is full, files can not be updated or synced anymore!" : "L'almacenamientu ta completu, ¡yá nun se pueden anovar o sincronizar ficheros!", "Your storage is almost full ({usedSpacePercent}%)" : "L'almacenamientu ta casi completu ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} y {files}", "Favorite" : "Favoritu", "A new file or folder has been created" : "Creóse un ficheru o carpeta nuevos", "A file or folder has been changed" : "Camudóse un ficheru o carpeta", @@ -96,6 +93,7 @@ OC.L10N.register( "Folder" : "Carpeta", "Upload" : "Xubir", "Cancel upload" : "Encaboxar xuba", + "Delete" : "Desaniciar", "Upload too large" : "La xuba ye abondo grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los ficheros que tas intentando xubir perpasen el tamañu máximu pa les xubíes de ficheros nesti servidor.", "Files are being scanned, please wait." : "Tan escaniándose los ficheros, espera por favor.", diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json index b242d62a52..e9b411383a 100644 --- a/apps/files/l10n/ast.json +++ b/apps/files/l10n/ast.json @@ -27,6 +27,7 @@ "All files" : "Tolos ficheros", "Favorites" : "Favoritos", "Home" : "Casa", + "Close" : "Zarrar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nun pudo xubise {filename}, paez que ye un directoriu o tien 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "El tamañu de ficheru total {size1} perpasa la llende de xuba {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nun hai abondu espaciu llibre, tas xubiendo {size1} pero namái falta {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} yá existe", "Could not create file" : "Nun pudo crease'l ficheru", "Could not create folder" : "Nun pudo crease la carpeta", - "Rename" : "Renomar", - "Delete" : "Desaniciar", - "Disconnect storage" : "Desconeutar almacenamientu", - "Unshare" : "Dexar de compartir", - "No permission to delete" : "Ensin permisos pa desaniciar", + "Actions" : "Aiciones", "Download" : "Descargar", "Select" : "Esbillar", "Pending" : "Pendiente", @@ -56,13 +53,13 @@ "Modified" : "Modificáu", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetes"], "_%n file_::_%n files_" : ["%n ficheru","%n ficheros"], + "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "Nun tienes permisu pa xubir o crear ficheros equí", "_Uploading %n file_::_Uploading %n files_" : ["Xubiendo %n ficheru","Xubiendo %n ficheros"], "\"{name}\" is an invalid file name." : "\"{name}\" ye un nome de ficheru inválidu.", "File name cannot be empty." : "El nome de ficheru nun pue quedar baleru.", "Your storage is full, files can not be updated or synced anymore!" : "L'almacenamientu ta completu, ¡yá nun se pueden anovar o sincronizar ficheros!", "Your storage is almost full ({usedSpacePercent}%)" : "L'almacenamientu ta casi completu ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} y {files}", "Favorite" : "Favoritu", "A new file or folder has been created" : "Creóse un ficheru o carpeta nuevos", "A file or folder has been changed" : "Camudóse un ficheru o carpeta", @@ -94,6 +91,7 @@ "Folder" : "Carpeta", "Upload" : "Xubir", "Cancel upload" : "Encaboxar xuba", + "Delete" : "Desaniciar", "Upload too large" : "La xuba ye abondo grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los ficheros que tas intentando xubir perpasen el tamañu máximu pa les xubíes de ficheros nesti servidor.", "Files are being scanned, please wait." : "Tan escaniándose los ficheros, espera por favor.", diff --git a/apps/files/l10n/az.js b/apps/files/l10n/az.js index 3f76fd9a32..ba3aa4e1b9 100644 --- a/apps/files/l10n/az.js +++ b/apps/files/l10n/az.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Bütün fayllar", "Favorites" : "Sevimlilər", "Home" : "Ev", + "Close" : "Bağla", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Yükləmək olmur {filename} ona görə ki, ya qovluqdur yada ki, həcmi 0 baytdır ", "Total file size {size1} exceeds upload limit {size2}" : "Ümumi fayl həcmi {size1} yüklənmə limiti {size2} -ni aşır", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Kifayət qədər boş yer yoxdur, siz yükləyirsiniz {size1} ancaq {size2} var. ", @@ -38,11 +39,6 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} artıq mövcuddur", "Could not create file" : "Faylı yaratmaq olmur", "Could not create folder" : "Qovluğu yaratmaq olmur", - "Rename" : "Adı dəyiş", - "Delete" : "Sil", - "Disconnect storage" : "Daşıyıcını ayır", - "Unshare" : "Paylaşımı durdur", - "No permission to delete" : "Silmək üçün yetki yoxdur", "Download" : "Yüklə", "Select" : "Seç", "Pending" : "Gözləmə", @@ -58,6 +54,7 @@ OC.L10N.register( "Modified" : "Dəyişdirildi", "_%n folder_::_%n folders_" : ["%n qovluq","%n qovluqlar"], "_%n file_::_%n files_" : ["%n fayllar","%n fayllar"], + "{dirs} and {files}" : "{dirs} və {files}", "You don’t have permission to upload or create files here" : "Sizin burda yükləməyə və ya fayl yaratmağa yetkiniz yoxdur ", "_Uploading %n file_::_Uploading %n files_" : ["%n fayllar yüklənilir","%n fayllar yüklənilir"], "\"{name}\" is an invalid file name." : "\"{name}\" yalnış fayl adıdır.", @@ -65,7 +62,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Sizin deponuz doludur, fayllar artıq yenilənə və sinxronizasiya edilə bilməz!", "Your storage is almost full ({usedSpacePercent}%)" : "Sizin depo depo demək olar ki, doludur ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["uyğun '{filter}'","uyğun '{filter}'"], - "{dirs} and {files}" : "{dirs} və {files}", "Favorited" : "İstəkləndi", "Favorite" : "İstəkli", "An error occurred while trying to update the tags" : "Qeydlərin yenilənməsi müddətində səhv baş verdi ", @@ -105,6 +101,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Bezi kontenti yüklə yada, öz avadanlıqlarınızla sinxronizasiya edin!", "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı", "Select all" : "Hamısıı seç", + "Delete" : "Sil", "Upload too large" : "Yüklənmə şox böyükdür", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Yükləmək istədiyiniz faylların həcmi, bu serverdə izin verilmiş maksimal yüklənmə həcmindən böyükdür.", "Files are being scanned, please wait." : "Faylların skanı başlanıb, xahiş olunur gözləyəsiniz.", diff --git a/apps/files/l10n/az.json b/apps/files/l10n/az.json index ec7c41a00f..a9790ba832 100644 --- a/apps/files/l10n/az.json +++ b/apps/files/l10n/az.json @@ -27,6 +27,7 @@ "All files" : "Bütün fayllar", "Favorites" : "Sevimlilər", "Home" : "Ev", + "Close" : "Bağla", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Yükləmək olmur {filename} ona görə ki, ya qovluqdur yada ki, həcmi 0 baytdır ", "Total file size {size1} exceeds upload limit {size2}" : "Ümumi fayl həcmi {size1} yüklənmə limiti {size2} -ni aşır", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Kifayət qədər boş yer yoxdur, siz yükləyirsiniz {size1} ancaq {size2} var. ", @@ -36,11 +37,6 @@ "{new_name} already exists" : "{new_name} artıq mövcuddur", "Could not create file" : "Faylı yaratmaq olmur", "Could not create folder" : "Qovluğu yaratmaq olmur", - "Rename" : "Adı dəyiş", - "Delete" : "Sil", - "Disconnect storage" : "Daşıyıcını ayır", - "Unshare" : "Paylaşımı durdur", - "No permission to delete" : "Silmək üçün yetki yoxdur", "Download" : "Yüklə", "Select" : "Seç", "Pending" : "Gözləmə", @@ -56,6 +52,7 @@ "Modified" : "Dəyişdirildi", "_%n folder_::_%n folders_" : ["%n qovluq","%n qovluqlar"], "_%n file_::_%n files_" : ["%n fayllar","%n fayllar"], + "{dirs} and {files}" : "{dirs} və {files}", "You don’t have permission to upload or create files here" : "Sizin burda yükləməyə və ya fayl yaratmağa yetkiniz yoxdur ", "_Uploading %n file_::_Uploading %n files_" : ["%n fayllar yüklənilir","%n fayllar yüklənilir"], "\"{name}\" is an invalid file name." : "\"{name}\" yalnış fayl adıdır.", @@ -63,7 +60,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Sizin deponuz doludur, fayllar artıq yenilənə və sinxronizasiya edilə bilməz!", "Your storage is almost full ({usedSpacePercent}%)" : "Sizin depo depo demək olar ki, doludur ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["uyğun '{filter}'","uyğun '{filter}'"], - "{dirs} and {files}" : "{dirs} və {files}", "Favorited" : "İstəkləndi", "Favorite" : "İstəkli", "An error occurred while trying to update the tags" : "Qeydlərin yenilənməsi müddətində səhv baş verdi ", @@ -103,6 +99,7 @@ "Upload some content or sync with your devices!" : "Bezi kontenti yüklə yada, öz avadanlıqlarınızla sinxronizasiya edin!", "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı", "Select all" : "Hamısıı seç", + "Delete" : "Sil", "Upload too large" : "Yüklənmə şox böyükdür", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Yükləmək istədiyiniz faylların həcmi, bu serverdə izin verilmiş maksimal yüklənmə həcmindən böyükdür.", "Files are being scanned, please wait." : "Faylların skanı başlanıb, xahiş olunur gözləyəsiniz.", diff --git a/apps/files/l10n/bg_BG.js b/apps/files/l10n/bg_BG.js index b43dced5cf..1b79d6b282 100644 --- a/apps/files/l10n/bg_BG.js +++ b/apps/files/l10n/bg_BG.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Всички файлове", "Favorites" : "Любими", "Home" : "Домашен", + "Close" : "Затвори", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неуспешно качване на {filename}, защото е директория или е с размер от 0 байта.", "Total file size {size1} exceeds upload limit {size2}" : "Общия размер {size1} надминава лимита за качване {size2}.", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Няма достатъчно свободно място, ти се опитваш да качиш {size1}, но са останали само {size2}.", @@ -38,10 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} вече съществува.", "Could not create file" : "Несупешно създаване на файла.", "Could not create folder" : "Неуспешно създаване на папка.", - "Rename" : "Преименуване", - "Delete" : "Изтрий", - "Disconnect storage" : "Извади дисковото устройство.", - "Unshare" : "Премахни Споделяне", + "Actions" : "Действия", "Download" : "Изтегли", "Select" : "Избери", "Pending" : "Чакащо", @@ -57,6 +55,7 @@ OC.L10N.register( "Modified" : "Променен на", "_%n folder_::_%n folders_" : ["%n папка","%n папки"], "_%n file_::_%n files_" : ["%n файл","%n файла"], + "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "Нямаш разрешение да създаваш или качваш файлове тук.", "_Uploading %n file_::_Uploading %n files_" : ["Качване на %n файл","Качване на %n файла."], "\"{name}\" is an invalid file name." : "\"{name}\" е непозволено име за файл.", @@ -64,7 +63,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Заделеното място е запълнено, повече файлове не могат да бъдат синхронизирани или опреснени!", "Your storage is almost full ({usedSpacePercent}%)" : "Заделеното място е почити запълнено ({usedSpacePercent}%).", "_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "], - "{dirs} and {files}" : "{dirs} и {files}", "Favorited" : "Отбелязано в любими", "Favorite" : "Любими", "An error occurred while trying to update the tags" : "Настъпи грешка при опита за промяна на бележките", @@ -103,6 +101,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Качи съдържание или синхронизирай с твоите устройства!", "No entries found in this folder" : "Няма намерени записи в тази папка", "Select all" : "Избери всички", + "Delete" : "Изтрий", "Upload too large" : "Прекалено голям файл за качване.", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файловете, които се опитваш да качиш са по-големи от позволеното на този сървър.", "Files are being scanned, please wait." : "Файловете се сканирват, изчакайте.", diff --git a/apps/files/l10n/bg_BG.json b/apps/files/l10n/bg_BG.json index 266f4f08cd..4493a450d6 100644 --- a/apps/files/l10n/bg_BG.json +++ b/apps/files/l10n/bg_BG.json @@ -27,6 +27,7 @@ "All files" : "Всички файлове", "Favorites" : "Любими", "Home" : "Домашен", + "Close" : "Затвори", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неуспешно качване на {filename}, защото е директория или е с размер от 0 байта.", "Total file size {size1} exceeds upload limit {size2}" : "Общия размер {size1} надминава лимита за качване {size2}.", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Няма достатъчно свободно място, ти се опитваш да качиш {size1}, но са останали само {size2}.", @@ -36,10 +37,7 @@ "{new_name} already exists" : "{new_name} вече съществува.", "Could not create file" : "Несупешно създаване на файла.", "Could not create folder" : "Неуспешно създаване на папка.", - "Rename" : "Преименуване", - "Delete" : "Изтрий", - "Disconnect storage" : "Извади дисковото устройство.", - "Unshare" : "Премахни Споделяне", + "Actions" : "Действия", "Download" : "Изтегли", "Select" : "Избери", "Pending" : "Чакащо", @@ -55,6 +53,7 @@ "Modified" : "Променен на", "_%n folder_::_%n folders_" : ["%n папка","%n папки"], "_%n file_::_%n files_" : ["%n файл","%n файла"], + "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "Нямаш разрешение да създаваш или качваш файлове тук.", "_Uploading %n file_::_Uploading %n files_" : ["Качване на %n файл","Качване на %n файла."], "\"{name}\" is an invalid file name." : "\"{name}\" е непозволено име за файл.", @@ -62,7 +61,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Заделеното място е запълнено, повече файлове не могат да бъдат синхронизирани или опреснени!", "Your storage is almost full ({usedSpacePercent}%)" : "Заделеното място е почити запълнено ({usedSpacePercent}%).", "_matches '{filter}'_::_match '{filter}'_" : ["пасва на '{filter}'","пасват на '{filter}'\n "], - "{dirs} and {files}" : "{dirs} и {files}", "Favorited" : "Отбелязано в любими", "Favorite" : "Любими", "An error occurred while trying to update the tags" : "Настъпи грешка при опита за промяна на бележките", @@ -101,6 +99,7 @@ "Upload some content or sync with your devices!" : "Качи съдържание или синхронизирай с твоите устройства!", "No entries found in this folder" : "Няма намерени записи в тази папка", "Select all" : "Избери всички", + "Delete" : "Изтрий", "Upload too large" : "Прекалено голям файл за качване.", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файловете, които се опитваш да качиш са по-големи от позволеното на този сървър.", "Files are being scanned, please wait." : "Файловете се сканирват, изчакайте.", diff --git a/apps/files/l10n/bn_BD.js b/apps/files/l10n/bn_BD.js index 88276ef27f..f21d44873f 100644 --- a/apps/files/l10n/bn_BD.js +++ b/apps/files/l10n/bn_BD.js @@ -24,12 +24,11 @@ OC.L10N.register( "All files" : "সব ফাইল", "Favorites" : "প্রিয়জন", "Home" : "নিবাস", + "Close" : "বন্ধ", "Upload cancelled." : "আপলোড বাতিল করা হয়েছে।", "File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।", "{new_name} already exists" : "{new_name} টি বিদ্যমান", - "Rename" : "পূনঃনামকরণ", - "Delete" : "মুছে", - "Unshare" : "ভাগাভাগি বাতিল ", + "Actions" : "পদক্ষেপসমূহ", "Download" : "ডাউনলোড", "Pending" : "মুলতুবি", "Error moving file." : "ফাইল সরাতে সমস্যা হলো।", @@ -66,6 +65,7 @@ OC.L10N.register( "Folder" : "ফোল্ডার", "Upload" : "আপলোড", "Cancel upload" : "আপলোড বাতিল কর", + "Delete" : "মুছে", "Upload too large" : "আপলোডের আকারটি অনেক বড়", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "আপনি এই সার্ভারে আপলোড করার জন্য অনুমোদিত ফাইলের সর্বোচ্চ আকারের চেয়ে বৃহদাকার ফাইল আপলোড করার চেষ্টা করছেন ", "Files are being scanned, please wait." : "ফাইলগুলো স্ক্যান করা হচ্ছে, দয়া করে অপেক্ষা করুন।" diff --git a/apps/files/l10n/bn_BD.json b/apps/files/l10n/bn_BD.json index 79aa31b1da..740613e054 100644 --- a/apps/files/l10n/bn_BD.json +++ b/apps/files/l10n/bn_BD.json @@ -22,12 +22,11 @@ "All files" : "সব ফাইল", "Favorites" : "প্রিয়জন", "Home" : "নিবাস", + "Close" : "বন্ধ", "Upload cancelled." : "আপলোড বাতিল করা হয়েছে।", "File upload is in progress. Leaving the page now will cancel the upload." : "ফাইল আপলোড চলমান। এই পৃষ্ঠা পরিত্যাগ করলে আপলোড বাতিল করা হবে।", "{new_name} already exists" : "{new_name} টি বিদ্যমান", - "Rename" : "পূনঃনামকরণ", - "Delete" : "মুছে", - "Unshare" : "ভাগাভাগি বাতিল ", + "Actions" : "পদক্ষেপসমূহ", "Download" : "ডাউনলোড", "Pending" : "মুলতুবি", "Error moving file." : "ফাইল সরাতে সমস্যা হলো।", @@ -64,6 +63,7 @@ "Folder" : "ফোল্ডার", "Upload" : "আপলোড", "Cancel upload" : "আপলোড বাতিল কর", + "Delete" : "মুছে", "Upload too large" : "আপলোডের আকারটি অনেক বড়", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "আপনি এই সার্ভারে আপলোড করার জন্য অনুমোদিত ফাইলের সর্বোচ্চ আকারের চেয়ে বৃহদাকার ফাইল আপলোড করার চেষ্টা করছেন ", "Files are being scanned, please wait." : "ফাইলগুলো স্ক্যান করা হচ্ছে, দয়া করে অপেক্ষা করুন।" diff --git a/apps/files/l10n/bn_IN.js b/apps/files/l10n/bn_IN.js index aedeab7399..903dadca60 100644 --- a/apps/files/l10n/bn_IN.js +++ b/apps/files/l10n/bn_IN.js @@ -14,8 +14,7 @@ OC.L10N.register( "Not enough storage available" : "যথেষ্ট স্টোরেজ পাওয়া যায় না", "Invalid directory." : "অবৈধ ডিরেক্টরি।", "Files" : "ফাইলস", - "Rename" : "পুনঃনামকরণ", - "Delete" : "মুছে ফেলা", + "Close" : "বন্ধ", "Download" : "ডাউনলোড করুন", "Pending" : "মুলতুবি", "Error" : "ভুল", @@ -33,6 +32,7 @@ OC.L10N.register( "Save" : "সেভ", "Settings" : "সেটিংস", "New folder" : "নতুন ফোল্ডার", - "Folder" : "ফোল্ডার" + "Folder" : "ফোল্ডার", + "Delete" : "মুছে ফেলা" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/bn_IN.json b/apps/files/l10n/bn_IN.json index e79719faa0..afdcf0b6f1 100644 --- a/apps/files/l10n/bn_IN.json +++ b/apps/files/l10n/bn_IN.json @@ -12,8 +12,7 @@ "Not enough storage available" : "যথেষ্ট স্টোরেজ পাওয়া যায় না", "Invalid directory." : "অবৈধ ডিরেক্টরি।", "Files" : "ফাইলস", - "Rename" : "পুনঃনামকরণ", - "Delete" : "মুছে ফেলা", + "Close" : "বন্ধ", "Download" : "ডাউনলোড করুন", "Pending" : "মুলতুবি", "Error" : "ভুল", @@ -31,6 +30,7 @@ "Save" : "সেভ", "Settings" : "সেটিংস", "New folder" : "নতুন ফোল্ডার", - "Folder" : "ফোল্ডার" + "Folder" : "ফোল্ডার", + "Delete" : "মুছে ফেলা" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/bs.js b/apps/files/l10n/bs.js index 8856725072..6fb4c6ed0e 100644 --- a/apps/files/l10n/bs.js +++ b/apps/files/l10n/bs.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Sve datoteke", "Favorites" : "Favoriti", "Home" : "Kuća", + "Close" : "Zatvori", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nemoguće učitati {filename} jer je ili direktorij ili ima 0 bajta", "Total file size {size1} exceeds upload limit {size2}" : "Ukupna veličina datoteke {size1} prelazi ograničenje unosa {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedovoljno slobodnog prostora, vi učitavate {size1} a samo je {size2} preostalo", @@ -38,10 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} već postoji", "Could not create file" : "Datoteku nije moguće kreirati", "Could not create folder" : "Direktorij nije moguće kreirati", - "Rename" : "Preimenuj", - "Delete" : "Izbriši", - "Disconnect storage" : "Diskonektuj pohranu", - "Unshare" : "Prestani dijeliti", + "Actions" : "Radnje", "Download" : "Preuzmi", "Select" : "Izaberi", "Pending" : "Na čekanju", @@ -56,13 +54,13 @@ OC.L10N.register( "Modified" : "Izmijenjeno", "_%n folder_::_%n folders_" : ["direktorij","direktoriji","direktoriji"], "_%n file_::_%n files_" : ["%n datoteka","%n datoteke","%n datoteke"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Ovdje niste ovlašteni učitavati ili kreirati datoteke", "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteke"], "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.", "File name cannot be empty." : "Naziv datoteke ne može biti prazan", "Your storage is full, files can not be updated or synced anymore!" : "Vaša pohrana je puna, datoteke više nije moguće ažurirati niti sinhronizirati!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Favorizovano", "Favorite" : "Favorit", "%s could not be renamed as it has been deleted" : "%s nije moguće preimenovati jer je izbrisan", @@ -84,6 +82,7 @@ OC.L10N.register( "Cancel upload" : "Prekini učitavanje", "Upload some content or sync with your devices!" : "Učitaj neki sadržaj ili sinhronizuj sa tvojim uređajima!", "Select all" : "Označi sve", + "Delete" : "Izbriši", "Upload too large" : "Učitavanje je preveliko", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke koje pokušavate učitati prelaze maksimalnu veličinu za učitavanje datoteka na ovom serveru.", "Files are being scanned, please wait." : "Datoteke se provjeravaju, molim pričekajte.", diff --git a/apps/files/l10n/bs.json b/apps/files/l10n/bs.json index 30a38102a6..b398ca5a39 100644 --- a/apps/files/l10n/bs.json +++ b/apps/files/l10n/bs.json @@ -27,6 +27,7 @@ "All files" : "Sve datoteke", "Favorites" : "Favoriti", "Home" : "Kuća", + "Close" : "Zatvori", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nemoguće učitati {filename} jer je ili direktorij ili ima 0 bajta", "Total file size {size1} exceeds upload limit {size2}" : "Ukupna veličina datoteke {size1} prelazi ograničenje unosa {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedovoljno slobodnog prostora, vi učitavate {size1} a samo je {size2} preostalo", @@ -36,10 +37,7 @@ "{new_name} already exists" : "{new_name} već postoji", "Could not create file" : "Datoteku nije moguće kreirati", "Could not create folder" : "Direktorij nije moguće kreirati", - "Rename" : "Preimenuj", - "Delete" : "Izbriši", - "Disconnect storage" : "Diskonektuj pohranu", - "Unshare" : "Prestani dijeliti", + "Actions" : "Radnje", "Download" : "Preuzmi", "Select" : "Izaberi", "Pending" : "Na čekanju", @@ -54,13 +52,13 @@ "Modified" : "Izmijenjeno", "_%n folder_::_%n folders_" : ["direktorij","direktoriji","direktoriji"], "_%n file_::_%n files_" : ["%n datoteka","%n datoteke","%n datoteke"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Ovdje niste ovlašteni učitavati ili kreirati datoteke", "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteke"], "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.", "File name cannot be empty." : "Naziv datoteke ne može biti prazan", "Your storage is full, files can not be updated or synced anymore!" : "Vaša pohrana je puna, datoteke više nije moguće ažurirati niti sinhronizirati!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Favorizovano", "Favorite" : "Favorit", "%s could not be renamed as it has been deleted" : "%s nije moguće preimenovati jer je izbrisan", @@ -82,6 +80,7 @@ "Cancel upload" : "Prekini učitavanje", "Upload some content or sync with your devices!" : "Učitaj neki sadržaj ili sinhronizuj sa tvojim uređajima!", "Select all" : "Označi sve", + "Delete" : "Izbriši", "Upload too large" : "Učitavanje je preveliko", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke koje pokušavate učitati prelaze maksimalnu veličinu za učitavanje datoteka na ovom serveru.", "Files are being scanned, please wait." : "Datoteke se provjeravaju, molim pričekajte.", diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js index fc207dd6bb..28261b6221 100644 --- a/apps/files/l10n/ca.js +++ b/apps/files/l10n/ca.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Tots els fitxers", "Favorites" : "Preferits", "Home" : "Casa", + "Close" : "Tanca", "Unable to upload {filename} as it is a directory or has 0 bytes" : "No es pot pujar {filename} perquè és una carpeta o té 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "Mida total del fitxer {size1} excedeix el límit de pujada {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} ja existeix", "Could not create file" : "No s'ha pogut crear el fitxer", "Could not create folder" : "No s'ha pogut crear la carpeta", - "Rename" : "Reanomena", - "Delete" : "Esborra", - "Disconnect storage" : "Desonnecta l'emmagatzematge", - "Unshare" : "Deixa de compartir", - "No permission to delete" : "Sense permís per esborrar", + "Actions" : "Accions", "Download" : "Baixa", "Select" : "Selecciona", "Pending" : "Pendent", @@ -58,6 +55,7 @@ OC.L10N.register( "Modified" : "Modificat", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetes"], "_%n file_::_%n files_" : ["%n fitxer","%n fitxers"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "No teniu permisos per a pujar o crear els fitxers aquí", "_Uploading %n file_::_Uploading %n files_" : ["Pujant %n fitxer","Pujant %n fitxers"], "\"{name}\" is an invalid file name." : "\"{name}\" no es un fitxer vàlid.", @@ -67,7 +65,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Emmagatzematge de {owner} està gairebé ple ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "El vostre espai d'emmagatzemament és gairebé ple ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincidències '{filter}'","coincidència '{filter}'"], - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Agregat a favorits", "Favorite" : "Preferits", "An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes", @@ -107,6 +104,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.", "No entries found in this folder" : "No hi ha entrades en aquesta carpeta", "Select all" : "Seleccionar tot", + "Delete" : "Esborra", "Upload too large" : "La pujada és massa gran", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor", "Files are being scanned, please wait." : "S'estan escanejant els fitxers, espereu", diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json index 052e9ecb21..7fcc056717 100644 --- a/apps/files/l10n/ca.json +++ b/apps/files/l10n/ca.json @@ -27,6 +27,7 @@ "All files" : "Tots els fitxers", "Favorites" : "Preferits", "Home" : "Casa", + "Close" : "Tanca", "Unable to upload {filename} as it is a directory or has 0 bytes" : "No es pot pujar {filename} perquè és una carpeta o té 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "Mida total del fitxer {size1} excedeix el límit de pujada {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, està carregant {size1} però només pot {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} ja existeix", "Could not create file" : "No s'ha pogut crear el fitxer", "Could not create folder" : "No s'ha pogut crear la carpeta", - "Rename" : "Reanomena", - "Delete" : "Esborra", - "Disconnect storage" : "Desonnecta l'emmagatzematge", - "Unshare" : "Deixa de compartir", - "No permission to delete" : "Sense permís per esborrar", + "Actions" : "Accions", "Download" : "Baixa", "Select" : "Selecciona", "Pending" : "Pendent", @@ -56,6 +53,7 @@ "Modified" : "Modificat", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetes"], "_%n file_::_%n files_" : ["%n fitxer","%n fitxers"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "No teniu permisos per a pujar o crear els fitxers aquí", "_Uploading %n file_::_Uploading %n files_" : ["Pujant %n fitxer","Pujant %n fitxers"], "\"{name}\" is an invalid file name." : "\"{name}\" no es un fitxer vàlid.", @@ -65,7 +63,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Emmagatzematge de {owner} està gairebé ple ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "El vostre espai d'emmagatzemament és gairebé ple ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincidències '{filter}'","coincidència '{filter}'"], - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Agregat a favorits", "Favorite" : "Preferits", "An error occurred while trying to update the tags" : "S'ha produït un error en tractar d'actualitzar les etiquetes", @@ -105,6 +102,7 @@ "Upload some content or sync with your devices!" : "Pugi continguts o sincronitzi els seus dispositius.", "No entries found in this folder" : "No hi ha entrades en aquesta carpeta", "Select all" : "Seleccionar tot", + "Delete" : "Esborra", "Upload too large" : "La pujada és massa gran", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Els fitxers que esteu intentant pujar excedeixen la mida màxima de pujada del servidor", "Files are being scanned, please wait." : "S'estan escanejant els fitxers, espereu", diff --git a/apps/files/l10n/cs_CZ.js b/apps/files/l10n/cs_CZ.js index 39f0a9e695..c12c66892d 100644 --- a/apps/files/l10n/cs_CZ.js +++ b/apps/files/l10n/cs_CZ.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Všechny soubory", "Favorites" : "Oblíbené", "Home" : "Domů", + "Close" : "Zavřít", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nelze nahrát soubor {filename}, protože je to buď adresář nebo má velikost 0 bytů", "Total file size {size1} exceeds upload limit {size2}" : "Celková velikost souboru {size1} překračuje povolenou velikost pro nahrávání {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Není dostatek místa pro uložení, velikost souboru je {size1}, zbývá pouze {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} již existuje", "Could not create file" : "Nepodařilo se vytvořit soubor", "Could not create folder" : "Nepodařilo se vytvořit složku", - "Rename" : "Přejmenovat", - "Delete" : "Smazat", - "Disconnect storage" : "Odpojit úložiště", - "Unshare" : "Zrušit sdílení", - "No permission to delete" : "Chybí oprávnění mazat", + "Actions" : "Činnosti", "Download" : "Stáhnout", "Select" : "Vybrat", "Pending" : "Nevyřízené", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Upraveno", "_%n folder_::_%n folders_" : ["%n složka","%n složky","%n složek"], "_%n file_::_%n files_" : ["%n soubor","%n soubory","%n souborů"], + "{dirs} and {files}" : "{dirs} a {files}", "You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo vytvářet soubory", "_Uploading %n file_::_Uploading %n files_" : ["Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"], "\"{name}\" is an invalid file name." : "\"{name}\" je neplatným názvem souboru.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Úložiště uživatele {owner} je téměř plné ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Vaše úložiště je téměř plné ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["odpovídá '{filter}'","odpovídá '{filter}'","odpovídá '{filter}'"], - "{dirs} and {files}" : "{dirs} a {files}", + "Path" : "Cesta", + "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"], "Favorited" : "Přidáno k oblíbeným", "Favorite" : "Oblíbené", "An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Zacházení se soubory", "Maximum upload size" : "Maximální velikost pro odesílání", "max. possible: " : "největší možná: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Při použití PHP-FPM může změna tohoto nastavení trvat až 5 minut po jeho uložení.", "Save" : "Uložit", "Can not be edited from here due to insufficient permissions." : "Nelze odsud upravovat z důvodu nedostatečných oprávnění.", "Settings" : "Nastavení", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!", "No entries found in this folder" : "V této složce nebylo nic nalezeno", "Select all" : "Vybrat vše", + "Delete" : "Smazat", "Upload too large" : "Odesílaný soubor je příliš velký", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.", "Files are being scanned, please wait." : "Soubory se prohledávají, prosím čekejte.", diff --git a/apps/files/l10n/cs_CZ.json b/apps/files/l10n/cs_CZ.json index 8742662c1d..da8c653d37 100644 --- a/apps/files/l10n/cs_CZ.json +++ b/apps/files/l10n/cs_CZ.json @@ -27,6 +27,7 @@ "All files" : "Všechny soubory", "Favorites" : "Oblíbené", "Home" : "Domů", + "Close" : "Zavřít", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nelze nahrát soubor {filename}, protože je to buď adresář nebo má velikost 0 bytů", "Total file size {size1} exceeds upload limit {size2}" : "Celková velikost souboru {size1} překračuje povolenou velikost pro nahrávání {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Není dostatek místa pro uložení, velikost souboru je {size1}, zbývá pouze {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} již existuje", "Could not create file" : "Nepodařilo se vytvořit soubor", "Could not create folder" : "Nepodařilo se vytvořit složku", - "Rename" : "Přejmenovat", - "Delete" : "Smazat", - "Disconnect storage" : "Odpojit úložiště", - "Unshare" : "Zrušit sdílení", - "No permission to delete" : "Chybí oprávnění mazat", + "Actions" : "Činnosti", "Download" : "Stáhnout", "Select" : "Vybrat", "Pending" : "Nevyřízené", @@ -58,6 +55,7 @@ "Modified" : "Upraveno", "_%n folder_::_%n folders_" : ["%n složka","%n složky","%n složek"], "_%n file_::_%n files_" : ["%n soubor","%n soubory","%n souborů"], + "{dirs} and {files}" : "{dirs} a {files}", "You don’t have permission to upload or create files here" : "Nemáte oprávnění sem nahrávat nebo vytvářet soubory", "_Uploading %n file_::_Uploading %n files_" : ["Nahrávám %n soubor","Nahrávám %n soubory","Nahrávám %n souborů"], "\"{name}\" is an invalid file name." : "\"{name}\" je neplatným názvem souboru.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Úložiště uživatele {owner} je téměř plné ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Vaše úložiště je téměř plné ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["odpovídá '{filter}'","odpovídá '{filter}'","odpovídá '{filter}'"], - "{dirs} and {files}" : "{dirs} a {files}", + "Path" : "Cesta", + "_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů"], "Favorited" : "Přidáno k oblíbeným", "Favorite" : "Oblíbené", "An error occurred while trying to update the tags" : "Při pokusu o úpravu tagů nastala chyba", @@ -91,6 +90,7 @@ "File handling" : "Zacházení se soubory", "Maximum upload size" : "Maximální velikost pro odesílání", "max. possible: " : "největší možná: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Při použití PHP-FPM může změna tohoto nastavení trvat až 5 minut po jeho uložení.", "Save" : "Uložit", "Can not be edited from here due to insufficient permissions." : "Nelze odsud upravovat z důvodu nedostatečných oprávnění.", "Settings" : "Nastavení", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo synchronizujte se svými přístroji!", "No entries found in this folder" : "V této složce nebylo nic nalezeno", "Select all" : "Vybrat vše", + "Delete" : "Smazat", "Upload too large" : "Odesílaný soubor je příliš velký", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Soubory, které se snažíte odeslat, překračují limit velikosti odesílání na tomto serveru.", "Files are being scanned, please wait." : "Soubory se prohledávají, prosím čekejte.", diff --git a/apps/files/l10n/cy_GB.js b/apps/files/l10n/cy_GB.js index 8d39608457..f3a9825ea4 100644 --- a/apps/files/l10n/cy_GB.js +++ b/apps/files/l10n/cy_GB.js @@ -15,12 +15,11 @@ OC.L10N.register( "Invalid directory." : "Cyfeiriadur annilys.", "Files" : "Ffeiliau", "Home" : "Cartref", + "Close" : "Cau", "Upload cancelled." : "Diddymwyd llwytho i fyny.", "File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.", "{new_name} already exists" : "{new_name} yn bodoli'n barod", - "Rename" : "Ailenwi", - "Delete" : "Dileu", - "Unshare" : "Dad-rannu", + "Actions" : "Gweithredoedd", "Download" : "Llwytho i lawr", "Pending" : "I ddod", "Error" : "Gwall", @@ -40,6 +39,7 @@ OC.L10N.register( "Folder" : "Plygell", "Upload" : "Llwytho i fyny", "Cancel upload" : "Diddymu llwytho i fyny", + "Delete" : "Dileu", "Upload too large" : "Maint llwytho i fyny'n rhy fawr", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Mae'r ffeiliau rydych yn ceisio llwytho i fyny'n fwy na maint mwyaf llwytho ffeiliau i fyny ar y gweinydd hwn.", "Files are being scanned, please wait." : "Arhoswch, mae ffeiliau'n cael eu sganio." diff --git a/apps/files/l10n/cy_GB.json b/apps/files/l10n/cy_GB.json index c852d46fe6..e4c7a63762 100644 --- a/apps/files/l10n/cy_GB.json +++ b/apps/files/l10n/cy_GB.json @@ -13,12 +13,11 @@ "Invalid directory." : "Cyfeiriadur annilys.", "Files" : "Ffeiliau", "Home" : "Cartref", + "Close" : "Cau", "Upload cancelled." : "Diddymwyd llwytho i fyny.", "File upload is in progress. Leaving the page now will cancel the upload." : "Mae ffeiliau'n cael eu llwytho i fyny. Bydd gadael y dudalen hon nawr yn diddymu'r broses.", "{new_name} already exists" : "{new_name} yn bodoli'n barod", - "Rename" : "Ailenwi", - "Delete" : "Dileu", - "Unshare" : "Dad-rannu", + "Actions" : "Gweithredoedd", "Download" : "Llwytho i lawr", "Pending" : "I ddod", "Error" : "Gwall", @@ -38,6 +37,7 @@ "Folder" : "Plygell", "Upload" : "Llwytho i fyny", "Cancel upload" : "Diddymu llwytho i fyny", + "Delete" : "Dileu", "Upload too large" : "Maint llwytho i fyny'n rhy fawr", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Mae'r ffeiliau rydych yn ceisio llwytho i fyny'n fwy na maint mwyaf llwytho ffeiliau i fyny ar y gweinydd hwn.", "Files are being scanned, please wait." : "Arhoswch, mae ffeiliau'n cael eu sganio." diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js index e039bddf6a..b82b69baf5 100644 --- a/apps/files/l10n/da.js +++ b/apps/files/l10n/da.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Alle filer", "Favorites" : "Foretrukne", "Home" : "Hjemme", + "Close" : "Luk", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan ikke upload {filename} da det er enten en mappe eller indholder 0 bytes.", "Total file size {size1} exceeds upload limit {size2}" : "Den totale filstørrelse {size1} er større end uploadgrænsen {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Der er ikke tilstrækkeligt friplads. Du uplaoder {size1} men der er kun {size2} tilbage", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} eksisterer allerede", "Could not create file" : "Kunne ikke oprette fil", "Could not create folder" : "Kunne ikke oprette mappe", - "Rename" : "Omdøb", - "Delete" : "Slet", - "Disconnect storage" : "Frakobl lager", - "Unshare" : "Fjern deling", - "No permission to delete" : "Ingen rettigheder at slette", + "Actions" : "Handlinger", "Download" : "Download", "Select" : "Vælg", "Pending" : "Afventer", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Ændret", "_%n folder_::_%n folders_" : ["%n mappe","%n mapper"], "_%n file_::_%n files_" : ["%n fil","%n filer"], + "{dirs} and {files}" : "{dirs} og {files}", "You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her", "_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"], "\"{name}\" is an invalid file name." : "'{name}' er et ugyldigt filnavn.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Opbevaringspladsen tilhørende {owner} er næsten fyldt op ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Din opbevaringsplads er næsten fyldt op ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["match '{filter}'","match '{filter}'"], - "{dirs} and {files}" : "{dirs} og {files}", + "Path" : "Sti", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Gjort til foretrukken", "Favorite" : "Foretrukken", "An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Filhåndtering", "Maximum upload size" : "Maksimal upload-størrelse", "max. possible: " : "max. mulige: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Med PHP-FPM kan denne værdi, kan der gå op til 5 minutter før virkningen indtræffer, efter at der gemmes.", "Save" : "Gem", "Can not be edited from here due to insufficient permissions." : "Kan ikke redigeres herfra på grund af utilstrækkelige rettigheder.", "Settings" : "Indstillinger", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Overfør indhold eller synkronisér med dine enheder!", "No entries found in this folder" : "Der blev ikke fundet poster i denne mappe", "Select all" : "Vælg alle", + "Delete" : "Slet", "Upload too large" : "Upload er for stor", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server.", "Files are being scanned, please wait." : "Filerne bliver indlæst, vent venligst.", diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json index f8e5b4af45..85e0f87243 100644 --- a/apps/files/l10n/da.json +++ b/apps/files/l10n/da.json @@ -27,6 +27,7 @@ "All files" : "Alle filer", "Favorites" : "Foretrukne", "Home" : "Hjemme", + "Close" : "Luk", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan ikke upload {filename} da det er enten en mappe eller indholder 0 bytes.", "Total file size {size1} exceeds upload limit {size2}" : "Den totale filstørrelse {size1} er større end uploadgrænsen {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Der er ikke tilstrækkeligt friplads. Du uplaoder {size1} men der er kun {size2} tilbage", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} eksisterer allerede", "Could not create file" : "Kunne ikke oprette fil", "Could not create folder" : "Kunne ikke oprette mappe", - "Rename" : "Omdøb", - "Delete" : "Slet", - "Disconnect storage" : "Frakobl lager", - "Unshare" : "Fjern deling", - "No permission to delete" : "Ingen rettigheder at slette", + "Actions" : "Handlinger", "Download" : "Download", "Select" : "Vælg", "Pending" : "Afventer", @@ -58,6 +55,7 @@ "Modified" : "Ændret", "_%n folder_::_%n folders_" : ["%n mappe","%n mapper"], "_%n file_::_%n files_" : ["%n fil","%n filer"], + "{dirs} and {files}" : "{dirs} og {files}", "You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her", "_Uploading %n file_::_Uploading %n files_" : ["Uploader %n fil","Uploader %n filer"], "\"{name}\" is an invalid file name." : "'{name}' er et ugyldigt filnavn.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Opbevaringspladsen tilhørende {owner} er næsten fyldt op ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Din opbevaringsplads er næsten fyldt op ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["match '{filter}'","match '{filter}'"], - "{dirs} and {files}" : "{dirs} og {files}", + "Path" : "Sti", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Gjort til foretrukken", "Favorite" : "Foretrukken", "An error occurred while trying to update the tags" : "Der opstod en fejl under forsøg på at opdatere mærkerne", @@ -91,6 +90,7 @@ "File handling" : "Filhåndtering", "Maximum upload size" : "Maksimal upload-størrelse", "max. possible: " : "max. mulige: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Med PHP-FPM kan denne værdi, kan der gå op til 5 minutter før virkningen indtræffer, efter at der gemmes.", "Save" : "Gem", "Can not be edited from here due to insufficient permissions." : "Kan ikke redigeres herfra på grund af utilstrækkelige rettigheder.", "Settings" : "Indstillinger", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Overfør indhold eller synkronisér med dine enheder!", "No entries found in this folder" : "Der blev ikke fundet poster i denne mappe", "Select all" : "Vælg alle", + "Delete" : "Slet", "Upload too large" : "Upload er for stor", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filerne, du prøver at uploade, er større end den maksimale størrelse for fil-upload på denne server.", "Files are being scanned, please wait." : "Filerne bliver indlæst, vent venligst.", diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js index 00d88d5291..48e386308e 100644 --- a/apps/files/l10n/de.js +++ b/apps/files/l10n/de.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Alle Dateien", "Favorites" : "Favoriten", "Home" : "Home", + "Close" : "Schließen", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Die Datei {filename} kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist", "Total file size {size1} exceeds upload limit {size2}" : "Die Gesamt-Größe {size1} überschreitet die Upload-Begrenzung {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, du möchtest {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} existiert bereits", "Could not create file" : "Die Datei konnte nicht erstellt werden", "Could not create folder" : "Der Ordner konnte nicht erstellt werden", - "Rename" : "Umbenennen", - "Delete" : "Löschen", - "Disconnect storage" : "Speicher trennen", - "Unshare" : "Freigabe aufheben", - "No permission to delete" : "Keine Berechtigung zum Löschen", + "Actions" : "Aktionen", "Download" : "Herunterladen", "Select" : "Auswählen", "Pending" : "Ausstehend", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Geändert", "_%n folder_::_%n folders_" : ["%n Ordner","%n Ordner"], "_%n file_::_%n files_" : ["%n Datei","%n Dateien"], + "{dirs} and {files}" : "{dirs} und {files}", "You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen", "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"], "\"{name}\" is an invalid file name." : "»{name}« ist kein gültiger Dateiname.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Der Speicher von {owner} ist beinahe voll ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Dein Speicher ist fast voll ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["stimmt mit '{filter}' überein","stimmen mit '{filter}' überein"], - "{dirs} and {files}" : "{dirs} und {files}", + "Path" : "Pfad", + "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"], "Favorited" : "Favorisiert", "Favorite" : "Favorit", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Lade Inhalte hoch oder synchronisiere mit Deinen Geräten!", "No entries found in this folder" : "Keine Einträge in diesem Ordner", "Select all" : "Alle auswählen", + "Delete" : "Löschen", "Upload too large" : "Der Upload ist zu groß", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.", "Files are being scanned, please wait." : "Dateien werden gescannt, bitte warten.", diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json index 7d75fb70ea..fdf22ba973 100644 --- a/apps/files/l10n/de.json +++ b/apps/files/l10n/de.json @@ -27,6 +27,7 @@ "All files" : "Alle Dateien", "Favorites" : "Favoriten", "Home" : "Home", + "Close" : "Schließen", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Die Datei {filename} kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist", "Total file size {size1} exceeds upload limit {size2}" : "Die Gesamt-Größe {size1} überschreitet die Upload-Begrenzung {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, du möchtest {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} existiert bereits", "Could not create file" : "Die Datei konnte nicht erstellt werden", "Could not create folder" : "Der Ordner konnte nicht erstellt werden", - "Rename" : "Umbenennen", - "Delete" : "Löschen", - "Disconnect storage" : "Speicher trennen", - "Unshare" : "Freigabe aufheben", - "No permission to delete" : "Keine Berechtigung zum Löschen", + "Actions" : "Aktionen", "Download" : "Herunterladen", "Select" : "Auswählen", "Pending" : "Ausstehend", @@ -58,6 +55,7 @@ "Modified" : "Geändert", "_%n folder_::_%n folders_" : ["%n Ordner","%n Ordner"], "_%n file_::_%n files_" : ["%n Datei","%n Dateien"], + "{dirs} and {files}" : "{dirs} und {files}", "You don’t have permission to upload or create files here" : "Du hast keine Berechtigung, hier Dateien hochzuladen oder zu erstellen", "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"], "\"{name}\" is an invalid file name." : "»{name}« ist kein gültiger Dateiname.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Der Speicher von {owner} ist beinahe voll ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Dein Speicher ist fast voll ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["stimmt mit '{filter}' überein","stimmen mit '{filter}' überein"], - "{dirs} and {files}" : "{dirs} und {files}", + "Path" : "Pfad", + "_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"], "Favorited" : "Favorisiert", "Favorite" : "Favorit", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", @@ -107,6 +106,7 @@ "Upload some content or sync with your devices!" : "Lade Inhalte hoch oder synchronisiere mit Deinen Geräten!", "No entries found in this folder" : "Keine Einträge in diesem Ordner", "Select all" : "Alle auswählen", + "Delete" : "Löschen", "Upload too large" : "Der Upload ist zu groß", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.", "Files are being scanned, please wait." : "Dateien werden gescannt, bitte warten.", diff --git a/apps/files/l10n/de_AT.js b/apps/files/l10n/de_AT.js index 046e993f7f..a6ff8843a6 100644 --- a/apps/files/l10n/de_AT.js +++ b/apps/files/l10n/de_AT.js @@ -3,8 +3,6 @@ OC.L10N.register( { "Unknown error" : "Unbekannter Fehler", "Files" : "Dateien", - "Delete" : "Löschen", - "Unshare" : "Teilung zurücknehmen", "Download" : "Herunterladen", "Error" : "Fehler", "A new file or folder has been created" : "Eine neue Datei oder ein neuer Ordner wurde erstellt", @@ -20,6 +18,7 @@ OC.L10N.register( "Settings" : "Einstellungen", "New folder" : "Neuer Ordner", "Upload" : "Hochladen", - "Cancel upload" : "Hochladen abbrechen" + "Cancel upload" : "Hochladen abbrechen", + "Delete" : "Löschen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/de_AT.json b/apps/files/l10n/de_AT.json index b31eb12c49..0356e6650a 100644 --- a/apps/files/l10n/de_AT.json +++ b/apps/files/l10n/de_AT.json @@ -1,8 +1,6 @@ { "translations": { "Unknown error" : "Unbekannter Fehler", "Files" : "Dateien", - "Delete" : "Löschen", - "Unshare" : "Teilung zurücknehmen", "Download" : "Herunterladen", "Error" : "Fehler", "A new file or folder has been created" : "Eine neue Datei oder ein neuer Ordner wurde erstellt", @@ -18,6 +16,7 @@ "Settings" : "Einstellungen", "New folder" : "Neuer Ordner", "Upload" : "Hochladen", - "Cancel upload" : "Hochladen abbrechen" + "Cancel upload" : "Hochladen abbrechen", + "Delete" : "Löschen" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index 69699135b8..bc2f764ae5 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Alle Dateien", "Favorites" : "Favoriten", "Home" : "Zuhause", + "Close" : "Schließen", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Die Datei {filename} kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist", "Total file size {size1} exceeds upload limit {size2}" : "Die Gesamt-Größe {size1} überschreitet die Upload-Begrenzung {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Sie möchten {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} existiert bereits", "Could not create file" : "Die Datei konnte nicht erstellt werden", "Could not create folder" : "Der Ordner konnte nicht erstellt werden", - "Rename" : "Umbenennen", - "Delete" : "Löschen", - "Disconnect storage" : "Speicher trennen", - "Unshare" : "Freigabe aufheben", - "No permission to delete" : "Keine Berechtigung zum Löschen", + "Actions" : "Aktionen", "Download" : "Herunterladen", "Select" : "Auswählen", "Pending" : "Ausstehend", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Geändert", "_%n folder_::_%n folders_" : ["%n Ordner","%n Ordner"], "_%n file_::_%n files_" : ["%n Datei","%n Dateien"], + "{dirs} and {files}" : "{dirs} und {files}", "You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen", "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hoch geladen","%n Dateien werden hoch geladen"], "\"{name}\" is an invalid file name." : "„{name}“ ist kein gültiger Dateiname.", @@ -69,7 +67,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Der Speicher von {owner} ist beinahe voll ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ihr Speicher ist fast voll ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["stimmt mit '{filter}' überein","stimmen mit '{filter}' überein"], - "{dirs} and {files}" : "{dirs} und {files}", "Favorited" : "Favorisiert", "Favorite" : "Favorit", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", @@ -109,6 +106,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!", "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden", "Select all" : "Alle auswählen", + "Delete" : "Löschen", "Upload too large" : "Der Upload ist zu groß", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.", "Files are being scanned, please wait." : "Dateien werden gescannt, bitte warten.", diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index 2a1e548ec5..7e4ee06cb8 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -27,6 +27,7 @@ "All files" : "Alle Dateien", "Favorites" : "Favoriten", "Home" : "Zuhause", + "Close" : "Schließen", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Die Datei {filename} kann nicht hochgeladen werden, da sie entweder ein Verzeichnis oder 0 Bytes groß ist", "Total file size {size1} exceeds upload limit {size2}" : "Die Gesamt-Größe {size1} überschreitet die Upload-Begrenzung {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nicht genügend freier Speicherplatz, Sie möchten {size1} hochladen, es sind jedoch nur noch {size2} verfügbar.", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} existiert bereits", "Could not create file" : "Die Datei konnte nicht erstellt werden", "Could not create folder" : "Der Ordner konnte nicht erstellt werden", - "Rename" : "Umbenennen", - "Delete" : "Löschen", - "Disconnect storage" : "Speicher trennen", - "Unshare" : "Freigabe aufheben", - "No permission to delete" : "Keine Berechtigung zum Löschen", + "Actions" : "Aktionen", "Download" : "Herunterladen", "Select" : "Auswählen", "Pending" : "Ausstehend", @@ -58,6 +55,7 @@ "Modified" : "Geändert", "_%n folder_::_%n folders_" : ["%n Ordner","%n Ordner"], "_%n file_::_%n files_" : ["%n Datei","%n Dateien"], + "{dirs} and {files}" : "{dirs} und {files}", "You don’t have permission to upload or create files here" : "Sie haben keine Berechtigung, hier Dateien hochzuladen oder zu erstellen", "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hoch geladen","%n Dateien werden hoch geladen"], "\"{name}\" is an invalid file name." : "„{name}“ ist kein gültiger Dateiname.", @@ -67,7 +65,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Der Speicher von {owner} ist beinahe voll ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ihr Speicher ist fast voll ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["stimmt mit '{filter}' überein","stimmen mit '{filter}' überein"], - "{dirs} and {files}" : "{dirs} und {files}", "Favorited" : "Favorisiert", "Favorite" : "Favorit", "An error occurred while trying to update the tags" : "Es ist ein Fehler beim Aktualisieren der Tags aufgetreten", @@ -107,6 +104,7 @@ "Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie mit Ihren Geräten!", "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden", "Select all" : "Alle auswählen", + "Delete" : "Löschen", "Upload too large" : "Der Upload ist zu groß", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgröße für Uploads auf diesem Server.", "Files are being scanned, please wait." : "Dateien werden gescannt, bitte warten.", diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js index 255f70f29e..1d0ac807d5 100644 --- a/apps/files/l10n/el.js +++ b/apps/files/l10n/el.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Όλα τα αρχεία", "Favorites" : "Αγαπημένες", "Home" : "Σπίτι", + "Close" : "Κλείσιμο", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Αδυναμία φόρτωσης {filename} καθώς είναι κατάλογος αρχείων ή έχει 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "Το συνολικό μέγεθος αρχείου {size1} υπερβαίνει το όριο μεταφόρτωσης {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Δεν υπάρχει αρκετός ελεύθερος χώρος, μεταφορτώνετε μέγεθος {size1} αλλά υπάρχει χώρος μόνο {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} υπάρχει ήδη", "Could not create file" : "Αδυναμία δημιουργίας αρχείου", "Could not create folder" : "Αδυναμία δημιουργίας φακέλου", - "Rename" : "Μετονομασία", - "Delete" : "Διαγραφή", - "Disconnect storage" : "Αποσυνδεδεμένος αποθηκευτικός χώρος", - "Unshare" : "Διακοπή διαμοιρασμού", - "No permission to delete" : "Δεν έχετε άδεια να το διαγράψετε", + "Actions" : "Ενέργειες", "Download" : "Λήψη", "Select" : "Επιλογή", "Pending" : "Εκκρεμεί", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Τροποποιήθηκε", "_%n folder_::_%n folders_" : ["%n φάκελος","%n φάκελοι"], "_%n file_::_%n files_" : ["%n αρχείο","%n αρχεία"], + "{dirs} and {files}" : "{Κατάλογοι αρχείων} και {αρχεία}", "You don’t have permission to upload or create files here" : "Δεν έχετε δικαιώματα φόρτωσης ή δημιουργίας αρχείων εδώ", "_Uploading %n file_::_Uploading %n files_" : ["Ανέβασμα %n αρχείου","Ανέβασμα %n αρχείων"], "\"{name}\" is an invalid file name." : "Το \"{name}\" είναι μη έγκυρο όνομα αρχείου.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Ο αποθηκευτικός χώρος του {owner} είναι σχεδόν πλήρης ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ο αποθηκευτικός χώρος είναι σχεδόν γεμάτος ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["ταιριάζουν '{filter}' ","ταιριάζουν '{filter}'"], - "{dirs} and {files}" : "{Κατάλογοι αρχείων} και {αρχεία}", + "Path" : "Διαδρομή", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Προτιμώμενα", "Favorite" : "Αγαπημένο", "An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Διαχείριση αρχείων", "Maximum upload size" : "Μέγιστο μέγεθος αποστολής", "max. possible: " : "μέγιστο δυνατό:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Με την PHP-FPM αυτή η τιμή μπορεί να χρειαστεί μέχρι και 5 λεπτά για να ενεργοποιηθεί μετά την αποθήκευση.", "Save" : "Αποθήκευση", "Can not be edited from here due to insufficient permissions." : "Δεν υπάρχει εδώ η δυνατότητα επεξεργασίας λόγω μη επαρκών δικαιωμάτων", "Settings" : "Ρυθμίσεις", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Μεταφόρτωση περιεχομένου ή συγχρονισμός με τις συσκευές σας!", "No entries found in this folder" : "Δεν βρέθηκαν καταχωρήσεις σε αυτόν το φάκελο", "Select all" : "Επιλογή όλων", + "Delete" : "Διαγραφή", "Upload too large" : "Πολύ μεγάλο αρχείο προς αποστολή", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Τα αρχεία που προσπαθείτε να ανεβάσετε υπερβαίνουν το μέγιστο μέγεθος αποστολής αρχείων σε αυτόν τον διακομιστή.", "Files are being scanned, please wait." : "Τα αρχεία σαρώνονται, παρακαλώ περιμένετε.", diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json index 2b72213e53..d3ea79a5e4 100644 --- a/apps/files/l10n/el.json +++ b/apps/files/l10n/el.json @@ -27,6 +27,7 @@ "All files" : "Όλα τα αρχεία", "Favorites" : "Αγαπημένες", "Home" : "Σπίτι", + "Close" : "Κλείσιμο", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Αδυναμία φόρτωσης {filename} καθώς είναι κατάλογος αρχείων ή έχει 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "Το συνολικό μέγεθος αρχείου {size1} υπερβαίνει το όριο μεταφόρτωσης {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Δεν υπάρχει αρκετός ελεύθερος χώρος, μεταφορτώνετε μέγεθος {size1} αλλά υπάρχει χώρος μόνο {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} υπάρχει ήδη", "Could not create file" : "Αδυναμία δημιουργίας αρχείου", "Could not create folder" : "Αδυναμία δημιουργίας φακέλου", - "Rename" : "Μετονομασία", - "Delete" : "Διαγραφή", - "Disconnect storage" : "Αποσυνδεδεμένος αποθηκευτικός χώρος", - "Unshare" : "Διακοπή διαμοιρασμού", - "No permission to delete" : "Δεν έχετε άδεια να το διαγράψετε", + "Actions" : "Ενέργειες", "Download" : "Λήψη", "Select" : "Επιλογή", "Pending" : "Εκκρεμεί", @@ -58,6 +55,7 @@ "Modified" : "Τροποποιήθηκε", "_%n folder_::_%n folders_" : ["%n φάκελος","%n φάκελοι"], "_%n file_::_%n files_" : ["%n αρχείο","%n αρχεία"], + "{dirs} and {files}" : "{Κατάλογοι αρχείων} και {αρχεία}", "You don’t have permission to upload or create files here" : "Δεν έχετε δικαιώματα φόρτωσης ή δημιουργίας αρχείων εδώ", "_Uploading %n file_::_Uploading %n files_" : ["Ανέβασμα %n αρχείου","Ανέβασμα %n αρχείων"], "\"{name}\" is an invalid file name." : "Το \"{name}\" είναι μη έγκυρο όνομα αρχείου.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Ο αποθηκευτικός χώρος του {owner} είναι σχεδόν πλήρης ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ο αποθηκευτικός χώρος είναι σχεδόν γεμάτος ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["ταιριάζουν '{filter}' ","ταιριάζουν '{filter}'"], - "{dirs} and {files}" : "{Κατάλογοι αρχείων} και {αρχεία}", + "Path" : "Διαδρομή", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Προτιμώμενα", "Favorite" : "Αγαπημένο", "An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών", @@ -91,6 +90,7 @@ "File handling" : "Διαχείριση αρχείων", "Maximum upload size" : "Μέγιστο μέγεθος αποστολής", "max. possible: " : "μέγιστο δυνατό:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Με την PHP-FPM αυτή η τιμή μπορεί να χρειαστεί μέχρι και 5 λεπτά για να ενεργοποιηθεί μετά την αποθήκευση.", "Save" : "Αποθήκευση", "Can not be edited from here due to insufficient permissions." : "Δεν υπάρχει εδώ η δυνατότητα επεξεργασίας λόγω μη επαρκών δικαιωμάτων", "Settings" : "Ρυθμίσεις", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Μεταφόρτωση περιεχομένου ή συγχρονισμός με τις συσκευές σας!", "No entries found in this folder" : "Δεν βρέθηκαν καταχωρήσεις σε αυτόν το φάκελο", "Select all" : "Επιλογή όλων", + "Delete" : "Διαγραφή", "Upload too large" : "Πολύ μεγάλο αρχείο προς αποστολή", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Τα αρχεία που προσπαθείτε να ανεβάσετε υπερβαίνουν το μέγιστο μέγεθος αποστολής αρχείων σε αυτόν τον διακομιστή.", "Files are being scanned, please wait." : "Τα αρχεία σαρώνονται, παρακαλώ περιμένετε.", diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js index 4fa680b5c7..1433c5d9c1 100644 --- a/apps/files/l10n/en_GB.js +++ b/apps/files/l10n/en_GB.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "All files", "Favorites" : "Favourites", "Home" : "Home", + "Close" : "Close", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Unable to upload {filename} as it is a directory or has 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "Total file size {size1} exceeds upload limit {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Not enough free space, you are uploading {size1} but only {size2} is left", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} already exists", "Could not create file" : "Could not create file", "Could not create folder" : "Could not create folder", - "Rename" : "Rename", - "Delete" : "Delete", - "Disconnect storage" : "Disconnect storage", - "Unshare" : "Unshare", - "No permission to delete" : "No permission to delete", + "Actions" : "Actions", "Download" : "Download", "Select" : "Select", "Pending" : "Pending", @@ -58,6 +55,7 @@ OC.L10N.register( "Modified" : "Modified", "_%n folder_::_%n folders_" : ["%n folder","%n folders"], "_%n file_::_%n files_" : ["%n file","%n files"], + "{dirs} and {files}" : "{dirs} and {files}", "You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here", "_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"], "\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.", @@ -65,7 +63,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!", "Your storage is almost full ({usedSpacePercent}%)" : "Your storage is almost full ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["matches '{filter}'","match '{filter}'"], - "{dirs} and {files}" : "{dirs} and {files}", "Favorited" : "Favourited", "Favorite" : "Favourite", "An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags", @@ -105,6 +102,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Upload some content or sync with your devices!", "No entries found in this folder" : "No entries found in this folder", "Select all" : "Select all", + "Delete" : "Delete", "Upload too large" : "Upload too large", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "The files you are trying to upload exceed the maximum size for file uploads on this server.", "Files are being scanned, please wait." : "Files are being scanned, please wait.", diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json index 417272a5cd..84feb34414 100644 --- a/apps/files/l10n/en_GB.json +++ b/apps/files/l10n/en_GB.json @@ -27,6 +27,7 @@ "All files" : "All files", "Favorites" : "Favourites", "Home" : "Home", + "Close" : "Close", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Unable to upload {filename} as it is a directory or has 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "Total file size {size1} exceeds upload limit {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Not enough free space, you are uploading {size1} but only {size2} is left", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} already exists", "Could not create file" : "Could not create file", "Could not create folder" : "Could not create folder", - "Rename" : "Rename", - "Delete" : "Delete", - "Disconnect storage" : "Disconnect storage", - "Unshare" : "Unshare", - "No permission to delete" : "No permission to delete", + "Actions" : "Actions", "Download" : "Download", "Select" : "Select", "Pending" : "Pending", @@ -56,6 +53,7 @@ "Modified" : "Modified", "_%n folder_::_%n folders_" : ["%n folder","%n folders"], "_%n file_::_%n files_" : ["%n file","%n files"], + "{dirs} and {files}" : "{dirs} and {files}", "You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here", "_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"], "\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.", @@ -63,7 +61,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!", "Your storage is almost full ({usedSpacePercent}%)" : "Your storage is almost full ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["matches '{filter}'","match '{filter}'"], - "{dirs} and {files}" : "{dirs} and {files}", "Favorited" : "Favourited", "Favorite" : "Favourite", "An error occurred while trying to update the tags" : "An error occurred whilst trying to update the tags", @@ -103,6 +100,7 @@ "Upload some content or sync with your devices!" : "Upload some content or sync with your devices!", "No entries found in this folder" : "No entries found in this folder", "Select all" : "Select all", + "Delete" : "Delete", "Upload too large" : "Upload too large", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "The files you are trying to upload exceed the maximum size for file uploads on this server.", "Files are being scanned, please wait." : "Files are being scanned, please wait.", diff --git a/apps/files/l10n/eo.js b/apps/files/l10n/eo.js index 56c4d23d90..0f6c7de8a3 100644 --- a/apps/files/l10n/eo.js +++ b/apps/files/l10n/eo.js @@ -24,6 +24,7 @@ OC.L10N.register( "All files" : "Ĉiuj dosieroj", "Favorites" : "Favoratoj", "Home" : "Hejmo", + "Close" : "Fermi", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝutiĝi {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 duumokojn", "Upload cancelled." : "La alŝuto nuliĝis.", "Could not get result from server." : "Ne povis ekhaviĝi rezulto el la servilo.", @@ -31,9 +32,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} jam ekzistas", "Could not create file" : "Ne povis kreiĝi dosiero", "Could not create folder" : "Ne povis kreiĝi dosierujo", - "Rename" : "Alinomigi", - "Delete" : "Forigi", - "Unshare" : "Malkunhavigi", + "Actions" : "Agoj", "Download" : "Elŝuti", "Select" : "Elekti", "Pending" : "Traktotaj", @@ -45,12 +44,12 @@ OC.L10N.register( "Modified" : "Modifita", "_%n folder_::_%n folders_" : ["%n dosierujo","%n dosierujoj"], "_%n file_::_%n files_" : ["%n dosiero","%n dosieroj"], + "{dirs} and {files}" : "{dirs} kaj {files}", "You don’t have permission to upload or create files here" : "Vi ne havas permeson alŝuti aŭ krei dosierojn ĉi tie", "_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"], "File name cannot be empty." : "Dosiernomo devas ne malpleni.", "Your storage is full, files can not be updated or synced anymore!" : "Via memoro plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!", "Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} kaj {files}", "Favorite" : "Favorato", "You created %1$s" : "Vi kreis %1$s", "%2$s created %1$s" : "%2$s kreis %1$s", @@ -78,6 +77,7 @@ OC.L10N.register( "Cancel upload" : "Nuligi alŝuton", "No files in here" : "Neniu dosiero estas ĉi tie", "Select all" : "Elekti ĉion", + "Delete" : "Forigi", "Upload too large" : "Alŝuto tro larĝa", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.", "Files are being scanned, please wait." : "Dosieroj estas skanataj, bonvolu atendi." diff --git a/apps/files/l10n/eo.json b/apps/files/l10n/eo.json index e3cebced2f..88639f3344 100644 --- a/apps/files/l10n/eo.json +++ b/apps/files/l10n/eo.json @@ -22,6 +22,7 @@ "All files" : "Ĉiuj dosieroj", "Favorites" : "Favoratoj", "Home" : "Hejmo", + "Close" : "Fermi", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne povis alŝutiĝi {filename} ĉar ĝi estas dosierujo aŭ ĝi havas 0 duumokojn", "Upload cancelled." : "La alŝuto nuliĝis.", "Could not get result from server." : "Ne povis ekhaviĝi rezulto el la servilo.", @@ -29,9 +30,7 @@ "{new_name} already exists" : "{new_name} jam ekzistas", "Could not create file" : "Ne povis kreiĝi dosiero", "Could not create folder" : "Ne povis kreiĝi dosierujo", - "Rename" : "Alinomigi", - "Delete" : "Forigi", - "Unshare" : "Malkunhavigi", + "Actions" : "Agoj", "Download" : "Elŝuti", "Select" : "Elekti", "Pending" : "Traktotaj", @@ -43,12 +42,12 @@ "Modified" : "Modifita", "_%n folder_::_%n folders_" : ["%n dosierujo","%n dosierujoj"], "_%n file_::_%n files_" : ["%n dosiero","%n dosieroj"], + "{dirs} and {files}" : "{dirs} kaj {files}", "You don’t have permission to upload or create files here" : "Vi ne havas permeson alŝuti aŭ krei dosierojn ĉi tie", "_Uploading %n file_::_Uploading %n files_" : ["Alŝutatas %n dosiero","Alŝutatas %n dosieroj"], "File name cannot be empty." : "Dosiernomo devas ne malpleni.", "Your storage is full, files can not be updated or synced anymore!" : "Via memoro plenas, ne plu eblas ĝisdatigi aŭ sinkronigi dosierojn!", "Your storage is almost full ({usedSpacePercent}%)" : "Via memoro preskaŭ plenas ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} kaj {files}", "Favorite" : "Favorato", "You created %1$s" : "Vi kreis %1$s", "%2$s created %1$s" : "%2$s kreis %1$s", @@ -76,6 +75,7 @@ "Cancel upload" : "Nuligi alŝuton", "No files in here" : "Neniu dosiero estas ĉi tie", "Select all" : "Elekti ĉion", + "Delete" : "Forigi", "Upload too large" : "Alŝuto tro larĝa", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "La dosieroj, kiujn vi provas alŝuti, transpasas la maksimuman grandon por dosieralŝutoj en ĉi tiu servilo.", "Files are being scanned, please wait." : "Dosieroj estas skanataj, bonvolu atendi." diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index c7409a25df..e72beeee09 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Todos los archivos", "Favorites" : "Favoritos", "Home" : "Particular", + "Close" : "Cerrar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "No ha sido posible subir {filename} porque es un directorio o tiene 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "El tamaño total del archivo {size1} excede el límite {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "No hay suficiente espacio libre. Quiere subir {size1} pero solo quedan {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} ya existe", "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear la carpeta", - "Rename" : "Renombrar", - "Delete" : "Eliminar", - "Disconnect storage" : "Desconectar almacenamiento", - "Unshare" : "Dejar de compartir", - "No permission to delete" : "Permisos insuficientes para borrar", + "Actions" : "Acciones", "Download" : "Descargar", "Select" : "Seleccionar", "Pending" : "Pendiente", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas"], "_%n file_::_%n files_" : ["%n archivo","%n archivos"], + "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido.", @@ -69,7 +67,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "El almacén de {owner} está casi lleno en un ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincidencias '{filter}'","coincidencia '{filter}'"], - "{dirs} and {files}" : "{dirs} y {files}", "Favorited" : "Agregado a Favoritos", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas", @@ -109,6 +106,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Suba contenidos o sincronice sus dispositivos.", "No entries found in this folder" : "No hay entradas en esta carpeta", "Select all" : "Seleccionar todo", + "Delete" : "Eliminar", "Upload too large" : "Subida demasido grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que está intentando subir sobrepasan el tamaño máximo permitido en este servidor.", "Files are being scanned, please wait." : "Los archivos se están escaneando, por favor espere.", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index fc7a12fdf0..1db4dc309a 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -27,6 +27,7 @@ "All files" : "Todos los archivos", "Favorites" : "Favoritos", "Home" : "Particular", + "Close" : "Cerrar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "No ha sido posible subir {filename} porque es un directorio o tiene 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "El tamaño total del archivo {size1} excede el límite {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "No hay suficiente espacio libre. Quiere subir {size1} pero solo quedan {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} ya existe", "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear la carpeta", - "Rename" : "Renombrar", - "Delete" : "Eliminar", - "Disconnect storage" : "Desconectar almacenamiento", - "Unshare" : "Dejar de compartir", - "No permission to delete" : "Permisos insuficientes para borrar", + "Actions" : "Acciones", "Download" : "Descargar", "Select" : "Seleccionar", "Pending" : "Pendiente", @@ -58,6 +55,7 @@ "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas"], "_%n file_::_%n files_" : ["%n archivo","%n archivos"], + "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "No tiene permisos para subir o crear archivos aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], "\"{name}\" is an invalid file name." : "\"{name}\" es un nombre de archivo inválido.", @@ -67,7 +65,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "El almacén de {owner} está casi lleno en un ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincidencias '{filter}'","coincidencia '{filter}'"], - "{dirs} and {files}" : "{dirs} y {files}", "Favorited" : "Agregado a Favoritos", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas", @@ -107,6 +104,7 @@ "Upload some content or sync with your devices!" : "Suba contenidos o sincronice sus dispositivos.", "No entries found in this folder" : "No hay entradas en esta carpeta", "Select all" : "Seleccionar todo", + "Delete" : "Eliminar", "Upload too large" : "Subida demasido grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que está intentando subir sobrepasan el tamaño máximo permitido en este servidor.", "Files are being scanned, please wait." : "Los archivos se están escaneando, por favor espere.", diff --git a/apps/files/l10n/es_AR.js b/apps/files/l10n/es_AR.js index f4d74e553a..8b277c3b9f 100644 --- a/apps/files/l10n/es_AR.js +++ b/apps/files/l10n/es_AR.js @@ -24,6 +24,7 @@ OC.L10N.register( "Files" : "Archivos", "Favorites" : "Favoritos", "Home" : "Particular", + "Close" : "Cerrar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Imposible cargar {filename} puesto que es un directoro o tiene 0 bytes.", "Upload cancelled." : "La subida fue cancelada", "Could not get result from server." : "No se pudo obtener resultados del servidor.", @@ -31,9 +32,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} ya existe", "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear el directorio", - "Rename" : "Cambiar nombre", - "Delete" : "Borrar", - "Unshare" : "Dejar de compartir", + "Actions" : "Acciones", "Download" : "Descargar", "Select" : "Seleccionar", "Pending" : "Pendientes", @@ -46,12 +45,12 @@ OC.L10N.register( "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas"], "_%n file_::_%n files_" : ["%n archivo","%n archivos"], + "{dirs} and {files}" : "{carpetas} y {archivos}", "You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], "File name cannot be empty." : "El nombre del archivo no puede quedar vacío.", "Your storage is full, files can not be updated or synced anymore!" : "El almacenamiento está lleno, los archivos no se pueden seguir actualizando ni sincronizando", "Your storage is almost full ({usedSpacePercent}%)" : "El almacenamiento está casi lleno ({usedSpacePercent}%)", - "{dirs} and {files}" : "{carpetas} y {archivos}", "Favorite" : "Favorito", "A new file or folder has been created" : "Un archivo o carpeta ha sido creado", "A file or folder has been changed" : "Un archivo o carpeta ha sido modificado", @@ -77,6 +76,7 @@ OC.L10N.register( "Folder" : "Carpeta", "Upload" : "Subir", "Cancel upload" : "Cancelar subida", + "Delete" : "Borrar", "Upload too large" : "El tamaño del archivo que querés subir es demasiado grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que intentás subir sobrepasan el tamaño máximo ", "Files are being scanned, please wait." : "Se están escaneando los archivos, por favor esperá." diff --git a/apps/files/l10n/es_AR.json b/apps/files/l10n/es_AR.json index 376f24e363..a9bd63269d 100644 --- a/apps/files/l10n/es_AR.json +++ b/apps/files/l10n/es_AR.json @@ -22,6 +22,7 @@ "Files" : "Archivos", "Favorites" : "Favoritos", "Home" : "Particular", + "Close" : "Cerrar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Imposible cargar {filename} puesto que es un directoro o tiene 0 bytes.", "Upload cancelled." : "La subida fue cancelada", "Could not get result from server." : "No se pudo obtener resultados del servidor.", @@ -29,9 +30,7 @@ "{new_name} already exists" : "{new_name} ya existe", "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear el directorio", - "Rename" : "Cambiar nombre", - "Delete" : "Borrar", - "Unshare" : "Dejar de compartir", + "Actions" : "Acciones", "Download" : "Descargar", "Select" : "Seleccionar", "Pending" : "Pendientes", @@ -44,12 +43,12 @@ "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas"], "_%n file_::_%n files_" : ["%n archivo","%n archivos"], + "{dirs} and {files}" : "{carpetas} y {archivos}", "You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], "File name cannot be empty." : "El nombre del archivo no puede quedar vacío.", "Your storage is full, files can not be updated or synced anymore!" : "El almacenamiento está lleno, los archivos no se pueden seguir actualizando ni sincronizando", "Your storage is almost full ({usedSpacePercent}%)" : "El almacenamiento está casi lleno ({usedSpacePercent}%)", - "{dirs} and {files}" : "{carpetas} y {archivos}", "Favorite" : "Favorito", "A new file or folder has been created" : "Un archivo o carpeta ha sido creado", "A file or folder has been changed" : "Un archivo o carpeta ha sido modificado", @@ -75,6 +74,7 @@ "Folder" : "Carpeta", "Upload" : "Subir", "Cancel upload" : "Cancelar subida", + "Delete" : "Borrar", "Upload too large" : "El tamaño del archivo que querés subir es demasiado grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que intentás subir sobrepasan el tamaño máximo ", "Files are being scanned, please wait." : "Se están escaneando los archivos, por favor esperá." diff --git a/apps/files/l10n/es_CL.js b/apps/files/l10n/es_CL.js index 3e02d171fb..a33902178e 100644 --- a/apps/files/l10n/es_CL.js +++ b/apps/files/l10n/es_CL.js @@ -3,7 +3,6 @@ OC.L10N.register( { "Unknown error" : "Error desconocido", "Files" : "Archivos", - "Rename" : "Renombrar", "Download" : "Descargar", "Error" : "Error", "A new file or folder has been created" : "Un nuevo archivo o carpeta ha sido creado", diff --git a/apps/files/l10n/es_CL.json b/apps/files/l10n/es_CL.json index cdfafbf278..9703b5d68f 100644 --- a/apps/files/l10n/es_CL.json +++ b/apps/files/l10n/es_CL.json @@ -1,7 +1,6 @@ { "translations": { "Unknown error" : "Error desconocido", "Files" : "Archivos", - "Rename" : "Renombrar", "Download" : "Descargar", "Error" : "Error", "A new file or folder has been created" : "Un nuevo archivo o carpeta ha sido creado", diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js index c621aa3329..6143880552 100644 --- a/apps/files/l10n/es_MX.js +++ b/apps/files/l10n/es_MX.js @@ -24,6 +24,7 @@ OC.L10N.register( "Files" : "Archivos", "Favorites" : "Favoritos", "Home" : "Particular", + "Close" : "Cerrar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "No ha sido posible subir {filename} porque es un directorio o tiene 0 bytes", "Upload cancelled." : "Subida cancelada.", "Could not get result from server." : "No se pudo obtener respuesta del servidor.", @@ -31,9 +32,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} ya existe", "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear la carpeta", - "Rename" : "Renombrar", - "Delete" : "Eliminar", - "Unshare" : "Dejar de compartir", + "Actions" : "Acciones", "Download" : "Descargar", "Pending" : "Pendiente", "Error moving file" : "Error moviendo archivo", @@ -45,12 +44,12 @@ OC.L10N.register( "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas"], "_%n file_::_%n files_" : ["%n archivo","%n archivos"], + "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], "File name cannot be empty." : "El nombre de archivo no puede estar vacío.", "Your storage is full, files can not be updated or synced anymore!" : "Su almacenamiento está lleno, ¡los archivos no se actualizarán ni sincronizarán más!", "Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} y {files}", "Favorite" : "Favorito", "%s could not be renamed" : "%s no pudo ser renombrado", "File handling" : "Administración de archivos", @@ -67,6 +66,7 @@ OC.L10N.register( "Folder" : "Carpeta", "Upload" : "Subir archivo", "Cancel upload" : "Cancelar subida", + "Delete" : "Eliminar", "Upload too large" : "Subida demasido grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando subir sobrepasan el tamaño máximo permitido en este servidor.", "Files are being scanned, please wait." : "Los archivos están siendo escaneados, por favor espere." diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json index ae5c152af2..9bd2fe80f2 100644 --- a/apps/files/l10n/es_MX.json +++ b/apps/files/l10n/es_MX.json @@ -22,6 +22,7 @@ "Files" : "Archivos", "Favorites" : "Favoritos", "Home" : "Particular", + "Close" : "Cerrar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "No ha sido posible subir {filename} porque es un directorio o tiene 0 bytes", "Upload cancelled." : "Subida cancelada.", "Could not get result from server." : "No se pudo obtener respuesta del servidor.", @@ -29,9 +30,7 @@ "{new_name} already exists" : "{new_name} ya existe", "Could not create file" : "No se pudo crear el archivo", "Could not create folder" : "No se pudo crear la carpeta", - "Rename" : "Renombrar", - "Delete" : "Eliminar", - "Unshare" : "Dejar de compartir", + "Actions" : "Acciones", "Download" : "Descargar", "Pending" : "Pendiente", "Error moving file" : "Error moviendo archivo", @@ -43,12 +42,12 @@ "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas"], "_%n file_::_%n files_" : ["%n archivo","%n archivos"], + "{dirs} and {files}" : "{dirs} y {files}", "You don’t have permission to upload or create files here" : "No tienes permisos para subir o crear archivos aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Subiendo %n archivo","Subiendo %n archivos"], "File name cannot be empty." : "El nombre de archivo no puede estar vacío.", "Your storage is full, files can not be updated or synced anymore!" : "Su almacenamiento está lleno, ¡los archivos no se actualizarán ni sincronizarán más!", "Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} y {files}", "Favorite" : "Favorito", "%s could not be renamed" : "%s no pudo ser renombrado", "File handling" : "Administración de archivos", @@ -65,6 +64,7 @@ "Folder" : "Carpeta", "Upload" : "Subir archivo", "Cancel upload" : "Cancelar subida", + "Delete" : "Eliminar", "Upload too large" : "Subida demasido grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los archivos que estás intentando subir sobrepasan el tamaño máximo permitido en este servidor.", "Files are being scanned, please wait." : "Los archivos están siendo escaneados, por favor espere." diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js index bf9e8574c2..384bce053e 100644 --- a/apps/files/l10n/et_EE.js +++ b/apps/files/l10n/et_EE.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Kõik failid", "Favorites" : "Lemmikud", "Home" : "Kodu", + "Close" : "Sulge", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ei saa üles laadida {filename}, kuna see on kataloog või selle suurus on 0 baiti", "Total file size {size1} exceeds upload limit {size2}" : "Faili suurus {size1} ületab faili üleslaadimise mahu piirangu {size2}.", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Pole piisavalt vaba ruumi. Sa laadid üles {size1}, kuid ainult {size2} on saadaval.", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} on juba olemas", "Could not create file" : "Ei suuda luua faili", "Could not create folder" : "Ei suuda luua kataloogi", - "Rename" : "Nimeta ümber", - "Delete" : "Kustuta", - "Disconnect storage" : "Ühenda andmehoidla lahti.", - "Unshare" : "Lõpeta jagamine", - "No permission to delete" : "Kustutamiseks pole õigusi", + "Actions" : "Tegevused", "Download" : "Lae alla", "Select" : "Vali", "Pending" : "Ootel", @@ -54,19 +51,23 @@ OC.L10N.register( "Error" : "Viga", "Could not rename file" : "Ei suuda faili ümber nimetada", "Error deleting file." : "Viga faili kustutamisel.", + "No entries in this folder match '{filter}'" : "Ükski sissekanne ei kattu filtriga '{filter}'", "Name" : "Nimi", "Size" : "Suurus", "Modified" : "Muudetud", "_%n folder_::_%n folders_" : ["%n kataloog","%n kataloogi"], "_%n file_::_%n files_" : ["%n fail","%n faili"], + "{dirs} and {files}" : "{dirs} ja {files}", "You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks", "_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"], "\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.", "File name cannot be empty." : "Faili nimi ei saa olla tühi.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} andmemaht on täis! Faile ei uuendata ega sünkroniseerita!", "Your storage is full, files can not be updated or synced anymore!" : "Sinu andmemaht on täis! Faile ei uuendata ega sünkroniseerita!", + "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Sinu {owner} andmemaht on peaaegu täis ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Su andmemaht on peaaegu täis ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} ja {files}", + "Path" : "Asukoht", + "_%n byte_::_%n bytes_" : ["%n bait","%n baiti"], "Favorited" : "Lemmikud", "Favorite" : "Lemmik", "An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge", @@ -89,6 +90,7 @@ OC.L10N.register( "File handling" : "Failide käsitlemine", "Maximum upload size" : "Maksimaalne üleslaadimise suurus", "max. possible: " : "maks. võimalik: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM-ga võib see väärtuse mõju rakendamine võtta aega kuni 5 minutit pärast salvestamist.", "Save" : "Salvesta", "Can not be edited from here due to insufficient permissions." : "Ei saa õiguste puudumise tõttu muuta.", "Settings" : "Seaded", @@ -103,8 +105,9 @@ OC.L10N.register( "Cancel upload" : "Tühista üleslaadimine", "No files in here" : "Siin ei ole faile", "Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!", - "No entries found in this folder" : "Selles kaustas ei leitud kirjeid", + "No entries found in this folder" : "Selles kaustast ei leitud kirjeid", "Select all" : "Vali kõik", + "Delete" : "Kustuta", "Upload too large" : "Üleslaadimine on liiga suur", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse.", "Files are being scanned, please wait." : "Faile skannitakse, palun oota.", diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json index 40fa7efca6..d069982f8f 100644 --- a/apps/files/l10n/et_EE.json +++ b/apps/files/l10n/et_EE.json @@ -27,6 +27,7 @@ "All files" : "Kõik failid", "Favorites" : "Lemmikud", "Home" : "Kodu", + "Close" : "Sulge", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ei saa üles laadida {filename}, kuna see on kataloog või selle suurus on 0 baiti", "Total file size {size1} exceeds upload limit {size2}" : "Faili suurus {size1} ületab faili üleslaadimise mahu piirangu {size2}.", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Pole piisavalt vaba ruumi. Sa laadid üles {size1}, kuid ainult {size2} on saadaval.", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} on juba olemas", "Could not create file" : "Ei suuda luua faili", "Could not create folder" : "Ei suuda luua kataloogi", - "Rename" : "Nimeta ümber", - "Delete" : "Kustuta", - "Disconnect storage" : "Ühenda andmehoidla lahti.", - "Unshare" : "Lõpeta jagamine", - "No permission to delete" : "Kustutamiseks pole õigusi", + "Actions" : "Tegevused", "Download" : "Lae alla", "Select" : "Vali", "Pending" : "Ootel", @@ -52,19 +49,23 @@ "Error" : "Viga", "Could not rename file" : "Ei suuda faili ümber nimetada", "Error deleting file." : "Viga faili kustutamisel.", + "No entries in this folder match '{filter}'" : "Ükski sissekanne ei kattu filtriga '{filter}'", "Name" : "Nimi", "Size" : "Suurus", "Modified" : "Muudetud", "_%n folder_::_%n folders_" : ["%n kataloog","%n kataloogi"], "_%n file_::_%n files_" : ["%n fail","%n faili"], + "{dirs} and {files}" : "{dirs} ja {files}", "You don’t have permission to upload or create files here" : "Sul puuduvad õigused siia failide üleslaadimiseks või tekitamiseks", "_Uploading %n file_::_Uploading %n files_" : ["Laadin üles %n faili","Laadin üles %n faili"], "\"{name}\" is an invalid file name." : "\"{name}\" on vigane failinimi.", "File name cannot be empty." : "Faili nimi ei saa olla tühi.", "Storage of {owner} is full, files can not be updated or synced anymore!" : "{owner} andmemaht on täis! Faile ei uuendata ega sünkroniseerita!", "Your storage is full, files can not be updated or synced anymore!" : "Sinu andmemaht on täis! Faile ei uuendata ega sünkroniseerita!", + "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Sinu {owner} andmemaht on peaaegu täis ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Su andmemaht on peaaegu täis ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} ja {files}", + "Path" : "Asukoht", + "_%n byte_::_%n bytes_" : ["%n bait","%n baiti"], "Favorited" : "Lemmikud", "Favorite" : "Lemmik", "An error occurred while trying to update the tags" : "Siltide uuendamisel tekkis tõrge", @@ -87,6 +88,7 @@ "File handling" : "Failide käsitlemine", "Maximum upload size" : "Maksimaalne üleslaadimise suurus", "max. possible: " : "maks. võimalik: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM-ga võib see väärtuse mõju rakendamine võtta aega kuni 5 minutit pärast salvestamist.", "Save" : "Salvesta", "Can not be edited from here due to insufficient permissions." : "Ei saa õiguste puudumise tõttu muuta.", "Settings" : "Seaded", @@ -101,8 +103,9 @@ "Cancel upload" : "Tühista üleslaadimine", "No files in here" : "Siin ei ole faile", "Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!", - "No entries found in this folder" : "Selles kaustas ei leitud kirjeid", + "No entries found in this folder" : "Selles kaustast ei leitud kirjeid", "Select all" : "Vali kõik", + "Delete" : "Kustuta", "Upload too large" : "Üleslaadimine on liiga suur", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Failid, mida sa proovid üles laadida, ületab serveri poolt üleslaetavatele failidele määratud maksimaalse suuruse.", "Files are being scanned, please wait." : "Faile skannitakse, palun oota.", diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js index f54385bd3c..e14be1ba26 100644 --- a/apps/files/l10n/eu.js +++ b/apps/files/l10n/eu.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Fitxategi guztiak", "Favorites" : "Gogokoak", "Home" : "Etxekoa", + "Close" : "Itxi", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ezin da {filename} igo karpeta bat delako edo 0 byte dituelako", "Total file size {size1} exceeds upload limit {size2}" : "Fitxategiaren tamainak {size1} igotzeko muga {size2} gainditzen du", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ez dago leku nahikorik, zu {size1} igotzen ari zara baina bakarrik {size2} libre dago", @@ -38,10 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} dagoeneko existitzen da", "Could not create file" : "Ezin izan da fitxategia sortu", "Could not create folder" : "Ezin izan da karpeta sortu", - "Rename" : "Berrizendatu", - "Delete" : "Ezabatu", - "Disconnect storage" : "Deskonektatu biltegia", - "Unshare" : "Ez elkarbanatu", + "Actions" : "Ekintzak", "Download" : "Deskargatu", "Select" : "hautatu", "Pending" : "Zain", @@ -57,13 +55,13 @@ OC.L10N.register( "Modified" : "Aldatuta", "_%n folder_::_%n folders_" : ["karpeta %n","%n karpeta"], "_%n file_::_%n files_" : ["fitxategi %n","%n fitxategi"], + "{dirs} and {files}" : "{dirs} eta {files}", "You don’t have permission to upload or create files here" : "Ez duzu fitxategiak hona igotzeko edo hemen sortzeko baimenik", "_Uploading %n file_::_Uploading %n files_" : ["Fitxategi %n igotzen","%n fitxategi igotzen"], "\"{name}\" is an invalid file name." : "\"{name}\" ez da fitxategi izen baliogarria.", "File name cannot be empty." : "Fitxategi izena ezin da hutsa izan.", "Your storage is full, files can not be updated or synced anymore!" : "Zure biltegiratzea beterik dago, ezingo duzu aurrerantzean fitxategirik igo edo sinkronizatu!", "Your storage is almost full ({usedSpacePercent}%)" : "Zure biltegiratzea nahiko beterik dago (%{usedSpacePercent})", - "{dirs} and {files}" : "{dirs} eta {files}", "Favorited" : "Gogokoa", "Favorite" : "Gogokoa", "A new file or folder has been created" : "Fitxategi edo karpeta berri bat sortu da", @@ -99,6 +97,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!", "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan", "Select all" : "Hautatu dena", + "Delete" : "Ezabatu", "Upload too large" : "Igoera handiegia da", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Igotzen saiatzen ari zaren fitxategiak zerbitzari honek igotzeko onartzen duena baino handiagoak dira.", "Files are being scanned, please wait." : "Fitxategiak eskaneatzen ari da, itxoin mezedez.", diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json index 5eb3ede3e1..3436235e79 100644 --- a/apps/files/l10n/eu.json +++ b/apps/files/l10n/eu.json @@ -27,6 +27,7 @@ "All files" : "Fitxategi guztiak", "Favorites" : "Gogokoak", "Home" : "Etxekoa", + "Close" : "Itxi", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ezin da {filename} igo karpeta bat delako edo 0 byte dituelako", "Total file size {size1} exceeds upload limit {size2}" : "Fitxategiaren tamainak {size1} igotzeko muga {size2} gainditzen du", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ez dago leku nahikorik, zu {size1} igotzen ari zara baina bakarrik {size2} libre dago", @@ -36,10 +37,7 @@ "{new_name} already exists" : "{new_name} dagoeneko existitzen da", "Could not create file" : "Ezin izan da fitxategia sortu", "Could not create folder" : "Ezin izan da karpeta sortu", - "Rename" : "Berrizendatu", - "Delete" : "Ezabatu", - "Disconnect storage" : "Deskonektatu biltegia", - "Unshare" : "Ez elkarbanatu", + "Actions" : "Ekintzak", "Download" : "Deskargatu", "Select" : "hautatu", "Pending" : "Zain", @@ -55,13 +53,13 @@ "Modified" : "Aldatuta", "_%n folder_::_%n folders_" : ["karpeta %n","%n karpeta"], "_%n file_::_%n files_" : ["fitxategi %n","%n fitxategi"], + "{dirs} and {files}" : "{dirs} eta {files}", "You don’t have permission to upload or create files here" : "Ez duzu fitxategiak hona igotzeko edo hemen sortzeko baimenik", "_Uploading %n file_::_Uploading %n files_" : ["Fitxategi %n igotzen","%n fitxategi igotzen"], "\"{name}\" is an invalid file name." : "\"{name}\" ez da fitxategi izen baliogarria.", "File name cannot be empty." : "Fitxategi izena ezin da hutsa izan.", "Your storage is full, files can not be updated or synced anymore!" : "Zure biltegiratzea beterik dago, ezingo duzu aurrerantzean fitxategirik igo edo sinkronizatu!", "Your storage is almost full ({usedSpacePercent}%)" : "Zure biltegiratzea nahiko beterik dago (%{usedSpacePercent})", - "{dirs} and {files}" : "{dirs} eta {files}", "Favorited" : "Gogokoa", "Favorite" : "Gogokoa", "A new file or folder has been created" : "Fitxategi edo karpeta berri bat sortu da", @@ -97,6 +95,7 @@ "Upload some content or sync with your devices!" : "Igo edukiren bat edo sinkronizatu zure gailuekin!", "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan", "Select all" : "Hautatu dena", + "Delete" : "Ezabatu", "Upload too large" : "Igoera handiegia da", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Igotzen saiatzen ari zaren fitxategiak zerbitzari honek igotzeko onartzen duena baino handiagoak dira.", "Files are being scanned, please wait." : "Fitxategiak eskaneatzen ari da, itxoin mezedez.", diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js index c8fd2e4841..5df2d0ccc3 100644 --- a/apps/files/l10n/fa.js +++ b/apps/files/l10n/fa.js @@ -19,12 +19,11 @@ OC.L10N.register( "Files" : "پرونده‌ها", "Favorites" : "موارد محبوب", "Home" : "خانه", + "Close" : "بستن", "Upload cancelled." : "بار گذاری لغو شد", "File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ", "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.", - "Rename" : "تغییرنام", - "Delete" : "حذف", - "Unshare" : "لغو اشتراک", + "Actions" : "فعالیت ها", "Download" : "دانلود", "Pending" : "در انتظار", "Error" : "خطا", @@ -62,6 +61,7 @@ OC.L10N.register( "Folder" : "پوشه", "Upload" : "بارگزاری", "Cancel upload" : "متوقف کردن بار گذاری", + "Delete" : "حذف", "Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد", "Files are being scanned, please wait." : "پرونده ها در حال بازرسی هستند لطفا صبر کنید" diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json index df83e53eb4..b36fee0090 100644 --- a/apps/files/l10n/fa.json +++ b/apps/files/l10n/fa.json @@ -17,12 +17,11 @@ "Files" : "پرونده‌ها", "Favorites" : "موارد محبوب", "Home" : "خانه", + "Close" : "بستن", "Upload cancelled." : "بار گذاری لغو شد", "File upload is in progress. Leaving the page now will cancel the upload." : "آپلودکردن پرونده در حال پیشرفت است. در صورت خروج از صفحه آپلود لغو میگردد. ", "{new_name} already exists" : "{نام _جدید} در حال حاضر وجود دارد.", - "Rename" : "تغییرنام", - "Delete" : "حذف", - "Unshare" : "لغو اشتراک", + "Actions" : "فعالیت ها", "Download" : "دانلود", "Pending" : "در انتظار", "Error" : "خطا", @@ -60,6 +59,7 @@ "Folder" : "پوشه", "Upload" : "بارگزاری", "Cancel upload" : "متوقف کردن بار گذاری", + "Delete" : "حذف", "Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "فایلها بیش از حد تعیین شده در این سرور هستند\nمترجم:با تغییر فایل php,ini میتوان این محدودیت را برطرف کرد", "Files are being scanned, please wait." : "پرونده ها در حال بازرسی هستند لطفا صبر کنید" diff --git a/apps/files/l10n/fi_FI.js b/apps/files/l10n/fi_FI.js index abeb0b26b2..414312858a 100644 --- a/apps/files/l10n/fi_FI.js +++ b/apps/files/l10n/fi_FI.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Kaikki tiedostot", "Favorites" : "Suosikit", "Home" : "Koti", + "Close" : "Sulje", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kohdetta {filename} ei voi lähettää, koska se on joko kansio tai sen koko on 0 tavua", "Total file size {size1} exceeds upload limit {size2}" : "Yhteiskoko {size1} ylittää lähetysrajan {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ei riittävästi vapaata tilaa. Lähetyksesi koko on {size1}, mutta vain {size2} on jäljellä", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} on jo olemassa", "Could not create file" : "Tiedoston luominen epäonnistui", "Could not create folder" : "Kansion luominen epäonnistui", - "Rename" : "Nimeä uudelleen", - "Delete" : "Poista", - "Disconnect storage" : "Katkaise yhteys tallennustilaan", - "Unshare" : "Peru jakaminen", - "No permission to delete" : "Ei oikeutta poistaa", + "Actions" : "Toiminnot", "Download" : "Lataa", "Select" : "Valitse", "Pending" : "Odottaa", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Muokattu", "_%n folder_::_%n folders_" : ["%n kansio","%n kansiota"], "_%n file_::_%n files_" : ["%n tiedosto","%n tiedostoa"], + "{dirs} and {files}" : "{dirs} ja {files}", "You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin", "_Uploading %n file_::_Uploading %n files_" : ["Lähetetään %n tiedosto","Lähetetään %n tiedostoa"], "\"{name}\" is an invalid file name." : "\"{name}\" on virheellinen tiedostonimi.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Käyttäjän {owner} tallennustila on melkein täynnä ({usedSpacePercent} %)", "Your storage is almost full ({usedSpacePercent}%)" : "Tallennustila on melkein loppu ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["vastaa '{filter}'","vastaa '{filter}'"], - "{dirs} and {files}" : "{dirs} ja {files}", + "Path" : "Polku", + "_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"], "Favorited" : "Lisätty suosikkeihin", "Favorite" : "Suosikki", "An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Tiedostonhallinta", "Maximum upload size" : "Lähetettävän tiedoston suurin sallittu koko", "max. possible: " : "suurin mahdollinen:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM:n ollessa käytössä tämän arvon tuleminen voimaan saattaa kestää viisi minuuttia tallennushetkestä.", "Save" : "Tallenna", "Can not be edited from here due to insufficient permissions." : "Ei muokattavissa täällä puutteellisten oikeuksien vuoksi.", "Settings" : "Asetukset", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!", "No entries found in this folder" : "Ei kohteita tässä kansiossa", "Select all" : "Valitse kaikki", + "Delete" : "Poista", "Upload too large" : "Lähetettävä tiedosto on liian suuri", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan.", "Files are being scanned, please wait." : "Tiedostoja tarkistetaan, odota hetki.", diff --git a/apps/files/l10n/fi_FI.json b/apps/files/l10n/fi_FI.json index f67505268c..ade67816cc 100644 --- a/apps/files/l10n/fi_FI.json +++ b/apps/files/l10n/fi_FI.json @@ -27,6 +27,7 @@ "All files" : "Kaikki tiedostot", "Favorites" : "Suosikit", "Home" : "Koti", + "Close" : "Sulje", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kohdetta {filename} ei voi lähettää, koska se on joko kansio tai sen koko on 0 tavua", "Total file size {size1} exceeds upload limit {size2}" : "Yhteiskoko {size1} ylittää lähetysrajan {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ei riittävästi vapaata tilaa. Lähetyksesi koko on {size1}, mutta vain {size2} on jäljellä", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} on jo olemassa", "Could not create file" : "Tiedoston luominen epäonnistui", "Could not create folder" : "Kansion luominen epäonnistui", - "Rename" : "Nimeä uudelleen", - "Delete" : "Poista", - "Disconnect storage" : "Katkaise yhteys tallennustilaan", - "Unshare" : "Peru jakaminen", - "No permission to delete" : "Ei oikeutta poistaa", + "Actions" : "Toiminnot", "Download" : "Lataa", "Select" : "Valitse", "Pending" : "Odottaa", @@ -58,6 +55,7 @@ "Modified" : "Muokattu", "_%n folder_::_%n folders_" : ["%n kansio","%n kansiota"], "_%n file_::_%n files_" : ["%n tiedosto","%n tiedostoa"], + "{dirs} and {files}" : "{dirs} ja {files}", "You don’t have permission to upload or create files here" : "Käyttöoikeutesi eivät riitä tiedostojen lähettämiseen tai kansioiden luomiseen tähän sijaintiin", "_Uploading %n file_::_Uploading %n files_" : ["Lähetetään %n tiedosto","Lähetetään %n tiedostoa"], "\"{name}\" is an invalid file name." : "\"{name}\" on virheellinen tiedostonimi.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Käyttäjän {owner} tallennustila on melkein täynnä ({usedSpacePercent} %)", "Your storage is almost full ({usedSpacePercent}%)" : "Tallennustila on melkein loppu ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["vastaa '{filter}'","vastaa '{filter}'"], - "{dirs} and {files}" : "{dirs} ja {files}", + "Path" : "Polku", + "_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"], "Favorited" : "Lisätty suosikkeihin", "Favorite" : "Suosikki", "An error occurred while trying to update the tags" : "Tunnisteiden päivitystä yrittäessä tapahtui virhe", @@ -91,6 +90,7 @@ "File handling" : "Tiedostonhallinta", "Maximum upload size" : "Lähetettävän tiedoston suurin sallittu koko", "max. possible: " : "suurin mahdollinen:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM:n ollessa käytössä tämän arvon tuleminen voimaan saattaa kestää viisi minuuttia tallennushetkestä.", "Save" : "Tallenna", "Can not be edited from here due to insufficient permissions." : "Ei muokattavissa täällä puutteellisten oikeuksien vuoksi.", "Settings" : "Asetukset", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!", "No entries found in this folder" : "Ei kohteita tässä kansiossa", "Select all" : "Valitse kaikki", + "Delete" : "Poista", "Upload too large" : "Lähetettävä tiedosto on liian suuri", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Lähetettäväksi valitsemasi tiedostot ylittävät palvelimen salliman tiedostokoon rajan.", "Files are being scanned, please wait." : "Tiedostoja tarkistetaan, odota hetki.", diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js index 1d57bb79d0..40ad266ece 100644 --- a/apps/files/l10n/fr.js +++ b/apps/files/l10n/fr.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Tous les fichiers", "Favorites" : "Favoris", "Home" : "Mes fichiers", + "Close" : "Fermer", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossible d'envoyer {filename} car il s'agit d'un répertoire ou d'un fichier de taille nulle", "Total file size {size1} exceeds upload limit {size2}" : "La taille totale du fichier {size1} excède la taille maximale d'envoi {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Espace libre insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} existe déjà", "Could not create file" : "Impossible de créer le fichier", "Could not create folder" : "Impossible de créer le dossier", - "Rename" : "Renommer", - "Delete" : "Supprimer", - "Disconnect storage" : "Déconnecter ce support de stockage", - "Unshare" : "Ne plus partager", - "No permission to delete" : "Pas de permission de suppression", + "Actions" : "Actions", "Download" : "Télécharger", "Select" : "Sélectionner", "Pending" : "En attente", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Modifié", "_%n folder_::_%n folders_" : ["%n dossier","%n dossiers"], "_%n file_::_%n files_" : ["%n fichier","%n fichiers"], + "{dirs} and {files}" : "{dirs} et {files}", "You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'ajouter des fichiers ici", "_Uploading %n file_::_Uploading %n files_" : ["Téléversement de %n fichier","Téléversement de %n fichiers"], "\"{name}\" is an invalid file name." : "\"{name}\" n'est pas un nom de fichier valide.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "L'espace de stockage de {owner} est presque plein ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Votre espace de stockage est presque plein ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["correspond à '{filter}'","correspondent à '{filter}'"], - "{dirs} and {files}" : "{dirs} et {files}", + "Path" : "Chemin", + "_%n byte_::_%n bytes_" : ["%n octet","%n octets"], "Favorited" : "Marqué comme favori", "Favorite" : "Favoris", "An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Gestion de fichiers", "Maximum upload size" : "Taille max. d'envoi", "max. possible: " : "Max. possible :", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Avec PHP-FPM, il peut se passer jusqu'à 5 minutes avant que cette valeur ne soit appliquée.", "Save" : "Sauvegarder", "Can not be edited from here due to insufficient permissions." : "Ne peut être modifié ici à cause de permissions insuffisantes.", "Settings" : "Paramètres", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !", "No entries found in this folder" : "Aucune entrée trouvée dans ce dossier", "Select all" : "Tout sélectionner", + "Delete" : "Supprimer", "Upload too large" : "Téléversement trop volumineux", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Les fichiers que vous essayez d'envoyer dépassent la taille maximale d'envoi permise par ce serveur.", "Files are being scanned, please wait." : "Les fichiers sont en cours d'analyse, veuillez patienter.", diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json index 2b578466fa..ca2ecebe5d 100644 --- a/apps/files/l10n/fr.json +++ b/apps/files/l10n/fr.json @@ -27,6 +27,7 @@ "All files" : "Tous les fichiers", "Favorites" : "Favoris", "Home" : "Mes fichiers", + "Close" : "Fermer", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossible d'envoyer {filename} car il s'agit d'un répertoire ou d'un fichier de taille nulle", "Total file size {size1} exceeds upload limit {size2}" : "La taille totale du fichier {size1} excède la taille maximale d'envoi {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Espace libre insuffisant : vous tentez d'envoyer {size1} mais seulement {size2} sont disponibles", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} existe déjà", "Could not create file" : "Impossible de créer le fichier", "Could not create folder" : "Impossible de créer le dossier", - "Rename" : "Renommer", - "Delete" : "Supprimer", - "Disconnect storage" : "Déconnecter ce support de stockage", - "Unshare" : "Ne plus partager", - "No permission to delete" : "Pas de permission de suppression", + "Actions" : "Actions", "Download" : "Télécharger", "Select" : "Sélectionner", "Pending" : "En attente", @@ -58,6 +55,7 @@ "Modified" : "Modifié", "_%n folder_::_%n folders_" : ["%n dossier","%n dossiers"], "_%n file_::_%n files_" : ["%n fichier","%n fichiers"], + "{dirs} and {files}" : "{dirs} et {files}", "You don’t have permission to upload or create files here" : "Vous n'avez pas la permission d'ajouter des fichiers ici", "_Uploading %n file_::_Uploading %n files_" : ["Téléversement de %n fichier","Téléversement de %n fichiers"], "\"{name}\" is an invalid file name." : "\"{name}\" n'est pas un nom de fichier valide.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "L'espace de stockage de {owner} est presque plein ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Votre espace de stockage est presque plein ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["correspond à '{filter}'","correspondent à '{filter}'"], - "{dirs} and {files}" : "{dirs} et {files}", + "Path" : "Chemin", + "_%n byte_::_%n bytes_" : ["%n octet","%n octets"], "Favorited" : "Marqué comme favori", "Favorite" : "Favoris", "An error occurred while trying to update the tags" : "Une erreur est survenue lors de la mise à jour des étiquettes", @@ -91,6 +90,7 @@ "File handling" : "Gestion de fichiers", "Maximum upload size" : "Taille max. d'envoi", "max. possible: " : "Max. possible :", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Avec PHP-FPM, il peut se passer jusqu'à 5 minutes avant que cette valeur ne soit appliquée.", "Save" : "Sauvegarder", "Can not be edited from here due to insufficient permissions." : "Ne peut être modifié ici à cause de permissions insuffisantes.", "Settings" : "Paramètres", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !", "No entries found in this folder" : "Aucune entrée trouvée dans ce dossier", "Select all" : "Tout sélectionner", + "Delete" : "Supprimer", "Upload too large" : "Téléversement trop volumineux", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Les fichiers que vous essayez d'envoyer dépassent la taille maximale d'envoi permise par ce serveur.", "Files are being scanned, please wait." : "Les fichiers sont en cours d'analyse, veuillez patienter.", diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js index 2ab8c9f94a..3f666f2b95 100644 --- a/apps/files/l10n/gl.js +++ b/apps/files/l10n/gl.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Todos os ficheiros", "Favorites" : "Favoritos", "Home" : "Inicio", + "Close" : "Pechar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Non é posíbel enviar {filename}, xa que ou é un directorio ou ten 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "O tamaño total do ficheiro {size1} excede do límite de envío {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Non hai espazo libre abondo, o seu envío é de {size1} mais só dispón de {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "Xa existe un {new_name}", "Could not create file" : "Non foi posíbel crear o ficheiro", "Could not create folder" : "Non foi posíbel crear o cartafol", - "Rename" : "Renomear", - "Delete" : "Eliminar", - "Disconnect storage" : "Desconectar o almacenamento", - "Unshare" : "Deixar de compartir", - "No permission to delete" : "Non ten permisos para eliminar", + "Actions" : "Accións", "Download" : "Descargar", "Select" : "Seleccionar", "Pending" : "Pendentes", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n cartafol","%n cartafoles"], "_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Non ten permisos para enviar ou crear ficheiros aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Cargando %n ficheiro","Cargando %n ficheiros"], "\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "O espazo de almacenamento de {owner} está case cheo ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "O seu espazo de almacenamento está case cheo ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincidente con «{filter}»","coincidentes con «{filter}»"], - "{dirs} and {files}" : "{dirs} e {files}", + "Path" : "Ruta", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Marcado como favorito", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Produciuse un erro ao tentar actualizar as etiquetas", @@ -109,6 +108,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!", "No entries found in this folder" : "Non se atoparon entradas neste cartafol", "Select all" : "Seleccionar todo", + "Delete" : "Eliminar", "Upload too large" : "Envío grande de máis", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os ficheiros que tenta enviar exceden do tamaño máximo permitido neste servidor", "Files are being scanned, please wait." : "Estanse analizando os ficheiros. Agarde.", diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json index 0668c535ae..f9fec77035 100644 --- a/apps/files/l10n/gl.json +++ b/apps/files/l10n/gl.json @@ -27,6 +27,7 @@ "All files" : "Todos os ficheiros", "Favorites" : "Favoritos", "Home" : "Inicio", + "Close" : "Pechar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Non é posíbel enviar {filename}, xa que ou é un directorio ou ten 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "O tamaño total do ficheiro {size1} excede do límite de envío {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Non hai espazo libre abondo, o seu envío é de {size1} mais só dispón de {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "Xa existe un {new_name}", "Could not create file" : "Non foi posíbel crear o ficheiro", "Could not create folder" : "Non foi posíbel crear o cartafol", - "Rename" : "Renomear", - "Delete" : "Eliminar", - "Disconnect storage" : "Desconectar o almacenamento", - "Unshare" : "Deixar de compartir", - "No permission to delete" : "Non ten permisos para eliminar", + "Actions" : "Accións", "Download" : "Descargar", "Select" : "Seleccionar", "Pending" : "Pendentes", @@ -58,6 +55,7 @@ "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n cartafol","%n cartafoles"], "_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Non ten permisos para enviar ou crear ficheiros aquí.", "_Uploading %n file_::_Uploading %n files_" : ["Cargando %n ficheiro","Cargando %n ficheiros"], "\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "O espazo de almacenamento de {owner} está case cheo ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "O seu espazo de almacenamento está case cheo ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincidente con «{filter}»","coincidentes con «{filter}»"], - "{dirs} and {files}" : "{dirs} e {files}", + "Path" : "Ruta", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Marcado como favorito", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Produciuse un erro ao tentar actualizar as etiquetas", @@ -107,6 +106,7 @@ "Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!", "No entries found in this folder" : "Non se atoparon entradas neste cartafol", "Select all" : "Seleccionar todo", + "Delete" : "Eliminar", "Upload too large" : "Envío grande de máis", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os ficheiros que tenta enviar exceden do tamaño máximo permitido neste servidor", "Files are being scanned, please wait." : "Estanse analizando os ficheiros. Agarde.", diff --git a/apps/files/l10n/he.js b/apps/files/l10n/he.js index ff61714d6c..8918c8686c 100644 --- a/apps/files/l10n/he.js +++ b/apps/files/l10n/he.js @@ -18,13 +18,12 @@ OC.L10N.register( "Files" : "קבצים", "Favorites" : "מועדפים", "Home" : "בית", + "Close" : "סגירה", "Upload cancelled." : "ההעלאה בוטלה.", "Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.", "File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.", "{new_name} already exists" : "{new_name} כבר קיים", - "Rename" : "שינוי שם", - "Delete" : "מחיקה", - "Unshare" : "הסר שיתוף", + "Actions" : "פעולות", "Download" : "הורדה", "Select" : "בחר", "Pending" : "ממתין", @@ -58,6 +57,7 @@ OC.L10N.register( "Folder" : "תיקייה", "Upload" : "העלאה", "Cancel upload" : "ביטול ההעלאה", + "Delete" : "מחיקה", "Upload too large" : "העלאה גדולה מידי", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה.", "Files are being scanned, please wait." : "הקבצים נסרקים, נא להמתין." diff --git a/apps/files/l10n/he.json b/apps/files/l10n/he.json index b1c7119e3e..38b8365eaa 100644 --- a/apps/files/l10n/he.json +++ b/apps/files/l10n/he.json @@ -16,13 +16,12 @@ "Files" : "קבצים", "Favorites" : "מועדפים", "Home" : "בית", + "Close" : "סגירה", "Upload cancelled." : "ההעלאה בוטלה.", "Could not get result from server." : "לא ניתן לגשת לתוצאות מהשרת.", "File upload is in progress. Leaving the page now will cancel the upload." : "מתבצעת כעת העלאת קבצים. עזיבה של העמוד תבטל את ההעלאה.", "{new_name} already exists" : "{new_name} כבר קיים", - "Rename" : "שינוי שם", - "Delete" : "מחיקה", - "Unshare" : "הסר שיתוף", + "Actions" : "פעולות", "Download" : "הורדה", "Select" : "בחר", "Pending" : "ממתין", @@ -56,6 +55,7 @@ "Folder" : "תיקייה", "Upload" : "העלאה", "Cancel upload" : "ביטול ההעלאה", + "Delete" : "מחיקה", "Upload too large" : "העלאה גדולה מידי", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "הקבצים שניסית להעלות חרגו מהגודל המקסימלי להעלאת קבצים על שרת זה.", "Files are being scanned, please wait." : "הקבצים נסרקים, נא להמתין." diff --git a/apps/files/l10n/hi.js b/apps/files/l10n/hi.js index cfcf42e938..35ad6e5f68 100644 --- a/apps/files/l10n/hi.js +++ b/apps/files/l10n/hi.js @@ -2,6 +2,7 @@ OC.L10N.register( "files", { "Files" : "फाइलें ", + "Close" : "बंद करें ", "Error" : "त्रुटि", "Save" : "सहेजें", "Settings" : "सेटिंग्स", diff --git a/apps/files/l10n/hi.json b/apps/files/l10n/hi.json index 32f74c7210..0bcf3ace1d 100644 --- a/apps/files/l10n/hi.json +++ b/apps/files/l10n/hi.json @@ -1,5 +1,6 @@ { "translations": { "Files" : "फाइलें ", + "Close" : "बंद करें ", "Error" : "त्रुटि", "Save" : "सहेजें", "Settings" : "सेटिंग्स", diff --git a/apps/files/l10n/hr.js b/apps/files/l10n/hr.js index f62fe8d6c6..fb273f410c 100644 --- a/apps/files/l10n/hr.js +++ b/apps/files/l10n/hr.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Sve datoteke", "Favorites" : "Favoriti", "Home" : "Kuća", + "Close" : "Zatvorite", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nije moguće učitati {filename} jer je ili direktorij ili ima 0 bajta", "Total file size {size1} exceeds upload limit {size2}" : "Ukupna veličina datoteke {size1} premašuje ograničenje unosa {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedovoljno slobodnog prostora, vi učitavate {size1} a samo je {size2} preostalo", @@ -38,10 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} već postoji", "Could not create file" : "Datoteku nije moguće kreirati", "Could not create folder" : "Mapu nije moguće kreirati", - "Rename" : "Preimenujte", - "Delete" : "Izbrišite", - "Disconnect storage" : "Isključite pohranu", - "Unshare" : "Prestanite dijeliti", + "Actions" : "Radnje", "Download" : "Preuzimanje", "Select" : "Selektiraj", "Pending" : "Na čekanju", @@ -57,13 +55,13 @@ OC.L10N.register( "Modified" : "Promijenjeno", "_%n folder_::_%n folders_" : ["%n mapa","%n mape","%n mapa"], "_%n file_::_%n files_" : ["%n datoteka","%n datoteke","%n datoteka"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Ovdje vam nije dopušteno učitavati ili kreirati datoteke", "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteka"], "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.", "File name cannot be empty." : "Naziv datoteke ne može biti prazan.", "Your storage is full, files can not be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati niti sinkronizirati!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Favoritovan", "Favorite" : "Favorit", "A new file or folder has been created" : "Nova datoteka ili nova mapa su kreirani", @@ -99,6 +97,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Aplodujte neki sadrzaj ili sinkronizirajte sa vasim uredjajem!", "No entries found in this folder" : "Zapis nije pronadjen u ovom direktorijumu ", "Select all" : "Selektiraj sve", + "Delete" : "Izbrišite", "Upload too large" : "Unos je prevelik", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke koje pokušavate učitati premašuju maksimalnu veličinu za unos datoteka na ovom poslužitelju.", "Files are being scanned, please wait." : "Datoteke se provjeravaju, molimo pričekajte.", diff --git a/apps/files/l10n/hr.json b/apps/files/l10n/hr.json index 9a83a301dd..92e6b5d80e 100644 --- a/apps/files/l10n/hr.json +++ b/apps/files/l10n/hr.json @@ -27,6 +27,7 @@ "All files" : "Sve datoteke", "Favorites" : "Favoriti", "Home" : "Kuća", + "Close" : "Zatvorite", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nije moguće učitati {filename} jer je ili direktorij ili ima 0 bajta", "Total file size {size1} exceeds upload limit {size2}" : "Ukupna veličina datoteke {size1} premašuje ograničenje unosa {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nedovoljno slobodnog prostora, vi učitavate {size1} a samo je {size2} preostalo", @@ -36,10 +37,7 @@ "{new_name} already exists" : "{new_name} već postoji", "Could not create file" : "Datoteku nije moguće kreirati", "Could not create folder" : "Mapu nije moguće kreirati", - "Rename" : "Preimenujte", - "Delete" : "Izbrišite", - "Disconnect storage" : "Isključite pohranu", - "Unshare" : "Prestanite dijeliti", + "Actions" : "Radnje", "Download" : "Preuzimanje", "Select" : "Selektiraj", "Pending" : "Na čekanju", @@ -55,13 +53,13 @@ "Modified" : "Promijenjeno", "_%n folder_::_%n folders_" : ["%n mapa","%n mape","%n mapa"], "_%n file_::_%n files_" : ["%n datoteka","%n datoteke","%n datoteka"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Ovdje vam nije dopušteno učitavati ili kreirati datoteke", "_Uploading %n file_::_Uploading %n files_" : ["Prenosim %n datoteku","Prenosim %n datoteke","Prenosim %n datoteka"], "\"{name}\" is an invalid file name." : "\"{name}\" je neispravno ime datoteke.", "File name cannot be empty." : "Naziv datoteke ne može biti prazan.", "Your storage is full, files can not be updated or synced anymore!" : "Vaša je pohrana puna, datoteke više nije moguće ažurirati niti sinkronizirati!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaš prostor za pohranu je skoro pun ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Favoritovan", "Favorite" : "Favorit", "A new file or folder has been created" : "Nova datoteka ili nova mapa su kreirani", @@ -97,6 +95,7 @@ "Upload some content or sync with your devices!" : "Aplodujte neki sadrzaj ili sinkronizirajte sa vasim uredjajem!", "No entries found in this folder" : "Zapis nije pronadjen u ovom direktorijumu ", "Select all" : "Selektiraj sve", + "Delete" : "Izbrišite", "Upload too large" : "Unos je prevelik", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke koje pokušavate učitati premašuju maksimalnu veličinu za unos datoteka na ovom poslužitelju.", "Files are being scanned, please wait." : "Datoteke se provjeravaju, molimo pričekajte.", diff --git a/apps/files/l10n/hu_HU.js b/apps/files/l10n/hu_HU.js index 0f7d09bc12..c7c7719db1 100644 --- a/apps/files/l10n/hu_HU.js +++ b/apps/files/l10n/hu_HU.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Az összes állomány", "Favorites" : "Kedvencek", "Home" : "Otthoni", + "Close" : "Bezárás", "Unable to upload {filename} as it is a directory or has 0 bytes" : "A(z) {filename} állomány nem tölthető fel, mert ez vagy egy mappa, vagy pedig 0 bájtból áll.", "Total file size {size1} exceeds upload limit {size2}" : "A teljes fájlméret: {size1} meghaladja a feltöltési limitet: {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nincs elég szabad hely. A feltöltés mérete {size1}, de csak ennyi hely van: {size2}.", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} már létezik", "Could not create file" : "Az állomány nem hozható létre", "Could not create folder" : "A mappa nem hozható létre", - "Rename" : "Átnevezés", - "Delete" : "Törlés", - "Disconnect storage" : "Tároló leválasztása", - "Unshare" : "A megosztás visszavonása", - "No permission to delete" : "Nincs törlési jogosultsága", + "Actions" : "Műveletek", "Download" : "Letöltés", "Select" : "Kiválaszt", "Pending" : "Folyamatban", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Módosítva", "_%n folder_::_%n folders_" : ["%n mappa","%n mappa"], "_%n file_::_%n files_" : ["%n állomány","%n állomány"], + "{dirs} and {files}" : "{dirs} és {files}", "You don’t have permission to upload or create files here" : "Önnek nincs jogosultsága ahhoz, hogy ide állományokat töltsön föl, vagy itt újakat hozzon létre", "_Uploading %n file_::_Uploading %n files_" : ["%n állomány feltöltése","%n állomány feltöltése"], "\"{name}\" is an invalid file name." : "\"{name}\" érvénytelen, mint fájlnév.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "A {owner} felhasználó tárolója majdnem betelt ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "A tároló majdnem tele van ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["egyezések '{filter}'","egyezés '{filter}'"], - "{dirs} and {files}" : "{dirs} és {files}", + "Path" : "Útvonal", + "_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"], "Favorited" : "Kedvenc", "Favorite" : "Kedvenc", "An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Fájlkezelés", "Maximum upload size" : "Maximális feltölthető fájlméret", "max. possible: " : "max. lehetséges: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM-mel ez az érték életbe lépése mentés után akár 5 percbe is telhet.", "Save" : "Mentés", "Can not be edited from here due to insufficient permissions." : "Innen nem lehet szerkeszteni az elégtelen jogosultság miatt ", "Settings" : "Beállítások", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Tölts fel néhány tartalmat, vagy szinkronizálj az eszközöddel!", "No entries found in this folder" : "Nincsenek bejegyzések ebben a könyvtárban", "Select all" : "Összes kijelölése", + "Delete" : "Törlés", "Upload too large" : "A feltöltés túl nagy", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "A feltöltendő állományok mérete meghaladja a kiszolgálón megengedett maximális méretet.", "Files are being scanned, please wait." : "A fájllista ellenőrzése zajlik, kis türelmet!", diff --git a/apps/files/l10n/hu_HU.json b/apps/files/l10n/hu_HU.json index bf98eef627..08027509fb 100644 --- a/apps/files/l10n/hu_HU.json +++ b/apps/files/l10n/hu_HU.json @@ -27,6 +27,7 @@ "All files" : "Az összes állomány", "Favorites" : "Kedvencek", "Home" : "Otthoni", + "Close" : "Bezárás", "Unable to upload {filename} as it is a directory or has 0 bytes" : "A(z) {filename} állomány nem tölthető fel, mert ez vagy egy mappa, vagy pedig 0 bájtból áll.", "Total file size {size1} exceeds upload limit {size2}" : "A teljes fájlméret: {size1} meghaladja a feltöltési limitet: {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nincs elég szabad hely. A feltöltés mérete {size1}, de csak ennyi hely van: {size2}.", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} már létezik", "Could not create file" : "Az állomány nem hozható létre", "Could not create folder" : "A mappa nem hozható létre", - "Rename" : "Átnevezés", - "Delete" : "Törlés", - "Disconnect storage" : "Tároló leválasztása", - "Unshare" : "A megosztás visszavonása", - "No permission to delete" : "Nincs törlési jogosultsága", + "Actions" : "Műveletek", "Download" : "Letöltés", "Select" : "Kiválaszt", "Pending" : "Folyamatban", @@ -58,6 +55,7 @@ "Modified" : "Módosítva", "_%n folder_::_%n folders_" : ["%n mappa","%n mappa"], "_%n file_::_%n files_" : ["%n állomány","%n állomány"], + "{dirs} and {files}" : "{dirs} és {files}", "You don’t have permission to upload or create files here" : "Önnek nincs jogosultsága ahhoz, hogy ide állományokat töltsön föl, vagy itt újakat hozzon létre", "_Uploading %n file_::_Uploading %n files_" : ["%n állomány feltöltése","%n állomány feltöltése"], "\"{name}\" is an invalid file name." : "\"{name}\" érvénytelen, mint fájlnév.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "A {owner} felhasználó tárolója majdnem betelt ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "A tároló majdnem tele van ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["egyezések '{filter}'","egyezés '{filter}'"], - "{dirs} and {files}" : "{dirs} és {files}", + "Path" : "Útvonal", + "_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"], "Favorited" : "Kedvenc", "Favorite" : "Kedvenc", "An error occurred while trying to update the tags" : "Hiba történt, miközben megpróbálta frissíteni a címkéket", @@ -91,6 +90,7 @@ "File handling" : "Fájlkezelés", "Maximum upload size" : "Maximális feltölthető fájlméret", "max. possible: " : "max. lehetséges: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM-mel ez az érték életbe lépése mentés után akár 5 percbe is telhet.", "Save" : "Mentés", "Can not be edited from here due to insufficient permissions." : "Innen nem lehet szerkeszteni az elégtelen jogosultság miatt ", "Settings" : "Beállítások", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Tölts fel néhány tartalmat, vagy szinkronizálj az eszközöddel!", "No entries found in this folder" : "Nincsenek bejegyzések ebben a könyvtárban", "Select all" : "Összes kijelölése", + "Delete" : "Törlés", "Upload too large" : "A feltöltés túl nagy", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "A feltöltendő állományok mérete meghaladja a kiszolgálón megengedett maximális méretet.", "Files are being scanned, please wait." : "A fájllista ellenőrzése zajlik, kis türelmet!", diff --git a/apps/files/l10n/hy.js b/apps/files/l10n/hy.js index 10bf13f81e..9ddfc91b18 100644 --- a/apps/files/l10n/hy.js +++ b/apps/files/l10n/hy.js @@ -1,8 +1,9 @@ OC.L10N.register( "files", { - "Delete" : "Ջնջել", + "Close" : "Փակել", "Download" : "Բեռնել", - "Save" : "Պահպանել" + "Save" : "Պահպանել", + "Delete" : "Ջնջել" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/hy.json b/apps/files/l10n/hy.json index e525d9ede8..2c9d1859b1 100644 --- a/apps/files/l10n/hy.json +++ b/apps/files/l10n/hy.json @@ -1,6 +1,7 @@ { "translations": { - "Delete" : "Ջնջել", + "Close" : "Փակել", "Download" : "Բեռնել", - "Save" : "Պահպանել" + "Save" : "Պահպանել", + "Delete" : "Ջնջել" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/ia.js b/apps/files/l10n/ia.js index 0826888ea2..d6d4b83cfc 100644 --- a/apps/files/l10n/ia.js +++ b/apps/files/l10n/ia.js @@ -7,8 +7,7 @@ OC.L10N.register( "Missing a temporary folder" : "Manca un dossier temporari", "Files" : "Files", "Home" : "Domo", - "Delete" : "Deler", - "Unshare" : "Leva compartir", + "Close" : "Clauder", "Download" : "Discargar", "Error" : "Error", "Name" : "Nomine", @@ -37,6 +36,7 @@ OC.L10N.register( "New folder" : "Nove dossier", "Folder" : "Dossier", "Upload" : "Incargar", + "Delete" : "Deler", "Upload too large" : "Incargamento troppo longe" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/ia.json b/apps/files/l10n/ia.json index 7460bd6117..0389c806b3 100644 --- a/apps/files/l10n/ia.json +++ b/apps/files/l10n/ia.json @@ -5,8 +5,7 @@ "Missing a temporary folder" : "Manca un dossier temporari", "Files" : "Files", "Home" : "Domo", - "Delete" : "Deler", - "Unshare" : "Leva compartir", + "Close" : "Clauder", "Download" : "Discargar", "Error" : "Error", "Name" : "Nomine", @@ -35,6 +34,7 @@ "New folder" : "Nove dossier", "Folder" : "Dossier", "Upload" : "Incargar", + "Delete" : "Deler", "Upload too large" : "Incargamento troppo longe" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js index d11e9b7a4f..8d57bacedf 100644 --- a/apps/files/l10n/id.js +++ b/apps/files/l10n/id.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Semua berkas", "Favorites" : "Favorit", "Home" : "Rumah", + "Close" : "Tutup", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Tidak dapat mengunggah {filename} karena ini sebuah direktori atau memiliki ukuran 0 byte", "Total file size {size1} exceeds upload limit {size2}" : "Jumlah ukuran berkas {size1} melampaui batas unggah {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ruang bebas tidak mencukupi, Anda mengunggah {size1} tetapi hanya {size2} yang tersisa", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} sudah ada", "Could not create file" : "Tidak dapat membuat berkas", "Could not create folder" : "Tidak dapat membuat folder", - "Rename" : "Ubah nama", - "Delete" : "Hapus", - "Disconnect storage" : "Memutuskan penyimpaan", - "Unshare" : "Batalkan berbagi", - "No permission to delete" : "Tidak memiliki hak untuk menghapus", + "Actions" : "Tindakan", "Download" : "Unduh", "Select" : "Pilih", "Pending" : "Tertunda", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Dimodifikasi", "_%n folder_::_%n folders_" : ["%n folder"], "_%n file_::_%n files_" : ["%n berkas"], + "{dirs} and {files}" : "{dirs} dan {files}", "You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini", "_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"], "\"{name}\" is an invalid file name." : "\"{name}\" adalah nama berkas yang tidak sah.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Penyimpanan {owner} hampir penuh ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ruang penyimpanan hampir penuh ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["cocok dengan '{filter}'"], - "{dirs} and {files}" : "{dirs} dan {files}", + "Path" : "Jalur", + "_%n byte_::_%n bytes_" : ["%n byte"], "Favorited" : "Difavoritkan", "Favorite" : "Favorit", "An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label", @@ -93,8 +92,9 @@ OC.L10N.register( "File handling" : "Penanganan berkas", "Maximum upload size" : "Ukuran pengunggahan maksimum", "max. possible: " : "Kemungkinan maks.:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Dengan PHP-FPM, nilai ini bisa memerlukan waktu hingga 5 menit untuk berlaku setelah penyimpanan.", "Save" : "Simpan", - "Can not be edited from here due to insufficient permissions." : "Tidak dapat diidit dari sini karena tidak memiliki izin.", + "Can not be edited from here due to insufficient permissions." : "Tidak dapat disunting dari sini karena tidak memiliki izin.", "Settings" : "Pengaturan", "WebDAV" : "WebDAV", "Use this address to access your Files via WebDAV" : "Gunakan alamat ini untuk mengakses Berkas via WebDAV", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Unggah beberapa konten dan sinkronisasikan dengan perangkat Anda!", "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini", "Select all" : "Pilih Semua", + "Delete" : "Hapus", "Upload too large" : "Yang diunggah terlalu besar", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Berkas yang dicoba untuk diunggah melebihi ukuran maksimum pengunggahan berkas di server ini.", "Files are being scanned, please wait." : "Berkas sedang dipindai, silakan tunggu.", diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json index f2b557205b..c38ca14978 100644 --- a/apps/files/l10n/id.json +++ b/apps/files/l10n/id.json @@ -27,6 +27,7 @@ "All files" : "Semua berkas", "Favorites" : "Favorit", "Home" : "Rumah", + "Close" : "Tutup", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Tidak dapat mengunggah {filename} karena ini sebuah direktori atau memiliki ukuran 0 byte", "Total file size {size1} exceeds upload limit {size2}" : "Jumlah ukuran berkas {size1} melampaui batas unggah {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ruang bebas tidak mencukupi, Anda mengunggah {size1} tetapi hanya {size2} yang tersisa", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} sudah ada", "Could not create file" : "Tidak dapat membuat berkas", "Could not create folder" : "Tidak dapat membuat folder", - "Rename" : "Ubah nama", - "Delete" : "Hapus", - "Disconnect storage" : "Memutuskan penyimpaan", - "Unshare" : "Batalkan berbagi", - "No permission to delete" : "Tidak memiliki hak untuk menghapus", + "Actions" : "Tindakan", "Download" : "Unduh", "Select" : "Pilih", "Pending" : "Tertunda", @@ -58,6 +55,7 @@ "Modified" : "Dimodifikasi", "_%n folder_::_%n folders_" : ["%n folder"], "_%n file_::_%n files_" : ["%n berkas"], + "{dirs} and {files}" : "{dirs} dan {files}", "You don’t have permission to upload or create files here" : "Anda tidak memiliki akses untuk mengunggah atau membuat berkas disini", "_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"], "\"{name}\" is an invalid file name." : "\"{name}\" adalah nama berkas yang tidak sah.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Penyimpanan {owner} hampir penuh ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ruang penyimpanan hampir penuh ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["cocok dengan '{filter}'"], - "{dirs} and {files}" : "{dirs} dan {files}", + "Path" : "Jalur", + "_%n byte_::_%n bytes_" : ["%n byte"], "Favorited" : "Difavoritkan", "Favorite" : "Favorit", "An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label", @@ -91,8 +90,9 @@ "File handling" : "Penanganan berkas", "Maximum upload size" : "Ukuran pengunggahan maksimum", "max. possible: " : "Kemungkinan maks.:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Dengan PHP-FPM, nilai ini bisa memerlukan waktu hingga 5 menit untuk berlaku setelah penyimpanan.", "Save" : "Simpan", - "Can not be edited from here due to insufficient permissions." : "Tidak dapat diidit dari sini karena tidak memiliki izin.", + "Can not be edited from here due to insufficient permissions." : "Tidak dapat disunting dari sini karena tidak memiliki izin.", "Settings" : "Pengaturan", "WebDAV" : "WebDAV", "Use this address to access your Files via WebDAV" : "Gunakan alamat ini untuk mengakses Berkas via WebDAV", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Unggah beberapa konten dan sinkronisasikan dengan perangkat Anda!", "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini", "Select all" : "Pilih Semua", + "Delete" : "Hapus", "Upload too large" : "Yang diunggah terlalu besar", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Berkas yang dicoba untuk diunggah melebihi ukuran maksimum pengunggahan berkas di server ini.", "Files are being scanned, please wait." : "Berkas sedang dipindai, silakan tunggu.", diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js index 6fea601bdf..3149a19de6 100644 --- a/apps/files/l10n/is.js +++ b/apps/files/l10n/is.js @@ -13,12 +13,10 @@ OC.L10N.register( "Failed to write to disk" : "Tókst ekki að skrifa á disk", "Invalid directory." : "Ógild mappa.", "Files" : "Skrár", + "Close" : "Loka", "Upload cancelled." : "Hætt við innsendingu.", "File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.", "{new_name} already exists" : "{new_name} er þegar til", - "Rename" : "Endurskýra", - "Delete" : "Eyða", - "Unshare" : "Hætta deilingu", "Download" : "Niðurhal", "Select" : "Velja", "Pending" : "Bíður", @@ -38,8 +36,9 @@ OC.L10N.register( "Folder" : "Mappa", "Upload" : "Senda inn", "Cancel upload" : "Hætta við innsendingu", + "Delete" : "Eyða", "Upload too large" : "Innsend skrá er of stór", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.", "Files are being scanned, please wait." : "Verið er að skima skrár, vinsamlegast hinkraðu." }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json index 1fe2dd93e2..d0e2aebd0d 100644 --- a/apps/files/l10n/is.json +++ b/apps/files/l10n/is.json @@ -11,12 +11,10 @@ "Failed to write to disk" : "Tókst ekki að skrifa á disk", "Invalid directory." : "Ógild mappa.", "Files" : "Skrár", + "Close" : "Loka", "Upload cancelled." : "Hætt við innsendingu.", "File upload is in progress. Leaving the page now will cancel the upload." : "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.", "{new_name} already exists" : "{new_name} er þegar til", - "Rename" : "Endurskýra", - "Delete" : "Eyða", - "Unshare" : "Hætta deilingu", "Download" : "Niðurhal", "Select" : "Velja", "Pending" : "Bíður", @@ -36,8 +34,9 @@ "Folder" : "Mappa", "Upload" : "Senda inn", "Cancel upload" : "Hætta við innsendingu", + "Delete" : "Eyða", "Upload too large" : "Innsend skrá er of stór", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.", "Files are being scanned, please wait." : "Verið er að skima skrár, vinsamlegast hinkraðu." -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js index 2c57c0e5ac..2a7e998cce 100644 --- a/apps/files/l10n/it.js +++ b/apps/files/l10n/it.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Tutti i file", "Favorites" : "Preferiti", "Home" : "Home", + "Close" : "Chiudi", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossibile caricare {filename} poiché è una cartella oppure ha una dimensione di 0 byte.", "Total file size {size1} exceeds upload limit {size2}" : "La dimensione totale del file {size1} supera il limite di caricamento {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Spazio insufficiente, stai caricando {size1}, ma è rimasto solo {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} esiste già", "Could not create file" : "Impossibile creare il file", "Could not create folder" : "Impossibile creare la cartella", - "Rename" : "Rinomina", - "Delete" : "Elimina", - "Disconnect storage" : "Disconnetti archiviazione", - "Unshare" : "Rimuovi condivisione", - "No permission to delete" : "Nessun permesso per eliminare", + "Actions" : "Azioni", "Download" : "Scarica", "Select" : "Seleziona", "Pending" : "In corso", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Modificato", "_%n folder_::_%n folders_" : ["%n cartella","%n cartelle"], "_%n file_::_%n files_" : ["%n file","%n file"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Qui non hai i permessi di caricare o creare file", "_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso"], "\"{name}\" is an invalid file name." : "\"{name}\" non è un nome file valido.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Lo spazio di archiviazione di {owner} è quasi pieno ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Lo spazio di archiviazione è quasi pieno ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["corrispondono a '{filter}'","corrisponde a '{filter}'"], - "{dirs} and {files}" : "{dirs} e {files}", + "Path" : "Percorso", + "_%n byte_::_%n bytes_" : ["%n byte","%n byte"], "Favorited" : "Preferiti", "Favorite" : "Preferito", "An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Gestione file", "Maximum upload size" : "Dimensione massima caricamento", "max. possible: " : "numero mass.: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Con PHP-FPM questo valore potrebbe richiedere fino a 5 minuti perché abbia effetto dopo il salvataggio.", "Save" : "Salva", "Can not be edited from here due to insufficient permissions." : "Non può essere modificato da qui a causa della mancanza di permessi.", "Settings" : "Impostazioni", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!", "No entries found in this folder" : "Nessuna voce trovata in questa cartella", "Select all" : "Seleziona tutto", + "Delete" : "Elimina", "Upload too large" : "Caricamento troppo grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "I file che stai provando a caricare superano la dimensione massima consentita su questo server.", "Files are being scanned, please wait." : "Scansione dei file in corso, attendi", diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json index 4ebb6a360b..b61fb39ae5 100644 --- a/apps/files/l10n/it.json +++ b/apps/files/l10n/it.json @@ -27,6 +27,7 @@ "All files" : "Tutti i file", "Favorites" : "Preferiti", "Home" : "Home", + "Close" : "Chiudi", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossibile caricare {filename} poiché è una cartella oppure ha una dimensione di 0 byte.", "Total file size {size1} exceeds upload limit {size2}" : "La dimensione totale del file {size1} supera il limite di caricamento {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Spazio insufficiente, stai caricando {size1}, ma è rimasto solo {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} esiste già", "Could not create file" : "Impossibile creare il file", "Could not create folder" : "Impossibile creare la cartella", - "Rename" : "Rinomina", - "Delete" : "Elimina", - "Disconnect storage" : "Disconnetti archiviazione", - "Unshare" : "Rimuovi condivisione", - "No permission to delete" : "Nessun permesso per eliminare", + "Actions" : "Azioni", "Download" : "Scarica", "Select" : "Seleziona", "Pending" : "In corso", @@ -58,6 +55,7 @@ "Modified" : "Modificato", "_%n folder_::_%n folders_" : ["%n cartella","%n cartelle"], "_%n file_::_%n files_" : ["%n file","%n file"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Qui non hai i permessi di caricare o creare file", "_Uploading %n file_::_Uploading %n files_" : ["Caricamento di %n file in corso","Caricamento di %n file in corso"], "\"{name}\" is an invalid file name." : "\"{name}\" non è un nome file valido.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Lo spazio di archiviazione di {owner} è quasi pieno ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Lo spazio di archiviazione è quasi pieno ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["corrispondono a '{filter}'","corrisponde a '{filter}'"], - "{dirs} and {files}" : "{dirs} e {files}", + "Path" : "Percorso", + "_%n byte_::_%n bytes_" : ["%n byte","%n byte"], "Favorited" : "Preferiti", "Favorite" : "Preferito", "An error occurred while trying to update the tags" : "Si è verificato un errore durante il tentativo di aggiornare le etichette", @@ -91,6 +90,7 @@ "File handling" : "Gestione file", "Maximum upload size" : "Dimensione massima caricamento", "max. possible: " : "numero mass.: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Con PHP-FPM questo valore potrebbe richiedere fino a 5 minuti perché abbia effetto dopo il salvataggio.", "Save" : "Salva", "Can not be edited from here due to insufficient permissions." : "Non può essere modificato da qui a causa della mancanza di permessi.", "Settings" : "Impostazioni", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Carica alcuni contenuti o sincronizza con i tuoi dispositivi!", "No entries found in this folder" : "Nessuna voce trovata in questa cartella", "Select all" : "Seleziona tutto", + "Delete" : "Elimina", "Upload too large" : "Caricamento troppo grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "I file che stai provando a caricare superano la dimensione massima consentita su questo server.", "Files are being scanned, please wait." : "Scansione dei file in corso, attendi", diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js index 5a0b4247e9..23326e2ab2 100644 --- a/apps/files/l10n/ja.js +++ b/apps/files/l10n/ja.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "すべてのファイル", "Favorites" : "お気に入り", "Home" : "ホーム", + "Close" : "閉じる", "Unable to upload {filename} as it is a directory or has 0 bytes" : "ディレクトリもしくは0バイトのため {filename} をアップロードできません", "Total file size {size1} exceeds upload limit {size2}" : "合計ファイルサイズ {size1} はアップロード制限 {size2} を超過しています。", "Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} はすでに存在します", "Could not create file" : "ファイルを作成できませんでした", "Could not create folder" : "フォルダーを作成できませんでした", - "Rename" : "名前の変更", - "Delete" : "削除", - "Disconnect storage" : "ストレージを切断する", - "Unshare" : "共有解除", - "No permission to delete" : "削除する権限がありません", + "Actions" : "アクション", "Download" : "ダウンロード", "Select" : "選択", "Pending" : "中断", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "更新日時", "_%n folder_::_%n folders_" : ["%n 個のフォルダー"], "_%n file_::_%n files_" : ["%n 個のファイル"], + "{dirs} and {files}" : "{dirs} と {files}", "You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません", "_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"], "\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。", @@ -69,13 +67,14 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} のストレージはほぼ一杯です。({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "ストレージがほぼ一杯です({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : [" '{filter}' にマッチ"], - "{dirs} and {files}" : "{dirs} と {files}", + "Path" : "Path", + "_%n byte_::_%n bytes_" : ["%n バイト"], "Favorited" : "お気に入り済", "Favorite" : "お気に入り", "An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました", "A new file or folder has been created" : "新しいファイルまたはフォルダーを作成したとき", "A file or folder has been changed" : "ファイルまたはフォルダーを変更したとき", - "Limit notifications about creation and changes to your favorite files (Stream only)" : "お気に入りファイルに対する作成と変更の通知は制限されています。(表示のみ)", + "Limit notifications about creation and changes to your favorite files (Stream only)" : "お気に入りファイルの作成と変更の通知を制限する(ストリームのみ)", "A file or folder has been deleted" : "ファイルまたはフォルダーを削除したとき", "A file or folder has been restored" : "ファイルまたはフォルダーを復元したとき", "You created %1$s" : "あなたは %1$s を作成しました", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "ファイル操作", "Maximum upload size" : "最大アップロードサイズ", "max. possible: " : "最大容量: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM の場合は値を変更後、反映されるのに5分程度かかります。", "Save" : "保存", "Can not be edited from here due to insufficient permissions." : "権限不足のため直接編集することはできません。", "Settings" : "設定", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。", "No entries found in this folder" : "このフォルダーにはエントリーがありません", "Select all" : "すべて選択", + "Delete" : "削除", "Upload too large" : "アップロードには大きすぎます。", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "アップロードしようとしているファイルは、サーバーで規定された最大サイズを超えています。", "Files are being scanned, please wait." : "ファイルをスキャンしています、しばらくお待ちください。", diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json index bcc9c1c77a..df2a7bd805 100644 --- a/apps/files/l10n/ja.json +++ b/apps/files/l10n/ja.json @@ -27,6 +27,7 @@ "All files" : "すべてのファイル", "Favorites" : "お気に入り", "Home" : "ホーム", + "Close" : "閉じる", "Unable to upload {filename} as it is a directory or has 0 bytes" : "ディレクトリもしくは0バイトのため {filename} をアップロードできません", "Total file size {size1} exceeds upload limit {size2}" : "合計ファイルサイズ {size1} はアップロード制限 {size2} を超過しています。", "Not enough free space, you are uploading {size1} but only {size2} is left" : "空き容量が十分でなく、 {size1} をアップロードしていますが、 {size2} しか残っていません。", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} はすでに存在します", "Could not create file" : "ファイルを作成できませんでした", "Could not create folder" : "フォルダーを作成できませんでした", - "Rename" : "名前の変更", - "Delete" : "削除", - "Disconnect storage" : "ストレージを切断する", - "Unshare" : "共有解除", - "No permission to delete" : "削除する権限がありません", + "Actions" : "アクション", "Download" : "ダウンロード", "Select" : "選択", "Pending" : "中断", @@ -58,6 +55,7 @@ "Modified" : "更新日時", "_%n folder_::_%n folders_" : ["%n 個のフォルダー"], "_%n file_::_%n files_" : ["%n 個のファイル"], + "{dirs} and {files}" : "{dirs} と {files}", "You don’t have permission to upload or create files here" : "ここにファイルをアップロードもしくは作成する権限がありません", "_Uploading %n file_::_Uploading %n files_" : ["%n 個のファイルをアップロード中"], "\"{name}\" is an invalid file name." : "\"{name}\" は無効なファイル名です。", @@ -67,13 +65,14 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} のストレージはほぼ一杯です。({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "ストレージがほぼ一杯です({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : [" '{filter}' にマッチ"], - "{dirs} and {files}" : "{dirs} と {files}", + "Path" : "Path", + "_%n byte_::_%n bytes_" : ["%n バイト"], "Favorited" : "お気に入り済", "Favorite" : "お気に入り", "An error occurred while trying to update the tags" : "タグを更新する際にエラーが発生しました", "A new file or folder has been created" : "新しいファイルまたはフォルダーを作成したとき", "A file or folder has been changed" : "ファイルまたはフォルダーを変更したとき", - "Limit notifications about creation and changes to your favorite files (Stream only)" : "お気に入りファイルに対する作成と変更の通知は制限されています。(表示のみ)", + "Limit notifications about creation and changes to your favorite files (Stream only)" : "お気に入りファイルの作成と変更の通知を制限する(ストリームのみ)", "A file or folder has been deleted" : "ファイルまたはフォルダーを削除したとき", "A file or folder has been restored" : "ファイルまたはフォルダーを復元したとき", "You created %1$s" : "あなたは %1$s を作成しました", @@ -91,6 +90,7 @@ "File handling" : "ファイル操作", "Maximum upload size" : "最大アップロードサイズ", "max. possible: " : "最大容量: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "PHP-FPM の場合は値を変更後、反映されるのに5分程度かかります。", "Save" : "保存", "Can not be edited from here due to insufficient permissions." : "権限不足のため直接編集することはできません。", "Settings" : "設定", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。", "No entries found in this folder" : "このフォルダーにはエントリーがありません", "Select all" : "すべて選択", + "Delete" : "削除", "Upload too large" : "アップロードには大きすぎます。", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "アップロードしようとしているファイルは、サーバーで規定された最大サイズを超えています。", "Files are being scanned, please wait." : "ファイルをスキャンしています、しばらくお待ちください。", diff --git a/apps/files/l10n/ka_GE.js b/apps/files/l10n/ka_GE.js index e60d675c0d..68e142e74d 100644 --- a/apps/files/l10n/ka_GE.js +++ b/apps/files/l10n/ka_GE.js @@ -17,12 +17,11 @@ OC.L10N.register( "Files" : "ფაილები", "Favorites" : "ფავორიტები", "Home" : "სახლი", + "Close" : "დახურვა", "Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.", "File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას", "{new_name} already exists" : "{new_name} უკვე არსებობს", - "Rename" : "გადარქმევა", - "Delete" : "წაშლა", - "Unshare" : "გაუზიარებადი", + "Actions" : "მოქმედებები", "Download" : "ჩამოტვირთვა", "Pending" : "მოცდის რეჟიმში", "Error" : "შეცდომა", @@ -45,6 +44,7 @@ OC.L10N.register( "Folder" : "საქაღალდე", "Upload" : "ატვირთვა", "Cancel upload" : "ატვირთვის გაუქმება", + "Delete" : "წაშლა", "Upload too large" : "ასატვირთი ფაილი ძალიან დიდია", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ფაილის ზომა რომლის ატვირთვასაც თქვენ აპირებთ, აჭარბებს სერვერზე დაშვებულ მაქსიმუმს.", "Files are being scanned, please wait." : "მიმდინარეობს ფაილების სკანირება, გთხოვთ დაელოდოთ." diff --git a/apps/files/l10n/ka_GE.json b/apps/files/l10n/ka_GE.json index 699872a008..4cbe5e15fd 100644 --- a/apps/files/l10n/ka_GE.json +++ b/apps/files/l10n/ka_GE.json @@ -15,12 +15,11 @@ "Files" : "ფაილები", "Favorites" : "ფავორიტები", "Home" : "სახლი", + "Close" : "დახურვა", "Upload cancelled." : "ატვირთვა შეჩერებულ იქნა.", "File upload is in progress. Leaving the page now will cancel the upload." : "მიმდინარეობს ფაილის ატვირთვა. სხვა გვერდზე გადასვლა გამოიწვევს ატვირთვის შეჩერებას", "{new_name} already exists" : "{new_name} უკვე არსებობს", - "Rename" : "გადარქმევა", - "Delete" : "წაშლა", - "Unshare" : "გაუზიარებადი", + "Actions" : "მოქმედებები", "Download" : "ჩამოტვირთვა", "Pending" : "მოცდის რეჟიმში", "Error" : "შეცდომა", @@ -43,6 +42,7 @@ "Folder" : "საქაღალდე", "Upload" : "ატვირთვა", "Cancel upload" : "ატვირთვის გაუქმება", + "Delete" : "წაშლა", "Upload too large" : "ასატვირთი ფაილი ძალიან დიდია", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ფაილის ზომა რომლის ატვირთვასაც თქვენ აპირებთ, აჭარბებს სერვერზე დაშვებულ მაქსიმუმს.", "Files are being scanned, please wait." : "მიმდინარეობს ფაილების სკანირება, გთხოვთ დაელოდოთ." diff --git a/apps/files/l10n/km.js b/apps/files/l10n/km.js index 2bf4c3dd82..d21f200dc0 100644 --- a/apps/files/l10n/km.js +++ b/apps/files/l10n/km.js @@ -7,11 +7,9 @@ OC.L10N.register( "No file was uploaded. Unknown error" : "មិន​មាន​ឯកសារ​ដែល​បាន​ផ្ទុក​ឡើង។ មិន​ស្គាល់​កំហុស", "There is no error, the file uploaded with success" : "មិន​មាន​កំហុស​អ្វី​ទេ ហើយ​ឯកសារ​ត្រូវ​បាន​ផ្ទុកឡើង​ដោយ​ជោគជ័យ", "Files" : "ឯកសារ", + "Close" : "បិទ", "Upload cancelled." : "បាន​បោះបង់​ការ​ផ្ទុក​ឡើង។", "{new_name} already exists" : "មាន​ឈ្មោះ {new_name} រួច​ហើយ", - "Rename" : "ប្ដូរ​ឈ្មោះ", - "Delete" : "លុប", - "Unshare" : "លែង​ចែក​រំលែក", "Download" : "ទាញយក", "Pending" : "កំពុង​រង់ចាំ", "Error" : "កំហុស", @@ -35,6 +33,7 @@ OC.L10N.register( "Folder" : "ថត", "Upload" : "ផ្ទុក​ឡើង", "Cancel upload" : "បោះបង់​ការ​ផ្ទុកឡើង", + "Delete" : "លុប", "Upload too large" : "ផ្ទុក​ឡើង​ធំ​ពេក" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/km.json b/apps/files/l10n/km.json index de64f220ff..bd147f593d 100644 --- a/apps/files/l10n/km.json +++ b/apps/files/l10n/km.json @@ -5,11 +5,9 @@ "No file was uploaded. Unknown error" : "មិន​មាន​ឯកសារ​ដែល​បាន​ផ្ទុក​ឡើង។ មិន​ស្គាល់​កំហុស", "There is no error, the file uploaded with success" : "មិន​មាន​កំហុស​អ្វី​ទេ ហើយ​ឯកសារ​ត្រូវ​បាន​ផ្ទុកឡើង​ដោយ​ជោគជ័យ", "Files" : "ឯកសារ", + "Close" : "បិទ", "Upload cancelled." : "បាន​បោះបង់​ការ​ផ្ទុក​ឡើង។", "{new_name} already exists" : "មាន​ឈ្មោះ {new_name} រួច​ហើយ", - "Rename" : "ប្ដូរ​ឈ្មោះ", - "Delete" : "លុប", - "Unshare" : "លែង​ចែក​រំលែក", "Download" : "ទាញយក", "Pending" : "កំពុង​រង់ចាំ", "Error" : "កំហុស", @@ -33,6 +31,7 @@ "Folder" : "ថត", "Upload" : "ផ្ទុក​ឡើង", "Cancel upload" : "បោះបង់​ការ​ផ្ទុកឡើង", + "Delete" : "លុប", "Upload too large" : "ផ្ទុក​ឡើង​ធំ​ពេក" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/l10n/kn.js b/apps/files/l10n/kn.js index a61176b1fa..59e444e46c 100644 --- a/apps/files/l10n/kn.js +++ b/apps/files/l10n/kn.js @@ -25,15 +25,12 @@ OC.L10N.register( "All files" : "ಎಲ್ಲಾ ಕಡತಗಳು", "Favorites" : "ಅಚ್ಚುಮೆಚ್ಚಿನ", "Home" : "ಮುಖಪುಟ", + "Close" : "ಮುಚ್ಚು", "Upload cancelled." : "ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಯಿತು.", "Could not get result from server." : "ಪರಿಚಾರಕ ಕಣಕದಿಂದ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.", "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ", "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ", "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ", - "Rename" : "ಮರುಹೆಸರಿಸು", - "Delete" : "ಅಳಿಸಿ", - "Disconnect storage" : "ಸಂಗ್ರಹ ಸಾಧನವನ್ನು ತೆಗೆದುಹಾಕಿ", - "Unshare" : "ಹಂಚಿಕೆಯನ್ನು ಹಿಂತೆಗೆ", "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ", "Select" : "ಆಯ್ಕೆ ಮಾಡಿ", "Pending" : "ಬಾಕಿ ಇದೆ", @@ -68,6 +65,7 @@ OC.L10N.register( "Upload" : "ವರ್ಗಾಯಿಸಿ", "Cancel upload" : "ವರ್ಗಾವಣೆ ರದ್ದು ಮಾಡಿ", "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ", + "Delete" : "ಅಳಿಸಿ", "Upload too large" : "ದೊಡ್ಡ ಪ್ರಮಾಣದ ಪ್ರತಿಗಳನ್ನು ವರ್ಗಾವಣೆ ಮಾಡಲು ಸಾದ್ಯವಿಲ್ಲ", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ನೀವು ವರ್ಗಾಯಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ಕಡತಗಳ ಗಾತ್ರ, ಈ ಗಣಕ ಕೋಶದ ಗರಿಷ್ಠ ಕಡತ ಮೀತಿಯಾನ್ನು ಮೀರುವಂತಿಲ್ಲ.", "Files are being scanned, please wait." : "ಕಡತಗಳನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ, ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ.", diff --git a/apps/files/l10n/kn.json b/apps/files/l10n/kn.json index 8fb048bcb2..d432dbdae3 100644 --- a/apps/files/l10n/kn.json +++ b/apps/files/l10n/kn.json @@ -23,15 +23,12 @@ "All files" : "ಎಲ್ಲಾ ಕಡತಗಳು", "Favorites" : "ಅಚ್ಚುಮೆಚ್ಚಿನ", "Home" : "ಮುಖಪುಟ", + "Close" : "ಮುಚ್ಚು", "Upload cancelled." : "ವರ್ಗಾವಣೆಯನ್ನು ರದ್ದು ಮಾಡಲಾಯಿತು.", "Could not get result from server." : "ಪರಿಚಾರಕ ಕಣಕದಿಂದ ಫಲಿತಾಂಶವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ.", "{new_name} already exists" : "ಈಗಾಗಲೇ {new_name} ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ", "Could not create file" : "ಕಡತ ರಚಿಸಲಾಗಲಿಲ್ಲ", "Could not create folder" : "ಕೋಶವನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ", - "Rename" : "ಮರುಹೆಸರಿಸು", - "Delete" : "ಅಳಿಸಿ", - "Disconnect storage" : "ಸಂಗ್ರಹ ಸಾಧನವನ್ನು ತೆಗೆದುಹಾಕಿ", - "Unshare" : "ಹಂಚಿಕೆಯನ್ನು ಹಿಂತೆಗೆ", "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ", "Select" : "ಆಯ್ಕೆ ಮಾಡಿ", "Pending" : "ಬಾಕಿ ಇದೆ", @@ -66,6 +63,7 @@ "Upload" : "ವರ್ಗಾಯಿಸಿ", "Cancel upload" : "ವರ್ಗಾವಣೆ ರದ್ದು ಮಾಡಿ", "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ", + "Delete" : "ಅಳಿಸಿ", "Upload too large" : "ದೊಡ್ಡ ಪ್ರಮಾಣದ ಪ್ರತಿಗಳನ್ನು ವರ್ಗಾವಣೆ ಮಾಡಲು ಸಾದ್ಯವಿಲ್ಲ", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ನೀವು ವರ್ಗಾಯಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ಕಡತಗಳ ಗಾತ್ರ, ಈ ಗಣಕ ಕೋಶದ ಗರಿಷ್ಠ ಕಡತ ಮೀತಿಯಾನ್ನು ಮೀರುವಂತಿಲ್ಲ.", "Files are being scanned, please wait." : "ಕಡತಗಳನ್ನು ಪರೀಕ್ಷಿಸಲಾಗುತ್ತಿದೆ, ದಯವಿಟ್ಟು ನಿರೀಕ್ಷಿಸಿ.", diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js index a29ef613da..65ca5780d6 100644 --- a/apps/files/l10n/ko.js +++ b/apps/files/l10n/ko.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "모든 파일", "Favorites" : "즐겨찾기", "Home" : "가정", + "Close" : "닫기", "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename}을(를) 업로드할 수 없습니다. 폴더이거나 0 바이트 파일입니다.", "Total file size {size1} exceeds upload limit {size2}" : "총 파일 크기 {size1}이(가) 업로드 제한 {size2}을(를) 초과함", "Not enough free space, you are uploading {size1} but only {size2} is left" : "빈 공간이 부족합니다. 업로드할 파일 크기는 {size1}이지만 현재 {size2}만큼 비었습니다", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name}이(가) 이미 존재함", "Could not create file" : "파일을 만들 수 없음", "Could not create folder" : "폴더를 만들 수 없음", - "Rename" : "이름 바꾸기", - "Delete" : "삭제", - "Disconnect storage" : "저장소 연결 해제", - "Unshare" : "공유 해제", - "No permission to delete" : "삭제할 권한 없음", + "Actions" : "작업", "Download" : "다운로드", "Select" : "선택", "Pending" : "대기 중", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "수정됨", "_%n folder_::_%n folders_" : ["폴더 %n개"], "_%n file_::_%n files_" : ["파일 %n개"], + "{dirs} and {files}" : "{dirs} 그리고 {files}", "You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다", "_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"], "\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.", @@ -69,7 +67,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner}의 저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["'{filter}'와(과) 일치"], - "{dirs} and {files}" : "{dirs} 그리고 {files}", "Favorited" : "책갈피에 추가됨", "Favorite" : "즐겨찾기", "An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생", @@ -109,6 +106,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!", "No entries found in this folder" : "이 폴더에 항목 없음", "Select all" : "모두 선택", + "Delete" : "삭제", "Upload too large" : "업로드한 파일이 너무 큼", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다.", "Files are being scanned, please wait." : "파일을 검색하고 있습니다. 기다려 주십시오.", diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json index fd00163016..9139e78c0a 100644 --- a/apps/files/l10n/ko.json +++ b/apps/files/l10n/ko.json @@ -27,6 +27,7 @@ "All files" : "모든 파일", "Favorites" : "즐겨찾기", "Home" : "가정", + "Close" : "닫기", "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename}을(를) 업로드할 수 없습니다. 폴더이거나 0 바이트 파일입니다.", "Total file size {size1} exceeds upload limit {size2}" : "총 파일 크기 {size1}이(가) 업로드 제한 {size2}을(를) 초과함", "Not enough free space, you are uploading {size1} but only {size2} is left" : "빈 공간이 부족합니다. 업로드할 파일 크기는 {size1}이지만 현재 {size2}만큼 비었습니다", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name}이(가) 이미 존재함", "Could not create file" : "파일을 만들 수 없음", "Could not create folder" : "폴더를 만들 수 없음", - "Rename" : "이름 바꾸기", - "Delete" : "삭제", - "Disconnect storage" : "저장소 연결 해제", - "Unshare" : "공유 해제", - "No permission to delete" : "삭제할 권한 없음", + "Actions" : "작업", "Download" : "다운로드", "Select" : "선택", "Pending" : "대기 중", @@ -58,6 +55,7 @@ "Modified" : "수정됨", "_%n folder_::_%n folders_" : ["폴더 %n개"], "_%n file_::_%n files_" : ["파일 %n개"], + "{dirs} and {files}" : "{dirs} 그리고 {files}", "You don’t have permission to upload or create files here" : "여기에 파일을 업로드하거나 만들 권한이 없습니다", "_Uploading %n file_::_Uploading %n files_" : ["파일 %n개 업로드 중"], "\"{name}\" is an invalid file name." : "\"{name}\"은(는) 잘못된 파일 이름입니다.", @@ -67,7 +65,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner}의 저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "저장 공간이 거의 가득 찼습니다({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["'{filter}'와(과) 일치"], - "{dirs} and {files}" : "{dirs} 그리고 {files}", "Favorited" : "책갈피에 추가됨", "Favorite" : "즐겨찾기", "An error occurred while trying to update the tags" : "태그를 업데이트하는 중 오류 발생", @@ -107,6 +104,7 @@ "Upload some content or sync with your devices!" : "파일을 업로드하거나 장치와 동기화하십시오!", "No entries found in this folder" : "이 폴더에 항목 없음", "Select all" : "모두 선택", + "Delete" : "삭제", "Upload too large" : "업로드한 파일이 너무 큼", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "이 파일이 서버에서 허용하는 최대 업로드 가능 용량보다 큽니다.", "Files are being scanned, please wait." : "파일을 검색하고 있습니다. 기다려 주십시오.", diff --git a/apps/files/l10n/ku_IQ.js b/apps/files/l10n/ku_IQ.js index 7c1c3b4fbe..4e676ceaa8 100644 --- a/apps/files/l10n/ku_IQ.js +++ b/apps/files/l10n/ku_IQ.js @@ -3,6 +3,7 @@ OC.L10N.register( { "Files" : "په‌ڕگەکان", "Favorites" : "دڵخوازەکان", + "Close" : "دابخه", "Download" : "داگرتن", "Select" : "دیاریکردنی", "Error" : "هه‌ڵه", diff --git a/apps/files/l10n/ku_IQ.json b/apps/files/l10n/ku_IQ.json index de32406b81..3a42444a60 100644 --- a/apps/files/l10n/ku_IQ.json +++ b/apps/files/l10n/ku_IQ.json @@ -1,6 +1,7 @@ { "translations": { "Files" : "په‌ڕگەکان", "Favorites" : "دڵخوازەکان", + "Close" : "دابخه", "Download" : "داگرتن", "Select" : "دیاریکردنی", "Error" : "هه‌ڵه", diff --git a/apps/files/l10n/lb.js b/apps/files/l10n/lb.js index 8d4cf072cf..f6f28c15a7 100644 --- a/apps/files/l10n/lb.js +++ b/apps/files/l10n/lb.js @@ -11,11 +11,9 @@ OC.L10N.register( "Files" : "Dateien", "Favorites" : "Favoriten", "Home" : "Doheem", + "Close" : "Zoumaachen", "Upload cancelled." : "Upload ofgebrach.", "File upload is in progress. Leaving the page now will cancel the upload." : "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.", - "Rename" : "Ëm-benennen", - "Delete" : "Läschen", - "Unshare" : "Net méi deelen", "Download" : "Download", "Select" : "Auswielen", "Error" : "Fehler", @@ -35,6 +33,7 @@ OC.L10N.register( "Cancel upload" : "Upload ofbriechen", "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt", "Select all" : "All auswielen", + "Delete" : "Läschen", "Upload too large" : "Upload ze grouss", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Déi Dateien déi Dir probéiert erop ze lueden sinn méi grouss wei déi Maximal Gréisst déi op dësem Server erlaabt ass.", "Files are being scanned, please wait." : "Fichieren gi gescannt, war weg." diff --git a/apps/files/l10n/lb.json b/apps/files/l10n/lb.json index b3b6ff1f63..07363a6ab6 100644 --- a/apps/files/l10n/lb.json +++ b/apps/files/l10n/lb.json @@ -9,11 +9,9 @@ "Files" : "Dateien", "Favorites" : "Favoriten", "Home" : "Doheem", + "Close" : "Zoumaachen", "Upload cancelled." : "Upload ofgebrach.", "File upload is in progress. Leaving the page now will cancel the upload." : "File Upload am gaang. Wann's de des Säit verléiss gëtt den Upload ofgebrach.", - "Rename" : "Ëm-benennen", - "Delete" : "Läschen", - "Unshare" : "Net méi deelen", "Download" : "Download", "Select" : "Auswielen", "Error" : "Fehler", @@ -33,6 +31,7 @@ "Cancel upload" : "Upload ofbriechen", "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt", "Select all" : "All auswielen", + "Delete" : "Läschen", "Upload too large" : "Upload ze grouss", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Déi Dateien déi Dir probéiert erop ze lueden sinn méi grouss wei déi Maximal Gréisst déi op dësem Server erlaabt ass.", "Files are being scanned, please wait." : "Fichieren gi gescannt, war weg." diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js index 2106a98535..272a92f99c 100644 --- a/apps/files/l10n/lt_LT.js +++ b/apps/files/l10n/lt_LT.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Visi failai", "Favorites" : "Mėgstamiausi", "Home" : "Namų", + "Close" : "Užverti", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nepavyksta įkelti {filename}, nes tai katalogas arba yra 0 baitų dydžio", "Total file size {size1} exceeds upload limit {size2}" : "Visas failo dydis {size1} viršyja įkėlimo limitą {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nepakanka laisvos vietos. Keliate {size1}, bet tik {size2} yra likę", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} jau egzistuoja", "Could not create file" : "Neįmanoma sukurti failo", "Could not create folder" : "Neįmanoma sukurti aplanko", - "Rename" : "Pervadinti", - "Delete" : "Ištrinti", - "Disconnect storage" : "Atjungti saugyklą", - "Unshare" : "Nebesidalinti", - "No permission to delete" : "Neturite leidimų ištrinti", + "Actions" : "Veiksmai", "Download" : "Atsisiųsti", "Select" : "Pasirinkiti", "Pending" : "Laukiantis", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Pakeista", "_%n folder_::_%n folders_" : ["%n aplankas","%n aplankai","%n aplankų"], "_%n file_::_%n files_" : ["%n failas","%n failai","%n failų"], + "{dirs} and {files}" : "{dirs} ir {files}", "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus", "_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"], "\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas failo pavadinime.", @@ -69,7 +67,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} saugykla yra beveik pilna ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Jūsų vieta serveryje beveik visa užimta ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["atitikmuo „{filter}“","atitikmenys „{filter}“","atitikmenų „{filter}“"], - "{dirs} and {files}" : "{dirs} ir {files}", "Favorited" : "Pažymėta mėgstamu", "Favorite" : "Mėgiamas", "An error occurred while trying to update the tags" : "Bandant atnaujinti žymes įvyko klaida", @@ -109,6 +106,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Įkelkite kokį nors turinį, arba sinchronizuokite su savo įrenginiais!", "No entries found in this folder" : "Nerasta įrašų šiame aplanke", "Select all" : "Pažymėti viską", + "Delete" : "Ištrinti", "Upload too large" : "Įkėlimui failas per didelis", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Bandomų įkelti failų dydis viršija maksimalų, kuris leidžiamas šiame serveryje", "Files are being scanned, please wait." : "Skenuojami failai, prašome palaukti.", diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json index b4758b4a9b..65103d0cc0 100644 --- a/apps/files/l10n/lt_LT.json +++ b/apps/files/l10n/lt_LT.json @@ -27,6 +27,7 @@ "All files" : "Visi failai", "Favorites" : "Mėgstamiausi", "Home" : "Namų", + "Close" : "Užverti", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nepavyksta įkelti {filename}, nes tai katalogas arba yra 0 baitų dydžio", "Total file size {size1} exceeds upload limit {size2}" : "Visas failo dydis {size1} viršyja įkėlimo limitą {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nepakanka laisvos vietos. Keliate {size1}, bet tik {size2} yra likę", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} jau egzistuoja", "Could not create file" : "Neįmanoma sukurti failo", "Could not create folder" : "Neįmanoma sukurti aplanko", - "Rename" : "Pervadinti", - "Delete" : "Ištrinti", - "Disconnect storage" : "Atjungti saugyklą", - "Unshare" : "Nebesidalinti", - "No permission to delete" : "Neturite leidimų ištrinti", + "Actions" : "Veiksmai", "Download" : "Atsisiųsti", "Select" : "Pasirinkiti", "Pending" : "Laukiantis", @@ -58,6 +55,7 @@ "Modified" : "Pakeista", "_%n folder_::_%n folders_" : ["%n aplankas","%n aplankai","%n aplankų"], "_%n file_::_%n files_" : ["%n failas","%n failai","%n failų"], + "{dirs} and {files}" : "{dirs} ir {files}", "You don’t have permission to upload or create files here" : "Jūs neturite leidimo čia įkelti arba kurti failus", "_Uploading %n file_::_Uploading %n files_" : ["Įkeliamas %n failas","Įkeliami %n failai","Įkeliama %n failų"], "\"{name}\" is an invalid file name." : "„{name}“ yra netinkamas failo pavadinime.", @@ -67,7 +65,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} saugykla yra beveik pilna ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Jūsų vieta serveryje beveik visa užimta ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["atitikmuo „{filter}“","atitikmenys „{filter}“","atitikmenų „{filter}“"], - "{dirs} and {files}" : "{dirs} ir {files}", "Favorited" : "Pažymėta mėgstamu", "Favorite" : "Mėgiamas", "An error occurred while trying to update the tags" : "Bandant atnaujinti žymes įvyko klaida", @@ -107,6 +104,7 @@ "Upload some content or sync with your devices!" : "Įkelkite kokį nors turinį, arba sinchronizuokite su savo įrenginiais!", "No entries found in this folder" : "Nerasta įrašų šiame aplanke", "Select all" : "Pažymėti viską", + "Delete" : "Ištrinti", "Upload too large" : "Įkėlimui failas per didelis", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Bandomų įkelti failų dydis viršija maksimalų, kuris leidžiamas šiame serveryje", "Files are being scanned, please wait." : "Skenuojami failai, prašome palaukti.", diff --git a/apps/files/l10n/lv.js b/apps/files/l10n/lv.js index 8454fe48fa..b5963af978 100644 --- a/apps/files/l10n/lv.js +++ b/apps/files/l10n/lv.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Visas datnes", "Favorites" : "Iecienītie", "Home" : "Mājas", + "Close" : "Aizvērt", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Neizdodas augšupielādēt {filename}, jo tā ir vai nu mape vai 0 baitu saturošs fails.", "Total file size {size1} exceeds upload limit {size2}" : "Kopējais faila izmērs {size1} pārsniedz augšupielādes ierobežojumu {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nav pietiekami daudz brīvas vietas. Tiek augšupielādēti {size1}, bet pieejami tikai {size2}", @@ -38,10 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} jau eksistē", "Could not create file" : "Neizdevās izveidot datni", "Could not create folder" : "Neizdevās izveidot mapi", - "Rename" : "Pārsaukt", - "Delete" : "Dzēst", - "Disconnect storage" : "Atvienot krātuvi", - "Unshare" : "Pārtraukt dalīšanos", + "Actions" : "Darbības", "Download" : "Lejupielādēt", "Select" : "Norādīt", "Pending" : "Gaida savu kārtu", @@ -57,6 +55,7 @@ OC.L10N.register( "Modified" : "Mainīts", "_%n folder_::_%n folders_" : ["%n mapes","%n mape","%n mapes"], "_%n file_::_%n files_" : ["%n faili","%n fails","%n faili"], + "{dirs} and {files}" : "{dirs} un {files}", "You don’t have permission to upload or create files here" : "Jums nav tiesību, augšupielādēt vai veidot, šeit datnes", "_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielāde %n failus"], "\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.", @@ -64,7 +63,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Jūsu krātuve ir pilna, datnes vairs nevar augšupielādēt vai sinhronizēt!", "Your storage is almost full ({usedSpacePercent}%)" : "Jūsu krātuve ir gandrīz pilna ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["atrasts pēc '{filter}'","atrasts pēc '{filter}'","atrasti pēc '{filter}'"], - "{dirs} and {files}" : "{dirs} un {files}", "Favorited" : "Favorīti", "Favorite" : "Iecienītais", "An error occurred while trying to update the tags" : "Atjaunojot atzīmes notika kļūda", @@ -101,6 +99,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Augšupielādē kaut ko vai sinhronizē saturu ar savām ierīcēm!", "No entries found in this folder" : "Šajā mapē nekas nav atrasts", "Select all" : "Atzīmēt visu", + "Delete" : "Dzēst", "Upload too large" : "Datne ir par lielu, lai to augšupielādētu", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Augšupielādējamās datnes pārsniedz servera pieļaujamo datņu augšupielādes apjomu", "Files are being scanned, please wait." : "Datnes šobrīd tiek caurskatītas, lūdzu, uzgaidiet.", diff --git a/apps/files/l10n/lv.json b/apps/files/l10n/lv.json index 59220478b6..5e9498ee6f 100644 --- a/apps/files/l10n/lv.json +++ b/apps/files/l10n/lv.json @@ -27,6 +27,7 @@ "All files" : "Visas datnes", "Favorites" : "Iecienītie", "Home" : "Mājas", + "Close" : "Aizvērt", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Neizdodas augšupielādēt {filename}, jo tā ir vai nu mape vai 0 baitu saturošs fails.", "Total file size {size1} exceeds upload limit {size2}" : "Kopējais faila izmērs {size1} pārsniedz augšupielādes ierobežojumu {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nav pietiekami daudz brīvas vietas. Tiek augšupielādēti {size1}, bet pieejami tikai {size2}", @@ -36,10 +37,7 @@ "{new_name} already exists" : "{new_name} jau eksistē", "Could not create file" : "Neizdevās izveidot datni", "Could not create folder" : "Neizdevās izveidot mapi", - "Rename" : "Pārsaukt", - "Delete" : "Dzēst", - "Disconnect storage" : "Atvienot krātuvi", - "Unshare" : "Pārtraukt dalīšanos", + "Actions" : "Darbības", "Download" : "Lejupielādēt", "Select" : "Norādīt", "Pending" : "Gaida savu kārtu", @@ -55,6 +53,7 @@ "Modified" : "Mainīts", "_%n folder_::_%n folders_" : ["%n mapes","%n mape","%n mapes"], "_%n file_::_%n files_" : ["%n faili","%n fails","%n faili"], + "{dirs} and {files}" : "{dirs} un {files}", "You don’t have permission to upload or create files here" : "Jums nav tiesību, augšupielādēt vai veidot, šeit datnes", "_Uploading %n file_::_Uploading %n files_" : ["%n","Augšupielāde %n failu","Augšupielāde %n failus"], "\"{name}\" is an invalid file name." : "\"{name}\" ir nepareizs datnes nosaukums.", @@ -62,7 +61,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Jūsu krātuve ir pilna, datnes vairs nevar augšupielādēt vai sinhronizēt!", "Your storage is almost full ({usedSpacePercent}%)" : "Jūsu krātuve ir gandrīz pilna ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["atrasts pēc '{filter}'","atrasts pēc '{filter}'","atrasti pēc '{filter}'"], - "{dirs} and {files}" : "{dirs} un {files}", "Favorited" : "Favorīti", "Favorite" : "Iecienītais", "An error occurred while trying to update the tags" : "Atjaunojot atzīmes notika kļūda", @@ -99,6 +97,7 @@ "Upload some content or sync with your devices!" : "Augšupielādē kaut ko vai sinhronizē saturu ar savām ierīcēm!", "No entries found in this folder" : "Šajā mapē nekas nav atrasts", "Select all" : "Atzīmēt visu", + "Delete" : "Dzēst", "Upload too large" : "Datne ir par lielu, lai to augšupielādētu", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Augšupielādējamās datnes pārsniedz servera pieļaujamo datņu augšupielādes apjomu", "Files are being scanned, please wait." : "Datnes šobrīd tiek caurskatītas, lūdzu, uzgaidiet.", diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js index fbda6b4d1f..6246b5b192 100644 --- a/apps/files/l10n/mk.js +++ b/apps/files/l10n/mk.js @@ -22,15 +22,14 @@ OC.L10N.register( "Files" : "Датотеки", "Favorites" : "Омилени", "Home" : "Дома", + "Close" : "Затвори", "Upload cancelled." : "Преземањето е прекинато.", "Could not get result from server." : "Не можам да добијам резултат од серверот.", "File upload is in progress. Leaving the page now will cancel the upload." : "Подигање на датотека е во тек. Напуштење на страницата ќе го прекине.", "{new_name} already exists" : "{new_name} веќе постои", "Could not create file" : "Не множам да креирам датотека", "Could not create folder" : "Не можам да креирам папка", - "Rename" : "Преименувај", - "Delete" : "Избриши", - "Unshare" : "Не споделувај", + "Actions" : "Акции", "Download" : "Преземи", "Select" : "Избери", "Pending" : "Чека", @@ -40,10 +39,10 @@ OC.L10N.register( "Name" : "Име", "Size" : "Големина", "Modified" : "Променето", + "{dirs} and {files}" : "{dirs} и {files}", "File name cannot be empty." : "Името на датотеката не може да биде празно.", "Your storage is full, files can not be updated or synced anymore!" : "Вашиот сториџ е полн, датотеките веќе не можат да се освежуваат или синхронизираат!", "Your storage is almost full ({usedSpacePercent}%)" : "Вашиот сториџ е скоро полн ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} и {files}", "You created %1$s" : "Вие креиравте %1$s", "%2$s created %1$s" : "%2$s креирано %1$s", "You changed %1$s" : "Вие изменивте %1$s", @@ -64,6 +63,7 @@ OC.L10N.register( "Folder" : "Папка", "Upload" : "Подигни", "Cancel upload" : "Откажи прикачување", + "Delete" : "Избриши", "Upload too large" : "Фајлот кој се вчитува е преголем", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Датотеките кои се обидувате да ги подигнете ја надминуваат максималната големина за подигнување датотеки на овој сервер.", "Files are being scanned, please wait." : "Се скенираат датотеки, ве молам почекајте." diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json index 7eb9488916..9ad1ea0706 100644 --- a/apps/files/l10n/mk.json +++ b/apps/files/l10n/mk.json @@ -20,15 +20,14 @@ "Files" : "Датотеки", "Favorites" : "Омилени", "Home" : "Дома", + "Close" : "Затвори", "Upload cancelled." : "Преземањето е прекинато.", "Could not get result from server." : "Не можам да добијам резултат од серверот.", "File upload is in progress. Leaving the page now will cancel the upload." : "Подигање на датотека е во тек. Напуштење на страницата ќе го прекине.", "{new_name} already exists" : "{new_name} веќе постои", "Could not create file" : "Не множам да креирам датотека", "Could not create folder" : "Не можам да креирам папка", - "Rename" : "Преименувај", - "Delete" : "Избриши", - "Unshare" : "Не споделувај", + "Actions" : "Акции", "Download" : "Преземи", "Select" : "Избери", "Pending" : "Чека", @@ -38,10 +37,10 @@ "Name" : "Име", "Size" : "Големина", "Modified" : "Променето", + "{dirs} and {files}" : "{dirs} и {files}", "File name cannot be empty." : "Името на датотеката не може да биде празно.", "Your storage is full, files can not be updated or synced anymore!" : "Вашиот сториџ е полн, датотеките веќе не можат да се освежуваат или синхронизираат!", "Your storage is almost full ({usedSpacePercent}%)" : "Вашиот сториџ е скоро полн ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} и {files}", "You created %1$s" : "Вие креиравте %1$s", "%2$s created %1$s" : "%2$s креирано %1$s", "You changed %1$s" : "Вие изменивте %1$s", @@ -62,6 +61,7 @@ "Folder" : "Папка", "Upload" : "Подигни", "Cancel upload" : "Откажи прикачување", + "Delete" : "Избриши", "Upload too large" : "Фајлот кој се вчитува е преголем", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Датотеките кои се обидувате да ги подигнете ја надминуваат максималната големина за подигнување датотеки на овој сервер.", "Files are being scanned, please wait." : "Се скенираат датотеки, ве молам почекајте." diff --git a/apps/files/l10n/ms_MY.js b/apps/files/l10n/ms_MY.js index 6f44e4524e..bffc265c0f 100644 --- a/apps/files/l10n/ms_MY.js +++ b/apps/files/l10n/ms_MY.js @@ -10,9 +10,8 @@ OC.L10N.register( "Failed to write to disk" : "Gagal untuk disimpan", "Files" : "Fail-fail", "Home" : "Rumah", + "Close" : "Tutup", "Upload cancelled." : "Muatnaik dibatalkan.", - "Rename" : "Namakan", - "Delete" : "Padam", "Download" : "Muat turun", "Pending" : "Dalam proses", "Error" : "Ralat", @@ -32,6 +31,7 @@ OC.L10N.register( "Folder" : "Folder", "Upload" : "Muat naik", "Cancel upload" : "Batal muat naik", + "Delete" : "Padam", "Upload too large" : "Muatnaik terlalu besar", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fail yang cuba dimuat naik melebihi saiz maksimum fail upload server", "Files are being scanned, please wait." : "Fail sedang diimbas, harap bersabar." diff --git a/apps/files/l10n/ms_MY.json b/apps/files/l10n/ms_MY.json index a3149f892e..30b8777b03 100644 --- a/apps/files/l10n/ms_MY.json +++ b/apps/files/l10n/ms_MY.json @@ -8,9 +8,8 @@ "Failed to write to disk" : "Gagal untuk disimpan", "Files" : "Fail-fail", "Home" : "Rumah", + "Close" : "Tutup", "Upload cancelled." : "Muatnaik dibatalkan.", - "Rename" : "Namakan", - "Delete" : "Padam", "Download" : "Muat turun", "Pending" : "Dalam proses", "Error" : "Ralat", @@ -30,6 +29,7 @@ "Folder" : "Folder", "Upload" : "Muat naik", "Cancel upload" : "Batal muat naik", + "Delete" : "Padam", "Upload too large" : "Muatnaik terlalu besar", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fail yang cuba dimuat naik melebihi saiz maksimum fail upload server", "Files are being scanned, please wait." : "Fail sedang diimbas, harap bersabar." diff --git a/apps/files/l10n/nb_NO.js b/apps/files/l10n/nb_NO.js index b7741835c0..2dec11dd26 100644 --- a/apps/files/l10n/nb_NO.js +++ b/apps/files/l10n/nb_NO.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Alle filer", "Favorites" : "Favoritter", "Home" : "Hjem", + "Close" : "Lukk", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan ikke laste opp {filename} fordi det er en mappe eller har 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "Total filstørrelse {size1} overstiger grense for opplasting {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ikke nok ledig plass. Du laster opp size1} men bare {size2} er ledig", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} finnes allerede", "Could not create file" : "Klarte ikke å opprette fil", "Could not create folder" : "Klarte ikke å opprette mappe", - "Rename" : "Gi nytt navn", - "Delete" : "Slett", - "Disconnect storage" : "Koble fra lagring", - "Unshare" : "Avslutt deling", - "No permission to delete" : "Ikke tillatelse til å slette", + "Actions" : "Handlinger", "Download" : "Last ned", "Select" : "Velg", "Pending" : "Ventende", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Endret", "_%n folder_::_%n folders_" : ["%n mappe","%n mapper"], "_%n file_::_%n files_" : ["%n fil","%n filer"], + "{dirs} and {files}" : "{dirs} og {files}", "You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her", "_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"], "\"{name}\" is an invalid file name." : "\"{name}\" er et uglydig filnavn.", @@ -69,7 +67,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Lagringsplass for {owner} er nesten full ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Lagringsplass er nesten brukt opp ([usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : [" stemmer med '{filter}'"," stemmer med '{filter}'"], - "{dirs} and {files}" : "{dirs} og {files}", "Favorited" : "Er favoritt", "Favorite" : "Gjør til favoritt", "An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av taggene", @@ -109,6 +106,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Last opp noe innhold eller synkroniser med enhetene dine!", "No entries found in this folder" : "Ingen oppføringer funnet i denne mappen", "Select all" : "Velg alle", + "Delete" : "Slett", "Upload too large" : "Filen er for stor", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filene du prøver å laste opp er for store til å laste opp til denne serveren.", "Files are being scanned, please wait." : "Skanner filer, vennligst vent.", diff --git a/apps/files/l10n/nb_NO.json b/apps/files/l10n/nb_NO.json index 662d8433c2..f5adc80f13 100644 --- a/apps/files/l10n/nb_NO.json +++ b/apps/files/l10n/nb_NO.json @@ -27,6 +27,7 @@ "All files" : "Alle filer", "Favorites" : "Favoritter", "Home" : "Hjem", + "Close" : "Lukk", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan ikke laste opp {filename} fordi det er en mappe eller har 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "Total filstørrelse {size1} overstiger grense for opplasting {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ikke nok ledig plass. Du laster opp size1} men bare {size2} er ledig", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} finnes allerede", "Could not create file" : "Klarte ikke å opprette fil", "Could not create folder" : "Klarte ikke å opprette mappe", - "Rename" : "Gi nytt navn", - "Delete" : "Slett", - "Disconnect storage" : "Koble fra lagring", - "Unshare" : "Avslutt deling", - "No permission to delete" : "Ikke tillatelse til å slette", + "Actions" : "Handlinger", "Download" : "Last ned", "Select" : "Velg", "Pending" : "Ventende", @@ -58,6 +55,7 @@ "Modified" : "Endret", "_%n folder_::_%n folders_" : ["%n mappe","%n mapper"], "_%n file_::_%n files_" : ["%n fil","%n filer"], + "{dirs} and {files}" : "{dirs} og {files}", "You don’t have permission to upload or create files here" : "Du har ikke tillatelse til å laste opp eller opprette filer her", "_Uploading %n file_::_Uploading %n files_" : ["Laster opp %n fil","Laster opp %n filer"], "\"{name}\" is an invalid file name." : "\"{name}\" er et uglydig filnavn.", @@ -67,7 +65,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Lagringsplass for {owner} er nesten full ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Lagringsplass er nesten brukt opp ([usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : [" stemmer med '{filter}'"," stemmer med '{filter}'"], - "{dirs} and {files}" : "{dirs} og {files}", "Favorited" : "Er favoritt", "Favorite" : "Gjør til favoritt", "An error occurred while trying to update the tags" : "En feil oppstod under oppdatering av taggene", @@ -107,6 +104,7 @@ "Upload some content or sync with your devices!" : "Last opp noe innhold eller synkroniser med enhetene dine!", "No entries found in this folder" : "Ingen oppføringer funnet i denne mappen", "Select all" : "Velg alle", + "Delete" : "Slett", "Upload too large" : "Filen er for stor", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filene du prøver å laste opp er for store til å laste opp til denne serveren.", "Files are being scanned, please wait." : "Skanner filer, vennligst vent.", diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js index 85bebde9c3..8392da4c2e 100644 --- a/apps/files/l10n/nl.js +++ b/apps/files/l10n/nl.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Alle bestanden", "Favorites" : "Favorieten", "Home" : "Thuis", + "Close" : "Sluiten", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan {filename} niet uploaden omdat het een map is of 0 bytes groot is", "Total file size {size1} exceeds upload limit {size2}" : "Totale bestandsgrootte {size1} groter dan uploadlimiet {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Niet genoeg vrije ruimte. U upload {size1}, maar is is slechts {size2} beschikbaar", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} bestaat al", "Could not create file" : "Kon bestand niet creëren", "Could not create folder" : "Kon niet creëren map", - "Rename" : "Naam wijzigen", - "Delete" : "Verwijderen", - "Disconnect storage" : "Verbinding met opslag verbreken", - "Unshare" : "Stop met delen", - "No permission to delete" : "Geen permissie om te verwijderen", + "Actions" : "Acties", "Download" : "Downloaden", "Select" : "Selecteer", "Pending" : "In behandeling", @@ -59,6 +56,7 @@ OC.L10N.register( "Size" : "Grootte", "Modified" : "Aangepast", "_%n file_::_%n files_" : ["%n bestand","%n bestanden"], + "{dirs} and {files}" : "{dirs} en {files}", "You don’t have permission to upload or create files here" : "U hebt geen toestemming om hier te uploaden of bestanden te maken", "_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"], "\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.", @@ -68,7 +66,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Opslagruimte van {owner} zit bijna vol ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Uw opslagruimte zit bijna vol ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["komt overeen met '{filter}'","komen overeen met '{filter}'"], - "{dirs} and {files}" : "{dirs} en {files}", + "Path" : "Pad", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Favoriet", "Favorite" : "Favoriet", "An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de tags bij te werken", @@ -92,6 +91,7 @@ OC.L10N.register( "File handling" : "Bestand", "Maximum upload size" : "Maximale bestandsgrootte voor uploads", "max. possible: " : "max. mogelijk: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Met PHP-FPM kan het tot 5 minuten duren voordat de aanpassing van deze waarde effect heeft.", "Save" : "Bewaren", "Can not be edited from here due to insufficient permissions." : "Kan hier niet worden bewerkt wegens onvoldoende permissies.", "Settings" : "Instellingen", @@ -108,6 +108,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Upload bestanden of synchroniseer met uw apparaten!", "No entries found in this folder" : "Niets", "Select all" : "Alles selecteren", + "Delete" : "Verwijderen", "Upload too large" : "Upload is te groot", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "De bestanden die u probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server.", "Files are being scanned, please wait." : "Bestanden worden gescand, even wachten.", diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json index 9094ed1b03..532905c9c4 100644 --- a/apps/files/l10n/nl.json +++ b/apps/files/l10n/nl.json @@ -27,6 +27,7 @@ "All files" : "Alle bestanden", "Favorites" : "Favorieten", "Home" : "Thuis", + "Close" : "Sluiten", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan {filename} niet uploaden omdat het een map is of 0 bytes groot is", "Total file size {size1} exceeds upload limit {size2}" : "Totale bestandsgrootte {size1} groter dan uploadlimiet {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Niet genoeg vrije ruimte. U upload {size1}, maar is is slechts {size2} beschikbaar", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} bestaat al", "Could not create file" : "Kon bestand niet creëren", "Could not create folder" : "Kon niet creëren map", - "Rename" : "Naam wijzigen", - "Delete" : "Verwijderen", - "Disconnect storage" : "Verbinding met opslag verbreken", - "Unshare" : "Stop met delen", - "No permission to delete" : "Geen permissie om te verwijderen", + "Actions" : "Acties", "Download" : "Downloaden", "Select" : "Selecteer", "Pending" : "In behandeling", @@ -57,6 +54,7 @@ "Size" : "Grootte", "Modified" : "Aangepast", "_%n file_::_%n files_" : ["%n bestand","%n bestanden"], + "{dirs} and {files}" : "{dirs} en {files}", "You don’t have permission to upload or create files here" : "U hebt geen toestemming om hier te uploaden of bestanden te maken", "_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"], "\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.", @@ -66,7 +64,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Opslagruimte van {owner} zit bijna vol ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Uw opslagruimte zit bijna vol ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["komt overeen met '{filter}'","komen overeen met '{filter}'"], - "{dirs} and {files}" : "{dirs} en {files}", + "Path" : "Pad", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Favoriet", "Favorite" : "Favoriet", "An error occurred while trying to update the tags" : "Er trad een fout op bij uw poging de tags bij te werken", @@ -90,6 +89,7 @@ "File handling" : "Bestand", "Maximum upload size" : "Maximale bestandsgrootte voor uploads", "max. possible: " : "max. mogelijk: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Met PHP-FPM kan het tot 5 minuten duren voordat de aanpassing van deze waarde effect heeft.", "Save" : "Bewaren", "Can not be edited from here due to insufficient permissions." : "Kan hier niet worden bewerkt wegens onvoldoende permissies.", "Settings" : "Instellingen", @@ -106,6 +106,7 @@ "Upload some content or sync with your devices!" : "Upload bestanden of synchroniseer met uw apparaten!", "No entries found in this folder" : "Niets", "Select all" : "Alles selecteren", + "Delete" : "Verwijderen", "Upload too large" : "Upload is te groot", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "De bestanden die u probeert te uploaden zijn groter dan de maximaal toegestane bestandsgrootte voor deze server.", "Files are being scanned, please wait." : "Bestanden worden gescand, even wachten.", diff --git a/apps/files/l10n/nn_NO.js b/apps/files/l10n/nn_NO.js index af4ec92771..b7523a465d 100644 --- a/apps/files/l10n/nn_NO.js +++ b/apps/files/l10n/nn_NO.js @@ -21,14 +21,13 @@ OC.L10N.register( "Files" : "Filer", "Favorites" : "Favorittar", "Home" : "Heime", + "Close" : "Lukk", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Klarte ikkje å lasta opp {filename} sidan det er ei mappe eller er 0 byte.", "Upload cancelled." : "Opplasting avbroten.", "Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.", "{new_name} already exists" : "{new_name} finst allereie", - "Rename" : "Endra namn", - "Delete" : "Slett", - "Unshare" : "Udel", + "Actions" : "Handlingar", "Download" : "Last ned", "Pending" : "Under vegs", "Error moving file" : "Feil ved flytting av fil", @@ -38,11 +37,11 @@ OC.L10N.register( "Modified" : "Endra", "_%n folder_::_%n folders_" : ["%n mappe","%n mapper"], "_%n file_::_%n files_" : ["%n fil","%n filer"], + "{dirs} and {files}" : "{dirs} og {files}", "_Uploading %n file_::_Uploading %n files_" : ["Lastar opp %n fil","Lastar opp %n filer"], "File name cannot be empty." : "Filnamnet kan ikkje vera tomt.", "Your storage is full, files can not be updated or synced anymore!" : "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!", "Your storage is almost full ({usedSpacePercent}%)" : "Lagringa di er nesten full ({usedSpacePercent} %)", - "{dirs} and {files}" : "{dirs} og {files}", "Favorite" : "Favoritt", "A new file or folder has been created" : "Ei ny fil eller mappe er oppretta", "A file or folder has been changed" : "Ei fil eller mappe er endra", @@ -67,6 +66,7 @@ OC.L10N.register( "Folder" : "Mappe", "Upload" : "Last opp", "Cancel upload" : "Avbryt opplasting", + "Delete" : "Slett", "Upload too large" : "For stor opplasting", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filene du prøver å lasta opp er større enn maksgrensa til denne tenaren.", "Files are being scanned, please wait." : "Skannar filer, ver venleg og vent." diff --git a/apps/files/l10n/nn_NO.json b/apps/files/l10n/nn_NO.json index 8e0e297220..05bef4cb9d 100644 --- a/apps/files/l10n/nn_NO.json +++ b/apps/files/l10n/nn_NO.json @@ -19,14 +19,13 @@ "Files" : "Filer", "Favorites" : "Favorittar", "Home" : "Heime", + "Close" : "Lukk", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Klarte ikkje å lasta opp {filename} sidan det er ei mappe eller er 0 byte.", "Upload cancelled." : "Opplasting avbroten.", "Could not get result from server." : "Klarte ikkje å henta resultat frå tenaren.", "File upload is in progress. Leaving the page now will cancel the upload." : "Fila lastar no opp. Viss du forlèt sida no vil opplastinga verta avbroten.", "{new_name} already exists" : "{new_name} finst allereie", - "Rename" : "Endra namn", - "Delete" : "Slett", - "Unshare" : "Udel", + "Actions" : "Handlingar", "Download" : "Last ned", "Pending" : "Under vegs", "Error moving file" : "Feil ved flytting av fil", @@ -36,11 +35,11 @@ "Modified" : "Endra", "_%n folder_::_%n folders_" : ["%n mappe","%n mapper"], "_%n file_::_%n files_" : ["%n fil","%n filer"], + "{dirs} and {files}" : "{dirs} og {files}", "_Uploading %n file_::_Uploading %n files_" : ["Lastar opp %n fil","Lastar opp %n filer"], "File name cannot be empty." : "Filnamnet kan ikkje vera tomt.", "Your storage is full, files can not be updated or synced anymore!" : "Lagringa di er full, kan ikkje lenger oppdatera eller synkronisera!", "Your storage is almost full ({usedSpacePercent}%)" : "Lagringa di er nesten full ({usedSpacePercent} %)", - "{dirs} and {files}" : "{dirs} og {files}", "Favorite" : "Favoritt", "A new file or folder has been created" : "Ei ny fil eller mappe er oppretta", "A file or folder has been changed" : "Ei fil eller mappe er endra", @@ -65,6 +64,7 @@ "Folder" : "Mappe", "Upload" : "Last opp", "Cancel upload" : "Avbryt opplasting", + "Delete" : "Slett", "Upload too large" : "For stor opplasting", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filene du prøver å lasta opp er større enn maksgrensa til denne tenaren.", "Files are being scanned, please wait." : "Skannar filer, ver venleg og vent." diff --git a/apps/files/l10n/oc.js b/apps/files/l10n/oc.js index a3beb77ef2..a362dde52b 100644 --- a/apps/files/l10n/oc.js +++ b/apps/files/l10n/oc.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Totes los fichièrs", "Favorites" : "Favorits", "Home" : "Mos fichièrs", + "Close" : "Tampar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossible de mandar {filename} perque s'agís d'un repertòri o d'un fichièr de talha nulla", "Total file size {size1} exceeds upload limit {size2}" : "La talha totala del fichièr {size1} excedís la talha maximala de mandadís {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Espaci liure insufisent : ensajatz de mandar {size1} mas solament {size2} son disponibles", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} existís ja", "Could not create file" : "Impossible de crear lo fichièr", "Could not create folder" : "Impossible de crear lo dorsièr", - "Rename" : "Renomenar", - "Delete" : "Suprimir", - "Disconnect storage" : "Desconnectar aqueste supòrt d'emmagazinatge", - "Unshare" : "Partejar pas mai", - "No permission to delete" : "Pas de permission de supression", + "Actions" : "Accions", "Download" : "Telecargar", "Select" : "Seleccionar", "Pending" : "En espèra", @@ -58,6 +55,7 @@ OC.L10N.register( "Modified" : "Modificat", "_%n folder_::_%n folders_" : ["%n dorsièr","%n dorsièrs"], "_%n file_::_%n files_" : ["%n fichièr","%n fichièrs"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Avètz pas la permission d'apondre de fichièrs aicí", "_Uploading %n file_::_Uploading %n files_" : ["Mandadís de %n fichièr","Mandadís de %n fichièrs"], "\"{name}\" is an invalid file name." : "\"{name}\" es pas un nom de fichièr valid.", @@ -65,7 +63,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Vòstre espaci d'emmagazinatge es plen, los fichièrs pòdon pas mai èsser aponduts o sincronizats !", "Your storage is almost full ({usedSpacePercent}%)" : "Vòstre espace d'emmagazinatge es gaireben plen ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["correspond a '{filter}'","correspondon a '{filter}'"], - "{dirs} and {files}" : "{dirs} e {files}", "Favorited" : "Marcat coma favorit", "Favorite" : "Favorit", "An error occurred while trying to update the tags" : "Una error s'es produsida al moment de la mesa a jorn de las etiquetas", @@ -105,6 +102,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Depausatz de contengut o sincronizatz vòstres aparelhs !", "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr", "Select all" : "Seleccionar tot", + "Delete" : "Suprimir", "Upload too large" : "Mandadís tròp voluminós", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los fichièrs qu'ensajatz de mandar depassan la talha maximala de mandadís permesa per aqueste servidor.", "Files are being scanned, please wait." : "Los fichièrs son en cors d'analisi, pacientatz.", diff --git a/apps/files/l10n/oc.json b/apps/files/l10n/oc.json index 1a90450202..3b89728ce9 100644 --- a/apps/files/l10n/oc.json +++ b/apps/files/l10n/oc.json @@ -27,6 +27,7 @@ "All files" : "Totes los fichièrs", "Favorites" : "Favorits", "Home" : "Mos fichièrs", + "Close" : "Tampar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Impossible de mandar {filename} perque s'agís d'un repertòri o d'un fichièr de talha nulla", "Total file size {size1} exceeds upload limit {size2}" : "La talha totala del fichièr {size1} excedís la talha maximala de mandadís {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Espaci liure insufisent : ensajatz de mandar {size1} mas solament {size2} son disponibles", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} existís ja", "Could not create file" : "Impossible de crear lo fichièr", "Could not create folder" : "Impossible de crear lo dorsièr", - "Rename" : "Renomenar", - "Delete" : "Suprimir", - "Disconnect storage" : "Desconnectar aqueste supòrt d'emmagazinatge", - "Unshare" : "Partejar pas mai", - "No permission to delete" : "Pas de permission de supression", + "Actions" : "Accions", "Download" : "Telecargar", "Select" : "Seleccionar", "Pending" : "En espèra", @@ -56,6 +53,7 @@ "Modified" : "Modificat", "_%n folder_::_%n folders_" : ["%n dorsièr","%n dorsièrs"], "_%n file_::_%n files_" : ["%n fichièr","%n fichièrs"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Avètz pas la permission d'apondre de fichièrs aicí", "_Uploading %n file_::_Uploading %n files_" : ["Mandadís de %n fichièr","Mandadís de %n fichièrs"], "\"{name}\" is an invalid file name." : "\"{name}\" es pas un nom de fichièr valid.", @@ -63,7 +61,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Vòstre espaci d'emmagazinatge es plen, los fichièrs pòdon pas mai èsser aponduts o sincronizats !", "Your storage is almost full ({usedSpacePercent}%)" : "Vòstre espace d'emmagazinatge es gaireben plen ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["correspond a '{filter}'","correspondon a '{filter}'"], - "{dirs} and {files}" : "{dirs} e {files}", "Favorited" : "Marcat coma favorit", "Favorite" : "Favorit", "An error occurred while trying to update the tags" : "Una error s'es produsida al moment de la mesa a jorn de las etiquetas", @@ -103,6 +100,7 @@ "Upload some content or sync with your devices!" : "Depausatz de contengut o sincronizatz vòstres aparelhs !", "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr", "Select all" : "Seleccionar tot", + "Delete" : "Suprimir", "Upload too large" : "Mandadís tròp voluminós", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Los fichièrs qu'ensajatz de mandar depassan la talha maximala de mandadís permesa per aqueste servidor.", "Files are being scanned, please wait." : "Los fichièrs son en cors d'analisi, pacientatz.", diff --git a/apps/files/l10n/pa.js b/apps/files/l10n/pa.js index 19f9dd4eb6..8f7fafa6e3 100644 --- a/apps/files/l10n/pa.js +++ b/apps/files/l10n/pa.js @@ -3,12 +3,11 @@ OC.L10N.register( { "Unknown error" : "ਅਣਜਾਣ ਗਲਤੀ", "Files" : "ਫਾਇਲਾਂ", - "Rename" : "ਨਾਂ ਬਦਲੋ", - "Delete" : "ਹਟਾਓ", "Download" : "ਡਾਊਨਲੋਡ", "Error" : "ਗਲਤੀ", "Settings" : "ਸੈਟਿੰਗ", "Upload" : "ਅੱਪਲੋਡ", - "Cancel upload" : "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ" + "Cancel upload" : "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ", + "Delete" : "ਹਟਾਓ" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/pa.json b/apps/files/l10n/pa.json index 665a79f5d2..b14ece7352 100644 --- a/apps/files/l10n/pa.json +++ b/apps/files/l10n/pa.json @@ -1,12 +1,11 @@ { "translations": { "Unknown error" : "ਅਣਜਾਣ ਗਲਤੀ", "Files" : "ਫਾਇਲਾਂ", - "Rename" : "ਨਾਂ ਬਦਲੋ", - "Delete" : "ਹਟਾਓ", "Download" : "ਡਾਊਨਲੋਡ", "Error" : "ਗਲਤੀ", "Settings" : "ਸੈਟਿੰਗ", "Upload" : "ਅੱਪਲੋਡ", - "Cancel upload" : "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ" + "Cancel upload" : "ਅੱਪਲੋਡ ਰੱਦ ਕਰੋ", + "Delete" : "ਹਟਾਓ" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index daa623d3cd..28ffe4444e 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Wszystkie pliki", "Favorites" : "Ulubione", "Home" : "Dom", + "Close" : "Zamknij", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nie można przesłać {filename} być może jest katalogiem lub posiada 0 bajtów", "Total file size {size1} exceeds upload limit {size2}" : "Całkowity rozmiar {size1} przekracza limit uploadu {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Brak wolnej przestrzeni, przesyłasz {size1} a pozostało tylko {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} już istnieje", "Could not create file" : "Nie można utworzyć pliku", "Could not create folder" : "Nie można utworzyć folderu", - "Rename" : "Zmień nazwę", - "Delete" : "Usuń", - "Disconnect storage" : "Odłącz magazyn", - "Unshare" : "Zatrzymaj współdzielenie", - "No permission to delete" : "Brak uprawnień do usunięcia", + "Actions" : "Akcje", "Download" : "Pobierz", "Select" : "Wybierz", "Pending" : "Oczekujące", @@ -58,6 +55,7 @@ OC.L10N.register( "Modified" : "Modyfikacja", "_%n folder_::_%n folders_" : ["%n katalog","%n katalogi","%n katalogów"], "_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wczytywania lub tworzenia plików w tym miejscu", "_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"], "\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.", @@ -66,7 +64,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!", "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Ulubione", "Favorite" : "Ulubione", "A new file or folder has been created" : "Nowy plik lub folder został utworzony", @@ -101,6 +98,7 @@ OC.L10N.register( "Cancel upload" : "Anuluj wysyłanie", "No entries found in this folder" : "Brak wpisów w tym folderze", "Select all" : "Wybierz wszystko", + "Delete" : "Usuń", "Upload too large" : "Ładowany plik jest za duży", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Pliki, które próbujesz przesłać, przekraczają maksymalną dopuszczalną wielkość.", "Files are being scanned, please wait." : "Skanowanie plików, proszę czekać.", diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index a46afbcc9f..c2d49274c6 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -27,6 +27,7 @@ "All files" : "Wszystkie pliki", "Favorites" : "Ulubione", "Home" : "Dom", + "Close" : "Zamknij", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nie można przesłać {filename} być może jest katalogiem lub posiada 0 bajtów", "Total file size {size1} exceeds upload limit {size2}" : "Całkowity rozmiar {size1} przekracza limit uploadu {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Brak wolnej przestrzeni, przesyłasz {size1} a pozostało tylko {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} już istnieje", "Could not create file" : "Nie można utworzyć pliku", "Could not create folder" : "Nie można utworzyć folderu", - "Rename" : "Zmień nazwę", - "Delete" : "Usuń", - "Disconnect storage" : "Odłącz magazyn", - "Unshare" : "Zatrzymaj współdzielenie", - "No permission to delete" : "Brak uprawnień do usunięcia", + "Actions" : "Akcje", "Download" : "Pobierz", "Select" : "Wybierz", "Pending" : "Oczekujące", @@ -56,6 +53,7 @@ "Modified" : "Modyfikacja", "_%n folder_::_%n folders_" : ["%n katalog","%n katalogi","%n katalogów"], "_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Nie masz uprawnień do wczytywania lub tworzenia plików w tym miejscu", "_Uploading %n file_::_Uploading %n files_" : ["Wysyłanie %n pliku","Wysyłanie %n plików","Wysyłanie %n plików"], "\"{name}\" is an invalid file name." : "\"{name}\" jest nieprawidłową nazwą pliku.", @@ -64,7 +62,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Magazyn jest pełny. Pliki nie mogą zostać zaktualizowane lub zsynchronizowane!", "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Miejsce dla {owner} jest na wyczerpaniu ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Twój magazyn jest prawie pełny ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Ulubione", "Favorite" : "Ulubione", "A new file or folder has been created" : "Nowy plik lub folder został utworzony", @@ -99,6 +96,7 @@ "Cancel upload" : "Anuluj wysyłanie", "No entries found in this folder" : "Brak wpisów w tym folderze", "Select all" : "Wybierz wszystko", + "Delete" : "Usuń", "Upload too large" : "Ładowany plik jest za duży", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Pliki, które próbujesz przesłać, przekraczają maksymalną dopuszczalną wielkość.", "Files are being scanned, please wait." : "Skanowanie plików, proszę czekać.", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index 583123252f..81378cdef4 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Todos os arquivos", "Favorites" : "Favoritos", "Home" : "Home", + "Close" : "Fechar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Incapaz de fazer o envio de {filename}, pois é um diretório ou tem 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "O tamanho total do arquivo {size1} excede o limite de envio {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} já existe", "Could not create file" : "Não foi possível criar o arquivo", "Could not create folder" : "Não foi possível criar a pasta", - "Rename" : "Renomear", - "Delete" : "Excluir", - "Disconnect storage" : "Desconectar armazenagem", - "Unshare" : "Descompartilhar", - "No permission to delete" : "Sem permissão para excluir", + "Actions" : "Ações", "Download" : "Baixar", "Select" : "Selecionar", "Pending" : "Pendente", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n pasta","%n pastas"], "_%n file_::_%n files_" : ["%n arquivo","%n arquivos"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui", "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos"], "\"{name}\" is an invalid file name." : "\"{name}\" é um nome de arquivo inválido.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Armazenamento do {owner} está quase cheio ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Seu armazenamento está quase cheio ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincide com '{filter}'","coincide com '{filter}'"], - "{dirs} and {files}" : "{dirs} e {files}", + "Path" : "Caminho", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Favorito", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Tratamento de Arquivo", "Maximum upload size" : "Tamanho máximo para envio", "max. possible: " : "max. possível:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Com PHP-FPM este valor pode demorar até 5 minutos para fazer efeito depois de ser salvo.", "Save" : "Salvar", "Can not be edited from here due to insufficient permissions." : "Não pode ser editado a partir daqui devido a permissões insuficientes.", "Settings" : "Configurações", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com seus dispositivos!", "No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta", "Select all" : "Selecionar tudo", + "Delete" : "Excluir", "Upload too large" : "Arquivo muito grande para envio", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os arquivos que você está tentando enviar excedeu o tamanho máximo para arquivos no servidor.", "Files are being scanned, please wait." : "Arquivos sendo escaneados, por favor aguarde.", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 31227d66f8..1cdb7969af 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -27,6 +27,7 @@ "All files" : "Todos os arquivos", "Favorites" : "Favoritos", "Home" : "Home", + "Close" : "Fechar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Incapaz de fazer o envio de {filename}, pois é um diretório ou tem 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "O tamanho total do arquivo {size1} excede o limite de envio {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Não há espaço suficiente, você está enviando {size1} mas resta apenas {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} já existe", "Could not create file" : "Não foi possível criar o arquivo", "Could not create folder" : "Não foi possível criar a pasta", - "Rename" : "Renomear", - "Delete" : "Excluir", - "Disconnect storage" : "Desconectar armazenagem", - "Unshare" : "Descompartilhar", - "No permission to delete" : "Sem permissão para excluir", + "Actions" : "Ações", "Download" : "Baixar", "Select" : "Selecionar", "Pending" : "Pendente", @@ -58,6 +55,7 @@ "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n pasta","%n pastas"], "_%n file_::_%n files_" : ["%n arquivo","%n arquivos"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar arquivos aqui", "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos"], "\"{name}\" is an invalid file name." : "\"{name}\" é um nome de arquivo inválido.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Armazenamento do {owner} está quase cheio ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Seu armazenamento está quase cheio ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincide com '{filter}'","coincide com '{filter}'"], - "{dirs} and {files}" : "{dirs} e {files}", + "Path" : "Caminho", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Favorito", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Ocorreu um erro enquanto tentava atualizar as etiquetas", @@ -91,6 +90,7 @@ "File handling" : "Tratamento de Arquivo", "Maximum upload size" : "Tamanho máximo para envio", "max. possible: " : "max. possível:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Com PHP-FPM este valor pode demorar até 5 minutos para fazer efeito depois de ser salvo.", "Save" : "Salvar", "Can not be edited from here due to insufficient permissions." : "Não pode ser editado a partir daqui devido a permissões insuficientes.", "Settings" : "Configurações", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com seus dispositivos!", "No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta", "Select all" : "Selecionar tudo", + "Delete" : "Excluir", "Upload too large" : "Arquivo muito grande para envio", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os arquivos que você está tentando enviar excedeu o tamanho máximo para arquivos no servidor.", "Files are being scanned, please wait." : "Arquivos sendo escaneados, por favor aguarde.", diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js index d1830fefd9..07817ecf79 100644 --- a/apps/files/l10n/pt_PT.js +++ b/apps/files/l10n/pt_PT.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Todos os ficheiros", "Favorites" : "Favoritos", "Home" : "Casa", + "Close" : "Fechar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Incapaz de enviar {filename}, dado que é uma pasta, ou tem 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "O tamanho total do ficheiro {size1} excede o limite de carregamento {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Não existe espaço suficiente. Está a enviar {size1} mas apenas existe {size2} disponível", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "O nome {new_name} já existe", "Could not create file" : "Não pôde criar ficheiro", "Could not create folder" : "Não pôde criar pasta", - "Rename" : "Renomear", - "Delete" : "Apagar", - "Disconnect storage" : "Desconete o armazenamento", - "Unshare" : "Deixar de partilhar", - "No permission to delete" : "Não tem permissão para apagar", + "Actions" : "Ações", "Download" : "Descarregar", "Select" : "Selecionar", "Pending" : "Pendente", @@ -58,6 +55,7 @@ OC.L10N.register( "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n pasta","%n pastas"], "_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar ficheiros aqui", "_Uploading %n file_::_Uploading %n files_" : ["A carregar %n ficheiro","A carregar %n ficheiros"], "\"{name}\" is an invalid file name." : "\"{name}\" é um nome de ficheiro inválido.", @@ -65,7 +63,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "O seu armazenamento está cheio, os ficheiros já não podem ser atualizados ou sincronizados.", "Your storage is almost full ({usedSpacePercent}%)" : "O seu armazenamento está quase cheiro ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["corresponde a '{filter}'","correspondem a '{filter}'"], - "{dirs} and {files}" : "{dirs} e {files}", "Favorited" : "Assinalado como Favorito", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Ocorreu um erro ao tentar atualizar as tags", @@ -105,6 +102,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com os seus aparelhos!", "No entries found in this folder" : "Não foram encontradas entradas nesta pasta", "Select all" : "Seleccionar todos", + "Delete" : "Apagar", "Upload too large" : "Upload muito grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os ficheiro que está a tentar enviar excedem o tamanho máximo de envio neste servidor.", "Files are being scanned, please wait." : "Os ficheiros estão a ser analisados, por favor aguarde.", diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json index f0d2d6b74d..cca3e42bc7 100644 --- a/apps/files/l10n/pt_PT.json +++ b/apps/files/l10n/pt_PT.json @@ -27,6 +27,7 @@ "All files" : "Todos os ficheiros", "Favorites" : "Favoritos", "Home" : "Casa", + "Close" : "Fechar", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Incapaz de enviar {filename}, dado que é uma pasta, ou tem 0 bytes", "Total file size {size1} exceeds upload limit {size2}" : "O tamanho total do ficheiro {size1} excede o limite de carregamento {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Não existe espaço suficiente. Está a enviar {size1} mas apenas existe {size2} disponível", @@ -36,11 +37,7 @@ "{new_name} already exists" : "O nome {new_name} já existe", "Could not create file" : "Não pôde criar ficheiro", "Could not create folder" : "Não pôde criar pasta", - "Rename" : "Renomear", - "Delete" : "Apagar", - "Disconnect storage" : "Desconete o armazenamento", - "Unshare" : "Deixar de partilhar", - "No permission to delete" : "Não tem permissão para apagar", + "Actions" : "Ações", "Download" : "Descarregar", "Select" : "Selecionar", "Pending" : "Pendente", @@ -56,6 +53,7 @@ "Modified" : "Modificado", "_%n folder_::_%n folders_" : ["%n pasta","%n pastas"], "_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros"], + "{dirs} and {files}" : "{dirs} e {files}", "You don’t have permission to upload or create files here" : "Você não tem permissão para enviar ou criar ficheiros aqui", "_Uploading %n file_::_Uploading %n files_" : ["A carregar %n ficheiro","A carregar %n ficheiros"], "\"{name}\" is an invalid file name." : "\"{name}\" é um nome de ficheiro inválido.", @@ -63,7 +61,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "O seu armazenamento está cheio, os ficheiros já não podem ser atualizados ou sincronizados.", "Your storage is almost full ({usedSpacePercent}%)" : "O seu armazenamento está quase cheiro ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["corresponde a '{filter}'","correspondem a '{filter}'"], - "{dirs} and {files}" : "{dirs} e {files}", "Favorited" : "Assinalado como Favorito", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Ocorreu um erro ao tentar atualizar as tags", @@ -103,6 +100,7 @@ "Upload some content or sync with your devices!" : "Carregue algum conteúdo ou sincronize com os seus aparelhos!", "No entries found in this folder" : "Não foram encontradas entradas nesta pasta", "Select all" : "Seleccionar todos", + "Delete" : "Apagar", "Upload too large" : "Upload muito grande", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Os ficheiro que está a tentar enviar excedem o tamanho máximo de envio neste servidor.", "Files are being scanned, please wait." : "Os ficheiros estão a ser analisados, por favor aguarde.", diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js index 541ff6e444..1d571ea8f6 100644 --- a/apps/files/l10n/ro.js +++ b/apps/files/l10n/ro.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Toate fișierele.", "Favorites" : "Favorite", "Home" : "Acasă", + "Close" : "Închide", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nu se poate încărca {filename} deoarece este un director sau are mărimea de 0 octeți", "Total file size {size1} exceeds upload limit {size2}" : "Mărimea fișierului este {size1} ce depășește limita de încărcare de {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Spațiu liber insuficient, încărcați {size1} însă doar {size2} disponibil rămas", @@ -38,10 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} există deja", "Could not create file" : "Nu s-a putut crea fisierul", "Could not create folder" : "Nu s-a putut crea folderul", - "Rename" : "Redenumește", - "Delete" : "Șterge", - "Disconnect storage" : "Deconectează stocarea", - "Unshare" : "Nu mai partaja", + "Actions" : "Acțiuni", "Download" : "Descarcă", "Select" : "Alege", "Pending" : "În așteptare", @@ -55,13 +53,13 @@ OC.L10N.register( "Modified" : "Modificat", "_%n folder_::_%n folders_" : ["%n director","%n directoare","%n directoare"], "_%n file_::_%n files_" : ["%n fișier","%n fișiere","%n fișiere"], + "{dirs} and {files}" : "{dirs} și {files}", "You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici", "_Uploading %n file_::_Uploading %n files_" : ["Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."], "\"{name}\" is an invalid file name." : "\"{name}\" este un nume de fișier nevalid.", "File name cannot be empty." : "Numele fișierului nu poate rămâne gol.", "Your storage is full, files can not be updated or synced anymore!" : "Spațiul de stocare este plin, fișierele nu mai pot fi actualizate sau sincronizate!", "Your storage is almost full ({usedSpacePercent}%)" : "Spațiul de stocare este aproape plin ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} și {files}", "Favorite" : "Favorit", "A new file or folder has been created" : "Un nou fișier sau dosar a fost creat", "A file or folder has been changed" : "Un nou fișier sau dosar a fost modificat", @@ -94,6 +92,7 @@ OC.L10N.register( "Upload" : "Încărcă", "Cancel upload" : "Anulează încărcarea", "Select all" : "Selectează tot", + "Delete" : "Șterge", "Upload too large" : "Fișierul încărcat este prea mare", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fișierele pe care încerci să le încarci depășesc limita de încărcare maximă admisă pe acest server.", "Files are being scanned, please wait." : "Fișierele sunt scanate, te rog așteaptă.", diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json index 6c4536d535..d0152c340a 100644 --- a/apps/files/l10n/ro.json +++ b/apps/files/l10n/ro.json @@ -27,6 +27,7 @@ "All files" : "Toate fișierele.", "Favorites" : "Favorite", "Home" : "Acasă", + "Close" : "Închide", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nu se poate încărca {filename} deoarece este un director sau are mărimea de 0 octeți", "Total file size {size1} exceeds upload limit {size2}" : "Mărimea fișierului este {size1} ce depășește limita de încărcare de {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Spațiu liber insuficient, încărcați {size1} însă doar {size2} disponibil rămas", @@ -36,10 +37,7 @@ "{new_name} already exists" : "{new_name} există deja", "Could not create file" : "Nu s-a putut crea fisierul", "Could not create folder" : "Nu s-a putut crea folderul", - "Rename" : "Redenumește", - "Delete" : "Șterge", - "Disconnect storage" : "Deconectează stocarea", - "Unshare" : "Nu mai partaja", + "Actions" : "Acțiuni", "Download" : "Descarcă", "Select" : "Alege", "Pending" : "În așteptare", @@ -53,13 +51,13 @@ "Modified" : "Modificat", "_%n folder_::_%n folders_" : ["%n director","%n directoare","%n directoare"], "_%n file_::_%n files_" : ["%n fișier","%n fișiere","%n fișiere"], + "{dirs} and {files}" : "{dirs} și {files}", "You don’t have permission to upload or create files here" : "Nu aveți permisiunea de a încărca sau crea fișiere aici", "_Uploading %n file_::_Uploading %n files_" : ["Se încarcă %n fișier.","Se încarcă %n fișiere.","Se încarcă %n fișiere."], "\"{name}\" is an invalid file name." : "\"{name}\" este un nume de fișier nevalid.", "File name cannot be empty." : "Numele fișierului nu poate rămâne gol.", "Your storage is full, files can not be updated or synced anymore!" : "Spațiul de stocare este plin, fișierele nu mai pot fi actualizate sau sincronizate!", "Your storage is almost full ({usedSpacePercent}%)" : "Spațiul de stocare este aproape plin ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} și {files}", "Favorite" : "Favorit", "A new file or folder has been created" : "Un nou fișier sau dosar a fost creat", "A file or folder has been changed" : "Un nou fișier sau dosar a fost modificat", @@ -92,6 +90,7 @@ "Upload" : "Încărcă", "Cancel upload" : "Anulează încărcarea", "Select all" : "Selectează tot", + "Delete" : "Șterge", "Upload too large" : "Fișierul încărcat este prea mare", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fișierele pe care încerci să le încarci depășesc limita de încărcare maximă admisă pe acest server.", "Files are being scanned, please wait." : "Fișierele sunt scanate, te rog așteaptă.", diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js index a2a7bc69c9..87116553e4 100644 --- a/apps/files/l10n/ru.js +++ b/apps/files/l10n/ru.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Все файлы", "Favorites" : "Избранное", "Home" : "Главная", + "Close" : "Закрыть", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно загрузить {filename}, так как это либо каталог, либо файл нулевого размера", "Total file size {size1} exceeds upload limit {size2}" : "Полный размер файла {size1} превышает лимит по загрузке {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, Вы загружаете {size1}, но осталось только {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} уже существует", "Could not create file" : "Не удалось создать файл", "Could not create folder" : "Не удалось создать каталог", - "Rename" : "Переименовать", - "Delete" : "Удалить", - "Disconnect storage" : "Отсоединить хранилище", - "Unshare" : "Закрыть доступ", - "No permission to delete" : "Недостаточно прав для удаления", + "Actions" : "Действия", "Download" : "Скачать", "Select" : "Выбрать", "Pending" : "Ожидание", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Изменён", "_%n folder_::_%n folders_" : ["%n каталог","%n каталога","%n каталогов","%n каталогов"], "_%n file_::_%n files_" : ["%n файл","%n файла","%n файлов","%n файлов"], + "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "У вас нет прав для загрузки или создания файлов здесь.", "_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов","Закачка %n файлов"], "\"{name}\" is an invalid file name." : "\"{name}\" это неправильное имя файла.", @@ -69,7 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Хранилище {owner} практически заполнено ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ваше хранилище почти заполнено ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["соответствует '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'"], - "{dirs} and {files}" : "{dirs} и {files}", + "Path" : "Путь", + "_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байтов","%n байта(ов)"], "Favorited" : "Избранное", "Favorite" : "Избранное", "An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "Управление файлами", "Maximum upload size" : "Максимальный размер загружаемого файла", "max. possible: " : "макс. возможно: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "При использовании PHP-FPM может потребоваться до 5 минут, чтобы это значение встпуило в силу после сохранения.", "Save" : "Сохранить", "Can not be edited from here due to insufficient permissions." : "Невозможно отредактировать здесь из-за нехватки полномочий.", "Settings" : "Настройки", @@ -109,6 +109,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!", "No entries found in this folder" : "Ничего не найдено", "Select all" : "Выбрать все", + "Delete" : "Удалить", "Upload too large" : "Файл слишком велик", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файлы, которые вы пытаетесь загрузить, превышают лимит максимального размера на этом сервере.", "Files are being scanned, please wait." : "Идет сканирование файлов. Пожалуйста подождите.", diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json index 80487e989f..8880ec6f5a 100644 --- a/apps/files/l10n/ru.json +++ b/apps/files/l10n/ru.json @@ -27,6 +27,7 @@ "All files" : "Все файлы", "Favorites" : "Избранное", "Home" : "Главная", + "Close" : "Закрыть", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Невозможно загрузить {filename}, так как это либо каталог, либо файл нулевого размера", "Total file size {size1} exceeds upload limit {size2}" : "Полный размер файла {size1} превышает лимит по загрузке {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостаточно свободного места, Вы загружаете {size1}, но осталось только {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} уже существует", "Could not create file" : "Не удалось создать файл", "Could not create folder" : "Не удалось создать каталог", - "Rename" : "Переименовать", - "Delete" : "Удалить", - "Disconnect storage" : "Отсоединить хранилище", - "Unshare" : "Закрыть доступ", - "No permission to delete" : "Недостаточно прав для удаления", + "Actions" : "Действия", "Download" : "Скачать", "Select" : "Выбрать", "Pending" : "Ожидание", @@ -58,6 +55,7 @@ "Modified" : "Изменён", "_%n folder_::_%n folders_" : ["%n каталог","%n каталога","%n каталогов","%n каталогов"], "_%n file_::_%n files_" : ["%n файл","%n файла","%n файлов","%n файлов"], + "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "У вас нет прав для загрузки или создания файлов здесь.", "_Uploading %n file_::_Uploading %n files_" : ["Закачка %n файла","Закачка %n файлов","Закачка %n файлов","Закачка %n файлов"], "\"{name}\" is an invalid file name." : "\"{name}\" это неправильное имя файла.", @@ -67,7 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Хранилище {owner} практически заполнено ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ваше хранилище почти заполнено ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["соответствует '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'","соответствуют '{filter}'"], - "{dirs} and {files}" : "{dirs} и {files}", + "Path" : "Путь", + "_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байтов","%n байта(ов)"], "Favorited" : "Избранное", "Favorite" : "Избранное", "An error occurred while trying to update the tags" : "Во время обновления тегов возникла ошибка", @@ -91,6 +90,7 @@ "File handling" : "Управление файлами", "Maximum upload size" : "Максимальный размер загружаемого файла", "max. possible: " : "макс. возможно: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "При использовании PHP-FPM может потребоваться до 5 минут, чтобы это значение встпуило в силу после сохранения.", "Save" : "Сохранить", "Can not be edited from here due to insufficient permissions." : "Невозможно отредактировать здесь из-за нехватки полномочий.", "Settings" : "Настройки", @@ -107,6 +107,7 @@ "Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!", "No entries found in this folder" : "Ничего не найдено", "Select all" : "Выбрать все", + "Delete" : "Удалить", "Upload too large" : "Файл слишком велик", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файлы, которые вы пытаетесь загрузить, превышают лимит максимального размера на этом сервере.", "Files are being scanned, please wait." : "Идет сканирование файлов. Пожалуйста подождите.", diff --git a/apps/files/l10n/si_LK.js b/apps/files/l10n/si_LK.js index 67730c92ed..5c43bdd9be 100644 --- a/apps/files/l10n/si_LK.js +++ b/apps/files/l10n/si_LK.js @@ -10,11 +10,9 @@ OC.L10N.register( "Failed to write to disk" : "තැටිගත කිරීම අසාර්ථකයි", "Files" : "ගොනු", "Home" : "නිවස", + "Close" : "වසන්න", "Upload cancelled." : "උඩුගත කිරීම අත් හරින්න ලදී", "File upload is in progress. Leaving the page now will cancel the upload." : "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත", - "Rename" : "නැවත නම් කරන්න", - "Delete" : "මකා දමන්න", - "Unshare" : "නොබෙදු", "Download" : "බාන්න", "Select" : "තෝරන්න", "Error" : "දෝෂයක්", @@ -35,6 +33,7 @@ OC.L10N.register( "Folder" : "ෆෝල්ඩරය", "Upload" : "උඩුගත කරන්න", "Cancel upload" : "උඩුගත කිරීම අත් හරින්න", + "Delete" : "මකා දමන්න", "Upload too large" : "උඩුගත කිරීම විශාල වැඩිය", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ඔබ උඩුගත කිරීමට තැත් කරන ගොනු මෙම සේවාදායකයා උඩුගත කිරීමට ඉඩදී ඇති උපරිම ගොනු විශාලත්වයට වඩා වැඩිය", "Files are being scanned, please wait." : "ගොනු පරික්ෂා කෙරේ. මඳක් රැඳී සිටින්න" diff --git a/apps/files/l10n/si_LK.json b/apps/files/l10n/si_LK.json index 2f07c4cce2..6fbac44938 100644 --- a/apps/files/l10n/si_LK.json +++ b/apps/files/l10n/si_LK.json @@ -8,11 +8,9 @@ "Failed to write to disk" : "තැටිගත කිරීම අසාර්ථකයි", "Files" : "ගොනු", "Home" : "නිවස", + "Close" : "වසන්න", "Upload cancelled." : "උඩුගත කිරීම අත් හරින්න ලදී", "File upload is in progress. Leaving the page now will cancel the upload." : "උඩුගතකිරීමක් සිදුවේ. පිටුව හැර යාමෙන් එය නැවතෙනු ඇත", - "Rename" : "නැවත නම් කරන්න", - "Delete" : "මකා දමන්න", - "Unshare" : "නොබෙදු", "Download" : "බාන්න", "Select" : "තෝරන්න", "Error" : "දෝෂයක්", @@ -33,6 +31,7 @@ "Folder" : "ෆෝල්ඩරය", "Upload" : "උඩුගත කරන්න", "Cancel upload" : "උඩුගත කිරීම අත් හරින්න", + "Delete" : "මකා දමන්න", "Upload too large" : "උඩුගත කිරීම විශාල වැඩිය", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ඔබ උඩුගත කිරීමට තැත් කරන ගොනු මෙම සේවාදායකයා උඩුගත කිරීමට ඉඩදී ඇති උපරිම ගොනු විශාලත්වයට වඩා වැඩිය", "Files are being scanned, please wait." : "ගොනු පරික්ෂා කෙරේ. මඳක් රැඳී සිටින්න" diff --git a/apps/files/l10n/sk_SK.js b/apps/files/l10n/sk_SK.js index 809e9567b9..ebb328e5a4 100644 --- a/apps/files/l10n/sk_SK.js +++ b/apps/files/l10n/sk_SK.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Všetky súbory", "Favorites" : "Obľúbené", "Home" : "Domov", + "Close" : "Zavrieť", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nemožno nahrať súbor {filename}, pretože je to priečinok, alebo má 0 bitov", "Total file size {size1} exceeds upload limit {size2}" : "Celková veľkosť súboru {size1} prekračuje upload limit {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie je dostatok voľného miesta, chcete nahrať {size1} ale k dispozíciji je len {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} už existuje", "Could not create file" : "Nemožno vytvoriť súbor", "Could not create folder" : "Nemožno vytvoriť priečinok", - "Rename" : "Premenovať", - "Delete" : "Zmazať", - "Disconnect storage" : "Odpojiť úložisko", - "Unshare" : "Zrušiť zdieľanie", - "No permission to delete" : "Žiadne povolenie na odstránenie", + "Actions" : "Akcie", "Download" : "Sťahovanie", "Select" : "Vybrať", "Pending" : "Čaká", @@ -59,6 +56,7 @@ OC.L10N.register( "Modified" : "Upravené", "_%n folder_::_%n folders_" : ["%n priečinok","%n priečinky","%n priečinkov"], "_%n file_::_%n files_" : ["%n súbor","%n súbory","%n súborov"], + "{dirs} and {files}" : "{dirs} a {files}", "You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory", "_Uploading %n file_::_Uploading %n files_" : ["Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov"], "\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.", @@ -66,7 +64,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaše úložisko je takmer plné ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["zodpovedá '{filter}'","zodpovedá '{filter}'","zodpovedá '{filter}'"], - "{dirs} and {files}" : "{dirs} a {files}", "Favorited" : "Pridané k obľúbeným", "Favorite" : "Obľúbené", "An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe", @@ -104,6 +101,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!", "No entries found in this folder" : "V tomto priečinku nebolo nič nájdené", "Select all" : "Vybrať všetko", + "Delete" : "Zmazať", "Upload too large" : "Nahrávanie je príliš veľké", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Súbory, ktoré sa snažíte nahrať, presahujú maximálnu veľkosť pre nahratie súborov na tento server.", "Files are being scanned, please wait." : "Čakajte, súbory sú prehľadávané.", diff --git a/apps/files/l10n/sk_SK.json b/apps/files/l10n/sk_SK.json index 2702076b23..0595e92153 100644 --- a/apps/files/l10n/sk_SK.json +++ b/apps/files/l10n/sk_SK.json @@ -27,6 +27,7 @@ "All files" : "Všetky súbory", "Favorites" : "Obľúbené", "Home" : "Domov", + "Close" : "Zavrieť", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nemožno nahrať súbor {filename}, pretože je to priečinok, alebo má 0 bitov", "Total file size {size1} exceeds upload limit {size2}" : "Celková veľkosť súboru {size1} prekračuje upload limit {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nie je dostatok voľného miesta, chcete nahrať {size1} ale k dispozíciji je len {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} už existuje", "Could not create file" : "Nemožno vytvoriť súbor", "Could not create folder" : "Nemožno vytvoriť priečinok", - "Rename" : "Premenovať", - "Delete" : "Zmazať", - "Disconnect storage" : "Odpojiť úložisko", - "Unshare" : "Zrušiť zdieľanie", - "No permission to delete" : "Žiadne povolenie na odstránenie", + "Actions" : "Akcie", "Download" : "Sťahovanie", "Select" : "Vybrať", "Pending" : "Čaká", @@ -57,6 +54,7 @@ "Modified" : "Upravené", "_%n folder_::_%n folders_" : ["%n priečinok","%n priečinky","%n priečinkov"], "_%n file_::_%n files_" : ["%n súbor","%n súbory","%n súborov"], + "{dirs} and {files}" : "{dirs} a {files}", "You don’t have permission to upload or create files here" : "Nemáte oprávnenie sem nahrávať alebo vytvoriť súbory", "_Uploading %n file_::_Uploading %n files_" : ["Nahrávam %n súbor","Nahrávam %n súbory","Nahrávam %n súborov"], "\"{name}\" is an invalid file name." : "\"{name}\" je neplatné meno súboru.", @@ -64,7 +62,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Vaše úložisko je plné. Súbory nemožno aktualizovať ani synchronizovať!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaše úložisko je takmer plné ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["zodpovedá '{filter}'","zodpovedá '{filter}'","zodpovedá '{filter}'"], - "{dirs} and {files}" : "{dirs} a {files}", "Favorited" : "Pridané k obľúbeným", "Favorite" : "Obľúbené", "An error occurred while trying to update the tags" : "Pri pokuse o aktualizáciu štítkov došlo k chybe", @@ -102,6 +99,7 @@ "Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte zo svojimi zariadeniami!", "No entries found in this folder" : "V tomto priečinku nebolo nič nájdené", "Select all" : "Vybrať všetko", + "Delete" : "Zmazať", "Upload too large" : "Nahrávanie je príliš veľké", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Súbory, ktoré sa snažíte nahrať, presahujú maximálnu veľkosť pre nahratie súborov na tento server.", "Files are being scanned, please wait." : "Čakajte, súbory sú prehľadávané.", diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js index 299bce880f..17cbdb1470 100644 --- a/apps/files/l10n/sl.js +++ b/apps/files/l10n/sl.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Vse datoteke", "Favorites" : "Priljubljene", "Home" : "Domači naslov", + "Close" : "Zapri", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ni mogoče poslati datoteke {filename}, saj je to ali mapa ali pa je velikost datoteke 0 bajtov.", "Total file size {size1} exceeds upload limit {size2}" : "Skupna velikost {size1} presega omejitev velikosti {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Na voljo ni dovolj prostora. Velikost poslane datoteke je {size1}, na voljo pa je je {size2}.", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} že obstaja", "Could not create file" : "Ni mogoče ustvariti datoteke", "Could not create folder" : "Ni mogoče ustvariti mape", - "Rename" : "Preimenuj", - "Delete" : "Izbriši", - "Disconnect storage" : "Odklopi shrambo", - "Unshare" : "Prekini souporabo", - "No permission to delete" : "Ni ustreznih dovoljenj za brisanje tega stika", + "Actions" : "Dejanja", "Download" : "Prejmi", "Select" : "Izberi", "Pending" : "V čakanju ...", @@ -58,6 +55,7 @@ OC.L10N.register( "Modified" : "Spremenjeno", "_%n folder_::_%n folders_" : ["%n mapa","%n mapi","%n mape","%n map"], "_%n file_::_%n files_" : ["%n datoteka","%n datoteki","%n datoteke","%n datotek"], + "{dirs} and {files}" : "{dirs} in {files}", "You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje ali ustvarjanje datotek na tem mestu.", "_Uploading %n file_::_Uploading %n files_" : ["Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Posodabljanje %n datotek"], "\"{name}\" is an invalid file name." : "\"{name}\" je neveljavno ime datoteke.", @@ -67,7 +65,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Shramba uporabnika {owner} je polna ({usedSpacePercent}%).", "Your storage is almost full ({usedSpacePercent}%)" : "Prostor za shranjevanje je skoraj do konca zaseden ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["se sklada s filtrom '{filter}'","se skladata s filtrom '{filter}'","se skladajo s filtrom '{filter}'","se skladajo s filtrom '{filter}'"], - "{dirs} and {files}" : "{dirs} in {files}", "Favorited" : "Označeno kot priljubljeno", "Favorite" : "Priljubljene", "An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak", @@ -107,6 +104,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Uvozite vsebino ali pa omogočite usklajevanje z napravami!", "No entries found in this folder" : "V tej mapi ni najdenih predmetov.", "Select all" : "izberi vse", + "Delete" : "Izbriši", "Upload too large" : "Prekoračenje omejitve velikosti", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke, ki jih želite poslati, presegajo največjo dovoljeno velikost na strežniku.", "Files are being scanned, please wait." : "Poteka preučevanje datotek, počakajte ...", diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json index 7e684c04ef..0e123f4e71 100644 --- a/apps/files/l10n/sl.json +++ b/apps/files/l10n/sl.json @@ -27,6 +27,7 @@ "All files" : "Vse datoteke", "Favorites" : "Priljubljene", "Home" : "Domači naslov", + "Close" : "Zapri", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ni mogoče poslati datoteke {filename}, saj je to ali mapa ali pa je velikost datoteke 0 bajtov.", "Total file size {size1} exceeds upload limit {size2}" : "Skupna velikost {size1} presega omejitev velikosti {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Na voljo ni dovolj prostora. Velikost poslane datoteke je {size1}, na voljo pa je je {size2}.", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} že obstaja", "Could not create file" : "Ni mogoče ustvariti datoteke", "Could not create folder" : "Ni mogoče ustvariti mape", - "Rename" : "Preimenuj", - "Delete" : "Izbriši", - "Disconnect storage" : "Odklopi shrambo", - "Unshare" : "Prekini souporabo", - "No permission to delete" : "Ni ustreznih dovoljenj za brisanje tega stika", + "Actions" : "Dejanja", "Download" : "Prejmi", "Select" : "Izberi", "Pending" : "V čakanju ...", @@ -56,6 +53,7 @@ "Modified" : "Spremenjeno", "_%n folder_::_%n folders_" : ["%n mapa","%n mapi","%n mape","%n map"], "_%n file_::_%n files_" : ["%n datoteka","%n datoteki","%n datoteke","%n datotek"], + "{dirs} and {files}" : "{dirs} in {files}", "You don’t have permission to upload or create files here" : "Ni ustreznih dovoljenj za pošiljanje ali ustvarjanje datotek na tem mestu.", "_Uploading %n file_::_Uploading %n files_" : ["Posodabljanje %n datoteke","Posodabljanje %n datotek","Posodabljanje %n datotek","Posodabljanje %n datotek"], "\"{name}\" is an invalid file name." : "\"{name}\" je neveljavno ime datoteke.", @@ -65,7 +63,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Shramba uporabnika {owner} je polna ({usedSpacePercent}%).", "Your storage is almost full ({usedSpacePercent}%)" : "Prostor za shranjevanje je skoraj do konca zaseden ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["se sklada s filtrom '{filter}'","se skladata s filtrom '{filter}'","se skladajo s filtrom '{filter}'","se skladajo s filtrom '{filter}'"], - "{dirs} and {files}" : "{dirs} in {files}", "Favorited" : "Označeno kot priljubljeno", "Favorite" : "Priljubljene", "An error occurred while trying to update the tags" : "Prišlo je do napake med posodabljanjem oznak", @@ -105,6 +102,7 @@ "Upload some content or sync with your devices!" : "Uvozite vsebino ali pa omogočite usklajevanje z napravami!", "No entries found in this folder" : "V tej mapi ni najdenih predmetov.", "Select all" : "izberi vse", + "Delete" : "Izbriši", "Upload too large" : "Prekoračenje omejitve velikosti", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Datoteke, ki jih želite poslati, presegajo največjo dovoljeno velikost na strežniku.", "Files are being scanned, please wait." : "Poteka preučevanje datotek, počakajte ...", diff --git a/apps/files/l10n/sq.js b/apps/files/l10n/sq.js index e171d3d1e9..c76819b7b8 100644 --- a/apps/files/l10n/sq.js +++ b/apps/files/l10n/sq.js @@ -28,6 +28,7 @@ OC.L10N.register( "Files" : "Skedarë", "All files" : "Të gjithë", "Home" : "Shtëpi", + "Close" : "Mbyll", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nuk mund të ngarkohet {filename} sepse është dosje ose ka 0 byte", "Total file size {size1} exceeds upload limit {size2}" : "Përmasa totale {size1} e skedarit tejkalon limitin e ngarkimit {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nuk ka hapësirë të mjaftueshme, ju po ngarkoni {size1} por vetëm {size2} është e lirë", @@ -37,10 +38,6 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} është ekzistues ", "Could not create file" : "Skedari nuk mund të krijohet", "Could not create folder" : "I pamundur krijimi i kartelës", - "Rename" : "Riemëro", - "Delete" : "Fshi", - "Disconnect storage" : "Shkëput hapësirën e memorizimit", - "Unshare" : "Hiq ndarjen", "Download" : "Shkarko", "Pending" : "Në vijim", "Error moving file." : "Gabim në lëvizjen e skedarëve.", @@ -53,13 +50,13 @@ OC.L10N.register( "Modified" : "Ndryshuar", "_%n folder_::_%n folders_" : ["%n dosje","%n dosje"], "_%n file_::_%n files_" : ["%n skedar","%n skedarë"], + "{dirs} and {files}" : "{dirs} dhe {files}", "You don’t have permission to upload or create files here" : "Ju nuk keni të drejta për të ngarkuar apo krijuar skedarë këtu", "_Uploading %n file_::_Uploading %n files_" : ["Po ngarkoj %n skedar","Po ngarkoj %n skedarë"], "\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm.", "File name cannot be empty." : "Emri i skedarit nuk mund të jetë bosh.", "Your storage is full, files can not be updated or synced anymore!" : "Hapsira juaj e arkivimit është plot, skedarët nuk mund të përditësohen ose sinkronizohen!", "Your storage is almost full ({usedSpacePercent}%)" : "Hapsira juaj e arkivimit është pothuajse në fund ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} dhe {files}", "A new file or folder has been created" : "Një skedar ose një dosje e re është krijuar", "A file or folder has been changed" : "Një skedar ose një dosje ka ndryshuar", "A file or folder has been deleted" : "Një skedar ose një dosje është fshirë", @@ -90,6 +87,7 @@ OC.L10N.register( "Folder" : "Dosje", "Upload" : "Ngarko", "Cancel upload" : "Anullo ngarkimin", + "Delete" : "Fshi", "Upload too large" : "Ngarkimi shumë i madh", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skedarët që po mundoheni të ngarkoni e tejkalojnë madhësinë maksimale të lejuar nga serveri.", "Files are being scanned, please wait." : "Skanerizimi i skedarit në proces. Ju lutem prisni.", diff --git a/apps/files/l10n/sq.json b/apps/files/l10n/sq.json index 624f85bf0c..619aaa79a5 100644 --- a/apps/files/l10n/sq.json +++ b/apps/files/l10n/sq.json @@ -26,6 +26,7 @@ "Files" : "Skedarë", "All files" : "Të gjithë", "Home" : "Shtëpi", + "Close" : "Mbyll", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Nuk mund të ngarkohet {filename} sepse është dosje ose ka 0 byte", "Total file size {size1} exceeds upload limit {size2}" : "Përmasa totale {size1} e skedarit tejkalon limitin e ngarkimit {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nuk ka hapësirë të mjaftueshme, ju po ngarkoni {size1} por vetëm {size2} është e lirë", @@ -35,10 +36,6 @@ "{new_name} already exists" : "{new_name} është ekzistues ", "Could not create file" : "Skedari nuk mund të krijohet", "Could not create folder" : "I pamundur krijimi i kartelës", - "Rename" : "Riemëro", - "Delete" : "Fshi", - "Disconnect storage" : "Shkëput hapësirën e memorizimit", - "Unshare" : "Hiq ndarjen", "Download" : "Shkarko", "Pending" : "Në vijim", "Error moving file." : "Gabim në lëvizjen e skedarëve.", @@ -51,13 +48,13 @@ "Modified" : "Ndryshuar", "_%n folder_::_%n folders_" : ["%n dosje","%n dosje"], "_%n file_::_%n files_" : ["%n skedar","%n skedarë"], + "{dirs} and {files}" : "{dirs} dhe {files}", "You don’t have permission to upload or create files here" : "Ju nuk keni të drejta për të ngarkuar apo krijuar skedarë këtu", "_Uploading %n file_::_Uploading %n files_" : ["Po ngarkoj %n skedar","Po ngarkoj %n skedarë"], "\"{name}\" is an invalid file name." : "\"{name}\" është emër i pavlefshëm.", "File name cannot be empty." : "Emri i skedarit nuk mund të jetë bosh.", "Your storage is full, files can not be updated or synced anymore!" : "Hapsira juaj e arkivimit është plot, skedarët nuk mund të përditësohen ose sinkronizohen!", "Your storage is almost full ({usedSpacePercent}%)" : "Hapsira juaj e arkivimit është pothuajse në fund ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} dhe {files}", "A new file or folder has been created" : "Një skedar ose një dosje e re është krijuar", "A file or folder has been changed" : "Një skedar ose një dosje ka ndryshuar", "A file or folder has been deleted" : "Një skedar ose një dosje është fshirë", @@ -88,6 +85,7 @@ "Folder" : "Dosje", "Upload" : "Ngarko", "Cancel upload" : "Anullo ngarkimin", + "Delete" : "Fshi", "Upload too large" : "Ngarkimi shumë i madh", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skedarët që po mundoheni të ngarkoni e tejkalojnë madhësinë maksimale të lejuar nga serveri.", "Files are being scanned, please wait." : "Skanerizimi i skedarit në proces. Ju lutem prisni.", diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js index 060ac4d506..2a6df1f9cd 100644 --- a/apps/files/l10n/sr.js +++ b/apps/files/l10n/sr.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Сви фајлови", "Favorites" : "Омиљени", "Home" : "Почетна", + "Close" : "Затвори", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Не могу да отпремим {filename} јер је то директоријум или има 0 бајтова", "Total file size {size1} exceeds upload limit {size2}" : "Величина {size1} превазилази ограничење за отпремање од {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Нема простора. Отпремате {size1} али само {size2} је преостало", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} већ постоји", "Could not create file" : "Не могу да створим фајл", "Could not create folder" : "Не могу да створим фасциклу", - "Rename" : "Преименуј", - "Delete" : "Обриши", - "Disconnect storage" : "Искључи складиште", - "Unshare" : "Не дели", - "No permission to delete" : "Без дозволе за брисање", + "Actions" : "Радње", "Download" : "Преузми", "Select" : "Изабери", "Pending" : "На чекању", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Измењен", "_%n folder_::_%n folders_" : ["%n фасцикла","%n фасцикле","%n фасцикли"], "_%n file_::_%n files_" : ["%n фајл","%n фајла","%n фајлова"], + "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове", "_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"], "\"{name}\" is an invalid file name." : "\"{name}\" није исправан назив фајла.", @@ -69,7 +67,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Складиште корисника {owner} је скоро пуно ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ваше складиште је скоро пуно ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["се поклапа са '{filter}'","се поклапају са '{filter}'","се поклапа са '{filter}'"], - "{dirs} and {files}" : "{dirs} и {files}", "Favorited" : "Омиљено", "Favorite" : "Омиљени", "An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака", @@ -109,6 +106,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!", "No entries found in this folder" : "Нема ничега у овој фасцикли", "Select all" : "Означи све", + "Delete" : "Обриши", "Upload too large" : "Отпремање је превелико", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Фајлови које желите да отпремите превазилазе ограничење отпремања на овом серверу.", "Files are being scanned, please wait." : "Скенирам фајлове, сачекајте.", diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json index 69fefcaf2b..09aabbb72e 100644 --- a/apps/files/l10n/sr.json +++ b/apps/files/l10n/sr.json @@ -27,6 +27,7 @@ "All files" : "Сви фајлови", "Favorites" : "Омиљени", "Home" : "Почетна", + "Close" : "Затвори", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Не могу да отпремим {filename} јер је то директоријум или има 0 бајтова", "Total file size {size1} exceeds upload limit {size2}" : "Величина {size1} превазилази ограничење за отпремање од {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Нема простора. Отпремате {size1} али само {size2} је преостало", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} већ постоји", "Could not create file" : "Не могу да створим фајл", "Could not create folder" : "Не могу да створим фасциклу", - "Rename" : "Преименуј", - "Delete" : "Обриши", - "Disconnect storage" : "Искључи складиште", - "Unshare" : "Не дели", - "No permission to delete" : "Без дозволе за брисање", + "Actions" : "Радње", "Download" : "Преузми", "Select" : "Изабери", "Pending" : "На чекању", @@ -58,6 +55,7 @@ "Modified" : "Измењен", "_%n folder_::_%n folders_" : ["%n фасцикла","%n фасцикле","%n фасцикли"], "_%n file_::_%n files_" : ["%n фајл","%n фајла","%n фајлова"], + "{dirs} and {files}" : "{dirs} и {files}", "You don’t have permission to upload or create files here" : "Немате дозволе да овде отпремате или стварате фајлове", "_Uploading %n file_::_Uploading %n files_" : ["Отпремам %n фајл","Отпремам %n фајла","Отпремам %n фајлова"], "\"{name}\" is an invalid file name." : "\"{name}\" није исправан назив фајла.", @@ -67,7 +65,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "Складиште корисника {owner} је скоро пуно ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Ваше складиште је скоро пуно ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["се поклапа са '{filter}'","се поклапају са '{filter}'","се поклапа са '{filter}'"], - "{dirs} and {files}" : "{dirs} и {files}", "Favorited" : "Омиљено", "Favorite" : "Омиљени", "An error occurred while trying to update the tags" : "Дошло је до грешке при покушају ажурирања ознака", @@ -107,6 +104,7 @@ "Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!", "No entries found in this folder" : "Нема ничега у овој фасцикли", "Select all" : "Означи све", + "Delete" : "Обриши", "Upload too large" : "Отпремање је превелико", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Фајлови које желите да отпремите превазилазе ограничење отпремања на овом серверу.", "Files are being scanned, please wait." : "Скенирам фајлове, сачекајте.", diff --git a/apps/files/l10n/sr@latin.js b/apps/files/l10n/sr@latin.js index acd0a988ec..28e317ff9b 100644 --- a/apps/files/l10n/sr@latin.js +++ b/apps/files/l10n/sr@latin.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Svi fajlovi", "Favorites" : "Omiljeni", "Home" : "Početna", + "Close" : "Zatvori", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne mogu da otpremim {filename} jer je to direktorijum ili ima 0 bajtova", "Total file size {size1} exceeds upload limit {size2}" : "Veličina {size1} prevazilazi ograničenje za otpremanje od {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nema prostora. Otpremate {size1} ali samo {size2} je preostalo", @@ -38,10 +39,6 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} već postoji", "Could not create file" : "Ne mogu da stvorim fajl", "Could not create folder" : "Ne mogu da stvorim fasciklu", - "Rename" : "Preimenuj", - "Delete" : "Obriši", - "Disconnect storage" : "Isključi skladište", - "Unshare" : "Ne deli", "Download" : "Preuzmi", "Select" : "Izaberi", "Pending" : "Na čekanju", @@ -57,6 +54,7 @@ OC.L10N.register( "Modified" : "Izmenjen", "_%n folder_::_%n folders_" : ["%n fascikla","%n fascikle","%n fascikli"], "_%n file_::_%n files_" : ["%n fajl","%n fajla","%n fajlova"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Nemate dozvole da ovde otpremate ili stvarate fajlove", "_Uploading %n file_::_Uploading %n files_" : ["Otpremam %n fajl","Otpremam %n fajla","Otpremam %n fajlova"], "\"{name}\" is an invalid file name." : "\"{name}\" nije ispravan naziv fajla.", @@ -64,7 +62,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Vaše skladište je puno. Fajlovi više ne mogu biti ažurirani ni sinhronizovani!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaše skladište je skoro puno ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["se poklapa sa '{filter}'","se poklapaju sa '{filter}'","se poklapa sa '{filter}'"], - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Omiljeno", "Favorite" : "Omiljeni", "An error occurred while trying to update the tags" : "Došlo je do greške pri pokušaju ažuriranja oznaka", @@ -104,6 +101,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinhronizujte sa vašim uređajima!", "No entries found in this folder" : "Nema ničega u ovoj fascikli", "Select all" : "Označi sve", + "Delete" : "Obriši", "Upload too large" : "Otpremanje je preveliko", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fajlovi koje želite da otpremite prevazilaze ograničenje otpremanja na ovom serveru.", "Files are being scanned, please wait." : "Skeniram fajlove, sačekajte.", diff --git a/apps/files/l10n/sr@latin.json b/apps/files/l10n/sr@latin.json index cb6882c5c5..5f31ed2547 100644 --- a/apps/files/l10n/sr@latin.json +++ b/apps/files/l10n/sr@latin.json @@ -27,6 +27,7 @@ "All files" : "Svi fajlovi", "Favorites" : "Omiljeni", "Home" : "Početna", + "Close" : "Zatvori", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Ne mogu da otpremim {filename} jer je to direktorijum ili ima 0 bajtova", "Total file size {size1} exceeds upload limit {size2}" : "Veličina {size1} prevazilazi ograničenje za otpremanje od {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Nema prostora. Otpremate {size1} ali samo {size2} je preostalo", @@ -36,10 +37,6 @@ "{new_name} already exists" : "{new_name} već postoji", "Could not create file" : "Ne mogu da stvorim fajl", "Could not create folder" : "Ne mogu da stvorim fasciklu", - "Rename" : "Preimenuj", - "Delete" : "Obriši", - "Disconnect storage" : "Isključi skladište", - "Unshare" : "Ne deli", "Download" : "Preuzmi", "Select" : "Izaberi", "Pending" : "Na čekanju", @@ -55,6 +52,7 @@ "Modified" : "Izmenjen", "_%n folder_::_%n folders_" : ["%n fascikla","%n fascikle","%n fascikli"], "_%n file_::_%n files_" : ["%n fajl","%n fajla","%n fajlova"], + "{dirs} and {files}" : "{dirs} i {files}", "You don’t have permission to upload or create files here" : "Nemate dozvole da ovde otpremate ili stvarate fajlove", "_Uploading %n file_::_Uploading %n files_" : ["Otpremam %n fajl","Otpremam %n fajla","Otpremam %n fajlova"], "\"{name}\" is an invalid file name." : "\"{name}\" nije ispravan naziv fajla.", @@ -62,7 +60,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Vaše skladište je puno. Fajlovi više ne mogu biti ažurirani ni sinhronizovani!", "Your storage is almost full ({usedSpacePercent}%)" : "Vaše skladište je skoro puno ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["se poklapa sa '{filter}'","se poklapaju sa '{filter}'","se poklapa sa '{filter}'"], - "{dirs} and {files}" : "{dirs} i {files}", "Favorited" : "Omiljeno", "Favorite" : "Omiljeni", "An error occurred while trying to update the tags" : "Došlo je do greške pri pokušaju ažuriranja oznaka", @@ -102,6 +99,7 @@ "Upload some content or sync with your devices!" : "Otpremite neki sadržaj ili sinhronizujte sa vašim uređajima!", "No entries found in this folder" : "Nema ničega u ovoj fascikli", "Select all" : "Označi sve", + "Delete" : "Obriši", "Upload too large" : "Otpremanje je preveliko", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Fajlovi koje želite da otpremite prevazilaze ograničenje otpremanja na ovom serveru.", "Files are being scanned, please wait." : "Skeniram fajlove, sačekajte.", diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index 9af440dcbc..c6b64eab02 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Alla filer", "Favorites" : "Favoriter", "Home" : "Hem", + "Close" : "Stäng", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan inte ladda upp {filename} eftersom den antingen är en mapp eller har 0 bytes.", "Total file size {size1} exceeds upload limit {size2}" : "Totala filstorleken {size1} överskrider uppladdningsgränsen {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Inte tillräckligt med ledigt utrymme, du laddar upp {size1} men endast {size2} finns kvar.", @@ -38,10 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} finns redan", "Could not create file" : "Kunde ej skapa fil", "Could not create folder" : "Kunde ej skapa katalog", - "Rename" : "Byt namn", - "Delete" : "Radera", - "Disconnect storage" : "Koppla bort lagring", - "Unshare" : "Sluta dela", + "Actions" : "Åtgärder", "Download" : "Ladda ner", "Select" : "Välj", "Pending" : "Väntar", @@ -56,13 +54,13 @@ OC.L10N.register( "Modified" : "Ändrad", "_%n folder_::_%n folders_" : ["%n mapp","%n mappar"], "_%n file_::_%n files_" : ["%n fil","%n filer"], + "{dirs} and {files}" : "{dirs} och {files}", "You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här", "_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"], "\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltligt filnamn.", "File name cannot be empty." : "Filnamn kan inte vara tomt.", "Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!", "Your storage is almost full ({usedSpacePercent}%)" : "Ditt lagringsutrymme är nästan fullt ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} och {files}", "Favorited" : "Favoritiserad", "Favorite" : "Favorit", "A new file or folder has been created" : "En ny fil eller mapp har blivit skapad", @@ -97,6 +95,7 @@ OC.L10N.register( "Cancel upload" : "Avbryt uppladdning", "Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!", "Select all" : "Välj allt", + "Delete" : "Radera", "Upload too large" : "För stor uppladdning", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern.", "Files are being scanned, please wait." : "Filer skannas, var god vänta", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index 0da4cbe5f5..c752155dbb 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -27,6 +27,7 @@ "All files" : "Alla filer", "Favorites" : "Favoriter", "Home" : "Hem", + "Close" : "Stäng", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Kan inte ladda upp {filename} eftersom den antingen är en mapp eller har 0 bytes.", "Total file size {size1} exceeds upload limit {size2}" : "Totala filstorleken {size1} överskrider uppladdningsgränsen {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Inte tillräckligt med ledigt utrymme, du laddar upp {size1} men endast {size2} finns kvar.", @@ -36,10 +37,7 @@ "{new_name} already exists" : "{new_name} finns redan", "Could not create file" : "Kunde ej skapa fil", "Could not create folder" : "Kunde ej skapa katalog", - "Rename" : "Byt namn", - "Delete" : "Radera", - "Disconnect storage" : "Koppla bort lagring", - "Unshare" : "Sluta dela", + "Actions" : "Åtgärder", "Download" : "Ladda ner", "Select" : "Välj", "Pending" : "Väntar", @@ -54,13 +52,13 @@ "Modified" : "Ändrad", "_%n folder_::_%n folders_" : ["%n mapp","%n mappar"], "_%n file_::_%n files_" : ["%n fil","%n filer"], + "{dirs} and {files}" : "{dirs} och {files}", "You don’t have permission to upload or create files here" : "Du har ej tillåtelse att ladda upp eller skapa filer här", "_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"], "\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltligt filnamn.", "File name cannot be empty." : "Filnamn kan inte vara tomt.", "Your storage is full, files can not be updated or synced anymore!" : "Ditt lagringsutrymme är fullt, filer kan inte längre uppdateras eller synkroniseras!", "Your storage is almost full ({usedSpacePercent}%)" : "Ditt lagringsutrymme är nästan fullt ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} och {files}", "Favorited" : "Favoritiserad", "Favorite" : "Favorit", "A new file or folder has been created" : "En ny fil eller mapp har blivit skapad", @@ -95,6 +93,7 @@ "Cancel upload" : "Avbryt uppladdning", "Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!", "Select all" : "Välj allt", + "Delete" : "Radera", "Upload too large" : "För stor uppladdning", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Filerna du försöker ladda upp överstiger den maximala storleken för filöverföringar på servern.", "Files are being scanned, please wait." : "Filer skannas, var god vänta", diff --git a/apps/files/l10n/ta_LK.js b/apps/files/l10n/ta_LK.js index 7b1ccf9bbc..ef41c862b4 100644 --- a/apps/files/l10n/ta_LK.js +++ b/apps/files/l10n/ta_LK.js @@ -11,12 +11,11 @@ OC.L10N.register( "Files" : "கோப்புகள்", "Favorites" : "விருப்பங்கள்", "Home" : "அகம்", + "Close" : "மூடுக", "Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது", "File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.", "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது", - "Rename" : "பெயர்மாற்றம்", - "Delete" : "நீக்குக", - "Unshare" : "பகிரப்படாதது", + "Actions" : "செயல்கள்", "Download" : "பதிவிறக்குக", "Select" : "தெரிக", "Pending" : "நிலுவையிலுள்ள", @@ -35,6 +34,7 @@ OC.L10N.register( "Folder" : "கோப்புறை", "Upload" : "பதிவேற்றுக", "Cancel upload" : "பதிவேற்றலை இரத்து செய்க", + "Delete" : "நீக்குக", "Upload too large" : "பதிவேற்றல் மிகப்பெரியது", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "நீங்கள் பதிவேற்ற முயற்சிக்கும் கோப்புகளானது இந்த சேவையகத்தில் கோப்பு பதிவேற்றக்கூடிய ஆகக்கூடிய அளவிலும் கூடியது.", "Files are being scanned, please wait." : "கோப்புகள் வருடப்படுகின்றன, தயவுசெய்து காத்திருங்கள்." diff --git a/apps/files/l10n/ta_LK.json b/apps/files/l10n/ta_LK.json index 28a039f4c3..a233c016ca 100644 --- a/apps/files/l10n/ta_LK.json +++ b/apps/files/l10n/ta_LK.json @@ -9,12 +9,11 @@ "Files" : "கோப்புகள்", "Favorites" : "விருப்பங்கள்", "Home" : "அகம்", + "Close" : "மூடுக", "Upload cancelled." : "பதிவேற்றல் இரத்து செய்யப்பட்டுள்ளது", "File upload is in progress. Leaving the page now will cancel the upload." : "கோப்பு பதிவேற்றம் செயல்பாட்டில் உள்ளது. இந்தப் பக்கத்திலிருந்து வெறியேறுவதானது பதிவேற்றலை இரத்து செய்யும்.", "{new_name} already exists" : "{new_name} ஏற்கனவே உள்ளது", - "Rename" : "பெயர்மாற்றம்", - "Delete" : "நீக்குக", - "Unshare" : "பகிரப்படாதது", + "Actions" : "செயல்கள்", "Download" : "பதிவிறக்குக", "Select" : "தெரிக", "Pending" : "நிலுவையிலுள்ள", @@ -33,6 +32,7 @@ "Folder" : "கோப்புறை", "Upload" : "பதிவேற்றுக", "Cancel upload" : "பதிவேற்றலை இரத்து செய்க", + "Delete" : "நீக்குக", "Upload too large" : "பதிவேற்றல் மிகப்பெரியது", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "நீங்கள் பதிவேற்ற முயற்சிக்கும் கோப்புகளானது இந்த சேவையகத்தில் கோப்பு பதிவேற்றக்கூடிய ஆகக்கூடிய அளவிலும் கூடியது.", "Files are being scanned, please wait." : "கோப்புகள் வருடப்படுகின்றன, தயவுசெய்து காத்திருங்கள்." diff --git a/apps/files/l10n/te.js b/apps/files/l10n/te.js index f78e7bade5..481c994e30 100644 --- a/apps/files/l10n/te.js +++ b/apps/files/l10n/te.js @@ -1,13 +1,14 @@ OC.L10N.register( "files", { - "Delete" : "తొలగించు", + "Close" : "మూసివేయి", "Error" : "పొరపాటు", "Name" : "పేరు", "Size" : "పరిమాణం", "Save" : "భద్రపరచు", "Settings" : "అమరికలు", "New folder" : "కొత్త సంచయం", - "Folder" : "సంచయం" + "Folder" : "సంచయం", + "Delete" : "తొలగించు" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/te.json b/apps/files/l10n/te.json index 364456e183..a836ec02fa 100644 --- a/apps/files/l10n/te.json +++ b/apps/files/l10n/te.json @@ -1,11 +1,12 @@ { "translations": { - "Delete" : "తొలగించు", + "Close" : "మూసివేయి", "Error" : "పొరపాటు", "Name" : "పేరు", "Size" : "పరిమాణం", "Save" : "భద్రపరచు", "Settings" : "అమరికలు", "New folder" : "కొత్త సంచయం", - "Folder" : "సంచయం" + "Folder" : "సంచయం", + "Delete" : "తొలగించు" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/th_TH.js b/apps/files/l10n/th_TH.js index 40af2bb490..2529d3e8ca 100644 --- a/apps/files/l10n/th_TH.js +++ b/apps/files/l10n/th_TH.js @@ -22,13 +22,14 @@ OC.L10N.register( "Missing a temporary folder" : "โฟลเดอร์ชั่วคราวเกิดการสูญหาย", "Failed to write to disk" : "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว", "Not enough storage available" : "เหลือพื้นที่ไม่เพียงสำหรับใช้งาน", - "Upload failed. Could not find uploaded file" : "อัปโหลดล้มเหลว ไม่สามารถหาไฟล์ที่จะอัพโหลด", + "Upload failed. Could not find uploaded file" : "อัพโหลดล้มเหลว ไม่สามารถหาไฟล์ที่จะอัพโหลด", "Upload failed. Could not get file info." : "อัพโหลดล้มเหลว ไม่สามารถรับข้อมูลไฟล์", "Invalid directory." : "ไดเร็กทอรี่ไม่ถูกต้อง", "Files" : "ไฟล์", "All files" : "ไฟล์ทั้งหมด", "Favorites" : "รายการโปรด", "Home" : "บ้าน", + "Close" : "ปิด", "Unable to upload {filename} as it is a directory or has 0 bytes" : "ไม่สามารถอัพโหลด {filename} มันเป็นไดเรกทอรีหรือมี 0 ไบต์", "Total file size {size1} exceeds upload limit {size2}" : "ขนาดไฟล์ {size1} ทั้งหมดเกินขีดจำกัด ของการอัพโหลด {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "พื้นที่ว่างไม่เพียงพอคุณจะอัพโหลด {size1} แต่มีพืนที่แค่ {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ", "Could not create file" : "ไม่สามารถสร้างไฟล์", "Could not create folder" : "ไม่สามารถสร้างโฟลเดอร์", - "Rename" : "เปลี่ยนชื่อ", - "Delete" : "ลบ", - "Disconnect storage" : "ยกเลิกการเชื่อมต่อการจัดเก็บข้อมูล", - "Unshare" : "ยกเลิกการแชร์", - "No permission to delete" : "ไม่อนุญาตให้ลบ", + "Actions" : "การกระทำ", "Download" : "ดาวน์โหลด", "Select" : "เลือก", "Pending" : "อยู่ระหว่างดำเนินการ", @@ -60,16 +57,18 @@ OC.L10N.register( "Modified" : "แก้ไขแล้ว", "_%n folder_::_%n folders_" : ["%n โฟลเดอร์"], "_%n file_::_%n files_" : ["%n ไฟล์"], + "{dirs} and {files}" : "{dirs} และ {files}", "You don’t have permission to upload or create files here" : "คุณไม่ได้รับอนุญาตให้อัพโหลดหรือสร้างไฟล์ที่นี่", "_Uploading %n file_::_Uploading %n files_" : ["อัพโหลด %n ไฟล์"], "\"{name}\" is an invalid file name." : "\"{name}\" เป็นชื่อไฟล์ที่ไม่ถูกต้อง", "File name cannot be empty." : "ชื่อไฟล์ไม่สามารถเว้นว่างได้", - "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 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} ใกล้เต็มแล้ว\nใช้พื้นที่ไปแล้ว: ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "พื้นที่จัดเก็บข้อมูลของคุณใกล้เต็มแล้ว \nใช้พื้นที่ไปแล้ว: ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["ตรงกับ '{filter}'"], - "{dirs} and {files}" : "{dirs} และ {files}", + "Path" : "เส้นทาง", + "_%n byte_::_%n bytes_" : ["%n ไบต์"], "Favorited" : "รายการโปรด", "Favorite" : "รายการโปรด", "An error occurred while trying to update the tags" : "เกิดข้อผิดพลาดขณะที่พยายามจะปรับปรุงแท็ก", @@ -93,6 +92,7 @@ OC.L10N.register( "File handling" : "การจัดการไฟล์", "Maximum upload size" : "ขนาดไฟล์สูงสุดที่อัพโหลดได้", "max. possible: " : "จำนวนสูงสุดที่สามารถทำได้: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "ด้วยค่า PHP-FPM นี้อาจใช้เวลาถึง 5 นาที จะมีผลหลังจากการบันทึก", "Save" : "บันทึก", "Can not be edited from here due to insufficient permissions." : "ไม่สามารถแก้ไขได้จากที่นี่เนื่องจากสิทธิ์ไม่เพียงพอ", "Settings" : "ตั้งค่า", @@ -106,9 +106,10 @@ OC.L10N.register( "Upload" : "อัพโหลด", "Cancel upload" : "ยกเลิกการอัพโหลด", "No files in here" : "ไม่มีไฟล์ที่นี่", - "Upload some content or sync with your devices!" : "อัพโหลดเนื้อหาบางส่วนหรือผสานข้อมูลกับอุปกรณ์ของคุณ! อีกครั้ง", + "Upload some content or sync with your devices!" : "อัพโหลดเนื้อหาบางส่วนหรือประสานข้อมูลกับอุปกรณ์ของคุณ! อีกครั้ง", "No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้", "Select all" : "เลือกทั้งหมด", + "Delete" : "ลบ", "Upload too large" : "ไฟล์ที่อัพโหลดมีขนาดใหญ่เกินไป", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเกินกว่าขนาดสูงสุดที่กำหนดไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้", "Files are being scanned, please wait." : "ไฟล์กำลังอยู่ระหว่างการสแกน, กรุณารอสักครู่.", diff --git a/apps/files/l10n/th_TH.json b/apps/files/l10n/th_TH.json index a6febf6fad..cf4fc24fc0 100644 --- a/apps/files/l10n/th_TH.json +++ b/apps/files/l10n/th_TH.json @@ -20,13 +20,14 @@ "Missing a temporary folder" : "โฟลเดอร์ชั่วคราวเกิดการสูญหาย", "Failed to write to disk" : "เขียนข้อมูลลงแผ่นดิสก์ล้มเหลว", "Not enough storage available" : "เหลือพื้นที่ไม่เพียงสำหรับใช้งาน", - "Upload failed. Could not find uploaded file" : "อัปโหลดล้มเหลว ไม่สามารถหาไฟล์ที่จะอัพโหลด", + "Upload failed. Could not find uploaded file" : "อัพโหลดล้มเหลว ไม่สามารถหาไฟล์ที่จะอัพโหลด", "Upload failed. Could not get file info." : "อัพโหลดล้มเหลว ไม่สามารถรับข้อมูลไฟล์", "Invalid directory." : "ไดเร็กทอรี่ไม่ถูกต้อง", "Files" : "ไฟล์", "All files" : "ไฟล์ทั้งหมด", "Favorites" : "รายการโปรด", "Home" : "บ้าน", + "Close" : "ปิด", "Unable to upload {filename} as it is a directory or has 0 bytes" : "ไม่สามารถอัพโหลด {filename} มันเป็นไดเรกทอรีหรือมี 0 ไบต์", "Total file size {size1} exceeds upload limit {size2}" : "ขนาดไฟล์ {size1} ทั้งหมดเกินขีดจำกัด ของการอัพโหลด {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "พื้นที่ว่างไม่เพียงพอคุณจะอัพโหลด {size1} แต่มีพืนที่แค่ {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} มีอยู่แล้วในระบบ", "Could not create file" : "ไม่สามารถสร้างไฟล์", "Could not create folder" : "ไม่สามารถสร้างโฟลเดอร์", - "Rename" : "เปลี่ยนชื่อ", - "Delete" : "ลบ", - "Disconnect storage" : "ยกเลิกการเชื่อมต่อการจัดเก็บข้อมูล", - "Unshare" : "ยกเลิกการแชร์", - "No permission to delete" : "ไม่อนุญาตให้ลบ", + "Actions" : "การกระทำ", "Download" : "ดาวน์โหลด", "Select" : "เลือก", "Pending" : "อยู่ระหว่างดำเนินการ", @@ -58,16 +55,18 @@ "Modified" : "แก้ไขแล้ว", "_%n folder_::_%n folders_" : ["%n โฟลเดอร์"], "_%n file_::_%n files_" : ["%n ไฟล์"], + "{dirs} and {files}" : "{dirs} และ {files}", "You don’t have permission to upload or create files here" : "คุณไม่ได้รับอนุญาตให้อัพโหลดหรือสร้างไฟล์ที่นี่", "_Uploading %n file_::_Uploading %n files_" : ["อัพโหลด %n ไฟล์"], "\"{name}\" is an invalid file name." : "\"{name}\" เป็นชื่อไฟล์ที่ไม่ถูกต้อง", "File name cannot be empty." : "ชื่อไฟล์ไม่สามารถเว้นว่างได้", - "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 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} ใกล้เต็มแล้ว\nใช้พื้นที่ไปแล้ว: ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "พื้นที่จัดเก็บข้อมูลของคุณใกล้เต็มแล้ว \nใช้พื้นที่ไปแล้ว: ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["ตรงกับ '{filter}'"], - "{dirs} and {files}" : "{dirs} และ {files}", + "Path" : "เส้นทาง", + "_%n byte_::_%n bytes_" : ["%n ไบต์"], "Favorited" : "รายการโปรด", "Favorite" : "รายการโปรด", "An error occurred while trying to update the tags" : "เกิดข้อผิดพลาดขณะที่พยายามจะปรับปรุงแท็ก", @@ -91,6 +90,7 @@ "File handling" : "การจัดการไฟล์", "Maximum upload size" : "ขนาดไฟล์สูงสุดที่อัพโหลดได้", "max. possible: " : "จำนวนสูงสุดที่สามารถทำได้: ", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "ด้วยค่า PHP-FPM นี้อาจใช้เวลาถึง 5 นาที จะมีผลหลังจากการบันทึก", "Save" : "บันทึก", "Can not be edited from here due to insufficient permissions." : "ไม่สามารถแก้ไขได้จากที่นี่เนื่องจากสิทธิ์ไม่เพียงพอ", "Settings" : "ตั้งค่า", @@ -104,9 +104,10 @@ "Upload" : "อัพโหลด", "Cancel upload" : "ยกเลิกการอัพโหลด", "No files in here" : "ไม่มีไฟล์ที่นี่", - "Upload some content or sync with your devices!" : "อัพโหลดเนื้อหาบางส่วนหรือผสานข้อมูลกับอุปกรณ์ของคุณ! อีกครั้ง", + "Upload some content or sync with your devices!" : "อัพโหลดเนื้อหาบางส่วนหรือประสานข้อมูลกับอุปกรณ์ของคุณ! อีกครั้ง", "No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้", "Select all" : "เลือกทั้งหมด", + "Delete" : "ลบ", "Upload too large" : "ไฟล์ที่อัพโหลดมีขนาดใหญ่เกินไป", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "ไฟล์ที่คุณพยายามที่จะอัพโหลดมีขนาดเกินกว่าขนาดสูงสุดที่กำหนดไว้ให้อัพโหลดได้สำหรับเซิร์ฟเวอร์นี้", "Files are being scanned, please wait." : "ไฟล์กำลังอยู่ระหว่างการสแกน, กรุณารอสักครู่.", diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js index dbc91ba15d..345b9ffd9f 100644 --- a/apps/files/l10n/tr.js +++ b/apps/files/l10n/tr.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Tüm dosyalar", "Favorites" : "Sık kullanılanlar", "Home" : "Ev", + "Close" : "Kapat", "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} bir dizin veya 0 bayt olduğundan yüklenemedi", "Total file size {size1} exceeds upload limit {size2}" : "Toplam dosya boyutu {size1}, {size2} gönderme sınırını aşıyor", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Yeterince boş alan yok. Gönderdiğiniz boyut {size1} ancak {size2} alan mevcut", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} zaten mevcut", "Could not create file" : "Dosya oluşturulamadı", "Could not create folder" : "Klasör oluşturulamadı", - "Rename" : "Yeniden adlandır", - "Delete" : "Sil", - "Disconnect storage" : "Depolama bağlantısını kes", - "Unshare" : "Paylaşmayı Kaldır", - "No permission to delete" : "Silmeye izin yok", + "Actions" : "Eylemler", "Download" : "İndir", "Select" : "Seç", "Pending" : "Bekliyor", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "Değiştirilme", "_%n folder_::_%n folders_" : ["%n klasör","%n klasör"], "_%n file_::_%n files_" : ["%n dosya","%n dosya"], + "{dirs} and {files}" : "{dirs} ve {files}", "You don’t have permission to upload or create files here" : "Buraya dosya yükleme veya oluşturma izniniz yok", "_Uploading %n file_::_Uploading %n files_" : ["%n dosya yükleniyor","%n dosya yükleniyor"], "\"{name}\" is an invalid file name." : "\"{name}\" geçersiz bir dosya adı.", @@ -69,7 +67,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : " {owner} depolama alanı neredeyse dolu ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Depolama alanınız neredeyse dolu (%{usedSpacePercent})", "_matches '{filter}'_::_match '{filter}'_" : ["'{filter}' ile eşleşiyor","'{filter}' ile eşleşiyor"], - "{dirs} and {files}" : "{dirs} ve {files}", "Favorited" : "Sık kullanılanlara eklendi", "Favorite" : "Sık kullanılan", "An error occurred while trying to update the tags" : "Etiketler güncellenmeye çalışılırken bir hata oluştu", @@ -109,6 +106,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Bir şeyler yükleyin veya aygıtlarınızla eşitleyin!", "No entries found in this folder" : "Bu klasörde hiçbir girdi bulunamadı", "Select all" : "Tümünü seç", + "Delete" : "Sil", "Upload too large" : "Yükleme çok büyük", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Yüklemeye çalıştığınız dosyalar bu sunucudaki azami yükleme boyutunu aşıyor.", "Files are being scanned, please wait." : "Dosyalar taranıyor, lütfen bekleyin.", diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json index eb967e2e3e..fc4ca14688 100644 --- a/apps/files/l10n/tr.json +++ b/apps/files/l10n/tr.json @@ -27,6 +27,7 @@ "All files" : "Tüm dosyalar", "Favorites" : "Sık kullanılanlar", "Home" : "Ev", + "Close" : "Kapat", "Unable to upload {filename} as it is a directory or has 0 bytes" : "{filename} bir dizin veya 0 bayt olduğundan yüklenemedi", "Total file size {size1} exceeds upload limit {size2}" : "Toplam dosya boyutu {size1}, {size2} gönderme sınırını aşıyor", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Yeterince boş alan yok. Gönderdiğiniz boyut {size1} ancak {size2} alan mevcut", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} zaten mevcut", "Could not create file" : "Dosya oluşturulamadı", "Could not create folder" : "Klasör oluşturulamadı", - "Rename" : "Yeniden adlandır", - "Delete" : "Sil", - "Disconnect storage" : "Depolama bağlantısını kes", - "Unshare" : "Paylaşmayı Kaldır", - "No permission to delete" : "Silmeye izin yok", + "Actions" : "Eylemler", "Download" : "İndir", "Select" : "Seç", "Pending" : "Bekliyor", @@ -58,6 +55,7 @@ "Modified" : "Değiştirilme", "_%n folder_::_%n folders_" : ["%n klasör","%n klasör"], "_%n file_::_%n files_" : ["%n dosya","%n dosya"], + "{dirs} and {files}" : "{dirs} ve {files}", "You don’t have permission to upload or create files here" : "Buraya dosya yükleme veya oluşturma izniniz yok", "_Uploading %n file_::_Uploading %n files_" : ["%n dosya yükleniyor","%n dosya yükleniyor"], "\"{name}\" is an invalid file name." : "\"{name}\" geçersiz bir dosya adı.", @@ -67,7 +65,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : " {owner} depolama alanı neredeyse dolu ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Depolama alanınız neredeyse dolu (%{usedSpacePercent})", "_matches '{filter}'_::_match '{filter}'_" : ["'{filter}' ile eşleşiyor","'{filter}' ile eşleşiyor"], - "{dirs} and {files}" : "{dirs} ve {files}", "Favorited" : "Sık kullanılanlara eklendi", "Favorite" : "Sık kullanılan", "An error occurred while trying to update the tags" : "Etiketler güncellenmeye çalışılırken bir hata oluştu", @@ -107,6 +104,7 @@ "Upload some content or sync with your devices!" : "Bir şeyler yükleyin veya aygıtlarınızla eşitleyin!", "No entries found in this folder" : "Bu klasörde hiçbir girdi bulunamadı", "Select all" : "Tümünü seç", + "Delete" : "Sil", "Upload too large" : "Yükleme çok büyük", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Yüklemeye çalıştığınız dosyalar bu sunucudaki azami yükleme boyutunu aşıyor.", "Files are being scanned, please wait." : "Dosyalar taranıyor, lütfen bekleyin.", diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js index 43968c76cb..8d8dbe886c 100644 --- a/apps/files/l10n/ug.js +++ b/apps/files/l10n/ug.js @@ -11,12 +11,11 @@ OC.L10N.register( "Files" : "ھۆججەتلەر", "Favorites" : "يىغقۇچ", "Home" : "ئۆي", + "Close" : "ياپ", "Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.", "File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.", "{new_name} already exists" : "{new_name} مەۋجۇت", - "Rename" : "ئات ئۆزگەرت", - "Delete" : "ئۆچۈر", - "Unshare" : "ھەمبەھىرلىمە", + "Actions" : "مەشغۇلاتلار", "Download" : "چۈشۈر", "Pending" : "كۈتۈۋاتىدۇ", "Error" : "خاتالىق", @@ -33,6 +32,7 @@ OC.L10N.register( "Folder" : "قىسقۇچ", "Upload" : "يۈكلە", "Cancel upload" : "يۈكلەشتىن ۋاز كەچ", + "Delete" : "ئۆچۈر", "Upload too large" : "يۈكلەندىغىنى بەك چوڭ" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json index 6d11a28e90..0ace5900d0 100644 --- a/apps/files/l10n/ug.json +++ b/apps/files/l10n/ug.json @@ -9,12 +9,11 @@ "Files" : "ھۆججەتلەر", "Favorites" : "يىغقۇچ", "Home" : "ئۆي", + "Close" : "ياپ", "Upload cancelled." : "يۈكلەشتىن ۋاز كەچتى.", "File upload is in progress. Leaving the page now will cancel the upload." : "ھۆججەت يۈكلەش مەشغۇلاتى ئېلىپ بېرىلىۋاتىدۇ. Leaving the page now will cancel the upload.", "{new_name} already exists" : "{new_name} مەۋجۇت", - "Rename" : "ئات ئۆزگەرت", - "Delete" : "ئۆچۈر", - "Unshare" : "ھەمبەھىرلىمە", + "Actions" : "مەشغۇلاتلار", "Download" : "چۈشۈر", "Pending" : "كۈتۈۋاتىدۇ", "Error" : "خاتالىق", @@ -31,6 +30,7 @@ "Folder" : "قىسقۇچ", "Upload" : "يۈكلە", "Cancel upload" : "يۈكلەشتىن ۋاز كەچ", + "Delete" : "ئۆچۈر", "Upload too large" : "يۈكلەندىغىنى بەك چوڭ" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js index 167897b57e..f695cfb49e 100644 --- a/apps/files/l10n/uk.js +++ b/apps/files/l10n/uk.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "Усі файли", "Favorites" : "Улюблені", "Home" : "Домашня адреса", + "Close" : "Закрити", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неможливо вивантажити {filename}, оскільки це каталог або файл має розмір 0 байт.", "Total file size {size1} exceeds upload limit {size2}" : "Розмір файлу {size1} перевищує обмеження {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостатньо вільного місця, ви вивантажуєте {size1}, а залишилося лише {size2}", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} вже існує", "Could not create file" : "Не вдалося створити файл", "Could not create folder" : "Не вдалося створити теку", - "Rename" : "Перейменувати", - "Delete" : "Видалити", - "Disconnect storage" : "Від’єднати сховище", - "Unshare" : "Закрити спільний доступ", - "No permission to delete" : "Недостатньо прав для видалення", + "Actions" : "Дії", "Download" : "Завантажити", "Select" : "Оберіть", "Pending" : "Очікування", @@ -59,6 +56,7 @@ OC.L10N.register( "Modified" : "Змінено", "_%n folder_::_%n folders_" : ["%n тека ","теки : %n ","теки : %n "], "_%n file_::_%n files_" : ["%n файл ","файли : %n ","файли : %n "], + "{dirs} and {files}" : "{dirs} і {files}", "You don’t have permission to upload or create files here" : "У вас недостатньо прав для вивантаження або створення тут файлів", "_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів"], "\"{name}\" is an invalid file name." : "\"{name}\" - некоректне ім'я файлу.", @@ -66,7 +64,6 @@ OC.L10N.register( "Your storage is full, files can not be updated or synced anymore!" : "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !", "Your storage is almost full ({usedSpacePercent}%)" : "Ваше сховище майже повне ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["знайдено '{filter}'","знайдено '{filter}'","знайдено '{filter}'"], - "{dirs} and {files}" : "{dirs} і {files}", "Favorited" : "Улюблений", "Favorite" : "Улюблений", "An error occurred while trying to update the tags" : "Виникла помилка при спробі оновити мітки", @@ -106,6 +103,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!", "No entries found in this folder" : "В цій теці нічого немає", "Select all" : "Вибрати всі", + "Delete" : "Видалити", "Upload too large" : "Файл занадто великий", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли,що ви намагаєтесь вивантажити перевищують максимальний дозволений розмір файлів на цьому сервері.", "Files are being scanned, please wait." : "Файли перевіряються, зачекайте, будь-ласка.", diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json index 803d988762..adc124a267 100644 --- a/apps/files/l10n/uk.json +++ b/apps/files/l10n/uk.json @@ -27,6 +27,7 @@ "All files" : "Усі файли", "Favorites" : "Улюблені", "Home" : "Домашня адреса", + "Close" : "Закрити", "Unable to upload {filename} as it is a directory or has 0 bytes" : "Неможливо вивантажити {filename}, оскільки це каталог або файл має розмір 0 байт.", "Total file size {size1} exceeds upload limit {size2}" : "Розмір файлу {size1} перевищує обмеження {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "Недостатньо вільного місця, ви вивантажуєте {size1}, а залишилося лише {size2}", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} вже існує", "Could not create file" : "Не вдалося створити файл", "Could not create folder" : "Не вдалося створити теку", - "Rename" : "Перейменувати", - "Delete" : "Видалити", - "Disconnect storage" : "Від’єднати сховище", - "Unshare" : "Закрити спільний доступ", - "No permission to delete" : "Недостатньо прав для видалення", + "Actions" : "Дії", "Download" : "Завантажити", "Select" : "Оберіть", "Pending" : "Очікування", @@ -57,6 +54,7 @@ "Modified" : "Змінено", "_%n folder_::_%n folders_" : ["%n тека ","теки : %n ","теки : %n "], "_%n file_::_%n files_" : ["%n файл ","файли : %n ","файли : %n "], + "{dirs} and {files}" : "{dirs} і {files}", "You don’t have permission to upload or create files here" : "У вас недостатньо прав для вивантаження або створення тут файлів", "_Uploading %n file_::_Uploading %n files_" : ["Вивантаження %n файлу","Вивантаження %n файлів","Вивантаження %n файлів"], "\"{name}\" is an invalid file name." : "\"{name}\" - некоректне ім'я файлу.", @@ -64,7 +62,6 @@ "Your storage is full, files can not be updated or synced anymore!" : "Ваше сховище переповнене, файли більше не можуть бути оновлені або синхронізовані !", "Your storage is almost full ({usedSpacePercent}%)" : "Ваше сховище майже повне ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["знайдено '{filter}'","знайдено '{filter}'","знайдено '{filter}'"], - "{dirs} and {files}" : "{dirs} і {files}", "Favorited" : "Улюблений", "Favorite" : "Улюблений", "An error occurred while trying to update the tags" : "Виникла помилка при спробі оновити мітки", @@ -104,6 +101,7 @@ "Upload some content or sync with your devices!" : "Вивантажте щось або синхронізуйте з пристроями!", "No entries found in this folder" : "В цій теці нічого немає", "Select all" : "Вибрати всі", + "Delete" : "Видалити", "Upload too large" : "Файл занадто великий", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли,що ви намагаєтесь вивантажити перевищують максимальний дозволений розмір файлів на цьому сервері.", "Files are being scanned, please wait." : "Файли перевіряються, зачекайте, будь-ласка.", diff --git a/apps/files/l10n/ur_PK.js b/apps/files/l10n/ur_PK.js index c9550fe93f..d5e85bfe35 100644 --- a/apps/files/l10n/ur_PK.js +++ b/apps/files/l10n/ur_PK.js @@ -2,12 +2,12 @@ OC.L10N.register( "files", { "Unknown error" : "غیر معروف خرابی", - "Delete" : "حذف کریں", - "Unshare" : "شئیرنگ ختم کریں", + "Close" : "بند ", "Download" : "ڈاؤن لوڈ،", "Error" : "ایرر", "Name" : "اسم", "Save" : "حفظ", - "Settings" : "ترتیبات" + "Settings" : "ترتیبات", + "Delete" : "حذف کریں" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/ur_PK.json b/apps/files/l10n/ur_PK.json index 3b4146d6cf..3da48310df 100644 --- a/apps/files/l10n/ur_PK.json +++ b/apps/files/l10n/ur_PK.json @@ -1,11 +1,11 @@ { "translations": { "Unknown error" : "غیر معروف خرابی", - "Delete" : "حذف کریں", - "Unshare" : "شئیرنگ ختم کریں", + "Close" : "بند ", "Download" : "ڈاؤن لوڈ،", "Error" : "ایرر", "Name" : "اسم", "Save" : "حفظ", - "Settings" : "ترتیبات" + "Settings" : "ترتیبات", + "Delete" : "حذف کریں" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js index c724f5f73e..b96c4fca63 100644 --- a/apps/files/l10n/vi.js +++ b/apps/files/l10n/vi.js @@ -26,6 +26,7 @@ OC.L10N.register( "Files" : "Tập tin", "Favorites" : "Ưa thích", "Home" : "Nhà", + "Close" : "Đóng", "Unable to upload {filename} as it is a directory or has 0 bytes" : "không thể tải {filename} lên do nó là một thư mục hoặc có kích thước bằng 0 byte", "Upload cancelled." : "Hủy tải lên", "Could not get result from server." : "Không thể nhận được kết quả từ máy chủ.", @@ -33,9 +34,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} đã tồn tại", "Could not create file" : "Không thể tạo file", "Could not create folder" : "Không thể tạo thư mục", - "Rename" : "Sửa tên", - "Delete" : "Xóa", - "Unshare" : "Bỏ chia sẻ", + "Actions" : "Actions", "Download" : "Tải về", "Select" : "Chọn", "Pending" : "Đang chờ", @@ -48,12 +47,12 @@ OC.L10N.register( "Modified" : "Thay đổi", "_%n folder_::_%n folders_" : ["%n thư mục"], "_%n file_::_%n files_" : ["%n tập tin"], + "{dirs} and {files}" : "{dirs} và {files}", "You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây", "_Uploading %n file_::_Uploading %n files_" : ["Đang tải lên %n tập tin"], "File name cannot be empty." : "Tên file không được rỗng", "Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!", "Your storage is almost full ({usedSpacePercent}%)" : "Your storage is almost full ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} và {files}", "Favorite" : "Ưu thích", "%s could not be renamed" : "%s không thể đổi tên", "File handling" : "Xử lý tập tin", @@ -71,6 +70,7 @@ OC.L10N.register( "Cancel upload" : "Hủy upload", "No entries found in this folder" : "Chưa có mục nào trong thư mục", "Select all" : "Chọn tất cả", + "Delete" : "Xóa", "Upload too large" : "Tập tin tải lên quá lớn", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Các tập tin bạn đang tải lên vượt quá kích thước tối đa cho phép trên máy chủ .", "Files are being scanned, please wait." : "Tập tin đang được quét ,vui lòng chờ." diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json index 5a4519cf84..38e0e1c384 100644 --- a/apps/files/l10n/vi.json +++ b/apps/files/l10n/vi.json @@ -24,6 +24,7 @@ "Files" : "Tập tin", "Favorites" : "Ưa thích", "Home" : "Nhà", + "Close" : "Đóng", "Unable to upload {filename} as it is a directory or has 0 bytes" : "không thể tải {filename} lên do nó là một thư mục hoặc có kích thước bằng 0 byte", "Upload cancelled." : "Hủy tải lên", "Could not get result from server." : "Không thể nhận được kết quả từ máy chủ.", @@ -31,9 +32,7 @@ "{new_name} already exists" : "{new_name} đã tồn tại", "Could not create file" : "Không thể tạo file", "Could not create folder" : "Không thể tạo thư mục", - "Rename" : "Sửa tên", - "Delete" : "Xóa", - "Unshare" : "Bỏ chia sẻ", + "Actions" : "Actions", "Download" : "Tải về", "Select" : "Chọn", "Pending" : "Đang chờ", @@ -46,12 +45,12 @@ "Modified" : "Thay đổi", "_%n folder_::_%n folders_" : ["%n thư mục"], "_%n file_::_%n files_" : ["%n tập tin"], + "{dirs} and {files}" : "{dirs} và {files}", "You don’t have permission to upload or create files here" : "Bạn không có quyền upload hoặc tạo files ở đây", "_Uploading %n file_::_Uploading %n files_" : ["Đang tải lên %n tập tin"], "File name cannot be empty." : "Tên file không được rỗng", "Your storage is full, files can not be updated or synced anymore!" : "Your storage is full, files can not be updated or synced anymore!", "Your storage is almost full ({usedSpacePercent}%)" : "Your storage is almost full ({usedSpacePercent}%)", - "{dirs} and {files}" : "{dirs} và {files}", "Favorite" : "Ưu thích", "%s could not be renamed" : "%s không thể đổi tên", "File handling" : "Xử lý tập tin", @@ -69,6 +68,7 @@ "Cancel upload" : "Hủy upload", "No entries found in this folder" : "Chưa có mục nào trong thư mục", "Select all" : "Chọn tất cả", + "Delete" : "Xóa", "Upload too large" : "Tập tin tải lên quá lớn", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Các tập tin bạn đang tải lên vượt quá kích thước tối đa cho phép trên máy chủ .", "Files are being scanned, please wait." : "Tập tin đang được quét ,vui lòng chờ." diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 76cbe4110a..92945f43ba 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "全部文件", "Favorites" : "收藏", "Home" : "家庭", + "Close" : "关闭", "Unable to upload {filename} as it is a directory or has 0 bytes" : "不能上传文件 {filename} ,由于它是一个目录或者为0字节", "Total file size {size1} exceeds upload limit {size2}" : "总文件大小 {size1} 超过上传限制 {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "没有足够的可用空间,您正在上传 {size1} 的文件但是只有 {size2} 可用。", @@ -38,11 +39,7 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} 已存在", "Could not create file" : "不能创建文件", "Could not create folder" : "不能创建文件夹", - "Rename" : "重命名", - "Delete" : "删除", - "Disconnect storage" : "断开储存连接", - "Unshare" : "取消共享", - "No permission to delete" : "无权删除", + "Actions" : "动作", "Download" : "下载", "Select" : "选择", "Pending" : "等待", @@ -60,6 +57,7 @@ OC.L10N.register( "Modified" : "修改日期", "_%n folder_::_%n folders_" : ["%n 文件夹"], "_%n file_::_%n files_" : ["%n个文件"], + "{dirs} and {files}" : "{dirs} 和 {files}", "You don’t have permission to upload or create files here" : "您没有权限来上传湖州哦和创建文件", "_Uploading %n file_::_Uploading %n files_" : ["上传 %n 个文件"], "\"{name}\" is an invalid file name." : "“{name}”是一个无效的文件名。", @@ -69,7 +67,6 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} 的存储空间即将用完 ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "您的存储空间即将用完 ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["匹配“{filter}”"], - "{dirs} and {files}" : "{dirs} 和 {files}", "Favorited" : "已收藏", "Favorite" : "收藏", "An error occurred while trying to update the tags" : "更新标签时出错", @@ -109,6 +106,7 @@ OC.L10N.register( "Upload some content or sync with your devices!" : "上传一些内容或者与设备同步!", "No entries found in this folder" : "此文件夹中无项目", "Select all" : "全部选择", + "Delete" : "删除", "Upload too large" : "上传文件过大", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "您正尝试上传的文件超过了此服务器可以上传的最大容量限制", "Files are being scanned, please wait." : "文件正在被扫描,请稍候。", diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index 44e763a42f..5bd652a344 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -27,6 +27,7 @@ "All files" : "全部文件", "Favorites" : "收藏", "Home" : "家庭", + "Close" : "关闭", "Unable to upload {filename} as it is a directory or has 0 bytes" : "不能上传文件 {filename} ,由于它是一个目录或者为0字节", "Total file size {size1} exceeds upload limit {size2}" : "总文件大小 {size1} 超过上传限制 {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "没有足够的可用空间,您正在上传 {size1} 的文件但是只有 {size2} 可用。", @@ -36,11 +37,7 @@ "{new_name} already exists" : "{new_name} 已存在", "Could not create file" : "不能创建文件", "Could not create folder" : "不能创建文件夹", - "Rename" : "重命名", - "Delete" : "删除", - "Disconnect storage" : "断开储存连接", - "Unshare" : "取消共享", - "No permission to delete" : "无权删除", + "Actions" : "动作", "Download" : "下载", "Select" : "选择", "Pending" : "等待", @@ -58,6 +55,7 @@ "Modified" : "修改日期", "_%n folder_::_%n folders_" : ["%n 文件夹"], "_%n file_::_%n files_" : ["%n个文件"], + "{dirs} and {files}" : "{dirs} 和 {files}", "You don’t have permission to upload or create files here" : "您没有权限来上传湖州哦和创建文件", "_Uploading %n file_::_Uploading %n files_" : ["上传 %n 个文件"], "\"{name}\" is an invalid file name." : "“{name}”是一个无效的文件名。", @@ -67,7 +65,6 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "{owner} 的存储空间即将用完 ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "您的存储空间即将用完 ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["匹配“{filter}”"], - "{dirs} and {files}" : "{dirs} 和 {files}", "Favorited" : "已收藏", "Favorite" : "收藏", "An error occurred while trying to update the tags" : "更新标签时出错", @@ -107,6 +104,7 @@ "Upload some content or sync with your devices!" : "上传一些内容或者与设备同步!", "No entries found in this folder" : "此文件夹中无项目", "Select all" : "全部选择", + "Delete" : "删除", "Upload too large" : "上传文件过大", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "您正尝试上传的文件超过了此服务器可以上传的最大容量限制", "Files are being scanned, please wait." : "文件正在被扫描,请稍候。", diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js index 2c1f5a992e..02193710b4 100644 --- a/apps/files/l10n/zh_HK.js +++ b/apps/files/l10n/zh_HK.js @@ -5,9 +5,7 @@ OC.L10N.register( "Files" : "文件", "All files" : "所有文件", "Home" : "主頁", - "Rename" : "重新命名", - "Delete" : "刪除", - "Unshare" : "取消分享", + "Close" : "關閉", "Download" : "下載", "Error" : "錯誤", "Name" : "名稱", @@ -29,6 +27,7 @@ OC.L10N.register( "New folder" : "新資料夾", "Folder" : "資料夾", "Upload" : "上戴", - "Cancel upload" : "取消上戴" + "Cancel upload" : "取消上戴", + "Delete" : "刪除" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json index 6dfd9b8573..23f24afa0a 100644 --- a/apps/files/l10n/zh_HK.json +++ b/apps/files/l10n/zh_HK.json @@ -3,9 +3,7 @@ "Files" : "文件", "All files" : "所有文件", "Home" : "主頁", - "Rename" : "重新命名", - "Delete" : "刪除", - "Unshare" : "取消分享", + "Close" : "關閉", "Download" : "下載", "Error" : "錯誤", "Name" : "名稱", @@ -27,6 +25,7 @@ "New folder" : "新資料夾", "Folder" : "資料夾", "Upload" : "上戴", - "Cancel upload" : "取消上戴" + "Cancel upload" : "取消上戴", + "Delete" : "刪除" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index 194020ef9b..049b63814a 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -29,6 +29,7 @@ OC.L10N.register( "All files" : "所有檔案", "Favorites" : "最愛", "Home" : "住宅", + "Close" : " 關閉", "Unable to upload {filename} as it is a directory or has 0 bytes" : "因為 {filename} 是個目錄或是大小為零,所以無法上傳", "Total file size {size1} exceeds upload limit {size2}" : "檔案大小總和 {size1} 超過上傳限制 {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空間不足,你正要上傳 {size1} 可是只剩下 {size2}", @@ -38,30 +39,32 @@ OC.L10N.register( "{new_name} already exists" : "{new_name} 已經存在", "Could not create file" : "無法建立檔案", "Could not create folder" : "無法建立資料夾", - "Rename" : "重新命名", - "Delete" : "刪除", - "Disconnect storage" : "斷開儲存空間連接", - "Unshare" : "取消分享", + "Actions" : "動作", "Download" : "下載", "Select" : "選擇", "Pending" : "等候中", + "Unable to determine date" : "無法確定日期", + "This operation is forbidden" : "此動作被禁止", "Error moving file." : "移動檔案發生錯誤", "Error moving file" : "移動檔案失敗", "Error" : "錯誤", "Could not rename file" : "無法重新命名", "Error deleting file." : "刪除檔案發生錯誤", + "No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符", "Name" : "名稱", "Size" : "大小", "Modified" : "修改時間", "_%n folder_::_%n folders_" : ["%n 個資料夾"], "_%n file_::_%n files_" : ["%n 個檔案"], + "{dirs} and {files}" : "{dirs} 和 {files}", "You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案", "_Uploading %n file_::_Uploading %n files_" : ["%n 個檔案正在上傳"], "\"{name}\" is an invalid file name." : "{name} 是無效的檔名", "File name cannot be empty." : "檔名不能為空", + "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}%)", - "{dirs} and {files}" : "{dirs} 和 {files}", "Favorite" : "我的最愛", "A new file or folder has been created" : "新的檔案或目錄已被 建立", "A file or folder has been changed" : "檔案或目錄已被 變更", @@ -93,9 +96,16 @@ OC.L10N.register( "Folder" : "資料夾", "Upload" : "上傳", "Cancel upload" : "取消上傳", + "No files in here" : "沒有任何檔案", + "Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容", + "No entries found in this folder" : "在此資料夾中沒有任何項目", + "Select all" : "全選", + "Delete" : "刪除", "Upload too large" : "上傳過大", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "您試圖上傳的檔案大小超過伺服器的限制。", "Files are being scanned, please wait." : "正在掃描檔案,請稍等。", - "Currently scanning" : "正在掃描" + "Currently scanning" : "正在掃描", + "No favorites" : "沒有最愛", + "Files and folders you mark as favorite will show up here" : "您標記為最愛的檔案與資料夾將會顯示在這裡" }, "nplurals=1; plural=0;"); diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index 1a0b187498..7b047c3c01 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -27,6 +27,7 @@ "All files" : "所有檔案", "Favorites" : "最愛", "Home" : "住宅", + "Close" : " 關閉", "Unable to upload {filename} as it is a directory or has 0 bytes" : "因為 {filename} 是個目錄或是大小為零,所以無法上傳", "Total file size {size1} exceeds upload limit {size2}" : "檔案大小總和 {size1} 超過上傳限制 {size2}", "Not enough free space, you are uploading {size1} but only {size2} is left" : "可用空間不足,你正要上傳 {size1} 可是只剩下 {size2}", @@ -36,30 +37,32 @@ "{new_name} already exists" : "{new_name} 已經存在", "Could not create file" : "無法建立檔案", "Could not create folder" : "無法建立資料夾", - "Rename" : "重新命名", - "Delete" : "刪除", - "Disconnect storage" : "斷開儲存空間連接", - "Unshare" : "取消分享", + "Actions" : "動作", "Download" : "下載", "Select" : "選擇", "Pending" : "等候中", + "Unable to determine date" : "無法確定日期", + "This operation is forbidden" : "此動作被禁止", "Error moving file." : "移動檔案發生錯誤", "Error moving file" : "移動檔案失敗", "Error" : "錯誤", "Could not rename file" : "無法重新命名", "Error deleting file." : "刪除檔案發生錯誤", + "No entries in this folder match '{filter}'" : "在此資料夾中沒有項目與 '{filter}' 相符", "Name" : "名稱", "Size" : "大小", "Modified" : "修改時間", "_%n folder_::_%n folders_" : ["%n 個資料夾"], "_%n file_::_%n files_" : ["%n 個檔案"], + "{dirs} and {files}" : "{dirs} 和 {files}", "You don’t have permission to upload or create files here" : "您沒有權限在這裡上傳或建立檔案", "_Uploading %n file_::_Uploading %n files_" : ["%n 個檔案正在上傳"], "\"{name}\" is an invalid file name." : "{name} 是無效的檔名", "File name cannot be empty." : "檔名不能為空", + "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}%)", - "{dirs} and {files}" : "{dirs} 和 {files}", "Favorite" : "我的最愛", "A new file or folder has been created" : "新的檔案或目錄已被 建立", "A file or folder has been changed" : "檔案或目錄已被 變更", @@ -91,9 +94,16 @@ "Folder" : "資料夾", "Upload" : "上傳", "Cancel upload" : "取消上傳", + "No files in here" : "沒有任何檔案", + "Upload some content or sync with your devices!" : "在您的裝置中同步或上傳一些內容", + "No entries found in this folder" : "在此資料夾中沒有任何項目", + "Select all" : "全選", + "Delete" : "刪除", "Upload too large" : "上傳過大", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "您試圖上傳的檔案大小超過伺服器的限制。", "Files are being scanned, please wait." : "正在掃描檔案,請稍等。", - "Currently scanning" : "正在掃描" + "Currently scanning" : "正在掃描", + "No favorites" : "沒有最愛", + "Files and folders you mark as favorite will show up here" : "您標記為最愛的檔案與資料夾將會顯示在這裡" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files_external/l10n/af_ZA.js b/apps/files_external/l10n/af_ZA.js index 1c56071d43..25c7d85256 100644 --- a/apps/files_external/l10n/af_ZA.js +++ b/apps/files_external/l10n/af_ZA.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_external", { "Username" : "Gebruikersnaam", - "Password" : "Wagwoord", "Share" : "Deel", - "Personal" : "Persoonlik" + "Personal" : "Persoonlik", + "Password" : "Wagwoord" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/af_ZA.json b/apps/files_external/l10n/af_ZA.json index ddb1414664..6c60aac511 100644 --- a/apps/files_external/l10n/af_ZA.json +++ b/apps/files_external/l10n/af_ZA.json @@ -1,7 +1,7 @@ { "translations": { "Username" : "Gebruikersnaam", - "Password" : "Wagwoord", "Share" : "Deel", - "Personal" : "Persoonlik" + "Personal" : "Persoonlik", + "Password" : "Wagwoord" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/ar.js b/apps/files_external/l10n/ar.js index 174b0d1d54..89bd2d6173 100644 --- a/apps/files_external/l10n/ar.js +++ b/apps/files_external/l10n/ar.js @@ -1,27 +1,26 @@ OC.L10N.register( "files_external", { - "Local" : "محلي", - "Location" : "المكان", - "Key" : "المفتاح", - "Secret" : "سر", - "Bucket" : "الحزمة", - "Access Key" : "مفتاح الدخول", - "Secret Key" : "المفتاح السري", - "Hostname" : "إسم الإستضافة", - "Port" : "المنفذ", - "Region" : "المنطقة", - "App key" : "مفتاح التطبيق", - "App secret" : "التطبيق السري", - "Host" : "المضيف", "Username" : "إسم المستخدم", - "Password" : "كلمة السر", + "Bucket" : "الحزمة", + "Host" : "المضيف", "Share" : "شارك", - "URL" : "عنوان الموقع", "Personal" : "شخصي", "System" : "النظام", "Never" : "أبدا", "Saved" : "حفظ", + "None" : "لا شيء", + "App key" : "مفتاح التطبيق", + "App secret" : "التطبيق السري", + "Password" : "كلمة السر", + "Hostname" : "إسم الإستضافة", + "Port" : "المنفذ", + "Region" : "المنطقة", + "WebDAV" : "WebDAV", + "URL" : "عنوان الموقع", + "Local" : "محلي", + "Location" : "المكان", + "ownCloud" : "ownCloud", "Name" : "اسم", "Folder name" : "اسم المجلد", "Configuration" : "إعداد", diff --git a/apps/files_external/l10n/ar.json b/apps/files_external/l10n/ar.json index 582813959d..e4d4cd3f1e 100644 --- a/apps/files_external/l10n/ar.json +++ b/apps/files_external/l10n/ar.json @@ -1,25 +1,24 @@ { "translations": { - "Local" : "محلي", - "Location" : "المكان", - "Key" : "المفتاح", - "Secret" : "سر", - "Bucket" : "الحزمة", - "Access Key" : "مفتاح الدخول", - "Secret Key" : "المفتاح السري", - "Hostname" : "إسم الإستضافة", - "Port" : "المنفذ", - "Region" : "المنطقة", - "App key" : "مفتاح التطبيق", - "App secret" : "التطبيق السري", - "Host" : "المضيف", "Username" : "إسم المستخدم", - "Password" : "كلمة السر", + "Bucket" : "الحزمة", + "Host" : "المضيف", "Share" : "شارك", - "URL" : "عنوان الموقع", "Personal" : "شخصي", "System" : "النظام", "Never" : "أبدا", "Saved" : "حفظ", + "None" : "لا شيء", + "App key" : "مفتاح التطبيق", + "App secret" : "التطبيق السري", + "Password" : "كلمة السر", + "Hostname" : "إسم الإستضافة", + "Port" : "المنفذ", + "Region" : "المنطقة", + "WebDAV" : "WebDAV", + "URL" : "عنوان الموقع", + "Local" : "محلي", + "Location" : "المكان", + "ownCloud" : "ownCloud", "Name" : "اسم", "Folder name" : "اسم المجلد", "Configuration" : "إعداد", diff --git a/apps/files_external/l10n/ast.js b/apps/files_external/l10n/ast.js index 3b3f06a712..0e29e30f86 100644 --- a/apps/files_external/l10n/ast.js +++ b/apps/files_external/l10n/ast.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Falló la descarga de los tokens solicitaos. Verifica que la clave y el secretu de la app de Dropbox ye correuta.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Falló la descarga de los tokens solicitaos. Verifica que la clave y el secretu de la app de Dropbox ye correuta.", - "Please provide a valid Dropbox app key and secret." : "Por favor, proporciona una clave válida de l'app Dropbox y una clave secreta.", "Step 1 failed. Exception: %s" : "Pasu 1 fallíu. Esceición: %s", "Step 2 failed. Exception: %s" : "Pasu 2 fallíu. Esceición: %s", "External storage" : "Almacenamientu esternu", - "Local" : "Llocal", - "Location" : "Llocalización", - "Amazon S3" : "Amazon S3", - "Key" : "Clave", - "Secret" : "Secretu", - "Bucket" : "Depósitu", - "Amazon S3 and compliant" : "Amazon S3 y compatibilidá", - "Access Key" : "Clave d'accesu", - "Secret Key" : "Clave Secreta", - "Hostname" : "Nome d'agospiu", - "Port" : "Puertu", - "Region" : "Rexón", - "Enable SSL" : "Habilitar SSL", - "Enable Path Style" : "Habilitar Estilu de ruta", - "App key" : "App principal", - "App secret" : "App secreta", - "Host" : "Sirvidor", - "Username" : "Nome d'usuariu", - "Password" : "Contraseña", - "Remote subfolder" : "Subcarpeta remota", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "ID de veceru", - "Client secret" : "Veceru secretu", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nome d'usuariu", + "Bucket" : "Depósitu", "Region (optional for OpenStack Object Storage)" : "Rexón (opcional pa OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clave API (necesaria pa Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nome d'inquilín (necesariu pa OpenStack Object Storage)", @@ -38,21 +14,40 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nome de Serviciu (necesariu pa OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL d'identidá de puntu final (necesariu pa OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tiempu d'espera de peticiones HTTP en segundos", - "Share" : "Compartir", "SMB / CIFS using OC login" : "SMB / CIFS usando accesu OC", + "Host" : "Sirvidor", "Username as share" : "Nome d'usuariu como Compartición", - "URL" : "URL", - "Secure https://" : "Secure https://", + "Share" : "Compartir", + "Remote subfolder" : "Subcarpeta remota", "Public key" : "Clave pública", - "Access granted" : "Accesu concedíu", - "Error configuring Dropbox storage" : "Fallu configurando l'almacenamientu de Dropbox", - "Grant access" : "Conceder accesu", - "Error configuring Google Drive storage" : "Fallu configurando l'almacenamientu de Google Drive", "Personal" : "Personal", "System" : "Sistema", + "Grant access" : "Conceder accesu", + "Access granted" : "Accesu concedíu", "All users. Type to select user or group." : "Tolos usuarios. Escribe pa seleccionar usuariu o grupu.", "(group)" : "(grupu)", "Saved" : "Guardáu", + "None" : "Dengún", + "App key" : "App principal", + "App secret" : "App secreta", + "Client ID" : "ID de veceru", + "Client secret" : "Veceru secretu", + "Password" : "Contraseña", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome d'agospiu", + "Port" : "Puertu", + "Region" : "Rexón", + "Enable SSL" : "Habilitar SSL", + "Enable Path Style" : "Habilitar Estilu de ruta", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Secure https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "Llocal", + "Location" : "Llocalización", + "ownCloud" : "ownCloud", + "Root" : "Raíz", "Note: " : "Nota: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de cURL en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de FTP en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", @@ -64,8 +59,8 @@ OC.L10N.register( "Folder name" : "Nome de la carpeta", "Configuration" : "Configuración", "Available for" : "Disponible pa", - "Add storage" : "Amestar almacenamientu", "Delete" : "Desaniciar", + "Add storage" : "Amestar almacenamientu", "Enable User External Storage" : "Habilitar almacenamientu esterno d'usuariu", "Allow users to mount the following external storage" : "Permitir a los usuarios montar el siguiente almacenamientu esternu" }, diff --git a/apps/files_external/l10n/ast.json b/apps/files_external/l10n/ast.json index c2a2d20575..e768ff3741 100644 --- a/apps/files_external/l10n/ast.json +++ b/apps/files_external/l10n/ast.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Falló la descarga de los tokens solicitaos. Verifica que la clave y el secretu de la app de Dropbox ye correuta.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Falló la descarga de los tokens solicitaos. Verifica que la clave y el secretu de la app de Dropbox ye correuta.", - "Please provide a valid Dropbox app key and secret." : "Por favor, proporciona una clave válida de l'app Dropbox y una clave secreta.", "Step 1 failed. Exception: %s" : "Pasu 1 fallíu. Esceición: %s", "Step 2 failed. Exception: %s" : "Pasu 2 fallíu. Esceición: %s", "External storage" : "Almacenamientu esternu", - "Local" : "Llocal", - "Location" : "Llocalización", - "Amazon S3" : "Amazon S3", - "Key" : "Clave", - "Secret" : "Secretu", - "Bucket" : "Depósitu", - "Amazon S3 and compliant" : "Amazon S3 y compatibilidá", - "Access Key" : "Clave d'accesu", - "Secret Key" : "Clave Secreta", - "Hostname" : "Nome d'agospiu", - "Port" : "Puertu", - "Region" : "Rexón", - "Enable SSL" : "Habilitar SSL", - "Enable Path Style" : "Habilitar Estilu de ruta", - "App key" : "App principal", - "App secret" : "App secreta", - "Host" : "Sirvidor", - "Username" : "Nome d'usuariu", - "Password" : "Contraseña", - "Remote subfolder" : "Subcarpeta remota", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "ID de veceru", - "Client secret" : "Veceru secretu", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nome d'usuariu", + "Bucket" : "Depósitu", "Region (optional for OpenStack Object Storage)" : "Rexón (opcional pa OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clave API (necesaria pa Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nome d'inquilín (necesariu pa OpenStack Object Storage)", @@ -36,21 +12,40 @@ "Service Name (required for OpenStack Object Storage)" : "Nome de Serviciu (necesariu pa OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL d'identidá de puntu final (necesariu pa OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tiempu d'espera de peticiones HTTP en segundos", - "Share" : "Compartir", "SMB / CIFS using OC login" : "SMB / CIFS usando accesu OC", + "Host" : "Sirvidor", "Username as share" : "Nome d'usuariu como Compartición", - "URL" : "URL", - "Secure https://" : "Secure https://", + "Share" : "Compartir", + "Remote subfolder" : "Subcarpeta remota", "Public key" : "Clave pública", - "Access granted" : "Accesu concedíu", - "Error configuring Dropbox storage" : "Fallu configurando l'almacenamientu de Dropbox", - "Grant access" : "Conceder accesu", - "Error configuring Google Drive storage" : "Fallu configurando l'almacenamientu de Google Drive", "Personal" : "Personal", "System" : "Sistema", + "Grant access" : "Conceder accesu", + "Access granted" : "Accesu concedíu", "All users. Type to select user or group." : "Tolos usuarios. Escribe pa seleccionar usuariu o grupu.", "(group)" : "(grupu)", "Saved" : "Guardáu", + "None" : "Dengún", + "App key" : "App principal", + "App secret" : "App secreta", + "Client ID" : "ID de veceru", + "Client secret" : "Veceru secretu", + "Password" : "Contraseña", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome d'agospiu", + "Port" : "Puertu", + "Region" : "Rexón", + "Enable SSL" : "Habilitar SSL", + "Enable Path Style" : "Habilitar Estilu de ruta", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Secure https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "Llocal", + "Location" : "Llocalización", + "ownCloud" : "ownCloud", + "Root" : "Raíz", "Note: " : "Nota: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de cURL en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de FTP en PHP nun ta activáu o instaláu. Nun pue montase %s. Pídi-y al alministrador de sistema que lu instale.", @@ -62,8 +57,8 @@ "Folder name" : "Nome de la carpeta", "Configuration" : "Configuración", "Available for" : "Disponible pa", - "Add storage" : "Amestar almacenamientu", "Delete" : "Desaniciar", + "Add storage" : "Amestar almacenamientu", "Enable User External Storage" : "Habilitar almacenamientu esterno d'usuariu", "Allow users to mount the following external storage" : "Permitir a los usuarios montar el siguiente almacenamientu esternu" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/az.js b/apps/files_external/l10n/az.js index 6e28fa378d..d92296e416 100644 --- a/apps/files_external/l10n/az.js +++ b/apps/files_external/l10n/az.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Müraciət token-nin alınmasında səhv baş verdi. Əmin olun ki, sizin Dropbox proqraminin açarı və gizlisi düzgündür.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Müraciət token-nin alınmasında səhv baş verdi. Əmin olun ki, sizin Dropbox proqraminin açarı və gizlisi düzgündür.", - "Please provide a valid Dropbox app key and secret." : "Xahiş olunur düzgün Dropbox proqram açarı və gizlisini təqdim edəsiniz.", "Step 1 failed. Exception: %s" : "1-ci addım səhv oldu. İstisna: %s", "Step 2 failed. Exception: %s" : "2-ci addım. İstisna: %s", "External storage" : "Kənar informasıya daşıyıcısı", - "Local" : "Yerli", - "Location" : "Yerləşdiyiniz ünvan", - "Amazon S3" : "Amazon S3", - "Key" : "Açar", - "Secret" : "Gizli", - "Bucket" : "Vedrə", - "Amazon S3 and compliant" : "Amazon S3 və uyğun", - "Access Key" : "Yetki açarı", - "Secret Key" : "Gizli açar", - "Hostname" : "Sahibadı", - "Port" : "Port", - "Region" : "Ərazi", - "Enable SSL" : "SSL-i işə sal", - "Enable Path Style" : "Ünvan stilini işə sal", - "App key" : "Proqram açarı", - "App secret" : "Proqram sirri", - "Host" : "Şəbəkədə ünvan", - "Username" : "İstifadəçi adı", - "Password" : "Şifrə", - "Remote subfolder" : "Uzaq altqovluğu", - "Secure ftps://" : "Təhlükəsiz ftps://", - "Client ID" : "Müştəri İD-s", - "Client secret" : "Müxtəri sirri", "OpenStack Object Storage" : "OpenStack Obyekt Deposu", + "Username" : "İstifadəçi adı", + "Bucket" : "Vedrə", "Region (optional for OpenStack Object Storage)" : "Ərazi(İstəkdən asılı olaraq OpenStack Obyekt Deposu üçündür)", "API Key (required for Rackspace Cloud Files)" : "API açar (Rackspace Cloud Fayllar üçün tələb edilir)", "Tenantname (required for OpenStack Object Storage)" : "Kirayəçiadı (OpenStack Obyekt Deposu üçün tələb edilir)", @@ -38,28 +14,44 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Servis adi (OpenStack Obyekt Deposu üçün tələb edilir)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Şəxsiyyətin son nöqtəsi URL-i (OpenStack Obyekt Deposu üçün tələb edilir)", "Timeout of HTTP requests in seconds" : "HTTP müraciətlər üçün saniyələrlə olan vaxtın bitməsi", - "Share" : "Yayımla", "SMB / CIFS using OC login" : "OC login istifadə edir SMB / CIFS", + "Host" : "Şəbəkədə ünvan", "Username as share" : "Paylaşım üçün istifadəçi adı", - "URL" : "URL", - "Secure https://" : "Təhlükəsiz https://", + "Share" : "Yayımla", + "Remote subfolder" : "Uzaq altqovluğu", "Public key" : "İctimai açar", "Storage with id \"%i\" not found" : "\"%i\"-li depo tapılmadı", "Invalid mount point" : "Yalnış mount nöqtəsi", "Invalid storage backend \"%s\"" : "Yalnış depo arxasonu \"%s\"", - "Access granted" : "Yetki verildi", - "Error configuring Dropbox storage" : "Dropbox deposunun konfiqurasiyasında səhv baş verdi", - "Grant access" : "Yetkinin verilməsi", - "Error configuring Google Drive storage" : "Google Drive deposunun konfiqində səgv baş verdi", "Personal" : "Şəxsi", "System" : "Sistem", + "Grant access" : "Yetkinin verilməsi", + "Access granted" : "Yetki verildi", "All users. Type to select user or group." : "Sistem istifadəçiləri. Daxil edin ki, istifadəçi və ya qrupu seçəsiniz.", "(group)" : "(qrup)", "Saved" : "Saxlanıldı", "Generate keys" : "Açarları generasiya et", "Error generating key pair" : "Açar cütlüyünün generasiyası səhvi", + "None" : "Heç bir", + "App key" : "Proqram açarı", + "App secret" : "Proqram sirri", + "Client ID" : "Müştəri İD-s", + "Client secret" : "Müxtəri sirri", + "Password" : "Şifrə", + "Amazon S3" : "Amazon S3", + "Hostname" : "Sahibadı", + "Port" : "Port", + "Region" : "Ərazi", + "Enable SSL" : "SSL-i işə sal", + "Enable Path Style" : "Ünvan stilini işə sal", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Təhlükəsiz https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Təhlükəsiz ftps://", + "Local" : "Yerli", + "Location" : "Yerləşdiyiniz ünvan", "Note: " : "Qeyd: ", - "and" : "və", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Qeyd: PHP-də cURL dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Qeyd: PHP-də FTP dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Qeyd: \"%s\" yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", @@ -72,9 +64,9 @@ OC.L10N.register( "Folder name" : "Qovluq adı", "Configuration" : "Konfiqurasiya", "Available for" : "Üçün mövcuddur", - "Add storage" : "Deponu əlavə et", "Advanced settings" : "İrəliləmiş quraşdırmalar", "Delete" : "Sil", + "Add storage" : "Deponu əlavə et", "Enable User External Storage" : "İstifadəçi kənar deponu aktivləşdir", "Allow users to mount the following external storage" : "Göstərilən kənar deponun bərkidilməsi üçün istifadəçilərə izin ver" }, diff --git a/apps/files_external/l10n/az.json b/apps/files_external/l10n/az.json index e0d8727cb2..98c1117243 100644 --- a/apps/files_external/l10n/az.json +++ b/apps/files_external/l10n/az.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Müraciət token-nin alınmasında səhv baş verdi. Əmin olun ki, sizin Dropbox proqraminin açarı və gizlisi düzgündür.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Müraciət token-nin alınmasında səhv baş verdi. Əmin olun ki, sizin Dropbox proqraminin açarı və gizlisi düzgündür.", - "Please provide a valid Dropbox app key and secret." : "Xahiş olunur düzgün Dropbox proqram açarı və gizlisini təqdim edəsiniz.", "Step 1 failed. Exception: %s" : "1-ci addım səhv oldu. İstisna: %s", "Step 2 failed. Exception: %s" : "2-ci addım. İstisna: %s", "External storage" : "Kənar informasıya daşıyıcısı", - "Local" : "Yerli", - "Location" : "Yerləşdiyiniz ünvan", - "Amazon S3" : "Amazon S3", - "Key" : "Açar", - "Secret" : "Gizli", - "Bucket" : "Vedrə", - "Amazon S3 and compliant" : "Amazon S3 və uyğun", - "Access Key" : "Yetki açarı", - "Secret Key" : "Gizli açar", - "Hostname" : "Sahibadı", - "Port" : "Port", - "Region" : "Ərazi", - "Enable SSL" : "SSL-i işə sal", - "Enable Path Style" : "Ünvan stilini işə sal", - "App key" : "Proqram açarı", - "App secret" : "Proqram sirri", - "Host" : "Şəbəkədə ünvan", - "Username" : "İstifadəçi adı", - "Password" : "Şifrə", - "Remote subfolder" : "Uzaq altqovluğu", - "Secure ftps://" : "Təhlükəsiz ftps://", - "Client ID" : "Müştəri İD-s", - "Client secret" : "Müxtəri sirri", "OpenStack Object Storage" : "OpenStack Obyekt Deposu", + "Username" : "İstifadəçi adı", + "Bucket" : "Vedrə", "Region (optional for OpenStack Object Storage)" : "Ərazi(İstəkdən asılı olaraq OpenStack Obyekt Deposu üçündür)", "API Key (required for Rackspace Cloud Files)" : "API açar (Rackspace Cloud Fayllar üçün tələb edilir)", "Tenantname (required for OpenStack Object Storage)" : "Kirayəçiadı (OpenStack Obyekt Deposu üçün tələb edilir)", @@ -36,28 +12,44 @@ "Service Name (required for OpenStack Object Storage)" : "Servis adi (OpenStack Obyekt Deposu üçün tələb edilir)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Şəxsiyyətin son nöqtəsi URL-i (OpenStack Obyekt Deposu üçün tələb edilir)", "Timeout of HTTP requests in seconds" : "HTTP müraciətlər üçün saniyələrlə olan vaxtın bitməsi", - "Share" : "Yayımla", "SMB / CIFS using OC login" : "OC login istifadə edir SMB / CIFS", + "Host" : "Şəbəkədə ünvan", "Username as share" : "Paylaşım üçün istifadəçi adı", - "URL" : "URL", - "Secure https://" : "Təhlükəsiz https://", + "Share" : "Yayımla", + "Remote subfolder" : "Uzaq altqovluğu", "Public key" : "İctimai açar", "Storage with id \"%i\" not found" : "\"%i\"-li depo tapılmadı", "Invalid mount point" : "Yalnış mount nöqtəsi", "Invalid storage backend \"%s\"" : "Yalnış depo arxasonu \"%s\"", - "Access granted" : "Yetki verildi", - "Error configuring Dropbox storage" : "Dropbox deposunun konfiqurasiyasında səhv baş verdi", - "Grant access" : "Yetkinin verilməsi", - "Error configuring Google Drive storage" : "Google Drive deposunun konfiqində səgv baş verdi", "Personal" : "Şəxsi", "System" : "Sistem", + "Grant access" : "Yetkinin verilməsi", + "Access granted" : "Yetki verildi", "All users. Type to select user or group." : "Sistem istifadəçiləri. Daxil edin ki, istifadəçi və ya qrupu seçəsiniz.", "(group)" : "(qrup)", "Saved" : "Saxlanıldı", "Generate keys" : "Açarları generasiya et", "Error generating key pair" : "Açar cütlüyünün generasiyası səhvi", + "None" : "Heç bir", + "App key" : "Proqram açarı", + "App secret" : "Proqram sirri", + "Client ID" : "Müştəri İD-s", + "Client secret" : "Müxtəri sirri", + "Password" : "Şifrə", + "Amazon S3" : "Amazon S3", + "Hostname" : "Sahibadı", + "Port" : "Port", + "Region" : "Ərazi", + "Enable SSL" : "SSL-i işə sal", + "Enable Path Style" : "Ünvan stilini işə sal", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Təhlükəsiz https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Təhlükəsiz ftps://", + "Local" : "Yerli", + "Location" : "Yerləşdiyiniz ünvan", "Note: " : "Qeyd: ", - "and" : "və", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Qeyd: PHP-də cURL dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Qeyd: PHP-də FTP dəstəyi aktiv deyil və ya yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Qeyd: \"%s\" yüklənməyib. %s -in birləşdirilməsi mümkün deyil. Xahiş edilir onun yüklənilməsi barəsində inzibatşınıza məlumat verəsiniz.", @@ -70,9 +62,9 @@ "Folder name" : "Qovluq adı", "Configuration" : "Konfiqurasiya", "Available for" : "Üçün mövcuddur", - "Add storage" : "Deponu əlavə et", "Advanced settings" : "İrəliləmiş quraşdırmalar", "Delete" : "Sil", + "Add storage" : "Deponu əlavə et", "Enable User External Storage" : "İstifadəçi kənar deponu aktivləşdir", "Allow users to mount the following external storage" : "Göstərilən kənar deponun bərkidilməsi üçün istifadəçilərə izin ver" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/bg_BG.js b/apps/files_external/l10n/bg_BG.js index 9c29080c0d..2344fcb17c 100644 --- a/apps/files_external/l10n/bg_BG.js +++ b/apps/files_external/l10n/bg_BG.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Неуспешно изтеглянето на токени за заявка. Провери дали Dropbox app key и secret са правилни.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Неуспешно изтеглянето на токени за заявка. Провери дали Dropbox app key и secret са правилни.", - "Please provide a valid Dropbox app key and secret." : "Моля, задай валидни Dropbox app key и secret.", "Step 1 failed. Exception: %s" : "Стъпка 1 - неуспешна. Грешка: %s", "Step 2 failed. Exception: %s" : "Стъпка 2 - неуспешна. Грешка: %s", "External storage" : "Външно дисково пространство", - "Local" : "Локален", - "Location" : "Местоположение", - "Amazon S3" : "Amazon S3", - "Key" : "Key", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 и съвместими", - "Access Key" : "Access Key", - "Secret Key" : "Secret Key", - "Hostname" : "Сървър", - "Port" : "Порт", - "Region" : "Регион", - "Enable SSL" : "Включи SSL", - "Enable Path Style" : "Включи Path Style", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Сървър", - "Username" : "Потребителско Име", - "Password" : "Парола", - "Remote subfolder" : "Външна подпапка", - "Secure ftps://" : "Сигурен ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Потребителско Име", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Регион (незадължително за OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (задължително за Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (задължително за OpenStack Object Storage)", @@ -38,27 +14,45 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Service Name (задължително за OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (задължително за OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Timeout за HTTP заявки в секунди", - "Share" : "Споделяне", "SMB / CIFS using OC login" : "SMB / CIFS използвайки OC профил", + "Host" : "Сървър", "Username as share" : "Потребителско име като споделена папка", - "URL" : "Интернет Адрес", - "Secure https://" : "Подсигурен https://", + "Share" : "Споделяне", + "Remote subfolder" : "Външна подпапка", "Public key" : "Публичен ключ", "Storage with id \"%i\" not found" : "Хранилище с име \"%i\" не е намерено", "Invalid mount point" : "Невалиден път за мониторане на файлова система", - "Access granted" : "Достъпът разрешен", - "Error configuring Dropbox storage" : "Грешка при настройката на Dropbox дисковото пространство.", - "Grant access" : "Разреши достъп", - "Error configuring Google Drive storage" : "Грешка при настройката на Dropbox дисковото пространство.", "Personal" : "Личен", "System" : "Системен", + "Grant access" : "Разреши достъп", + "Access granted" : "Достъпът разрешен", "All users. Type to select user or group." : "Всички потребители. Пиши, за да избереш потребител или група.", "(group)" : "(група)", "Saved" : "Запазено", "Generate keys" : "Генериране на криптографски ключове", "Error generating key pair" : "Грешка при генериране на криптографски ключове", + "None" : "Няма", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "Парола", + "Amazon S3" : "Amazon S3", + "Hostname" : "Сървър", + "Port" : "Порт", + "Region" : "Регион", + "Enable SSL" : "Включи SSL", + "Enable Path Style" : "Включи Path Style", + "WebDAV" : "WebDAV", + "URL" : "Интернет Адрес", + "Secure https://" : "Подсигурен https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Сигурен ftps://", + "Local" : "Локален", + "Location" : "Местоположение", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Бележка: ", - "and" : "и", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: PHP подръжката на cURL не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: PHP подръжката на FTP не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: \"%s\" не е инсталиран. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", @@ -71,9 +65,9 @@ OC.L10N.register( "Folder name" : "Име на папката", "Configuration" : "Настройки", "Available for" : "Достъпно за", - "Add storage" : "Добави дисково пространство", "Advanced settings" : "Разширени настройки", "Delete" : "Изтрий", + "Add storage" : "Добави дисково пространство", "Enable User External Storage" : "Разреши Потребителско Външно Дисково Пространство", "Allow users to mount the following external storage" : "Разреши на потребителите да прикачват следното външно дисково пространство" }, diff --git a/apps/files_external/l10n/bg_BG.json b/apps/files_external/l10n/bg_BG.json index 3ae1ded696..5dc36e1f24 100644 --- a/apps/files_external/l10n/bg_BG.json +++ b/apps/files_external/l10n/bg_BG.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Неуспешно изтеглянето на токени за заявка. Провери дали Dropbox app key и secret са правилни.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Неуспешно изтеглянето на токени за заявка. Провери дали Dropbox app key и secret са правилни.", - "Please provide a valid Dropbox app key and secret." : "Моля, задай валидни Dropbox app key и secret.", "Step 1 failed. Exception: %s" : "Стъпка 1 - неуспешна. Грешка: %s", "Step 2 failed. Exception: %s" : "Стъпка 2 - неуспешна. Грешка: %s", "External storage" : "Външно дисково пространство", - "Local" : "Локален", - "Location" : "Местоположение", - "Amazon S3" : "Amazon S3", - "Key" : "Key", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 и съвместими", - "Access Key" : "Access Key", - "Secret Key" : "Secret Key", - "Hostname" : "Сървър", - "Port" : "Порт", - "Region" : "Регион", - "Enable SSL" : "Включи SSL", - "Enable Path Style" : "Включи Path Style", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Сървър", - "Username" : "Потребителско Име", - "Password" : "Парола", - "Remote subfolder" : "Външна подпапка", - "Secure ftps://" : "Сигурен ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Потребителско Име", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Регион (незадължително за OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (задължително за Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (задължително за OpenStack Object Storage)", @@ -36,27 +12,45 @@ "Service Name (required for OpenStack Object Storage)" : "Service Name (задължително за OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (задължително за OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Timeout за HTTP заявки в секунди", - "Share" : "Споделяне", "SMB / CIFS using OC login" : "SMB / CIFS използвайки OC профил", + "Host" : "Сървър", "Username as share" : "Потребителско име като споделена папка", - "URL" : "Интернет Адрес", - "Secure https://" : "Подсигурен https://", + "Share" : "Споделяне", + "Remote subfolder" : "Външна подпапка", "Public key" : "Публичен ключ", "Storage with id \"%i\" not found" : "Хранилище с име \"%i\" не е намерено", "Invalid mount point" : "Невалиден път за мониторане на файлова система", - "Access granted" : "Достъпът разрешен", - "Error configuring Dropbox storage" : "Грешка при настройката на Dropbox дисковото пространство.", - "Grant access" : "Разреши достъп", - "Error configuring Google Drive storage" : "Грешка при настройката на Dropbox дисковото пространство.", "Personal" : "Личен", "System" : "Системен", + "Grant access" : "Разреши достъп", + "Access granted" : "Достъпът разрешен", "All users. Type to select user or group." : "Всички потребители. Пиши, за да избереш потребител или група.", "(group)" : "(група)", "Saved" : "Запазено", "Generate keys" : "Генериране на криптографски ключове", "Error generating key pair" : "Грешка при генериране на криптографски ключове", + "None" : "Няма", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "Парола", + "Amazon S3" : "Amazon S3", + "Hostname" : "Сървър", + "Port" : "Порт", + "Region" : "Регион", + "Enable SSL" : "Включи SSL", + "Enable Path Style" : "Включи Path Style", + "WebDAV" : "WebDAV", + "URL" : "Интернет Адрес", + "Secure https://" : "Подсигурен https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Сигурен ftps://", + "Local" : "Локален", + "Location" : "Местоположение", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Бележка: ", - "and" : "и", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: PHP подръжката на cURL не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: PHP подръжката на FTP не е включена или инсталирана. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: \"%s\" не е инсталиран. Прикачването на %s не е възможно. Моля, поискай системния администратор да я инсталира.", @@ -69,9 +63,9 @@ "Folder name" : "Име на папката", "Configuration" : "Настройки", "Available for" : "Достъпно за", - "Add storage" : "Добави дисково пространство", "Advanced settings" : "Разширени настройки", "Delete" : "Изтрий", + "Add storage" : "Добави дисково пространство", "Enable User External Storage" : "Разреши Потребителско Външно Дисково Пространство", "Allow users to mount the following external storage" : "Разреши на потребителите да прикачват следното външно дисково пространство" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/bn_BD.js b/apps/files_external/l10n/bn_BD.js index 79df8f58bf..bc34c5a530 100644 --- a/apps/files_external/l10n/bn_BD.js +++ b/apps/files_external/l10n/bn_BD.js @@ -1,36 +1,34 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "দয়া করে সঠিক এবং বৈধ Dropbox app key and secret প্রদান করুন।", "Step 1 failed. Exception: %s" : "প্রথম ধাপ ব্যার্থ। ব্যতিক্রম: %s", "External storage" : "বাহ্যিক সংরক্ষণাগার", - "Local" : "স্থানীয়", - "Location" : "অবস্থান", - "Amazon S3" : "আমাজন S3", - "Key" : "কী", - "Secret" : "গোপণীয়", + "Username" : "ব্যবহারকারী", "Bucket" : "বালতি", - "Secret Key" : "গোপণ চাবি", + "Host" : "হোস্ট", + "Share" : "ভাগাভাগি কর", + "Personal" : "ব্যক্তিগত", + "Grant access" : "অধিগমনের অনুমতি প্রদান কর", + "Access granted" : "অধিগমনের অনুমতি প্রদান করা হলো", + "(group)" : "(গোষ্ঠি)", + "Saved" : "সংরক্ষণ করা হলো", + "None" : "কোনটিই নয়", + "App key" : "অ্যাপ কি", + "App secret" : "অ্যাপ সিক্রেট", + "Client ID" : "ক্লায়েন্ট পরিচিতি", + "Password" : "কূটশব্দ", + "Amazon S3" : "আমাজন S3", "Hostname" : "হোস্টনেম", "Port" : "পোর্ট", "Region" : "এলাকা", "Enable SSL" : "SSL সক্রিয় কর", - "App key" : "অ্যাপ কি", - "App secret" : "অ্যাপ সিক্রেট", - "Host" : "হোস্ট", - "Username" : "ব্যবহারকারী", - "Password" : "কূটশব্দ", - "Secure ftps://" : "ftps:// অর্জন কর", - "Client ID" : "ক্লায়েন্ট পরিচিতি", - "Share" : "ভাগাভাগি কর", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "অধিগমনের অনুমতি প্রদান করা হলো", - "Error configuring Dropbox storage" : "Dropbox সংরক্ষণাগার নির্ধারণ করতে সমস্যা ", - "Grant access" : "অধিগমনের অনুমতি প্রদান কর", - "Error configuring Google Drive storage" : "Google Drive সংরক্ষণাগার নির্ধারণ করতে সমস্যা ", - "Personal" : "ব্যক্তিগত", - "(group)" : "(গোষ্ঠি)", - "Saved" : "সংরক্ষণ করা হলো", + "Secure ftps://" : "ftps:// অর্জন কর", + "Local" : "স্থানীয়", + "Location" : "অবস্থান", + "ownCloud" : "ওউনক্লাউড", + "Root" : "শেকড়", "Note: " : "দ্রষ্টব্য: ", "Name" : "রাম", "External Storage" : "বাহ্যিক সংরক্ষণাগার", diff --git a/apps/files_external/l10n/bn_BD.json b/apps/files_external/l10n/bn_BD.json index 74da3dd1af..e4e05addb5 100644 --- a/apps/files_external/l10n/bn_BD.json +++ b/apps/files_external/l10n/bn_BD.json @@ -1,34 +1,32 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "দয়া করে সঠিক এবং বৈধ Dropbox app key and secret প্রদান করুন।", "Step 1 failed. Exception: %s" : "প্রথম ধাপ ব্যার্থ। ব্যতিক্রম: %s", "External storage" : "বাহ্যিক সংরক্ষণাগার", - "Local" : "স্থানীয়", - "Location" : "অবস্থান", - "Amazon S3" : "আমাজন S3", - "Key" : "কী", - "Secret" : "গোপণীয়", + "Username" : "ব্যবহারকারী", "Bucket" : "বালতি", - "Secret Key" : "গোপণ চাবি", + "Host" : "হোস্ট", + "Share" : "ভাগাভাগি কর", + "Personal" : "ব্যক্তিগত", + "Grant access" : "অধিগমনের অনুমতি প্রদান কর", + "Access granted" : "অধিগমনের অনুমতি প্রদান করা হলো", + "(group)" : "(গোষ্ঠি)", + "Saved" : "সংরক্ষণ করা হলো", + "None" : "কোনটিই নয়", + "App key" : "অ্যাপ কি", + "App secret" : "অ্যাপ সিক্রেট", + "Client ID" : "ক্লায়েন্ট পরিচিতি", + "Password" : "কূটশব্দ", + "Amazon S3" : "আমাজন S3", "Hostname" : "হোস্টনেম", "Port" : "পোর্ট", "Region" : "এলাকা", "Enable SSL" : "SSL সক্রিয় কর", - "App key" : "অ্যাপ কি", - "App secret" : "অ্যাপ সিক্রেট", - "Host" : "হোস্ট", - "Username" : "ব্যবহারকারী", - "Password" : "কূটশব্দ", - "Secure ftps://" : "ftps:// অর্জন কর", - "Client ID" : "ক্লায়েন্ট পরিচিতি", - "Share" : "ভাগাভাগি কর", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "অধিগমনের অনুমতি প্রদান করা হলো", - "Error configuring Dropbox storage" : "Dropbox সংরক্ষণাগার নির্ধারণ করতে সমস্যা ", - "Grant access" : "অধিগমনের অনুমতি প্রদান কর", - "Error configuring Google Drive storage" : "Google Drive সংরক্ষণাগার নির্ধারণ করতে সমস্যা ", - "Personal" : "ব্যক্তিগত", - "(group)" : "(গোষ্ঠি)", - "Saved" : "সংরক্ষণ করা হলো", + "Secure ftps://" : "ftps:// অর্জন কর", + "Local" : "স্থানীয়", + "Location" : "অবস্থান", + "ownCloud" : "ওউনক্লাউড", + "Root" : "শেকড়", "Note: " : "দ্রষ্টব্য: ", "Name" : "রাম", "External Storage" : "বাহ্যিক সংরক্ষণাগার", diff --git a/apps/files_external/l10n/bn_IN.js b/apps/files_external/l10n/bn_IN.js index cd66c82ab8..323ee6f9ed 100644 --- a/apps/files_external/l10n/bn_IN.js +++ b/apps/files_external/l10n/bn_IN.js @@ -1,11 +1,11 @@ OC.L10N.register( "files_external", { - "Host" : "হোস্ট", "Username" : "ইউজারনেম", + "Host" : "হোস্ট", "Share" : "শেয়ার", - "URL" : "URL", "Saved" : "সংরক্ষিত", + "URL" : "URL", "Name" : "নাম", "Folder name" : "ফোল্ডারের নাম", "Delete" : "মুছে ফেলা" diff --git a/apps/files_external/l10n/bn_IN.json b/apps/files_external/l10n/bn_IN.json index ca30788dbc..63103d7dba 100644 --- a/apps/files_external/l10n/bn_IN.json +++ b/apps/files_external/l10n/bn_IN.json @@ -1,9 +1,9 @@ { "translations": { - "Host" : "হোস্ট", "Username" : "ইউজারনেম", + "Host" : "হোস্ট", "Share" : "শেয়ার", - "URL" : "URL", "Saved" : "সংরক্ষিত", + "URL" : "URL", "Name" : "নাম", "Folder name" : "ফোল্ডারের নাম", "Delete" : "মুছে ফেলা" diff --git a/apps/files_external/l10n/bs.js b/apps/files_external/l10n/bs.js index b71d1832e5..dad18fbf09 100644 --- a/apps/files_external/l10n/bs.js +++ b/apps/files_external/l10n/bs.js @@ -1,14 +1,17 @@ OC.L10N.register( "files_external", { - "Local" : "Lokalno", - "Location" : "Lokacija", - "Port" : "Priključak", "Username" : "Korisničko ime", - "Password" : "Lozinka", "Share" : "Podijeli", "Personal" : "Osobno", "Saved" : "Spremljeno", + "None" : "Ništa", + "Password" : "Lozinka", + "Port" : "Priključak", + "WebDAV" : "WebDAV", + "Local" : "Lokalno", + "Location" : "Lokacija", + "ownCloud" : "OwnCloud", "Name" : "Ime", "Delete" : "Izbriši" }, diff --git a/apps/files_external/l10n/bs.json b/apps/files_external/l10n/bs.json index 36141be81e..7db1c69078 100644 --- a/apps/files_external/l10n/bs.json +++ b/apps/files_external/l10n/bs.json @@ -1,12 +1,15 @@ { "translations": { - "Local" : "Lokalno", - "Location" : "Lokacija", - "Port" : "Priključak", "Username" : "Korisničko ime", - "Password" : "Lozinka", "Share" : "Podijeli", "Personal" : "Osobno", "Saved" : "Spremljeno", + "None" : "Ništa", + "Password" : "Lozinka", + "Port" : "Priključak", + "WebDAV" : "WebDAV", + "Local" : "Lokalno", + "Location" : "Lokacija", + "ownCloud" : "OwnCloud", "Name" : "Ime", "Delete" : "Izbriši" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" diff --git a/apps/files_external/l10n/ca.js b/apps/files_external/l10n/ca.js index b3ccb76ccd..83e99c45c5 100644 --- a/apps/files_external/l10n/ca.js +++ b/apps/files_external/l10n/ca.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Ha fallat en obtenir els testimonis de la petició. Verifiqueu que la clau i la contrasenya de l'aplicació Dropbox són correctes.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Ha fallat en obtenir els testimonis de la petició. Verifiqueu que la clau i la contrasenya de l'aplicació Dropbox són correctes.", - "Please provide a valid Dropbox app key and secret." : "Proporcioneu una clau d'aplicació i secret vàlids per a Dropbox", "Step 1 failed. Exception: %s" : "El pas 1 ha fallat. Excepció: %s", "Step 2 failed. Exception: %s" : "El pas 2 ha fallat. Excepció: %s", "External storage" : "Emmagatzemament extern", - "Local" : "Local", - "Location" : "Ubicació", - "Amazon S3" : "Amazon S3", - "Key" : "Clau", - "Secret" : "Secret", - "Bucket" : "Cub", - "Amazon S3 and compliant" : "Amazon S3 i similars", - "Access Key" : "Clau d'accés", - "Secret Key" : "Clau secreta", - "Hostname" : "Nom del servidor", - "Port" : "Port", - "Region" : "Comarca", - "Enable SSL" : "Habilita SSL", - "Enable Path Style" : "Permet l'estil del camí", - "App key" : "Clau de l'aplicació", - "App secret" : "Secret de l'aplicació", - "Host" : "Equip remot", - "Username" : "Nom d'usuari", - "Password" : "Contrasenya", - "Remote subfolder" : "Subcarpeta remota", - "Secure ftps://" : "Protocol segur ftps://", - "Client ID" : "Client ID", - "Client secret" : "Secret del client", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nom d'usuari", + "Bucket" : "Cub", "Region (optional for OpenStack Object Storage)" : "Regió (opcional per OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clau API (requerit per fitxers al núvol Rackspace)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (requerit per OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nom del servei (requerit per OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt identificador final (requerit per OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Temps d'expera màxim de les peticions HTTP en segons", - "Share" : "Comparteix", "SMB / CIFS using OC login" : "SMB / CIFS usant acreditació OC", + "Host" : "Equip remot", "Username as share" : "Nom d'usuari per compartir", - "URL" : "URL", - "Secure https://" : "Protocol segur https://", + "Share" : "Comparteix", + "Remote subfolder" : "Subcarpeta remota", "SFTP with secret key login" : "Inici de sessió SFTP amb clau secreta", "Public key" : "Clau pública", "Storage with id \"%i\" not found" : "No s'ha trobat emmagatzematge amb id \"%i\"", "Invalid mount point" : "Punt de muntatge no vàlid", "Invalid storage backend \"%s\"" : "Motor d'emmagatzematge no vàlid \"%s\"", - "Access granted" : "S'ha concedit l'accés", - "Error configuring Dropbox storage" : "Error en configurar l'emmagatzemament Dropbox", - "Grant access" : "Concedeix accés", - "Error configuring Google Drive storage" : "Error en configurar l'emmagatzemament Google Drive", "Personal" : "Personal", "System" : "Sistema", + "Grant access" : "Concedeix accés", + "Access granted" : "S'ha concedit l'accés", "Enable encryption" : "Habilitar xifrat", "Enable previews" : "Habilitar vistes prèvies", "Check for changes" : "Comproveu si hi ha canvis", @@ -65,8 +39,27 @@ OC.L10N.register( "Saved" : "Desat", "Generate keys" : "Generar claus", "Error generating key pair" : "Error en generar el parell de claus", + "None" : "Cap", + "App key" : "Clau de l'aplicació", + "App secret" : "Secret de l'aplicació", + "Client ID" : "Client ID", + "Client secret" : "Secret del client", + "Password" : "Contrasenya", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nom del servidor", + "Port" : "Port", + "Region" : "Comarca", + "Enable SSL" : "Habilita SSL", + "Enable Path Style" : "Permet l'estil del camí", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Protocol segur https://", + "Secure ftps://" : "Protocol segur ftps://", + "Local" : "Local", + "Location" : "Ubicació", + "ownCloud" : "ownCloud", + "Root" : "Arrel", "Note: " : "Nota: ", - "and" : "i", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El suport cURL no està activat o instal·lat a PHP. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: %s no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", @@ -79,9 +72,9 @@ OC.L10N.register( "Folder name" : "Nom de la carpeta", "Configuration" : "Configuració", "Available for" : "Disponible per", - "Add storage" : "Afegeix emmagatzemament", "Advanced settings" : "Configuració avançada", "Delete" : "Esborra", + "Add storage" : "Afegeix emmagatzemament", "Enable User External Storage" : "Habilita l'emmagatzemament extern d'usuari", "Allow users to mount the following external storage" : "Permet als usuaris muntar els dispositius externs següents" }, diff --git a/apps/files_external/l10n/ca.json b/apps/files_external/l10n/ca.json index 6295ed8df3..0b5cc866f5 100644 --- a/apps/files_external/l10n/ca.json +++ b/apps/files_external/l10n/ca.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Ha fallat en obtenir els testimonis de la petició. Verifiqueu que la clau i la contrasenya de l'aplicació Dropbox són correctes.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Ha fallat en obtenir els testimonis de la petició. Verifiqueu que la clau i la contrasenya de l'aplicació Dropbox són correctes.", - "Please provide a valid Dropbox app key and secret." : "Proporcioneu una clau d'aplicació i secret vàlids per a Dropbox", "Step 1 failed. Exception: %s" : "El pas 1 ha fallat. Excepció: %s", "Step 2 failed. Exception: %s" : "El pas 2 ha fallat. Excepció: %s", "External storage" : "Emmagatzemament extern", - "Local" : "Local", - "Location" : "Ubicació", - "Amazon S3" : "Amazon S3", - "Key" : "Clau", - "Secret" : "Secret", - "Bucket" : "Cub", - "Amazon S3 and compliant" : "Amazon S3 i similars", - "Access Key" : "Clau d'accés", - "Secret Key" : "Clau secreta", - "Hostname" : "Nom del servidor", - "Port" : "Port", - "Region" : "Comarca", - "Enable SSL" : "Habilita SSL", - "Enable Path Style" : "Permet l'estil del camí", - "App key" : "Clau de l'aplicació", - "App secret" : "Secret de l'aplicació", - "Host" : "Equip remot", - "Username" : "Nom d'usuari", - "Password" : "Contrasenya", - "Remote subfolder" : "Subcarpeta remota", - "Secure ftps://" : "Protocol segur ftps://", - "Client ID" : "Client ID", - "Client secret" : "Secret del client", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nom d'usuari", + "Bucket" : "Cub", "Region (optional for OpenStack Object Storage)" : "Regió (opcional per OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clau API (requerit per fitxers al núvol Rackspace)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (requerit per OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Nom del servei (requerit per OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt identificador final (requerit per OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Temps d'expera màxim de les peticions HTTP en segons", - "Share" : "Comparteix", "SMB / CIFS using OC login" : "SMB / CIFS usant acreditació OC", + "Host" : "Equip remot", "Username as share" : "Nom d'usuari per compartir", - "URL" : "URL", - "Secure https://" : "Protocol segur https://", + "Share" : "Comparteix", + "Remote subfolder" : "Subcarpeta remota", "SFTP with secret key login" : "Inici de sessió SFTP amb clau secreta", "Public key" : "Clau pública", "Storage with id \"%i\" not found" : "No s'ha trobat emmagatzematge amb id \"%i\"", "Invalid mount point" : "Punt de muntatge no vàlid", "Invalid storage backend \"%s\"" : "Motor d'emmagatzematge no vàlid \"%s\"", - "Access granted" : "S'ha concedit l'accés", - "Error configuring Dropbox storage" : "Error en configurar l'emmagatzemament Dropbox", - "Grant access" : "Concedeix accés", - "Error configuring Google Drive storage" : "Error en configurar l'emmagatzemament Google Drive", "Personal" : "Personal", "System" : "Sistema", + "Grant access" : "Concedeix accés", + "Access granted" : "S'ha concedit l'accés", "Enable encryption" : "Habilitar xifrat", "Enable previews" : "Habilitar vistes prèvies", "Check for changes" : "Comproveu si hi ha canvis", @@ -63,8 +37,27 @@ "Saved" : "Desat", "Generate keys" : "Generar claus", "Error generating key pair" : "Error en generar el parell de claus", + "None" : "Cap", + "App key" : "Clau de l'aplicació", + "App secret" : "Secret de l'aplicació", + "Client ID" : "Client ID", + "Client secret" : "Secret del client", + "Password" : "Contrasenya", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nom del servidor", + "Port" : "Port", + "Region" : "Comarca", + "Enable SSL" : "Habilita SSL", + "Enable Path Style" : "Permet l'estil del camí", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Protocol segur https://", + "Secure ftps://" : "Protocol segur ftps://", + "Local" : "Local", + "Location" : "Ubicació", + "ownCloud" : "ownCloud", + "Root" : "Arrel", "Note: " : "Nota: ", - "and" : "i", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El suport cURL no està activat o instal·lat a PHP. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El suport FTP per PHP no està activat o no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: %s no està instal·lat. No es pot muntar %s. Demaneu a l'administrador del sistema que l'instal·li.", @@ -77,9 +70,9 @@ "Folder name" : "Nom de la carpeta", "Configuration" : "Configuració", "Available for" : "Disponible per", - "Add storage" : "Afegeix emmagatzemament", "Advanced settings" : "Configuració avançada", "Delete" : "Esborra", + "Add storage" : "Afegeix emmagatzemament", "Enable User External Storage" : "Habilita l'emmagatzemament extern d'usuari", "Allow users to mount the following external storage" : "Permet als usuaris muntar els dispositius externs següents" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/cs_CZ.js b/apps/files_external/l10n/cs_CZ.js index 4698dd915a..b39eef71ea 100644 --- a/apps/files_external/l10n/cs_CZ.js +++ b/apps/files_external/l10n/cs_CZ.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace Dropbox a tajné heslo jsou správné.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace Dropbox a tajné heslo jsou správné.", - "Please provide a valid Dropbox app key and secret." : "Zadejte, prosím, platný klíč a bezpečnostní frázi aplikace Dropbox.", "Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s", "Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s", "External storage" : "Externí úložiště", - "Local" : "Místní", - "Location" : "Umístění", - "Amazon S3" : "Amazon S3", - "Key" : "Klíč", - "Secret" : "Tajemství", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 a kompatibilní", - "Access Key" : "Přístupový klíč", - "Secret Key" : "Tajný klíč", - "Hostname" : "Hostname", - "Port" : "Port", - "Region" : "Kraj", - "Enable SSL" : "Povolit SSL", - "Enable Path Style" : "Povolit Path Style", - "App key" : "Klíč aplikace", - "App secret" : "Tajemství aplikace", - "Host" : "Počítač", - "Username" : "Uživatelské jméno", - "Password" : "Heslo", - "Remote subfolder" : "Vzdálený podadresář", - "Secure ftps://" : "Zabezpečené ftps://", - "Client ID" : "Klientské ID", - "Client secret" : "Klientské tajemství", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Uživatelské jméno", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (nepovinný pro OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API klíč (vyžadován pro Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Jméno nájemce (vyžadováno pro OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Název služby (vyžadováno pro OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL identity koncového bodu (vyžadováno pro OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Časový limit HTTP požadavků v sekundách", - "Share" : "Sdílet", "SMB / CIFS using OC login" : "SMB / CIFS za použití přihlašovacího jména OC", + "Host" : "Počítač", "Username as share" : "Uživatelské jméno jako sdílený adresář", - "URL" : "URL", - "Secure https://" : "Zabezpečené https://", + "Share" : "Sdílet", + "Remote subfolder" : "Vzdálený podadresář", "SFTP with secret key login" : "SFTP login s tajným klíčem", "Public key" : "Veřejný klíč", "Storage with id \"%i\" not found" : "Úložiště s id \"%i\" nebylo nalezeno", "Invalid mount point" : "Neplatný přípojný bod", "Invalid storage backend \"%s\"" : "Neplatná služba úložiště \"%s\"", - "Access granted" : "Přístup povolen", - "Error configuring Dropbox storage" : "Chyba při nastavení úložiště Dropbox", - "Grant access" : "Povolit přístup", - "Error configuring Google Drive storage" : "Chyba při nastavení úložiště Google Drive", "Personal" : "Osobní", "System" : "Systém", + "Grant access" : "Povolit přístup", + "Access granted" : "Přístup povolen", "Enable encryption" : "Povolit šifrování", "Enable previews" : "Povolit náhledy", "Check for changes" : "Zkontrolovat změny", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Uloženo", "Generate keys" : "Vytvořit klíče", "Error generating key pair" : "Chyba při vytváření páru klíčů", + "None" : "Žádné", + "App key" : "Klíč aplikace", + "App secret" : "Tajemství aplikace", + "Client ID" : "Klientské ID", + "Client secret" : "Klientské tajemství", + "Password" : "Heslo", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostname", + "Port" : "Port", + "Region" : "Kraj", + "Enable SSL" : "Povolit SSL", + "Enable Path Style" : "Povolit Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Zabezpečené https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Zabezpečené ftps://", + "Local" : "Místní", + "Location" : "Umístění", + "ownCloud" : "ownCloud", + "Root" : "Kořen", "Note: " : "Poznámka:", - "and" : "a", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: \"%s\" není instalováno. Není možné připojení %s. Prosím požádejte svého správce systému o instalaci.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Název složky", "Configuration" : "Nastavení", "Available for" : "Dostupné pro", - "Add storage" : "Přidat úložiště", "Advanced settings" : "Pokročilá nastavení", "Delete" : "Smazat", + "Add storage" : "Přidat úložiště", "Enable User External Storage" : "Zapnout externí uživatelské úložiště", "Allow users to mount the following external storage" : "Povolit uživatelů připojit následující externí úložiště" }, diff --git a/apps/files_external/l10n/cs_CZ.json b/apps/files_external/l10n/cs_CZ.json index 53b2162daf..c014da7976 100644 --- a/apps/files_external/l10n/cs_CZ.json +++ b/apps/files_external/l10n/cs_CZ.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace Dropbox a tajné heslo jsou správné.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Získání přístupových tokenů selhalo. Ověřte že klíč aplikace Dropbox a tajné heslo jsou správné.", - "Please provide a valid Dropbox app key and secret." : "Zadejte, prosím, platný klíč a bezpečnostní frázi aplikace Dropbox.", "Step 1 failed. Exception: %s" : "Selhal krok 1. Výjimka: %s", "Step 2 failed. Exception: %s" : "Selhal krok 2. Výjimka: %s", "External storage" : "Externí úložiště", - "Local" : "Místní", - "Location" : "Umístění", - "Amazon S3" : "Amazon S3", - "Key" : "Klíč", - "Secret" : "Tajemství", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 a kompatibilní", - "Access Key" : "Přístupový klíč", - "Secret Key" : "Tajný klíč", - "Hostname" : "Hostname", - "Port" : "Port", - "Region" : "Kraj", - "Enable SSL" : "Povolit SSL", - "Enable Path Style" : "Povolit Path Style", - "App key" : "Klíč aplikace", - "App secret" : "Tajemství aplikace", - "Host" : "Počítač", - "Username" : "Uživatelské jméno", - "Password" : "Heslo", - "Remote subfolder" : "Vzdálený podadresář", - "Secure ftps://" : "Zabezpečené ftps://", - "Client ID" : "Klientské ID", - "Client secret" : "Klientské tajemství", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Uživatelské jméno", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (nepovinný pro OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API klíč (vyžadován pro Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Jméno nájemce (vyžadováno pro OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Název služby (vyžadováno pro OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL identity koncového bodu (vyžadováno pro OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Časový limit HTTP požadavků v sekundách", - "Share" : "Sdílet", "SMB / CIFS using OC login" : "SMB / CIFS za použití přihlašovacího jména OC", + "Host" : "Počítač", "Username as share" : "Uživatelské jméno jako sdílený adresář", - "URL" : "URL", - "Secure https://" : "Zabezpečené https://", + "Share" : "Sdílet", + "Remote subfolder" : "Vzdálený podadresář", "SFTP with secret key login" : "SFTP login s tajným klíčem", "Public key" : "Veřejný klíč", "Storage with id \"%i\" not found" : "Úložiště s id \"%i\" nebylo nalezeno", "Invalid mount point" : "Neplatný přípojný bod", "Invalid storage backend \"%s\"" : "Neplatná služba úložiště \"%s\"", - "Access granted" : "Přístup povolen", - "Error configuring Dropbox storage" : "Chyba při nastavení úložiště Dropbox", - "Grant access" : "Povolit přístup", - "Error configuring Google Drive storage" : "Chyba při nastavení úložiště Google Drive", "Personal" : "Osobní", "System" : "Systém", + "Grant access" : "Povolit přístup", + "Access granted" : "Přístup povolen", "Enable encryption" : "Povolit šifrování", "Enable previews" : "Povolit náhledy", "Check for changes" : "Zkontrolovat změny", @@ -63,8 +37,28 @@ "Saved" : "Uloženo", "Generate keys" : "Vytvořit klíče", "Error generating key pair" : "Chyba při vytváření páru klíčů", + "None" : "Žádné", + "App key" : "Klíč aplikace", + "App secret" : "Tajemství aplikace", + "Client ID" : "Klientské ID", + "Client secret" : "Klientské tajemství", + "Password" : "Heslo", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostname", + "Port" : "Port", + "Region" : "Kraj", + "Enable SSL" : "Povolit SSL", + "Enable Path Style" : "Povolit Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Zabezpečené https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Zabezpečené ftps://", + "Local" : "Místní", + "Location" : "Umístění", + "ownCloud" : "ownCloud", + "Root" : "Kořen", "Note: " : "Poznámka:", - "and" : "a", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: cURL podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: FTP podpora v PHP není povolena nebo nainstalována. Není možné připojení %s. Prosím požádejte svého správce systému ať ji nainstaluje.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: \"%s\" není instalováno. Není možné připojení %s. Prosím požádejte svého správce systému o instalaci.", @@ -77,9 +71,9 @@ "Folder name" : "Název složky", "Configuration" : "Nastavení", "Available for" : "Dostupné pro", - "Add storage" : "Přidat úložiště", "Advanced settings" : "Pokročilá nastavení", "Delete" : "Smazat", + "Add storage" : "Přidat úložiště", "Enable User External Storage" : "Zapnout externí uživatelské úložiště", "Allow users to mount the following external storage" : "Povolit uživatelů připojit následující externí úložiště" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" diff --git a/apps/files_external/l10n/cy_GB.js b/apps/files_external/l10n/cy_GB.js index 4cd0a336e9..275d7e9fd9 100644 --- a/apps/files_external/l10n/cy_GB.js +++ b/apps/files_external/l10n/cy_GB.js @@ -1,12 +1,14 @@ OC.L10N.register( "files_external", { - "Location" : "Lleoliad", "Username" : "Enw defnyddiwr", - "Password" : "Cyfrinair", "Share" : "Rhannu", - "URL" : "URL", "Personal" : "Personol", + "None" : "Dim", + "Password" : "Cyfrinair", + "URL" : "URL", + "Location" : "Lleoliad", + "ownCloud" : "ownCloud", "Name" : "Enw", "Delete" : "Dileu" }, diff --git a/apps/files_external/l10n/cy_GB.json b/apps/files_external/l10n/cy_GB.json index 257039de58..eb3568d5e1 100644 --- a/apps/files_external/l10n/cy_GB.json +++ b/apps/files_external/l10n/cy_GB.json @@ -1,10 +1,12 @@ { "translations": { - "Location" : "Lleoliad", "Username" : "Enw defnyddiwr", - "Password" : "Cyfrinair", "Share" : "Rhannu", - "URL" : "URL", "Personal" : "Personol", + "None" : "Dim", + "Password" : "Cyfrinair", + "URL" : "URL", + "Location" : "Lleoliad", + "ownCloud" : "ownCloud", "Name" : "Enw", "Delete" : "Dileu" },"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;" diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js index bafebbbf87..b592798fb9 100644 --- a/apps/files_external/l10n/da.js +++ b/apps/files_external/l10n/da.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Indhentning af symboludtryk for forespørgsler mislykkedes. Verificér at din Dropbox app-nøgle og -hemmelighed er korrekte.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Indhentning af symboludtryk for adgang mislykkedes. Verificér at din Dropbox app-nøgle og -hemmelighed er korrekte.", - "Please provide a valid Dropbox app key and secret." : "Angiv venligst en gyldig Dropbox app-nøgle og hemmelighed", "Step 1 failed. Exception: %s" : "Trin 1 mislykkedes. Undtagelse: %s", "Step 2 failed. Exception: %s" : "Trin 2 mislykkedes. Undtagelse: %s", "External storage" : "Eksternt lager", - "Local" : "Lokal", - "Location" : "Placering", - "Amazon S3" : "Amazon S3", - "Key" : "Nøgle", - "Secret" : "Hemmelighed", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 og kompatible", - "Access Key" : "Adgangsnøgle", - "Secret Key" : "Hemmelig nøgle ", - "Hostname" : "Værtsnavn", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "Aktivér SSL", - "Enable Path Style" : "Aktivér stil for sti", - "App key" : "App-nøgle", - "App secret" : "App-hemmelighed", - "Host" : "Vært", - "Username" : "Brugernavn", - "Password" : "Kodeord", - "Remote subfolder" : "Fjernundermappe", - "Secure ftps://" : "Sikker ftps://", - "Client ID" : "Klient-ID", - "Client secret" : "Klient hemmelighed", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Brugernavn", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (valgfri for OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API-nøgle (påkrævet for Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Lejers navn (påkrævet for OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Service Navn (påkrævet for OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL på slutpunkt for identitet (påkrævet for OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tidsudløb for HTTP-forespørgsler i sekunder", - "Share" : "Del", "SMB / CIFS using OC login" : "SMB / CIFS med OC-login", + "Host" : "Vært", "Username as share" : "Brugernavn som deling", - "URL" : "URL", - "Secure https://" : "Sikker https://", + "Share" : "Del", + "Remote subfolder" : "Fjernundermappe", "SFTP with secret key login" : "SFTP med hemmelig nøglelogin", "Public key" : "Offentlig nøgle", "Storage with id \"%i\" not found" : "Lager med ID'et \"%i% er ikke fundet", "Invalid mount point" : "Fokert monteringspunkt", "Invalid storage backend \"%s\"" : "Forkert lager til backend \"%s\"en", - "Access granted" : "Adgang godkendt", - "Error configuring Dropbox storage" : "Fejl ved konfiguration af Dropbox plads", - "Grant access" : "Godkend adgang", - "Error configuring Google Drive storage" : "Fejl ved konfiguration af Google Drive-plads", "Personal" : "Personligt", "System" : "System", + "Grant access" : "Godkend adgang", + "Access granted" : "Adgang godkendt", "Enable encryption" : "Slå kryptering til", "Enable previews" : "Slå forhåndsvisninger til", "Check for changes" : "Tjek for ændringer", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Gemt", "Generate keys" : "Opret nøgler.", "Error generating key pair" : "Fejl under oprettelse af nøglepar", + "None" : "Ingen", + "App key" : "App-nøgle", + "App secret" : "App-hemmelighed", + "Client ID" : "Klient-ID", + "Client secret" : "Klient hemmelighed", + "Password" : "Kodeord", + "Amazon S3" : "Amazon S3", + "Hostname" : "Værtsnavn", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "Aktivér SSL", + "Enable Path Style" : "Aktivér stil for sti", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sikker https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sikker ftps://", + "Local" : "Lokal", + "Location" : "Placering", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Note: ", - "and" : "og", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: \"%s\" er ikke installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Mappenavn", "Configuration" : "Opsætning", "Available for" : "Tilgængelig for", - "Add storage" : "Tilføj lager", "Advanced settings" : "Avancerede indstillinger", "Delete" : "Slet", + "Add storage" : "Tilføj lager", "Enable User External Storage" : "Aktivér ekstern opbevaring for brugere", "Allow users to mount the following external storage" : "Tillad brugere at montere følgende som eksternt lager" }, diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json index 663cf93b6f..7256785492 100644 --- a/apps/files_external/l10n/da.json +++ b/apps/files_external/l10n/da.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Indhentning af symboludtryk for forespørgsler mislykkedes. Verificér at din Dropbox app-nøgle og -hemmelighed er korrekte.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Indhentning af symboludtryk for adgang mislykkedes. Verificér at din Dropbox app-nøgle og -hemmelighed er korrekte.", - "Please provide a valid Dropbox app key and secret." : "Angiv venligst en gyldig Dropbox app-nøgle og hemmelighed", "Step 1 failed. Exception: %s" : "Trin 1 mislykkedes. Undtagelse: %s", "Step 2 failed. Exception: %s" : "Trin 2 mislykkedes. Undtagelse: %s", "External storage" : "Eksternt lager", - "Local" : "Lokal", - "Location" : "Placering", - "Amazon S3" : "Amazon S3", - "Key" : "Nøgle", - "Secret" : "Hemmelighed", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 og kompatible", - "Access Key" : "Adgangsnøgle", - "Secret Key" : "Hemmelig nøgle ", - "Hostname" : "Værtsnavn", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "Aktivér SSL", - "Enable Path Style" : "Aktivér stil for sti", - "App key" : "App-nøgle", - "App secret" : "App-hemmelighed", - "Host" : "Vært", - "Username" : "Brugernavn", - "Password" : "Kodeord", - "Remote subfolder" : "Fjernundermappe", - "Secure ftps://" : "Sikker ftps://", - "Client ID" : "Klient-ID", - "Client secret" : "Klient hemmelighed", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Brugernavn", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (valgfri for OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API-nøgle (påkrævet for Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Lejers navn (påkrævet for OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Service Navn (påkrævet for OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL på slutpunkt for identitet (påkrævet for OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tidsudløb for HTTP-forespørgsler i sekunder", - "Share" : "Del", "SMB / CIFS using OC login" : "SMB / CIFS med OC-login", + "Host" : "Vært", "Username as share" : "Brugernavn som deling", - "URL" : "URL", - "Secure https://" : "Sikker https://", + "Share" : "Del", + "Remote subfolder" : "Fjernundermappe", "SFTP with secret key login" : "SFTP med hemmelig nøglelogin", "Public key" : "Offentlig nøgle", "Storage with id \"%i\" not found" : "Lager med ID'et \"%i% er ikke fundet", "Invalid mount point" : "Fokert monteringspunkt", "Invalid storage backend \"%s\"" : "Forkert lager til backend \"%s\"en", - "Access granted" : "Adgang godkendt", - "Error configuring Dropbox storage" : "Fejl ved konfiguration af Dropbox plads", - "Grant access" : "Godkend adgang", - "Error configuring Google Drive storage" : "Fejl ved konfiguration af Google Drive-plads", "Personal" : "Personligt", "System" : "System", + "Grant access" : "Godkend adgang", + "Access granted" : "Adgang godkendt", "Enable encryption" : "Slå kryptering til", "Enable previews" : "Slå forhåndsvisninger til", "Check for changes" : "Tjek for ændringer", @@ -63,8 +37,28 @@ "Saved" : "Gemt", "Generate keys" : "Opret nøgler.", "Error generating key pair" : "Fejl under oprettelse af nøglepar", + "None" : "Ingen", + "App key" : "App-nøgle", + "App secret" : "App-hemmelighed", + "Client ID" : "Klient-ID", + "Client secret" : "Klient hemmelighed", + "Password" : "Kodeord", + "Amazon S3" : "Amazon S3", + "Hostname" : "Værtsnavn", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "Aktivér SSL", + "Enable Path Style" : "Aktivér stil for sti", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sikker https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sikker ftps://", + "Local" : "Lokal", + "Location" : "Placering", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Note: ", - "and" : "og", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: \"%s\" er ikke installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", @@ -77,9 +71,9 @@ "Folder name" : "Mappenavn", "Configuration" : "Opsætning", "Available for" : "Tilgængelig for", - "Add storage" : "Tilføj lager", "Advanced settings" : "Avancerede indstillinger", "Delete" : "Slet", + "Add storage" : "Tilføj lager", "Enable User External Storage" : "Aktivér ekstern opbevaring for brugere", "Allow users to mount the following external storage" : "Tillad brugere at montere følgende som eksternt lager" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/de.js b/apps/files_external/l10n/de.js index 31f4dc7923..f42ac25689 100644 --- a/apps/files_external/l10n/de.js +++ b/apps/files_external/l10n/de.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Please provide a valid Dropbox app key and secret." : "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein.", "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", "External storage" : "Externer Speicher", - "Local" : "Lokal", - "Location" : "Ort", - "Amazon S3" : "Amazon S3", - "Key" : "Schlüssel", - "Secret" : "Geheime Zeichenkette", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 und kompatible", - "Access Key" : "Zugriffsschlüssel", - "Secret Key" : "Sicherheitssschlüssel", - "Hostname" : "Host-Name", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "SSL aktivieren", - "Enable Path Style" : "Pfad-Stil aktivieren", - "App key" : "App-Schlüssel", - "App secret" : "Geheime Zeichenkette der App", - "Host" : "Host", - "Username" : "Benutzername", - "Password" : "Passwort", - "Remote subfolder" : "Entfernter Unterordner", - "Secure ftps://" : "Sicherer ftps://", - "Client ID" : "Client-ID", - "Client secret" : "Geheime Zeichenkette des Client", "OpenStack Object Storage" : "Openstack-Objektspeicher", + "Username" : "Benutzername", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (Optional für Openstack-Objektspeicher)", "API Key (required for Rackspace Cloud Files)" : "API-Schlüssel (Erforderlich für Rackspace Cloud-Dateien)", "Tenantname (required for OpenStack Object Storage)" : "Mietername (Erforderlich für Openstack-Objektspeicher)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Name der Dienstleistung (Erforderlich für Openstack-Objektspeicher)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL des Identitätsendpunktes (Erforderlich für Openstack-Objektspeicher)", "Timeout of HTTP requests in seconds" : "Zeitüberschreitung von HTTP-Anfragen in Sekunden", - "Share" : "Share", "SMB / CIFS using OC login" : "SMB / CIFS mit OC-Login", + "Host" : "Host", "Username as share" : "Benutzername als Freigabe", - "URL" : "URL", - "Secure https://" : "Sicherer HTTPS://", + "Share" : "Share", + "Remote subfolder" : "Entfernter Unterordner", "SFTP with secret key login" : "SFTP mit dem Login über einen geheimen Schlüssel", "Public key" : "Öffentlicher Schlüssel", "Storage with id \"%i\" not found" : "Der Speicher mit der ID „%i“ wurde nicht gefunden", "Invalid mount point" : "Ungültiger mount point", "Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“", - "Access granted" : "Zugriff gestattet", - "Error configuring Dropbox storage" : "Fehler beim Einrichten von Dropbox", - "Grant access" : "Zugriff gestatten", - "Error configuring Google Drive storage" : "Fehler beim Einrichten von Google Drive", "Personal" : "Persönlich", "System" : "System", + "Grant access" : "Zugriff gestatten", + "Access granted" : "Zugriff gestattet", "Enable encryption" : "Verschlüsselung aktivieren", "Enable previews" : "Vorschau aktivieren", "Check for changes" : "Auf Änderungen überprüfen", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Gespeichert", "Generate keys" : "Schlüssel erzeugen", "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", + "None" : "Keine", + "App key" : "App-Schlüssel", + "App secret" : "Geheime Zeichenkette der App", + "Client ID" : "Client-ID", + "Client secret" : "Geheime Zeichenkette des Client", + "Password" : "Passwort", + "Amazon S3" : "Amazon S3", + "Hostname" : "Host-Name", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "SSL aktivieren", + "Enable Path Style" : "Pfad-Stil aktivieren", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sicherer HTTPS://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sicherer ftps://", + "Local" : "Lokal", + "Location" : "Ort", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Hinweis: ", - "and" : "und", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an Deinen Systemadministrator.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Ordnername", "Configuration" : "Konfiguration", "Available for" : "Verfügbar für", - "Add storage" : "Speicher hinzufügen", "Advanced settings" : "Erweiterte Einstellungen", "Delete" : "Löschen", + "Add storage" : "Speicher hinzufügen", "Enable User External Storage" : "Externen Speicher für Benutzer aktivieren", "Allow users to mount the following external storage" : "Erlaube es Benutzern, den folgenden externen Speicher einzubinden" }, diff --git a/apps/files_external/l10n/de.json b/apps/files_external/l10n/de.json index ef96c6e84a..2dd3182812 100644 --- a/apps/files_external/l10n/de.json +++ b/apps/files_external/l10n/de.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stelle bitte sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Please provide a valid Dropbox app key and secret." : "Bitte trage einen gültigen Dropbox-App-Key mit Secret ein.", "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", "External storage" : "Externer Speicher", - "Local" : "Lokal", - "Location" : "Ort", - "Amazon S3" : "Amazon S3", - "Key" : "Schlüssel", - "Secret" : "Geheime Zeichenkette", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 und kompatible", - "Access Key" : "Zugriffsschlüssel", - "Secret Key" : "Sicherheitssschlüssel", - "Hostname" : "Host-Name", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "SSL aktivieren", - "Enable Path Style" : "Pfad-Stil aktivieren", - "App key" : "App-Schlüssel", - "App secret" : "Geheime Zeichenkette der App", - "Host" : "Host", - "Username" : "Benutzername", - "Password" : "Passwort", - "Remote subfolder" : "Entfernter Unterordner", - "Secure ftps://" : "Sicherer ftps://", - "Client ID" : "Client-ID", - "Client secret" : "Geheime Zeichenkette des Client", "OpenStack Object Storage" : "Openstack-Objektspeicher", + "Username" : "Benutzername", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (Optional für Openstack-Objektspeicher)", "API Key (required for Rackspace Cloud Files)" : "API-Schlüssel (Erforderlich für Rackspace Cloud-Dateien)", "Tenantname (required for OpenStack Object Storage)" : "Mietername (Erforderlich für Openstack-Objektspeicher)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Name der Dienstleistung (Erforderlich für Openstack-Objektspeicher)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL des Identitätsendpunktes (Erforderlich für Openstack-Objektspeicher)", "Timeout of HTTP requests in seconds" : "Zeitüberschreitung von HTTP-Anfragen in Sekunden", - "Share" : "Share", "SMB / CIFS using OC login" : "SMB / CIFS mit OC-Login", + "Host" : "Host", "Username as share" : "Benutzername als Freigabe", - "URL" : "URL", - "Secure https://" : "Sicherer HTTPS://", + "Share" : "Share", + "Remote subfolder" : "Entfernter Unterordner", "SFTP with secret key login" : "SFTP mit dem Login über einen geheimen Schlüssel", "Public key" : "Öffentlicher Schlüssel", "Storage with id \"%i\" not found" : "Der Speicher mit der ID „%i“ wurde nicht gefunden", "Invalid mount point" : "Ungültiger mount point", "Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“", - "Access granted" : "Zugriff gestattet", - "Error configuring Dropbox storage" : "Fehler beim Einrichten von Dropbox", - "Grant access" : "Zugriff gestatten", - "Error configuring Google Drive storage" : "Fehler beim Einrichten von Google Drive", "Personal" : "Persönlich", "System" : "System", + "Grant access" : "Zugriff gestatten", + "Access granted" : "Zugriff gestattet", "Enable encryption" : "Verschlüsselung aktivieren", "Enable previews" : "Vorschau aktivieren", "Check for changes" : "Auf Änderungen überprüfen", @@ -63,8 +37,28 @@ "Saved" : "Gespeichert", "Generate keys" : "Schlüssel erzeugen", "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", + "None" : "Keine", + "App key" : "App-Schlüssel", + "App secret" : "Geheime Zeichenkette der App", + "Client ID" : "Client-ID", + "Client secret" : "Geheime Zeichenkette des Client", + "Password" : "Passwort", + "Amazon S3" : "Amazon S3", + "Hostname" : "Host-Name", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "SSL aktivieren", + "Enable Path Style" : "Pfad-Stil aktivieren", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sicherer HTTPS://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sicherer ftps://", + "Local" : "Lokal", + "Location" : "Ort", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Hinweis: ", - "and" : "und", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich zur Installation an Deinen Systemadministrator.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wende Dich sich zur Installation an Deinen Systemadministrator.", @@ -77,9 +71,9 @@ "Folder name" : "Ordnername", "Configuration" : "Konfiguration", "Available for" : "Verfügbar für", - "Add storage" : "Speicher hinzufügen", "Advanced settings" : "Erweiterte Einstellungen", "Delete" : "Löschen", + "Add storage" : "Speicher hinzufügen", "Enable User External Storage" : "Externen Speicher für Benutzer aktivieren", "Allow users to mount the following external storage" : "Erlaube es Benutzern, den folgenden externen Speicher einzubinden" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/de_AT.js b/apps/files_external/l10n/de_AT.js index 5dbc69e296..9a481a7a00 100644 --- a/apps/files_external/l10n/de_AT.js +++ b/apps/files_external/l10n/de_AT.js @@ -1,13 +1,13 @@ OC.L10N.register( "files_external", { - "Location" : "Ort", - "Port" : "Port", - "Host" : "Host", "Username" : "Benutzername", - "Password" : "Passwort", + "Host" : "Host", "Share" : "Freigeben", "Personal" : "Persönlich", + "Password" : "Passwort", + "Port" : "Port", + "Location" : "Ort", "Folder name" : "Ordner Name", "Delete" : "Löschen" }, diff --git a/apps/files_external/l10n/de_AT.json b/apps/files_external/l10n/de_AT.json index 7fd1d456c5..b4ae1adb13 100644 --- a/apps/files_external/l10n/de_AT.json +++ b/apps/files_external/l10n/de_AT.json @@ -1,11 +1,11 @@ { "translations": { - "Location" : "Ort", - "Port" : "Port", - "Host" : "Host", "Username" : "Benutzername", - "Password" : "Passwort", + "Host" : "Host", "Share" : "Freigeben", "Personal" : "Persönlich", + "Password" : "Passwort", + "Port" : "Port", + "Location" : "Ort", "Folder name" : "Ordner Name", "Delete" : "Löschen" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/de_DE.js b/apps/files_external/l10n/de_DE.js index 0f9fac2355..309dd8064e 100644 --- a/apps/files_external/l10n/de_DE.js +++ b/apps/files_external/l10n/de_DE.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Please provide a valid Dropbox app key and secret." : "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.", "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", "External storage" : "Externer Speicher", - "Local" : "Lokal", - "Location" : "Ort", - "Amazon S3" : "Amazon S3", - "Key" : "Schlüssel", - "Secret" : "Geheime Zeichenkette", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 und Kompatible", - "Access Key" : "Zugriffsschlüssel", - "Secret Key" : "Sicherheitsschlüssel", - "Hostname" : "Host-Name", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "SSL aktivieren", - "Enable Path Style" : "Pfadstil aktivieren", - "App key" : "App-Schlüssel", - "App secret" : "Geheime Zeichenkette der App", - "Host" : "Host", - "Username" : "Benutzername", - "Password" : "Passwort", - "Remote subfolder" : "Entfernter Unterordner", - "Secure ftps://" : "Sicheres ftps://", - "Client ID" : "Client-ID", - "Client secret" : "Geheime Zeichenkette des Client", "OpenStack Object Storage" : "Openstack-Objektspeicher", + "Username" : "Benutzername", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (Optional für Openstack-Objektspeicher)", "API Key (required for Rackspace Cloud Files)" : "API-Schlüssel (Erforderlich für Rackspace Cloud-Dateien)", "Tenantname (required for OpenStack Object Storage)" : "Mietername (Erforderlich für Openstack-Objektspeicher)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Name der Dienstleistung (Erforderlich für Openstack-Objektspeicher)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL des Identitätsendpunktes (Erforderlich für Openstack-Objektspeicher)", "Timeout of HTTP requests in seconds" : "Zeitüberschreitung von HTTP-Anfragen in Sekunden", - "Share" : "Share", "SMB / CIFS using OC login" : "SMB / CIFS mit OC-Login", + "Host" : "Host", "Username as share" : "Benutzername als Freigabe", - "URL" : "Adresse", - "Secure https://" : "Sicheres https://", + "Share" : "Share", + "Remote subfolder" : "Entfernter Unterordner", "SFTP with secret key login" : "SFTP mit dem Login über einen geheimen Schlüssel", "Public key" : "Öffentlicher Schlüssel", "Storage with id \"%i\" not found" : "Der Speicher mit der ID „%i“ wurde nicht gefunden", "Invalid mount point" : "Ungültiger mount point", "Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“", - "Access granted" : "Zugriff gestattet", - "Error configuring Dropbox storage" : "Fehler beim Einrichten von Dropbox", - "Grant access" : "Zugriff gestatten", - "Error configuring Google Drive storage" : "Fehler beim Einrichten von Google Drive", "Personal" : "Persönlich", "System" : "System", + "Grant access" : "Zugriff gestatten", + "Access granted" : "Zugriff gestattet", "Enable encryption" : "Verschlüsselung aktivieren", "Enable previews" : "Vorschau aktivieren", "Check for changes" : "Auf Änderungen überprüfen", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Gespeichert", "Generate keys" : "Schlüssel erzeugen", "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", + "None" : "Keine", + "App key" : "App-Schlüssel", + "App secret" : "Geheime Zeichenkette der App", + "Client ID" : "Client-ID", + "Client secret" : "Geheime Zeichenkette des Client", + "Password" : "Passwort", + "Amazon S3" : "Amazon S3", + "Hostname" : "Host-Name", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "SSL aktivieren", + "Enable Path Style" : "Pfadstil aktivieren", + "WebDAV" : "WebDAV", + "URL" : "Adresse", + "Secure https://" : "Sicheres https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sicheres ftps://", + "Local" : "Lokal", + "Location" : "Ort", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Hinweis: ", - "and" : "und", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Ordnername", "Configuration" : "Konfiguration", "Available for" : "Verfügbar für", - "Add storage" : "Speicher hinzufügen", "Advanced settings" : "Erweiterte Einstellungen", "Delete" : "Löschen", + "Add storage" : "Speicher hinzufügen", "Enable User External Storage" : "Externen Speicher für Benutzer aktivieren", "Allow users to mount the following external storage" : "Erlauben Sie Benutzern, folgende externe Speicher einzubinden" }, diff --git a/apps/files_external/l10n/de_DE.json b/apps/files_external/l10n/de_DE.json index ad137e5675..74ca241655 100644 --- a/apps/files_external/l10n/de_DE.json +++ b/apps/files_external/l10n/de_DE.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Anfrage-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Abrufen des Zugriff-Tokens fehlgeschlagen. Stellen Sie sicher, dass der Anwendungsschlüssel und Sicherheitsschlüssel für Dropbox korrekt sind.", - "Please provide a valid Dropbox app key and secret." : "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.", "Step 1 failed. Exception: %s" : "Schritt 1 fehlgeschlagen. Fehlermeldung: %s", "Step 2 failed. Exception: %s" : "Schritt 2 fehlgeschlagen. Fehlermeldung: %s", "External storage" : "Externer Speicher", - "Local" : "Lokal", - "Location" : "Ort", - "Amazon S3" : "Amazon S3", - "Key" : "Schlüssel", - "Secret" : "Geheime Zeichenkette", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 und Kompatible", - "Access Key" : "Zugriffsschlüssel", - "Secret Key" : "Sicherheitsschlüssel", - "Hostname" : "Host-Name", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "SSL aktivieren", - "Enable Path Style" : "Pfadstil aktivieren", - "App key" : "App-Schlüssel", - "App secret" : "Geheime Zeichenkette der App", - "Host" : "Host", - "Username" : "Benutzername", - "Password" : "Passwort", - "Remote subfolder" : "Entfernter Unterordner", - "Secure ftps://" : "Sicheres ftps://", - "Client ID" : "Client-ID", - "Client secret" : "Geheime Zeichenkette des Client", "OpenStack Object Storage" : "Openstack-Objektspeicher", + "Username" : "Benutzername", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (Optional für Openstack-Objektspeicher)", "API Key (required for Rackspace Cloud Files)" : "API-Schlüssel (Erforderlich für Rackspace Cloud-Dateien)", "Tenantname (required for OpenStack Object Storage)" : "Mietername (Erforderlich für Openstack-Objektspeicher)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Name der Dienstleistung (Erforderlich für Openstack-Objektspeicher)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL des Identitätsendpunktes (Erforderlich für Openstack-Objektspeicher)", "Timeout of HTTP requests in seconds" : "Zeitüberschreitung von HTTP-Anfragen in Sekunden", - "Share" : "Share", "SMB / CIFS using OC login" : "SMB / CIFS mit OC-Login", + "Host" : "Host", "Username as share" : "Benutzername als Freigabe", - "URL" : "Adresse", - "Secure https://" : "Sicheres https://", + "Share" : "Share", + "Remote subfolder" : "Entfernter Unterordner", "SFTP with secret key login" : "SFTP mit dem Login über einen geheimen Schlüssel", "Public key" : "Öffentlicher Schlüssel", "Storage with id \"%i\" not found" : "Der Speicher mit der ID „%i“ wurde nicht gefunden", "Invalid mount point" : "Ungültiger mount point", "Invalid storage backend \"%s\"" : "Ungültiges Speicher-Backend „%s“", - "Access granted" : "Zugriff gestattet", - "Error configuring Dropbox storage" : "Fehler beim Einrichten von Dropbox", - "Grant access" : "Zugriff gestatten", - "Error configuring Google Drive storage" : "Fehler beim Einrichten von Google Drive", "Personal" : "Persönlich", "System" : "System", + "Grant access" : "Zugriff gestatten", + "Access granted" : "Zugriff gestattet", "Enable encryption" : "Verschlüsselung aktivieren", "Enable previews" : "Vorschau aktivieren", "Check for changes" : "Auf Änderungen überprüfen", @@ -63,8 +37,28 @@ "Saved" : "Gespeichert", "Generate keys" : "Schlüssel erzeugen", "Error generating key pair" : "Fehler beim Erzeugen des Schlüsselpaares", + "None" : "Keine", + "App key" : "App-Schlüssel", + "App secret" : "Geheime Zeichenkette der App", + "Client ID" : "Client-ID", + "Client secret" : "Geheime Zeichenkette des Client", + "Password" : "Passwort", + "Amazon S3" : "Amazon S3", + "Hostname" : "Host-Name", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "SSL aktivieren", + "Enable Path Style" : "Pfadstil aktivieren", + "WebDAV" : "WebDAV", + "URL" : "Adresse", + "Secure https://" : "Sicheres https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sicheres ftps://", + "Local" : "Lokal", + "Location" : "Ort", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Hinweis: ", - "and" : "und", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: Die cURL-Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: Die FTP Unterstützung von PHP ist nicht aktiviert oder installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Hinweis: \"%s\" ist nicht installiert. Das Hinzufügen von %s ist nicht möglich. Bitte wenden Sie sich zur Installation an Ihren Systemadministrator.", @@ -77,9 +71,9 @@ "Folder name" : "Ordnername", "Configuration" : "Konfiguration", "Available for" : "Verfügbar für", - "Add storage" : "Speicher hinzufügen", "Advanced settings" : "Erweiterte Einstellungen", "Delete" : "Löschen", + "Add storage" : "Speicher hinzufügen", "Enable User External Storage" : "Externen Speicher für Benutzer aktivieren", "Allow users to mount the following external storage" : "Erlauben Sie Benutzern, folgende externe Speicher einzubinden" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js index e3b96e4cc4..156b713acb 100644 --- a/apps/files_external/l10n/el.js +++ b/apps/files_external/l10n/el.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Η λήψη των τεκμηρίων αιτήματος απέτυχε. Βεβαιώστε ότι το κλειδί εφαρμογής και το μυστικό του Dropbox είναι ορθά", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Η λήψη των τεκμηρίων πρόσβασης απέτυχε. Βεβαιώστε ότι το κλειδί εφαρμογής και το μυστικό του Dropbox είναι ορθά.", - "Please provide a valid Dropbox app key and secret." : "Παρακαλούμε δώστε έγκυρο κλειδί Dropbox και μυστικό.", "Step 1 failed. Exception: %s" : "Το βήμα 1 απέτυχε. Εξαίρεση: %s", "Step 2 failed. Exception: %s" : "Το βήμα 2 απέτυχε. Εξαίρεση: %s", "External storage" : "Εξωτερική αποθήκευση", - "Local" : "Τοπικός", - "Location" : "Τοποθεσία", - "Amazon S3" : "Amazon S3", - "Key" : "Κλειδί", - "Secret" : "Μυστικό", - "Bucket" : "Κάδος", - "Amazon S3 and compliant" : "Amazon S3 και συμμορφούμενα", - "Access Key" : "Κλειδί πρόσβασης", - "Secret Key" : "Μυστικό κλειδί", - "Hostname" : "Όνομα Υπολογιστή", - "Port" : "Θύρα", - "Region" : "Περιοχή", - "Enable SSL" : "Ενεργοποίηση SSL", - "Enable Path Style" : "Ενεργοποίηση μορφής διαδρομής", - "App key" : "Κλειδί εφαρμογής", - "App secret" : "Μυστικό εφαρμογής", - "Host" : "Διακομιστής", - "Username" : "Όνομα χρήστη", - "Password" : "Κωδικός πρόσβασης", - "Remote subfolder" : "Απομακρυσμένος υποφάκελος", - "Secure ftps://" : "Ασφαλής ftps://", - "Client ID" : "ID πελάτη", - "Client secret" : "Μυστικό πελάτη", "OpenStack Object Storage" : "Αποθήκη αντικειμένων OpenStack", + "Username" : "Όνομα χρήστη", + "Bucket" : "Κάδος", "Region (optional for OpenStack Object Storage)" : "Περιοχή (προαιρετικά για την αποθήκευση αντικειμένων OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Κλειδί API (απαιτείται για αρχεία Rackspace Cloud)", "Tenantname (required for OpenStack Object Storage)" : "Όνομα ενοίκου (απαιτείται για την Αποθήκευση Αντικειμένων OpenStack)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Όνομα υπηρεσίας (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Διεύθυνση URL της ταυτότητας τελικού σημείου (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", "Timeout of HTTP requests in seconds" : "Χρονικό όριο των αιτήσεων HTTP σε δευτερόλεπτα", - "Share" : "Διαμοιράστε", "SMB / CIFS using OC login" : "SMB / CIFS χρησιμοποιώντας λογαριασμό OC", + "Host" : "Διακομιστής", "Username as share" : "Όνομα χρήστη ως διαμοιραζόμενος φάκελος", - "URL" : "URL", - "Secure https://" : "Ασφαλής σύνδεση https://", + "Share" : "Διαμοιράστε", + "Remote subfolder" : "Απομακρυσμένος υποφάκελος", "SFTP with secret key login" : "SFTP με σύνδεση με κρυφό κλειδί", "Public key" : "Δημόσιο κλειδί", "Storage with id \"%i\" not found" : "Αποθήκευση με id \"%i\" δεν βρέθηκε", "Invalid mount point" : "Μη έγκυρο σημείο ανάρτησης", "Invalid storage backend \"%s\"" : "Μή έγκυρο σύστημα υποστήριξης αποθήκευσης \"%s\"", - "Access granted" : "Πρόσβαση παρασχέθηκε", - "Error configuring Dropbox storage" : "Σφάλμα ρυθμίζωντας αποθήκευση Dropbox ", - "Grant access" : "Παροχή πρόσβασης", - "Error configuring Google Drive storage" : "Σφάλμα ρυθμίζωντας αποθήκευση Google Drive ", "Personal" : "Προσωπικά", "System" : "Σύστημα", + "Grant access" : "Παροχή πρόσβασης", + "Access granted" : "Πρόσβαση παρασχέθηκε", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", "Check for changes" : "Έλεγχος για αλλαγές", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Αποθηκεύτηκαν", "Generate keys" : "Δημιουργία κλειδιών", "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", + "None" : "Τίποτα", + "App key" : "Κλειδί εφαρμογής", + "App secret" : "Μυστικό εφαρμογής", + "Client ID" : "ID πελάτη", + "Client secret" : "Μυστικό πελάτη", + "Password" : "Κωδικός πρόσβασης", + "Amazon S3" : "Amazon S3", + "Hostname" : "Όνομα Υπολογιστή", + "Port" : "Θύρα", + "Region" : "Περιοχή", + "Enable SSL" : "Ενεργοποίηση SSL", + "Enable Path Style" : "Ενεργοποίηση μορφής διαδρομής", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Ασφαλής σύνδεση https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Ασφαλής ftps://", + "Local" : "Τοπικός", + "Location" : "Τοποθεσία", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Σημείωση: ", - "and" : "και", "Note: 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 δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "Note: 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. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Σημείωση: Η επέκταση \"%s\" δεν είναι εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Όνομα φακέλου", "Configuration" : "Ρυθμίσεις", "Available for" : "Διαθέσιμο για", - "Add storage" : "Προσθηκη αποθηκευσης", "Advanced settings" : "Ρυθμίσεις για προχωρημένους", "Delete" : "Διαγραφή", + "Add storage" : "Προσθηκη αποθηκευσης", "Enable User External Storage" : "Ενεργοποίηση Εξωτερικού Αποθηκευτικού Χώρου Χρήστη", "Allow users to mount the following external storage" : "Χορήγηση άδειας στους χρήστες να συνδέσουν τα παρακάτω εξωτερικά μέσα αποθήκευσης" }, diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json index e62da96551..5412c9a44a 100644 --- a/apps/files_external/l10n/el.json +++ b/apps/files_external/l10n/el.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Η λήψη των τεκμηρίων αιτήματος απέτυχε. Βεβαιώστε ότι το κλειδί εφαρμογής και το μυστικό του Dropbox είναι ορθά", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Η λήψη των τεκμηρίων πρόσβασης απέτυχε. Βεβαιώστε ότι το κλειδί εφαρμογής και το μυστικό του Dropbox είναι ορθά.", - "Please provide a valid Dropbox app key and secret." : "Παρακαλούμε δώστε έγκυρο κλειδί Dropbox και μυστικό.", "Step 1 failed. Exception: %s" : "Το βήμα 1 απέτυχε. Εξαίρεση: %s", "Step 2 failed. Exception: %s" : "Το βήμα 2 απέτυχε. Εξαίρεση: %s", "External storage" : "Εξωτερική αποθήκευση", - "Local" : "Τοπικός", - "Location" : "Τοποθεσία", - "Amazon S3" : "Amazon S3", - "Key" : "Κλειδί", - "Secret" : "Μυστικό", - "Bucket" : "Κάδος", - "Amazon S3 and compliant" : "Amazon S3 και συμμορφούμενα", - "Access Key" : "Κλειδί πρόσβασης", - "Secret Key" : "Μυστικό κλειδί", - "Hostname" : "Όνομα Υπολογιστή", - "Port" : "Θύρα", - "Region" : "Περιοχή", - "Enable SSL" : "Ενεργοποίηση SSL", - "Enable Path Style" : "Ενεργοποίηση μορφής διαδρομής", - "App key" : "Κλειδί εφαρμογής", - "App secret" : "Μυστικό εφαρμογής", - "Host" : "Διακομιστής", - "Username" : "Όνομα χρήστη", - "Password" : "Κωδικός πρόσβασης", - "Remote subfolder" : "Απομακρυσμένος υποφάκελος", - "Secure ftps://" : "Ασφαλής ftps://", - "Client ID" : "ID πελάτη", - "Client secret" : "Μυστικό πελάτη", "OpenStack Object Storage" : "Αποθήκη αντικειμένων OpenStack", + "Username" : "Όνομα χρήστη", + "Bucket" : "Κάδος", "Region (optional for OpenStack Object Storage)" : "Περιοχή (προαιρετικά για την αποθήκευση αντικειμένων OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Κλειδί API (απαιτείται για αρχεία Rackspace Cloud)", "Tenantname (required for OpenStack Object Storage)" : "Όνομα ενοίκου (απαιτείται για την Αποθήκευση Αντικειμένων OpenStack)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Όνομα υπηρεσίας (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Διεύθυνση URL της ταυτότητας τελικού σημείου (απαιτείται για την αποθήκευση αντικειμένων OpenStack)", "Timeout of HTTP requests in seconds" : "Χρονικό όριο των αιτήσεων HTTP σε δευτερόλεπτα", - "Share" : "Διαμοιράστε", "SMB / CIFS using OC login" : "SMB / CIFS χρησιμοποιώντας λογαριασμό OC", + "Host" : "Διακομιστής", "Username as share" : "Όνομα χρήστη ως διαμοιραζόμενος φάκελος", - "URL" : "URL", - "Secure https://" : "Ασφαλής σύνδεση https://", + "Share" : "Διαμοιράστε", + "Remote subfolder" : "Απομακρυσμένος υποφάκελος", "SFTP with secret key login" : "SFTP με σύνδεση με κρυφό κλειδί", "Public key" : "Δημόσιο κλειδί", "Storage with id \"%i\" not found" : "Αποθήκευση με id \"%i\" δεν βρέθηκε", "Invalid mount point" : "Μη έγκυρο σημείο ανάρτησης", "Invalid storage backend \"%s\"" : "Μή έγκυρο σύστημα υποστήριξης αποθήκευσης \"%s\"", - "Access granted" : "Πρόσβαση παρασχέθηκε", - "Error configuring Dropbox storage" : "Σφάλμα ρυθμίζωντας αποθήκευση Dropbox ", - "Grant access" : "Παροχή πρόσβασης", - "Error configuring Google Drive storage" : "Σφάλμα ρυθμίζωντας αποθήκευση Google Drive ", "Personal" : "Προσωπικά", "System" : "Σύστημα", + "Grant access" : "Παροχή πρόσβασης", + "Access granted" : "Πρόσβαση παρασχέθηκε", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", "Check for changes" : "Έλεγχος για αλλαγές", @@ -63,8 +37,28 @@ "Saved" : "Αποθηκεύτηκαν", "Generate keys" : "Δημιουργία κλειδιών", "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", + "None" : "Τίποτα", + "App key" : "Κλειδί εφαρμογής", + "App secret" : "Μυστικό εφαρμογής", + "Client ID" : "ID πελάτη", + "Client secret" : "Μυστικό πελάτη", + "Password" : "Κωδικός πρόσβασης", + "Amazon S3" : "Amazon S3", + "Hostname" : "Όνομα Υπολογιστή", + "Port" : "Θύρα", + "Region" : "Περιοχή", + "Enable SSL" : "Ενεργοποίηση SSL", + "Enable Path Style" : "Ενεργοποίηση μορφής διαδρομής", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Ασφαλής σύνδεση https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Ασφαλής ftps://", + "Local" : "Τοπικός", + "Location" : "Τοποθεσία", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Σημείωση: ", - "and" : "και", "Note: 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 δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "Note: 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. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Σημείωση: Η επέκταση \"%s\" δεν είναι εγκατεστημένη. Δεν είναι δυνατή η προσάρτηση %s. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", @@ -77,9 +71,9 @@ "Folder name" : "Όνομα φακέλου", "Configuration" : "Ρυθμίσεις", "Available for" : "Διαθέσιμο για", - "Add storage" : "Προσθηκη αποθηκευσης", "Advanced settings" : "Ρυθμίσεις για προχωρημένους", "Delete" : "Διαγραφή", + "Add storage" : "Προσθηκη αποθηκευσης", "Enable User External Storage" : "Ενεργοποίηση Εξωτερικού Αποθηκευτικού Χώρου Χρήστη", "Allow users to mount the following external storage" : "Χορήγηση άδειας στους χρήστες να συνδέσουν τα παρακάτω εξωτερικά μέσα αποθήκευσης" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js index 29c1eebb7e..6c986ed591 100644 --- a/apps/files_external/l10n/en_GB.js +++ b/apps/files_external/l10n/en_GB.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct.", - "Please provide a valid Dropbox app key and secret." : "Please provide a valid Dropbox app key and secret.", "Step 1 failed. Exception: %s" : "Step 1 failed. Exception: %s", "Step 2 failed. Exception: %s" : "Step 2 failed. Exception: %s", "External storage" : "External storage", - "Local" : "Local", - "Location" : "Location", - "Amazon S3" : "Amazon S3", - "Key" : "Key", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 and compliant", - "Access Key" : "Access Key", - "Secret Key" : "Secret Key", - "Hostname" : "Hostname", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "Enable SSL", - "Enable Path Style" : "Enable Path Style", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Host", - "Username" : "Username", - "Password" : "Password", - "Remote subfolder" : "Remote subfolder", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Username", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (optional for OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (required for Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (required for OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Service Name (required for OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (required for OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Timeout of HTTP requests in seconds", - "Share" : "Share", "SMB / CIFS using OC login" : "SMB / CIFS using OC login", + "Host" : "Host", "Username as share" : "Username as share", - "URL" : "URL", - "Secure https://" : "Secure https://", + "Share" : "Share", + "Remote subfolder" : "Remote subfolder", "SFTP with secret key login" : "SFTP with secret key login", "Public key" : "Public key", "Storage with id \"%i\" not found" : "Storage with id \"%i\" not found", "Invalid mount point" : "Invalid mount point", "Invalid storage backend \"%s\"" : "Invalid storage backend \"%s\"", - "Access granted" : "Access granted", - "Error configuring Dropbox storage" : "Error configuring Dropbox storage", - "Grant access" : "Grant access", - "Error configuring Google Drive storage" : "Error configuring Google Drive storage", "Personal" : "Personal", "System" : "System", + "Grant access" : "Grant access", + "Access granted" : "Access granted", "Enable encryption" : "Enable encryption", "Enable previews" : "Enable previews", "Check for changes" : "Check for changes", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Saved", "Generate keys" : "Generate keys", "Error generating key pair" : "Error generating key pair", + "None" : "None", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "Password", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostname", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "Enable SSL", + "Enable Path Style" : "Enable Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Secure https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "Local", + "Location" : "Location", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Note: ", - "and" : "and", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Folder name", "Configuration" : "Configuration", "Available for" : "Available for", - "Add storage" : "Add storage", "Advanced settings" : "Advanced settings", "Delete" : "Delete", + "Add storage" : "Add storage", "Enable User External Storage" : "Enable User External Storage", "Allow users to mount the following external storage" : "Allow users to mount the following external storage" }, diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json index af3950f8ef..c096b074c5 100644 --- a/apps/files_external/l10n/en_GB.json +++ b/apps/files_external/l10n/en_GB.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct.", - "Please provide a valid Dropbox app key and secret." : "Please provide a valid Dropbox app key and secret.", "Step 1 failed. Exception: %s" : "Step 1 failed. Exception: %s", "Step 2 failed. Exception: %s" : "Step 2 failed. Exception: %s", "External storage" : "External storage", - "Local" : "Local", - "Location" : "Location", - "Amazon S3" : "Amazon S3", - "Key" : "Key", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 and compliant", - "Access Key" : "Access Key", - "Secret Key" : "Secret Key", - "Hostname" : "Hostname", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "Enable SSL", - "Enable Path Style" : "Enable Path Style", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Host", - "Username" : "Username", - "Password" : "Password", - "Remote subfolder" : "Remote subfolder", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Username", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (optional for OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (required for Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (required for OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Service Name (required for OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (required for OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Timeout of HTTP requests in seconds", - "Share" : "Share", "SMB / CIFS using OC login" : "SMB / CIFS using OC login", + "Host" : "Host", "Username as share" : "Username as share", - "URL" : "URL", - "Secure https://" : "Secure https://", + "Share" : "Share", + "Remote subfolder" : "Remote subfolder", "SFTP with secret key login" : "SFTP with secret key login", "Public key" : "Public key", "Storage with id \"%i\" not found" : "Storage with id \"%i\" not found", "Invalid mount point" : "Invalid mount point", "Invalid storage backend \"%s\"" : "Invalid storage backend \"%s\"", - "Access granted" : "Access granted", - "Error configuring Dropbox storage" : "Error configuring Dropbox storage", - "Grant access" : "Grant access", - "Error configuring Google Drive storage" : "Error configuring Google Drive storage", "Personal" : "Personal", "System" : "System", + "Grant access" : "Grant access", + "Access granted" : "Access granted", "Enable encryption" : "Enable encryption", "Enable previews" : "Enable previews", "Check for changes" : "Check for changes", @@ -63,8 +37,28 @@ "Saved" : "Saved", "Generate keys" : "Generate keys", "Error generating key pair" : "Error generating key pair", + "None" : "None", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "Password", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostname", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "Enable SSL", + "Enable Path Style" : "Enable Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Secure https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "Local", + "Location" : "Location", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Note: ", - "and" : "and", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it.", @@ -77,9 +71,9 @@ "Folder name" : "Folder name", "Configuration" : "Configuration", "Available for" : "Available for", - "Add storage" : "Add storage", "Advanced settings" : "Advanced settings", "Delete" : "Delete", + "Add storage" : "Add storage", "Enable User External Storage" : "Enable User External Storage", "Allow users to mount the following external storage" : "Allow users to mount the following external storage" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/eo.js b/apps/files_external/l10n/eo.js index d781b947c0..cdd29ce8b8 100644 --- a/apps/files_external/l10n/eo.js +++ b/apps/files_external/l10n/eo.js @@ -1,50 +1,48 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Bonvolu provizi ŝlosilon de la aplikaĵo Dropbox validan kaj sekretan.", "External storage" : "Malena memorilo", - "Local" : "Loka", - "Location" : "Loko", - "Amazon S3" : "Amazon S3", - "Key" : "Klavo", - "Secret" : "Sekreto", - "Access Key" : "Aliroklavo", - "Secret Key" : "Sekretoklavo", - "Port" : "Pordo", - "Region" : "Regiono", - "Enable SSL" : "Kapabligi SSL-on", - "App key" : "Aplikaĵoklavo", - "App secret" : "Aplikaĵosekreto", - "Host" : "Gastigo", - "Username" : "Uzantonomo", - "Password" : "Pasvorto", - "Remote subfolder" : "Malloka subdosierujo", - "Secure ftps://" : "Sekura ftps://", - "Client ID" : "Klientidentigilo", - "Client secret" : "Klientosekreto", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Uzantonomo", "Region (optional for OpenStack Object Storage)" : "Regiono (malnepra por OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API-klavo (nepra por Rackspace Cloud Files)", "Password (required for OpenStack Object Storage)" : "Pasvorto (nepra por OpenStack Object Storage)", "Service Name (required for OpenStack Object Storage)" : "Servonomo (nepra por OpenStack Object Storage)", + "Host" : "Gastigo", "Share" : "Kunhavigi", + "Remote subfolder" : "Malloka subdosierujo", + "Public key" : "Publika ŝlosilo", + "Personal" : "Persona", + "Grant access" : "Doni alirpermeson", + "Access granted" : "Alirpermeso donita", + "Saved" : "Konservita", + "None" : "Nenio", + "App key" : "Aplikaĵoklavo", + "App secret" : "Aplikaĵosekreto", + "Client ID" : "Klientidentigilo", + "Client secret" : "Klientosekreto", + "Password" : "Pasvorto", + "Amazon S3" : "Amazon S3", + "Port" : "Pordo", + "Region" : "Regiono", + "Enable SSL" : "Kapabligi SSL-on", + "WebDAV" : "WebDAV", "URL" : "URL", "Secure https://" : "Sekura https://", - "Public key" : "Publika ŝlosilo", - "Access granted" : "Alirpermeso donita", - "Error configuring Dropbox storage" : "Eraro dum agordado de la memorservo Dropbox", - "Grant access" : "Doni alirpermeson", - "Error configuring Google Drive storage" : "Eraro dum agordado de la memorservo Google Drive", - "Personal" : "Persona", - "Saved" : "Konservita", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sekura ftps://", + "Local" : "Loka", + "Location" : "Loko", + "ownCloud" : "ownCloud", + "Root" : "Radiko", "Note: " : "Noto:", "Name" : "Nomo", "External Storage" : "Malena memorilo", "Folder name" : "Dosierujnomo", "Configuration" : "Agordo", "Available for" : "Disponebla por", - "Add storage" : "Aldoni memorilon", "Delete" : "Forigi", + "Add storage" : "Aldoni memorilon", "Enable User External Storage" : "Kapabligi malenan memorilon de uzanto", "Allow users to mount the following external storage" : "Permesi uzantojn munti la jenajn malenajn memorilojn" }, diff --git a/apps/files_external/l10n/eo.json b/apps/files_external/l10n/eo.json index 795be07ce2..988097fd8f 100644 --- a/apps/files_external/l10n/eo.json +++ b/apps/files_external/l10n/eo.json @@ -1,48 +1,46 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Bonvolu provizi ŝlosilon de la aplikaĵo Dropbox validan kaj sekretan.", "External storage" : "Malena memorilo", - "Local" : "Loka", - "Location" : "Loko", - "Amazon S3" : "Amazon S3", - "Key" : "Klavo", - "Secret" : "Sekreto", - "Access Key" : "Aliroklavo", - "Secret Key" : "Sekretoklavo", - "Port" : "Pordo", - "Region" : "Regiono", - "Enable SSL" : "Kapabligi SSL-on", - "App key" : "Aplikaĵoklavo", - "App secret" : "Aplikaĵosekreto", - "Host" : "Gastigo", - "Username" : "Uzantonomo", - "Password" : "Pasvorto", - "Remote subfolder" : "Malloka subdosierujo", - "Secure ftps://" : "Sekura ftps://", - "Client ID" : "Klientidentigilo", - "Client secret" : "Klientosekreto", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Uzantonomo", "Region (optional for OpenStack Object Storage)" : "Regiono (malnepra por OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API-klavo (nepra por Rackspace Cloud Files)", "Password (required for OpenStack Object Storage)" : "Pasvorto (nepra por OpenStack Object Storage)", "Service Name (required for OpenStack Object Storage)" : "Servonomo (nepra por OpenStack Object Storage)", + "Host" : "Gastigo", "Share" : "Kunhavigi", + "Remote subfolder" : "Malloka subdosierujo", + "Public key" : "Publika ŝlosilo", + "Personal" : "Persona", + "Grant access" : "Doni alirpermeson", + "Access granted" : "Alirpermeso donita", + "Saved" : "Konservita", + "None" : "Nenio", + "App key" : "Aplikaĵoklavo", + "App secret" : "Aplikaĵosekreto", + "Client ID" : "Klientidentigilo", + "Client secret" : "Klientosekreto", + "Password" : "Pasvorto", + "Amazon S3" : "Amazon S3", + "Port" : "Pordo", + "Region" : "Regiono", + "Enable SSL" : "Kapabligi SSL-on", + "WebDAV" : "WebDAV", "URL" : "URL", "Secure https://" : "Sekura https://", - "Public key" : "Publika ŝlosilo", - "Access granted" : "Alirpermeso donita", - "Error configuring Dropbox storage" : "Eraro dum agordado de la memorservo Dropbox", - "Grant access" : "Doni alirpermeson", - "Error configuring Google Drive storage" : "Eraro dum agordado de la memorservo Google Drive", - "Personal" : "Persona", - "Saved" : "Konservita", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sekura ftps://", + "Local" : "Loka", + "Location" : "Loko", + "ownCloud" : "ownCloud", + "Root" : "Radiko", "Note: " : "Noto:", "Name" : "Nomo", "External Storage" : "Malena memorilo", "Folder name" : "Dosierujnomo", "Configuration" : "Agordo", "Available for" : "Disponebla por", - "Add storage" : "Aldoni memorilon", "Delete" : "Forigi", + "Add storage" : "Aldoni memorilon", "Enable User External Storage" : "Kapabligi malenan memorilon de uzanto", "Allow users to mount the following external storage" : "Permesi uzantojn munti la jenajn malenajn memorilojn" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js index dbe7923d1f..2a1f54dd40 100644 --- a/apps/files_external/l10n/es.js +++ b/apps/files_external/l10n/es.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "La descarga de los tokens solicitados ha fallado. Verifique que la clave y el secreto de su app Dropbox sean correctos.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "La descarga de los tokens de acceso ha fallado. Verifique que la clave y el secreto de su app Dropbox es correcta.", - "Please provide a valid Dropbox app key and secret." : "Por favor, proporcione un una clave válida de la app Dropbox y una clave secreta.", "Step 1 failed. Exception: %s" : "El paso 1 falló. Excepción: %s", "Step 2 failed. Exception: %s" : "El paso 2 falló. Excepción: %s", "External storage" : "Almacenamiento externo", - "Local" : "Local", - "Location" : "Ubicación", - "Amazon S3" : "Amazon S3", - "Key" : "Clave", - "Secret" : "Secreto", - "Bucket" : "Depósito", - "Amazon S3 and compliant" : "Amazon S3 y compatibilidad", - "Access Key" : "Clave de Acceso", - "Secret Key" : "Clave secreta", - "Hostname" : "Nombre de equipo", - "Port" : "Puerto", - "Region" : "Región", - "Enable SSL" : "Habilitar SSL", - "Enable Path Style" : "Habilitar Estilo de Ruta", - "App key" : "App principal", - "App secret" : "App secreta", - "Host" : "Servidor", - "Username" : "Nombre de usuario", - "Password" : "Contraseña", - "Remote subfolder" : "Subcarpeta remota", - "Secure ftps://" : "—Seguro— ftps://", - "Client ID" : "ID de Cliente", - "Client secret" : "Cliente secreto", "OpenStack Object Storage" : "Almacenamiento de objeto OpenStack", + "Username" : "Nombre de usuario", + "Bucket" : "Depósito", "Region (optional for OpenStack Object Storage)" : "Región (opcional para OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clave API (requerida para Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nombre de Inquilino (requerido para OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nombre de Servicio (requerido para OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL de identidad de punto final (requerido para OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tiempo de espera de solicitudes HTTP en segundos", - "Share" : "Compartir", "SMB / CIFS using OC login" : "SMB / CIFS que usan acceso OC", + "Host" : "Servidor", "Username as share" : "Nombre de usuario como compartir", - "URL" : "URL", - "Secure https://" : "—Seguro— https://", + "Share" : "Compartir", + "Remote subfolder" : "Subcarpeta remota", "SFTP with secret key login" : "Inicio de sesión SFTP con clave secreta", "Public key" : "Clave pública", "Storage with id \"%i\" not found" : "No se ha encontrado almacenamiento con id \"%i\"", "Invalid mount point" : "Punto de montaje no válido", "Invalid storage backend \"%s\"" : "Motor de almacenamiento no válido «%s»", - "Access granted" : "Acceso concedido", - "Error configuring Dropbox storage" : "Error al configurar el almacenamiento de Dropbox", - "Grant access" : "Conceder acceso", - "Error configuring Google Drive storage" : "Error al configurar el almacenamiento de Google Drive", "Personal" : "Personal", "System" : "Sistema", + "Grant access" : "Conceder acceso", + "Access granted" : "Acceso concedido", "Enable encryption" : "Habilitar cifrado", "Enable previews" : "Habilitar previsualizaciones", "Check for changes" : "Comprobar si hay cambios", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Guardado", "Generate keys" : "Generar claves", "Error generating key pair" : "Error al generar el par de claves", + "None" : "Ninguno", + "App key" : "App principal", + "App secret" : "App secreta", + "Client ID" : "ID de Cliente", + "Client secret" : "Cliente secreto", + "Password" : "Contraseña", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nombre de equipo", + "Port" : "Puerto", + "Region" : "Región", + "Enable SSL" : "Habilitar SSL", + "Enable Path Style" : "Habilitar Estilo de Ruta", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "—Seguro— https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "—Seguro— ftps://", + "Local" : "Local", + "Location" : "Ubicación", + "ownCloud" : "ownCloud", + "Root" : "Raíz", "Note: " : "Nota: ", - "and" : "y", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: \"%s\" no está instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Nombre de la carpeta", "Configuration" : "Configuración", "Available for" : "Disponible para", - "Add storage" : "Añadir almacenamiento", "Advanced settings" : "Configuración avanzada", "Delete" : "Eliminar", + "Add storage" : "Añadir almacenamiento", "Enable User External Storage" : "Habilitar almacenamiento externo de usuario", "Allow users to mount the following external storage" : "Permitir a los usuarios montar el siguiente almacenamiento externo" }, diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json index f243928793..e5131d2154 100644 --- a/apps/files_external/l10n/es.json +++ b/apps/files_external/l10n/es.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "La descarga de los tokens solicitados ha fallado. Verifique que la clave y el secreto de su app Dropbox sean correctos.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "La descarga de los tokens de acceso ha fallado. Verifique que la clave y el secreto de su app Dropbox es correcta.", - "Please provide a valid Dropbox app key and secret." : "Por favor, proporcione un una clave válida de la app Dropbox y una clave secreta.", "Step 1 failed. Exception: %s" : "El paso 1 falló. Excepción: %s", "Step 2 failed. Exception: %s" : "El paso 2 falló. Excepción: %s", "External storage" : "Almacenamiento externo", - "Local" : "Local", - "Location" : "Ubicación", - "Amazon S3" : "Amazon S3", - "Key" : "Clave", - "Secret" : "Secreto", - "Bucket" : "Depósito", - "Amazon S3 and compliant" : "Amazon S3 y compatibilidad", - "Access Key" : "Clave de Acceso", - "Secret Key" : "Clave secreta", - "Hostname" : "Nombre de equipo", - "Port" : "Puerto", - "Region" : "Región", - "Enable SSL" : "Habilitar SSL", - "Enable Path Style" : "Habilitar Estilo de Ruta", - "App key" : "App principal", - "App secret" : "App secreta", - "Host" : "Servidor", - "Username" : "Nombre de usuario", - "Password" : "Contraseña", - "Remote subfolder" : "Subcarpeta remota", - "Secure ftps://" : "—Seguro— ftps://", - "Client ID" : "ID de Cliente", - "Client secret" : "Cliente secreto", "OpenStack Object Storage" : "Almacenamiento de objeto OpenStack", + "Username" : "Nombre de usuario", + "Bucket" : "Depósito", "Region (optional for OpenStack Object Storage)" : "Región (opcional para OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clave API (requerida para Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nombre de Inquilino (requerido para OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Nombre de Servicio (requerido para OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL de identidad de punto final (requerido para OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tiempo de espera de solicitudes HTTP en segundos", - "Share" : "Compartir", "SMB / CIFS using OC login" : "SMB / CIFS que usan acceso OC", + "Host" : "Servidor", "Username as share" : "Nombre de usuario como compartir", - "URL" : "URL", - "Secure https://" : "—Seguro— https://", + "Share" : "Compartir", + "Remote subfolder" : "Subcarpeta remota", "SFTP with secret key login" : "Inicio de sesión SFTP con clave secreta", "Public key" : "Clave pública", "Storage with id \"%i\" not found" : "No se ha encontrado almacenamiento con id \"%i\"", "Invalid mount point" : "Punto de montaje no válido", "Invalid storage backend \"%s\"" : "Motor de almacenamiento no válido «%s»", - "Access granted" : "Acceso concedido", - "Error configuring Dropbox storage" : "Error al configurar el almacenamiento de Dropbox", - "Grant access" : "Conceder acceso", - "Error configuring Google Drive storage" : "Error al configurar el almacenamiento de Google Drive", "Personal" : "Personal", "System" : "Sistema", + "Grant access" : "Conceder acceso", + "Access granted" : "Acceso concedido", "Enable encryption" : "Habilitar cifrado", "Enable previews" : "Habilitar previsualizaciones", "Check for changes" : "Comprobar si hay cambios", @@ -63,8 +37,28 @@ "Saved" : "Guardado", "Generate keys" : "Generar claves", "Error generating key pair" : "Error al generar el par de claves", + "None" : "Ninguno", + "App key" : "App principal", + "App secret" : "App secreta", + "Client ID" : "ID de Cliente", + "Client secret" : "Cliente secreto", + "Password" : "Contraseña", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nombre de equipo", + "Port" : "Puerto", + "Region" : "Región", + "Enable SSL" : "Habilitar SSL", + "Enable Path Style" : "Habilitar Estilo de Ruta", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "—Seguro— https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "—Seguro— ftps://", + "Local" : "Local", + "Location" : "Ubicación", + "ownCloud" : "ownCloud", + "Root" : "Raíz", "Note: " : "Nota: ", - "and" : "y", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: \"%s\" no está instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", @@ -77,9 +71,9 @@ "Folder name" : "Nombre de la carpeta", "Configuration" : "Configuración", "Available for" : "Disponible para", - "Add storage" : "Añadir almacenamiento", "Advanced settings" : "Configuración avanzada", "Delete" : "Eliminar", + "Add storage" : "Añadir almacenamiento", "Enable User External Storage" : "Habilitar almacenamiento externo de usuario", "Allow users to mount the following external storage" : "Permitir a los usuarios montar el siguiente almacenamiento externo" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/es_AR.js b/apps/files_external/l10n/es_AR.js index 0936079fbc..316273f74f 100644 --- a/apps/files_external/l10n/es_AR.js +++ b/apps/files_external/l10n/es_AR.js @@ -1,28 +1,28 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Por favor, proporcioná un secreto y una contraseña válida para la aplicación Dropbox.", "External storage" : "Almacenamiento externo", - "Location" : "Ubicación", + "Username" : "Nombre de usuario", + "Host" : "Servidor", + "Share" : "Compartir", + "Personal" : "Personal", + "Grant access" : "Permitir acceso", + "Access granted" : "Acceso permitido", + "Saved" : "Guardado", + "None" : "Ninguno", + "Password" : "Contraseña", "Port" : "Puerto", "Region" : "Provincia", - "Host" : "Servidor", - "Username" : "Nombre de usuario", - "Password" : "Contraseña", - "Share" : "Compartir", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "Acceso permitido", - "Error configuring Dropbox storage" : "Error al configurar el almacenamiento de Dropbox", - "Grant access" : "Permitir acceso", - "Error configuring Google Drive storage" : "Error al configurar el almacenamiento de Google Drive", - "Personal" : "Personal", - "Saved" : "Guardado", + "Location" : "Ubicación", + "ownCloud" : "ownCloud", "Name" : "Nombre", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", "Configuration" : "Configuración", - "Add storage" : "Añadir almacenamiento", "Delete" : "Borrar", + "Add storage" : "Añadir almacenamiento", "Enable User External Storage" : "Habilitar almacenamiento de usuario externo" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/es_AR.json b/apps/files_external/l10n/es_AR.json index 3b971a1883..299aba398f 100644 --- a/apps/files_external/l10n/es_AR.json +++ b/apps/files_external/l10n/es_AR.json @@ -1,26 +1,26 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Por favor, proporcioná un secreto y una contraseña válida para la aplicación Dropbox.", "External storage" : "Almacenamiento externo", - "Location" : "Ubicación", + "Username" : "Nombre de usuario", + "Host" : "Servidor", + "Share" : "Compartir", + "Personal" : "Personal", + "Grant access" : "Permitir acceso", + "Access granted" : "Acceso permitido", + "Saved" : "Guardado", + "None" : "Ninguno", + "Password" : "Contraseña", "Port" : "Puerto", "Region" : "Provincia", - "Host" : "Servidor", - "Username" : "Nombre de usuario", - "Password" : "Contraseña", - "Share" : "Compartir", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "Acceso permitido", - "Error configuring Dropbox storage" : "Error al configurar el almacenamiento de Dropbox", - "Grant access" : "Permitir acceso", - "Error configuring Google Drive storage" : "Error al configurar el almacenamiento de Google Drive", - "Personal" : "Personal", - "Saved" : "Guardado", + "Location" : "Ubicación", + "ownCloud" : "ownCloud", "Name" : "Nombre", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", "Configuration" : "Configuración", - "Add storage" : "Añadir almacenamiento", "Delete" : "Borrar", + "Add storage" : "Añadir almacenamiento", "Enable User External Storage" : "Habilitar almacenamiento de usuario externo" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/es_CL.js b/apps/files_external/l10n/es_CL.js index e2936ebb41..828d50df79 100644 --- a/apps/files_external/l10n/es_CL.js +++ b/apps/files_external/l10n/es_CL.js @@ -2,9 +2,9 @@ OC.L10N.register( "files_external", { "Username" : "Usuario", - "Password" : "Clave", "Share" : "Compartir", "Personal" : "Personal", + "Password" : "Clave", "Folder name" : "Nombre del directorio" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/es_CL.json b/apps/files_external/l10n/es_CL.json index 3c16c6b512..e07fd9b053 100644 --- a/apps/files_external/l10n/es_CL.json +++ b/apps/files_external/l10n/es_CL.json @@ -1,8 +1,8 @@ { "translations": { "Username" : "Usuario", - "Password" : "Clave", "Share" : "Compartir", "Personal" : "Personal", + "Password" : "Clave", "Folder name" : "Nombre del directorio" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/es_MX.js b/apps/files_external/l10n/es_MX.js index a51d157cd8..47265881c2 100644 --- a/apps/files_external/l10n/es_MX.js +++ b/apps/files_external/l10n/es_MX.js @@ -1,26 +1,24 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Por favor, proporcione un una clave válida de la app Dropbox y una clave secreta.", "External storage" : "Almacenamiento externo", - "Location" : "Ubicación", - "Port" : "Puerto", - "Host" : "Servidor", "Username" : "Nombre de usuario", - "Password" : "Contraseña", + "Host" : "Servidor", "Share" : "Compartir", - "URL" : "URL", - "Access granted" : "Acceso concedido", - "Error configuring Dropbox storage" : "Error configurando el almacenamiento de Dropbox", - "Grant access" : "Conceder acceso", - "Error configuring Google Drive storage" : "Error configurando el almacenamiento de Google Drive", "Personal" : "Personal", + "Grant access" : "Conceder acceso", + "Access granted" : "Acceso concedido", + "Password" : "Contraseña", + "Port" : "Puerto", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "Ubicación", "Name" : "Nombre", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", "Configuration" : "Configuración", - "Add storage" : "Añadir almacenamiento", "Delete" : "Eliminar", + "Add storage" : "Añadir almacenamiento", "Enable User External Storage" : "Habilitar almacenamiento externo de usuario" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/es_MX.json b/apps/files_external/l10n/es_MX.json index 4a4bccdefe..f045006c9b 100644 --- a/apps/files_external/l10n/es_MX.json +++ b/apps/files_external/l10n/es_MX.json @@ -1,24 +1,22 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Por favor, proporcione un una clave válida de la app Dropbox y una clave secreta.", "External storage" : "Almacenamiento externo", - "Location" : "Ubicación", - "Port" : "Puerto", - "Host" : "Servidor", "Username" : "Nombre de usuario", - "Password" : "Contraseña", + "Host" : "Servidor", "Share" : "Compartir", - "URL" : "URL", - "Access granted" : "Acceso concedido", - "Error configuring Dropbox storage" : "Error configurando el almacenamiento de Dropbox", - "Grant access" : "Conceder acceso", - "Error configuring Google Drive storage" : "Error configurando el almacenamiento de Google Drive", "Personal" : "Personal", + "Grant access" : "Conceder acceso", + "Access granted" : "Acceso concedido", + "Password" : "Contraseña", + "Port" : "Puerto", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "Ubicación", "Name" : "Nombre", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", "Configuration" : "Configuración", - "Add storage" : "Añadir almacenamiento", "Delete" : "Eliminar", + "Add storage" : "Añadir almacenamiento", "Enable User External Storage" : "Habilitar almacenamiento externo de usuario" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/et_EE.js b/apps/files_external/l10n/et_EE.js index bc43609aca..94c3722ca1 100644 --- a/apps/files_external/l10n/et_EE.js +++ b/apps/files_external/l10n/et_EE.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Tellimustõendi hankimine ebaõnnestus. Veendu, et Su Dropboxi rakendi võti (key) ja saladus (secret) on korrektsed.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Ligipääsutõendi hankimine ebaõnnestus. Veendu, et Su Dropboxi rakendi võti (key) ja saladus (secret) on korrektsed.", - "Please provide a valid Dropbox app key and secret." : "Palun sisesta korrektne Dropboxi rakenduse võti ja salasõna.", "Step 1 failed. Exception: %s" : "Samm 1 ebaõnnestus. Erind: %s", "Step 2 failed. Exception: %s" : "Samm 2 ebaõnnestus. Erind: %s", "External storage" : "Väline andmehoidla", - "Local" : "Kohalik", - "Location" : "Asukoht", - "Amazon S3" : "Amazon S3", - "Key" : "Võti", - "Secret" : "Salasõna", - "Bucket" : "Korv", - "Amazon S3 and compliant" : "Amazon S3 ja ühilduv", - "Access Key" : "Ligipääsu võti", - "Secret Key" : "Salavõti", - "Hostname" : "Hostinimi", - "Port" : "Port", - "Region" : "Piirkond", - "Enable SSL" : "SSL-i kasutamine", - "Enable Path Style" : "Luba otsingtee stiilis", - "App key" : "Rakenduse võti", - "App secret" : "Rakenduse salasõna", - "Host" : "Host", - "Username" : "Kasutajanimi", - "Password" : "Parool", - "Remote subfolder" : "Mujahl olev alamkaust", - "Secure ftps://" : "Turvaline ftps://", - "Client ID" : "Kliendi ID", - "Client secret" : "Kliendi salasõna", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Kasutajanimi", + "Bucket" : "Korv", "Region (optional for OpenStack Object Storage)" : "Regioon (valikuline OpenStack Object Storage puhul)", "API Key (required for Rackspace Cloud Files)" : "API võti (vajalik Rackspace Cloud Files puhul)", "Tenantname (required for OpenStack Object Storage)" : "Rendinimi (tenantname , vajalik OpenStack Object Storage puhul)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Teenuse nimi (vajalik OpenStack Object Storage puhul)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Tuvastuse URL lõpp-punkt (vajalik OpenStack Object Storage puhul)", "Timeout of HTTP requests in seconds" : "HTTP päringute aegumine sekundites", - "Share" : "Jaga", "SMB / CIFS using OC login" : "SMB / CIFS kasutades OC logimist", + "Host" : "Host", "Username as share" : "Kasutajanimi kui jagamine", - "URL" : "URL", - "Secure https://" : "Turvaline https://", + "Share" : "Jaga", + "Remote subfolder" : "Mujahl olev alamkaust", "SFTP with secret key login" : "SFTP koos salajase võtmega logimisega", "Public key" : "Avalik võti", "Storage with id \"%i\" not found" : "Salvestuskohta ID-ga \"%i\" ei leitud", "Invalid mount point" : "Vigane ühenduspunkt", "Invalid storage backend \"%s\"" : "Vigane salvestuskoha taustsüsteem \"%s\"", - "Access granted" : "Ligipääs on antud", - "Error configuring Dropbox storage" : "Viga Dropboxi salvestusruumi seadistamisel", - "Grant access" : "Anna ligipääs", - "Error configuring Google Drive storage" : "Viga Google Drive'i salvestusruumi seadistamisel", "Personal" : "Isiklik", "System" : "Süsteem", + "Grant access" : "Anna ligipääs", + "Access granted" : "Ligipääs on antud", "Enable encryption" : "Luba krüpteerimine", "Enable previews" : "Luba eelvaated", "Check for changes" : "Otsi uuendusi", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Salvestatud", "Generate keys" : "Loo võtmed", "Error generating key pair" : "Viga võtmepaari loomisel", + "None" : "Pole", + "App key" : "Rakenduse võti", + "App secret" : "Rakenduse salasõna", + "Client ID" : "Kliendi ID", + "Client secret" : "Kliendi salasõna", + "Password" : "Parool", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostinimi", + "Port" : "Port", + "Region" : "Piirkond", + "Enable SSL" : "SSL-i kasutamine", + "Enable Path Style" : "Luba otsingtee stiilis", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Turvaline https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Turvaline ftps://", + "Local" : "Kohalik", + "Location" : "Asukoht", + "ownCloud" : "ownCloud", + "Root" : "Juur", "Note: " : "Märkus:", - "and" : "ja", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Märkus: cURL tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata cURL tugi.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Märkus: FTP tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata FTP tugi.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Märkus: \"%s\" pole paigaldatud. Hoidla %s ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata vajalik tugi.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Kausta nimi", "Configuration" : "Seadistamine", "Available for" : "Saadaval", - "Add storage" : "Lisa andmehoidla", "Advanced settings" : "Lisavalikud", "Delete" : "Kustuta", + "Add storage" : "Lisa andmehoidla", "Enable User External Storage" : "Luba kasutajatele väline salvestamine", "Allow users to mount the following external storage" : "Võimalda kasutajatel ühendada järgmist välist andmehoidlat" }, diff --git a/apps/files_external/l10n/et_EE.json b/apps/files_external/l10n/et_EE.json index 4870b55afb..92621d229d 100644 --- a/apps/files_external/l10n/et_EE.json +++ b/apps/files_external/l10n/et_EE.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Tellimustõendi hankimine ebaõnnestus. Veendu, et Su Dropboxi rakendi võti (key) ja saladus (secret) on korrektsed.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Ligipääsutõendi hankimine ebaõnnestus. Veendu, et Su Dropboxi rakendi võti (key) ja saladus (secret) on korrektsed.", - "Please provide a valid Dropbox app key and secret." : "Palun sisesta korrektne Dropboxi rakenduse võti ja salasõna.", "Step 1 failed. Exception: %s" : "Samm 1 ebaõnnestus. Erind: %s", "Step 2 failed. Exception: %s" : "Samm 2 ebaõnnestus. Erind: %s", "External storage" : "Väline andmehoidla", - "Local" : "Kohalik", - "Location" : "Asukoht", - "Amazon S3" : "Amazon S3", - "Key" : "Võti", - "Secret" : "Salasõna", - "Bucket" : "Korv", - "Amazon S3 and compliant" : "Amazon S3 ja ühilduv", - "Access Key" : "Ligipääsu võti", - "Secret Key" : "Salavõti", - "Hostname" : "Hostinimi", - "Port" : "Port", - "Region" : "Piirkond", - "Enable SSL" : "SSL-i kasutamine", - "Enable Path Style" : "Luba otsingtee stiilis", - "App key" : "Rakenduse võti", - "App secret" : "Rakenduse salasõna", - "Host" : "Host", - "Username" : "Kasutajanimi", - "Password" : "Parool", - "Remote subfolder" : "Mujahl olev alamkaust", - "Secure ftps://" : "Turvaline ftps://", - "Client ID" : "Kliendi ID", - "Client secret" : "Kliendi salasõna", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Kasutajanimi", + "Bucket" : "Korv", "Region (optional for OpenStack Object Storage)" : "Regioon (valikuline OpenStack Object Storage puhul)", "API Key (required for Rackspace Cloud Files)" : "API võti (vajalik Rackspace Cloud Files puhul)", "Tenantname (required for OpenStack Object Storage)" : "Rendinimi (tenantname , vajalik OpenStack Object Storage puhul)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Teenuse nimi (vajalik OpenStack Object Storage puhul)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Tuvastuse URL lõpp-punkt (vajalik OpenStack Object Storage puhul)", "Timeout of HTTP requests in seconds" : "HTTP päringute aegumine sekundites", - "Share" : "Jaga", "SMB / CIFS using OC login" : "SMB / CIFS kasutades OC logimist", + "Host" : "Host", "Username as share" : "Kasutajanimi kui jagamine", - "URL" : "URL", - "Secure https://" : "Turvaline https://", + "Share" : "Jaga", + "Remote subfolder" : "Mujahl olev alamkaust", "SFTP with secret key login" : "SFTP koos salajase võtmega logimisega", "Public key" : "Avalik võti", "Storage with id \"%i\" not found" : "Salvestuskohta ID-ga \"%i\" ei leitud", "Invalid mount point" : "Vigane ühenduspunkt", "Invalid storage backend \"%s\"" : "Vigane salvestuskoha taustsüsteem \"%s\"", - "Access granted" : "Ligipääs on antud", - "Error configuring Dropbox storage" : "Viga Dropboxi salvestusruumi seadistamisel", - "Grant access" : "Anna ligipääs", - "Error configuring Google Drive storage" : "Viga Google Drive'i salvestusruumi seadistamisel", "Personal" : "Isiklik", "System" : "Süsteem", + "Grant access" : "Anna ligipääs", + "Access granted" : "Ligipääs on antud", "Enable encryption" : "Luba krüpteerimine", "Enable previews" : "Luba eelvaated", "Check for changes" : "Otsi uuendusi", @@ -63,8 +37,28 @@ "Saved" : "Salvestatud", "Generate keys" : "Loo võtmed", "Error generating key pair" : "Viga võtmepaari loomisel", + "None" : "Pole", + "App key" : "Rakenduse võti", + "App secret" : "Rakenduse salasõna", + "Client ID" : "Kliendi ID", + "Client secret" : "Kliendi salasõna", + "Password" : "Parool", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostinimi", + "Port" : "Port", + "Region" : "Piirkond", + "Enable SSL" : "SSL-i kasutamine", + "Enable Path Style" : "Luba otsingtee stiilis", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Turvaline https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Turvaline ftps://", + "Local" : "Kohalik", + "Location" : "Asukoht", + "ownCloud" : "ownCloud", + "Root" : "Juur", "Note: " : "Märkus:", - "and" : "ja", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Märkus: cURL tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata cURL tugi.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Märkus: FTP tugi puudub PHP paigalduses. FTP %s hoidla ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata FTP tugi.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Märkus: \"%s\" pole paigaldatud. Hoidla %s ühendamine pole võimalik. Palu oma süsteemihalduril paigaldata vajalik tugi.", @@ -77,9 +71,9 @@ "Folder name" : "Kausta nimi", "Configuration" : "Seadistamine", "Available for" : "Saadaval", - "Add storage" : "Lisa andmehoidla", "Advanced settings" : "Lisavalikud", "Delete" : "Kustuta", + "Add storage" : "Lisa andmehoidla", "Enable User External Storage" : "Luba kasutajatele väline salvestamine", "Allow users to mount the following external storage" : "Võimalda kasutajatel ühendada järgmist välist andmehoidlat" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/eu.js b/apps/files_external/l10n/eu.js index b22205abdb..72fc8469ac 100644 --- a/apps/files_external/l10n/eu.js +++ b/apps/files_external/l10n/eu.js @@ -1,35 +1,11 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Eskaera tokenen eskuratzeak huts egin du. Egiaztatu zure Dropbox app giltza eta sekretua zuzenak direla.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Sarrera tokenen eskuratzeak huts egin du. Egiaztatu zure Dropbox app giltza eta sekretua zuzenak direla.", - "Please provide a valid Dropbox app key and secret." : "Mesedez eman baliozkoa den Dropbox app giltza eta sekretua", "Step 1 failed. Exception: %s" : "1 Urratsak huts egin du. Salbuespena: %s", "Step 2 failed. Exception: %s" : "2 Urratsak huts egin du. Salbuespena: %s", "External storage" : "Kanpoko biltegiratzea", - "Local" : "Bertakoa", - "Location" : "Kokapena", - "Amazon S3" : "Amazon S3", - "Key" : "Gakoa", - "Secret" : "Sekretua", - "Amazon S3 and compliant" : "Amazon S3 eta baliokideak", - "Access Key" : "Sarbide gakoa", - "Secret Key" : "Giltza Sekretua", - "Hostname" : "Ostalari izena", - "Port" : "Portua", - "Region" : "Eskualdea", - "Enable SSL" : "Gaitu SSL", - "Enable Path Style" : "Gaitu Bide Estiloa", - "App key" : "Aplikazio gakoa", - "App secret" : "App sekretua", - "Host" : "Ostalaria", - "Username" : "Erabiltzaile izena", - "Password" : "Pasahitza", - "Remote subfolder" : "Urruneko azpikarpeta", - "Secure ftps://" : "ftps:// segurua", - "Client ID" : "Bezero ID", - "Client secret" : "Bezeroaren Sekretua", "OpenStack Object Storage" : "OpenStack Objektu Biltegiratzea", + "Username" : "Erabiltzaile izena", "Region (optional for OpenStack Object Storage)" : "Eskualdea (hautazkoa OpenStack Objektu Biltegiratzerako)", "API Key (required for Rackspace Cloud Files)" : "API Giltza (beharrezkoa Rackspace Cloud Filesentzako)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (beharrezkoa OpenStack Objektu Biltegiratzerko)", @@ -37,23 +13,41 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Zerbitzuaren Izena (beharrezkoa OpenStack Objektu Biltegiratzerako)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Nortasun amaierako puntuaren URLa (beharrezkoa OpenStack Objektu Biltegiratzerako)", "Timeout of HTTP requests in seconds" : "HTTP eskarien gehienezko denbora segundutan", - "Share" : "Partekatu", "SMB / CIFS using OC login" : "SMB / CIFS saioa hasteko OC erabiliz", + "Host" : "Ostalaria", "Username as share" : "Erabiltzaile izena elkarbanaketa bezala", - "URL" : "URL", - "Secure https://" : "https:// segurua", + "Share" : "Partekatu", + "Remote subfolder" : "Urruneko azpikarpeta", "Public key" : "Gako publikoa", - "Access granted" : "Sarrera baimendua", - "Error configuring Dropbox storage" : "Errore bat egon da Dropbox biltegiratzea konfiguratzean", - "Grant access" : "Baimendu sarrera", - "Error configuring Google Drive storage" : "Errore bat egon da Google Drive konfiguratzean", "Personal" : "Pertsonala", "System" : "Sistema", + "Grant access" : "Baimendu sarrera", + "Access granted" : "Sarrera baimendua", "All users. Type to select user or group." : "Erabiltzaile guztiak. Idatzi erabiltzaile edo taldea hautatzeko.", "(group)" : "(taldea)", "Saved" : "Gordeta", + "None" : "Ezer", + "App key" : "Aplikazio gakoa", + "App secret" : "App sekretua", + "Client ID" : "Bezero ID", + "Client secret" : "Bezeroaren Sekretua", + "Password" : "Pasahitza", + "Amazon S3" : "Amazon S3", + "Hostname" : "Ostalari izena", + "Port" : "Portua", + "Region" : "Eskualdea", + "Enable SSL" : "Gaitu SSL", + "Enable Path Style" : "Gaitu Bide Estiloa", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "https:// segurua", + "Dropbox" : "Dropbox", + "Secure ftps://" : "ftps:// segurua", + "Local" : "Bertakoa", + "Location" : "Kokapena", + "ownCloud" : "ownCloud", + "Root" : "Erroa", "Note: " : "Oharra:", - "and" : "eta", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Oharra: :PHPko cURL euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Oharra: :PHPko FTP euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Oharra:\"%s\" euskarria ez dago instalatuta Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", @@ -64,8 +58,8 @@ OC.L10N.register( "Folder name" : "Karpetaren izena", "Configuration" : "Konfigurazioa", "Available for" : "Hauentzat eskuragarri", - "Add storage" : "Gehitu biltegiratzea", "Delete" : "Ezabatu", + "Add storage" : "Gehitu biltegiratzea", "Enable User External Storage" : "Gaitu erabiltzaileentzako kanpo biltegiratzea", "Allow users to mount the following external storage" : "Baimendu erabiltzaileak hurrengo kanpo biltegiratzeak muntatzen" }, diff --git a/apps/files_external/l10n/eu.json b/apps/files_external/l10n/eu.json index 6f46c8004b..5a8c3fd693 100644 --- a/apps/files_external/l10n/eu.json +++ b/apps/files_external/l10n/eu.json @@ -1,33 +1,9 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Eskaera tokenen eskuratzeak huts egin du. Egiaztatu zure Dropbox app giltza eta sekretua zuzenak direla.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Sarrera tokenen eskuratzeak huts egin du. Egiaztatu zure Dropbox app giltza eta sekretua zuzenak direla.", - "Please provide a valid Dropbox app key and secret." : "Mesedez eman baliozkoa den Dropbox app giltza eta sekretua", "Step 1 failed. Exception: %s" : "1 Urratsak huts egin du. Salbuespena: %s", "Step 2 failed. Exception: %s" : "2 Urratsak huts egin du. Salbuespena: %s", "External storage" : "Kanpoko biltegiratzea", - "Local" : "Bertakoa", - "Location" : "Kokapena", - "Amazon S3" : "Amazon S3", - "Key" : "Gakoa", - "Secret" : "Sekretua", - "Amazon S3 and compliant" : "Amazon S3 eta baliokideak", - "Access Key" : "Sarbide gakoa", - "Secret Key" : "Giltza Sekretua", - "Hostname" : "Ostalari izena", - "Port" : "Portua", - "Region" : "Eskualdea", - "Enable SSL" : "Gaitu SSL", - "Enable Path Style" : "Gaitu Bide Estiloa", - "App key" : "Aplikazio gakoa", - "App secret" : "App sekretua", - "Host" : "Ostalaria", - "Username" : "Erabiltzaile izena", - "Password" : "Pasahitza", - "Remote subfolder" : "Urruneko azpikarpeta", - "Secure ftps://" : "ftps:// segurua", - "Client ID" : "Bezero ID", - "Client secret" : "Bezeroaren Sekretua", "OpenStack Object Storage" : "OpenStack Objektu Biltegiratzea", + "Username" : "Erabiltzaile izena", "Region (optional for OpenStack Object Storage)" : "Eskualdea (hautazkoa OpenStack Objektu Biltegiratzerako)", "API Key (required for Rackspace Cloud Files)" : "API Giltza (beharrezkoa Rackspace Cloud Filesentzako)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (beharrezkoa OpenStack Objektu Biltegiratzerko)", @@ -35,23 +11,41 @@ "Service Name (required for OpenStack Object Storage)" : "Zerbitzuaren Izena (beharrezkoa OpenStack Objektu Biltegiratzerako)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Nortasun amaierako puntuaren URLa (beharrezkoa OpenStack Objektu Biltegiratzerako)", "Timeout of HTTP requests in seconds" : "HTTP eskarien gehienezko denbora segundutan", - "Share" : "Partekatu", "SMB / CIFS using OC login" : "SMB / CIFS saioa hasteko OC erabiliz", + "Host" : "Ostalaria", "Username as share" : "Erabiltzaile izena elkarbanaketa bezala", - "URL" : "URL", - "Secure https://" : "https:// segurua", + "Share" : "Partekatu", + "Remote subfolder" : "Urruneko azpikarpeta", "Public key" : "Gako publikoa", - "Access granted" : "Sarrera baimendua", - "Error configuring Dropbox storage" : "Errore bat egon da Dropbox biltegiratzea konfiguratzean", - "Grant access" : "Baimendu sarrera", - "Error configuring Google Drive storage" : "Errore bat egon da Google Drive konfiguratzean", "Personal" : "Pertsonala", "System" : "Sistema", + "Grant access" : "Baimendu sarrera", + "Access granted" : "Sarrera baimendua", "All users. Type to select user or group." : "Erabiltzaile guztiak. Idatzi erabiltzaile edo taldea hautatzeko.", "(group)" : "(taldea)", "Saved" : "Gordeta", + "None" : "Ezer", + "App key" : "Aplikazio gakoa", + "App secret" : "App sekretua", + "Client ID" : "Bezero ID", + "Client secret" : "Bezeroaren Sekretua", + "Password" : "Pasahitza", + "Amazon S3" : "Amazon S3", + "Hostname" : "Ostalari izena", + "Port" : "Portua", + "Region" : "Eskualdea", + "Enable SSL" : "Gaitu SSL", + "Enable Path Style" : "Gaitu Bide Estiloa", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "https:// segurua", + "Dropbox" : "Dropbox", + "Secure ftps://" : "ftps:// segurua", + "Local" : "Bertakoa", + "Location" : "Kokapena", + "ownCloud" : "ownCloud", + "Root" : "Erroa", "Note: " : "Oharra:", - "and" : "eta", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Oharra: :PHPko cURL euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Oharra: :PHPko FTP euskarria ez dago instalatuta edo gaitua. Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Oharra:\"%s\" euskarria ez dago instalatuta Ezinezko da %s muntatzea. Mesedez eskatu sistema administratzaleari instala dezan. ", @@ -62,8 +56,8 @@ "Folder name" : "Karpetaren izena", "Configuration" : "Konfigurazioa", "Available for" : "Hauentzat eskuragarri", - "Add storage" : "Gehitu biltegiratzea", "Delete" : "Ezabatu", + "Add storage" : "Gehitu biltegiratzea", "Enable User External Storage" : "Gaitu erabiltzaileentzako kanpo biltegiratzea", "Allow users to mount the following external storage" : "Baimendu erabiltzaileak hurrengo kanpo biltegiratzeak muntatzen" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/fa.js b/apps/files_external/l10n/fa.js index 066684383e..7ac00a1671 100644 --- a/apps/files_external/l10n/fa.js +++ b/apps/files_external/l10n/fa.js @@ -1,28 +1,28 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "لطفا یک کلید و کد امنیتی صحیح دراپ باکس وارد کنید.", "External storage" : "حافظه خارجی", - "Location" : "محل", + "Username" : "نام کاربری", + "Host" : "میزبانی", + "Share" : "اشتراک‌گذاری", + "Personal" : "شخصی", + "Grant access" : " مجوز اعطا دسترسی", + "Access granted" : "مجوز دسترسی صادر شد", + "Saved" : "ذخیره شد", + "None" : "هیچ‌کدام", + "Password" : "گذرواژه", "Port" : "درگاه", "Region" : "ناحیه", - "Host" : "میزبانی", - "Username" : "نام کاربری", - "Password" : "گذرواژه", - "Share" : "اشتراک‌گذاری", + "WebDAV" : "WebDAV", "URL" : "آدرس", - "Access granted" : "مجوز دسترسی صادر شد", - "Error configuring Dropbox storage" : "خطا به هنگام تنظیم فضای دراپ باکس", - "Grant access" : " مجوز اعطا دسترسی", - "Error configuring Google Drive storage" : "خطا به هنگام تنظیم فضای Google Drive", - "Personal" : "شخصی", - "Saved" : "ذخیره شد", + "Location" : "محل", + "ownCloud" : "ownCloud", "Name" : "نام", "External Storage" : "حافظه خارجی", "Folder name" : "نام پوشه", "Configuration" : "پیکربندی", - "Add storage" : "اضافه کردن حافظه", "Delete" : "حذف", + "Add storage" : "اضافه کردن حافظه", "Enable User External Storage" : "فعال سازی حافظه خارجی کاربر" }, "nplurals=1; plural=0;"); diff --git a/apps/files_external/l10n/fa.json b/apps/files_external/l10n/fa.json index 21bd2c63b5..7aec7d92af 100644 --- a/apps/files_external/l10n/fa.json +++ b/apps/files_external/l10n/fa.json @@ -1,26 +1,26 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "لطفا یک کلید و کد امنیتی صحیح دراپ باکس وارد کنید.", "External storage" : "حافظه خارجی", - "Location" : "محل", + "Username" : "نام کاربری", + "Host" : "میزبانی", + "Share" : "اشتراک‌گذاری", + "Personal" : "شخصی", + "Grant access" : " مجوز اعطا دسترسی", + "Access granted" : "مجوز دسترسی صادر شد", + "Saved" : "ذخیره شد", + "None" : "هیچ‌کدام", + "Password" : "گذرواژه", "Port" : "درگاه", "Region" : "ناحیه", - "Host" : "میزبانی", - "Username" : "نام کاربری", - "Password" : "گذرواژه", - "Share" : "اشتراک‌گذاری", + "WebDAV" : "WebDAV", "URL" : "آدرس", - "Access granted" : "مجوز دسترسی صادر شد", - "Error configuring Dropbox storage" : "خطا به هنگام تنظیم فضای دراپ باکس", - "Grant access" : " مجوز اعطا دسترسی", - "Error configuring Google Drive storage" : "خطا به هنگام تنظیم فضای Google Drive", - "Personal" : "شخصی", - "Saved" : "ذخیره شد", + "Location" : "محل", + "ownCloud" : "ownCloud", "Name" : "نام", "External Storage" : "حافظه خارجی", "Folder name" : "نام پوشه", "Configuration" : "پیکربندی", - "Add storage" : "اضافه کردن حافظه", "Delete" : "حذف", + "Add storage" : "اضافه کردن حافظه", "Enable User External Storage" : "فعال سازی حافظه خارجی کاربر" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js index 430702d686..0888c8b714 100644 --- a/apps/files_external/l10n/fi_FI.js +++ b/apps/files_external/l10n/fi_FI.js @@ -1,50 +1,28 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Anna kelvollinen Dropbox-sovellusavain ja salainen vastaus.", "Step 1 failed. Exception: %s" : "Vaihe 1 epäonnistui. Poikkeus: %s", "Step 2 failed. Exception: %s" : "Vaihe 2 epäonnistui. Poikkeus: %s", "External storage" : "Ulkoinen tallennustila", - "Local" : "Paikallinen", - "Location" : "Sijainti", - "Amazon S3" : "Amazon S3", - "Key" : "Avain", - "Secret" : "Salaisuus", - "Amazon S3 and compliant" : "Amazon S3 ja yhteensopivat", - "Access Key" : "Käyttöavain", - "Secret Key" : "Sala-avain", - "Port" : "Portti", - "Region" : "Alue", - "Enable SSL" : "Käytä SSL:ää", - "App key" : "Sovellusavain", - "App secret" : "Sovellussalaisuus", - "Host" : "Isäntä", - "Username" : "Käyttäjätunnus", - "Password" : "Salasana", - "Remote subfolder" : "Etäalikansio", - "Secure ftps://" : "Salattu ftps://", - "Client ID" : "Asiakkaan tunniste", - "Client secret" : "Asiakassalaisuus", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Käyttäjätunnus", "Region (optional for OpenStack Object Storage)" : "Alue (valinnainen OpenStack Object Storagen käyttöön)", "API Key (required for Rackspace Cloud Files)" : "API-avain (vaaditaan Rackspace Cloud Filesin käyttöön)", "Tenantname (required for OpenStack Object Storage)" : "Vuokralaisnimi (vaaditaan OpenStack Object Storagen käyttöön)", "Password (required for OpenStack Object Storage)" : "Salasana (vaaditaan OpenStack Object Storagen käyttöön)", "Service Name (required for OpenStack Object Storage)" : "Palvelun nimi (vaaditaan OpenStack Object Storagen käyttöön)", "Timeout of HTTP requests in seconds" : "HTTP-pyyntöjen aikakatkaisu sekunneissa", - "Share" : "Jaa", "SMB / CIFS using OC login" : "SMB / CIFS käyttäen OC-kirjautumista", + "Host" : "Isäntä", "Username as share" : "Käyttäjänimi jakona", - "URL" : "Verkko-osoite", - "Secure https://" : "Salattu https://", + "Share" : "Jaa", + "Remote subfolder" : "Etäalikansio", "Public key" : "Julkinen avain", "Invalid mount point" : "Virheellinen liitoskohta", - "Access granted" : "Pääsy sallittu", - "Error configuring Dropbox storage" : "Virhe Dropbox levyn asetuksia tehtäessä", - "Grant access" : "Salli pääsy", - "Error configuring Google Drive storage" : "Virhe Google Drive levyn asetuksia tehtäessä", "Personal" : "Henkilökohtainen", "System" : "Järjestelmä", + "Grant access" : "Salli pääsy", + "Access granted" : "Pääsy sallittu", "Enable encryption" : "Käytä salausta", "Check for changes" : "Tarkista muutokset", "Never" : "Ei koskaan", @@ -55,8 +33,25 @@ OC.L10N.register( "Saved" : "Tallennettu", "Generate keys" : "Luo avaimet", "Error generating key pair" : "Virhe luotaessa avainparia", + "None" : "Ei mitään", + "App key" : "Sovellusavain", + "App secret" : "Sovellussalaisuus", + "Client ID" : "Asiakkaan tunniste", + "Client secret" : "Asiakassalaisuus", + "Password" : "Salasana", + "Amazon S3" : "Amazon S3", + "Port" : "Portti", + "Region" : "Alue", + "Enable SSL" : "Käytä SSL:ää", + "WebDAV" : "WebDAV", + "URL" : "Verkko-osoite", + "Secure https://" : "Salattu https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Salattu ftps://", + "Local" : "Paikallinen", + "Location" : "Sijainti", + "ownCloud" : "ownCloud", "Note: " : "Huomio: ", - "and" : "ja", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: \"%s\" ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan puuttuva kohde.", @@ -68,9 +63,9 @@ OC.L10N.register( "Folder name" : "Kansion nimi", "Configuration" : "Asetukset", "Available for" : "Saatavuus", - "Add storage" : "Lisää tallennustila", "Advanced settings" : "Lisäasetukset", "Delete" : "Poista", + "Add storage" : "Lisää tallennustila", "Enable User External Storage" : "Ota käyttöön ulkopuoliset tallennuspaikat", "Allow users to mount the following external storage" : "Salli käyttäjien liittää seuraavat erilliset tallennusvälineet" }, diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json index 1f3bf46423..94d5707e9b 100644 --- a/apps/files_external/l10n/fi_FI.json +++ b/apps/files_external/l10n/fi_FI.json @@ -1,48 +1,26 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Anna kelvollinen Dropbox-sovellusavain ja salainen vastaus.", "Step 1 failed. Exception: %s" : "Vaihe 1 epäonnistui. Poikkeus: %s", "Step 2 failed. Exception: %s" : "Vaihe 2 epäonnistui. Poikkeus: %s", "External storage" : "Ulkoinen tallennustila", - "Local" : "Paikallinen", - "Location" : "Sijainti", - "Amazon S3" : "Amazon S3", - "Key" : "Avain", - "Secret" : "Salaisuus", - "Amazon S3 and compliant" : "Amazon S3 ja yhteensopivat", - "Access Key" : "Käyttöavain", - "Secret Key" : "Sala-avain", - "Port" : "Portti", - "Region" : "Alue", - "Enable SSL" : "Käytä SSL:ää", - "App key" : "Sovellusavain", - "App secret" : "Sovellussalaisuus", - "Host" : "Isäntä", - "Username" : "Käyttäjätunnus", - "Password" : "Salasana", - "Remote subfolder" : "Etäalikansio", - "Secure ftps://" : "Salattu ftps://", - "Client ID" : "Asiakkaan tunniste", - "Client secret" : "Asiakassalaisuus", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Käyttäjätunnus", "Region (optional for OpenStack Object Storage)" : "Alue (valinnainen OpenStack Object Storagen käyttöön)", "API Key (required for Rackspace Cloud Files)" : "API-avain (vaaditaan Rackspace Cloud Filesin käyttöön)", "Tenantname (required for OpenStack Object Storage)" : "Vuokralaisnimi (vaaditaan OpenStack Object Storagen käyttöön)", "Password (required for OpenStack Object Storage)" : "Salasana (vaaditaan OpenStack Object Storagen käyttöön)", "Service Name (required for OpenStack Object Storage)" : "Palvelun nimi (vaaditaan OpenStack Object Storagen käyttöön)", "Timeout of HTTP requests in seconds" : "HTTP-pyyntöjen aikakatkaisu sekunneissa", - "Share" : "Jaa", "SMB / CIFS using OC login" : "SMB / CIFS käyttäen OC-kirjautumista", + "Host" : "Isäntä", "Username as share" : "Käyttäjänimi jakona", - "URL" : "Verkko-osoite", - "Secure https://" : "Salattu https://", + "Share" : "Jaa", + "Remote subfolder" : "Etäalikansio", "Public key" : "Julkinen avain", "Invalid mount point" : "Virheellinen liitoskohta", - "Access granted" : "Pääsy sallittu", - "Error configuring Dropbox storage" : "Virhe Dropbox levyn asetuksia tehtäessä", - "Grant access" : "Salli pääsy", - "Error configuring Google Drive storage" : "Virhe Google Drive levyn asetuksia tehtäessä", "Personal" : "Henkilökohtainen", "System" : "Järjestelmä", + "Grant access" : "Salli pääsy", + "Access granted" : "Pääsy sallittu", "Enable encryption" : "Käytä salausta", "Check for changes" : "Tarkista muutokset", "Never" : "Ei koskaan", @@ -53,8 +31,25 @@ "Saved" : "Tallennettu", "Generate keys" : "Luo avaimet", "Error generating key pair" : "Virhe luotaessa avainparia", + "None" : "Ei mitään", + "App key" : "Sovellusavain", + "App secret" : "Sovellussalaisuus", + "Client ID" : "Asiakkaan tunniste", + "Client secret" : "Asiakassalaisuus", + "Password" : "Salasana", + "Amazon S3" : "Amazon S3", + "Port" : "Portti", + "Region" : "Alue", + "Enable SSL" : "Käytä SSL:ää", + "WebDAV" : "WebDAV", + "URL" : "Verkko-osoite", + "Secure https://" : "Salattu https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Salattu ftps://", + "Local" : "Paikallinen", + "Location" : "Sijainti", + "ownCloud" : "ownCloud", "Note: " : "Huomio: ", - "and" : "ja", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: \"%s\" ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää asentamaan puuttuva kohde.", @@ -66,9 +61,9 @@ "Folder name" : "Kansion nimi", "Configuration" : "Asetukset", "Available for" : "Saatavuus", - "Add storage" : "Lisää tallennustila", "Advanced settings" : "Lisäasetukset", "Delete" : "Poista", + "Add storage" : "Lisää tallennustila", "Enable User External Storage" : "Ota käyttöön ulkopuoliset tallennuspaikat", "Allow users to mount the following external storage" : "Salli käyttäjien liittää seuraavat erilliset tallennusvälineet" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index 9877d2b240..e47f9d167b 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "La récupération des jetons d’authentification a échoué. Veuillez vérifier votre clé d'application Dropbox ainsi que le mot de passe.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "La requête d’accès aux jetons d’authentification a échoué. Veuillez vérifier votre App-Key Dropbox ainsi que le mot de passe.", - "Please provide a valid Dropbox app key and secret." : "Veuillez fournir une clé d'application (app key) ainsi qu'un mot de passe valides.", "Step 1 failed. Exception: %s" : "L’étape 1 a échoué. Erreur : %s", "Step 2 failed. Exception: %s" : "L’étape 2 a échoué. Erreur : %s", "External storage" : "Stockage externe", - "Local" : "Local", - "Location" : "Emplacement", - "Amazon S3" : "Amazon S3", - "Key" : "Clé", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 et compatibles", - "Access Key" : "Clé d'accès", - "Secret Key" : "Clé secrète", - "Hostname" : "Nom de l'hôte", - "Port" : "Port", - "Region" : "Région", - "Enable SSL" : "Activer SSL", - "Enable Path Style" : "Accès par path", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Hôte", - "Username" : "Nom d'utilisateur", - "Password" : "Mot de passe", - "Remote subfolder" : "Sous-dossier distant", - "Secure ftps://" : "Sécurisation ftps://", - "Client ID" : "ID Client", - "Client secret" : "Secret client", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nom d'utilisateur", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Région (optionnel pour OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clé API (requis pour Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (requis pour le stockage OpenStack)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nom du service (requis pour le stockage OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL du point d'accès d'identité (requis pour le stockage OpenStack)", "Timeout of HTTP requests in seconds" : "Délai d'attente maximal des requêtes HTTP en secondes", - "Share" : "Partage", "SMB / CIFS using OC login" : "SMB / CIFS en utilisant les identifiants OC", + "Host" : "Hôte", "Username as share" : "Nom d'utilisateur comme nom de partage", - "URL" : "URL", - "Secure https://" : "Sécurisation https://", + "Share" : "Partage", + "Remote subfolder" : "Sous-dossier distant", "SFTP with secret key login" : "SFTP avec identification par clé", "Public key" : "Clef publique", "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", "Invalid mount point" : "Point de montage non valide", "Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"", - "Access granted" : "Accès autorisé", - "Error configuring Dropbox storage" : "Erreur lors de la configuration du stockage Dropbox", - "Grant access" : "Autoriser l'accès", - "Error configuring Google Drive storage" : "Erreur lors de la configuration du stockage Google Drive", "Personal" : "Personnel", "System" : "Système", + "Grant access" : "Autoriser l'accès", + "Access granted" : "Accès autorisé", "Enable encryption" : "Activer le chiffrement", "Enable previews" : "Activer les prévisualisations", "Check for changes" : "Rechercher les modifications", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Sauvegardé", "Generate keys" : "Générer des clés", "Error generating key pair" : "Erreur lors de la génération des clés", + "None" : "Aucun", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "ID Client", + "Client secret" : "Secret client", + "Password" : "Mot de passe", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nom de l'hôte", + "Port" : "Port", + "Region" : "Région", + "Enable SSL" : "Activer SSL", + "Enable Path Style" : "Accès par path", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sécurisation https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sécurisation ftps://", + "Local" : "Local", + "Location" : "Emplacement", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Attention :", - "and" : " et ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : \"%s\" n'est pas installé. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Nom du dossier", "Configuration" : "Configuration", "Available for" : "Disponible pour", - "Add storage" : "Ajouter un support de stockage", "Advanced settings" : "Paramètres avancés", "Delete" : "Supprimer", + "Add storage" : "Ajouter un support de stockage", "Enable User External Storage" : "Autoriser les utilisateurs à ajouter des stockages externes", "Allow users to mount the following external storage" : "Autoriser les utilisateurs à monter les stockages externes suivants" }, diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index 22c5106b44..c0c927ebff 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "La récupération des jetons d’authentification a échoué. Veuillez vérifier votre clé d'application Dropbox ainsi que le mot de passe.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "La requête d’accès aux jetons d’authentification a échoué. Veuillez vérifier votre App-Key Dropbox ainsi que le mot de passe.", - "Please provide a valid Dropbox app key and secret." : "Veuillez fournir une clé d'application (app key) ainsi qu'un mot de passe valides.", "Step 1 failed. Exception: %s" : "L’étape 1 a échoué. Erreur : %s", "Step 2 failed. Exception: %s" : "L’étape 2 a échoué. Erreur : %s", "External storage" : "Stockage externe", - "Local" : "Local", - "Location" : "Emplacement", - "Amazon S3" : "Amazon S3", - "Key" : "Clé", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 et compatibles", - "Access Key" : "Clé d'accès", - "Secret Key" : "Clé secrète", - "Hostname" : "Nom de l'hôte", - "Port" : "Port", - "Region" : "Région", - "Enable SSL" : "Activer SSL", - "Enable Path Style" : "Accès par path", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Hôte", - "Username" : "Nom d'utilisateur", - "Password" : "Mot de passe", - "Remote subfolder" : "Sous-dossier distant", - "Secure ftps://" : "Sécurisation ftps://", - "Client ID" : "ID Client", - "Client secret" : "Secret client", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nom d'utilisateur", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Région (optionnel pour OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clé API (requis pour Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (requis pour le stockage OpenStack)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Nom du service (requis pour le stockage OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL du point d'accès d'identité (requis pour le stockage OpenStack)", "Timeout of HTTP requests in seconds" : "Délai d'attente maximal des requêtes HTTP en secondes", - "Share" : "Partage", "SMB / CIFS using OC login" : "SMB / CIFS en utilisant les identifiants OC", + "Host" : "Hôte", "Username as share" : "Nom d'utilisateur comme nom de partage", - "URL" : "URL", - "Secure https://" : "Sécurisation https://", + "Share" : "Partage", + "Remote subfolder" : "Sous-dossier distant", "SFTP with secret key login" : "SFTP avec identification par clé", "Public key" : "Clef publique", "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", "Invalid mount point" : "Point de montage non valide", "Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"", - "Access granted" : "Accès autorisé", - "Error configuring Dropbox storage" : "Erreur lors de la configuration du stockage Dropbox", - "Grant access" : "Autoriser l'accès", - "Error configuring Google Drive storage" : "Erreur lors de la configuration du stockage Google Drive", "Personal" : "Personnel", "System" : "Système", + "Grant access" : "Autoriser l'accès", + "Access granted" : "Accès autorisé", "Enable encryption" : "Activer le chiffrement", "Enable previews" : "Activer les prévisualisations", "Check for changes" : "Rechercher les modifications", @@ -63,8 +37,28 @@ "Saved" : "Sauvegardé", "Generate keys" : "Générer des clés", "Error generating key pair" : "Erreur lors de la génération des clés", + "None" : "Aucun", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "ID Client", + "Client secret" : "Secret client", + "Password" : "Mot de passe", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nom de l'hôte", + "Port" : "Port", + "Region" : "Région", + "Enable SSL" : "Activer SSL", + "Enable Path Style" : "Accès par path", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sécurisation https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sécurisation ftps://", + "Local" : "Local", + "Location" : "Emplacement", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Attention :", - "and" : " et ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : \"%s\" n'est pas installé. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", @@ -77,9 +71,9 @@ "Folder name" : "Nom du dossier", "Configuration" : "Configuration", "Available for" : "Disponible pour", - "Add storage" : "Ajouter un support de stockage", "Advanced settings" : "Paramètres avancés", "Delete" : "Supprimer", + "Add storage" : "Ajouter un support de stockage", "Enable User External Storage" : "Autoriser les utilisateurs à ajouter des stockages externes", "Allow users to mount the following external storage" : "Autoriser les utilisateurs à monter les stockages externes suivants" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/apps/files_external/l10n/gl.js b/apps/files_external/l10n/gl.js index 9c46aa40b2..29d99ec669 100644 --- a/apps/files_external/l10n/gl.js +++ b/apps/files_external/l10n/gl.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Fallou a obtención de marcas de petición. Comprobe que a chave e o código secreto da súa aplicación Dropbox son correctas.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Fallou a obtención de marcas de acceso. Comprobe que a chave e o código secreto da súa aplicación Dropbox son correctas.", - "Please provide a valid Dropbox app key and secret." : "Forneza unha chave correcta e secreta do Dropbox.", "Step 1 failed. Exception: %s" : "Fallou o paso 1. Excepción: %s", "Step 2 failed. Exception: %s" : "Fallou o paso 2. Excepción: %s", "External storage" : "Almacenamento externo", - "Local" : "Local", - "Location" : "Localización", - "Amazon S3" : "Amazon S3", - "Key" : "Clave", - "Secret" : "Secreto", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 e compatíbeis", - "Access Key" : "Clave de acceso", - "Secret Key" : "Chave secreta", - "Hostname" : "Nome de máquina", - "Port" : "Porto", - "Region" : "Rexión", - "Enable SSL" : "Activar SSL", - "Enable Path Style" : "Activar o estilo de ruta", - "App key" : "Clave da API", - "App secret" : "Secreto da aplicación", - "Host" : "Servidor", - "Username" : "Nome de usuario", - "Password" : "Contrasinal", - "Remote subfolder" : "Subcartafol remoto", - "Secure ftps://" : "ftps:// seguro", - "Client ID" : "ID do cliente", - "Client secret" : "Secreto do cliente", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nome de usuario", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Rexión (opcional para OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clave da API (obrigatoria para Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nome do inquilino (obrigatorio para OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nome do servizo (obrigatorio para OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL do punto final da identidade (obrigatorio para OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Caducidade, en segundos, das peticións HTTP", - "Share" : "Compartir", "SMB / CIFS using OC login" : "SMB / CIFS usando acceso OC", + "Host" : "Servidor", "Username as share" : "Nome de usuario como compartición", - "URL" : "URL", - "Secure https://" : "https:// seguro", + "Share" : "Compartir", + "Remote subfolder" : "Subcartafol remoto", "SFTP with secret key login" : "SFTP con chave secreta de acceso", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Non se atopa o almacenamento co ID «%i» ", "Invalid mount point" : "Punto de montaxe incorrecto", "Invalid storage backend \"%s\"" : "Infraestrutura de almacenamento «%s» incorrecta", - "Access granted" : "Concedeuse acceso", - "Error configuring Dropbox storage" : "Produciuse un erro ao configurar o almacenamento en Dropbox", - "Grant access" : "Permitir o acceso", - "Error configuring Google Drive storage" : "Produciuse un erro ao configurar o almacenamento en Google Drive", "Personal" : "Persoal", "System" : "Sistema", + "Grant access" : "Permitir o acceso", + "Access granted" : "Concedeuse acceso", "Enable encryption" : "Activar o cifrado", "Enable previews" : "Activar as vistas previas", "Check for changes" : "Comprobar se hai cambios", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Gardado", "Generate keys" : "Xerar chaves", "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", + "None" : "Ningún", + "App key" : "Clave da API", + "App secret" : "Secreto da aplicación", + "Client ID" : "ID do cliente", + "Client secret" : "Secreto do cliente", + "Password" : "Contrasinal", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome de máquina", + "Port" : "Porto", + "Region" : "Rexión", + "Enable SSL" : "Activar SSL", + "Enable Path Style" : "Activar o estilo de ruta", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "https:// seguro", + "Dropbox" : "Dropbox", + "Secure ftps://" : "ftps:// seguro", + "Local" : "Local", + "Location" : "Localización", + "ownCloud" : "ownCloud", + "Root" : "Root (raíz)", "Note: " : "Nota: ", - "and" : "e", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: A compatibilidade de cURL en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: «%s» non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Nome do cartafol", "Configuration" : "Configuración", "Available for" : "Dispoñíbel para", - "Add storage" : "Engadir almacenamento", "Advanced settings" : "Axustes avanzados", "Delete" : "Eliminar", + "Add storage" : "Engadir almacenamento", "Enable User External Storage" : "Activar o almacenamento externo do usuario", "Allow users to mount the following external storage" : "Permitirlle aos usuarios montar o seguinte almacenamento externo" }, diff --git a/apps/files_external/l10n/gl.json b/apps/files_external/l10n/gl.json index 18069fcd2b..cecca37a29 100644 --- a/apps/files_external/l10n/gl.json +++ b/apps/files_external/l10n/gl.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Fallou a obtención de marcas de petición. Comprobe que a chave e o código secreto da súa aplicación Dropbox son correctas.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Fallou a obtención de marcas de acceso. Comprobe que a chave e o código secreto da súa aplicación Dropbox son correctas.", - "Please provide a valid Dropbox app key and secret." : "Forneza unha chave correcta e secreta do Dropbox.", "Step 1 failed. Exception: %s" : "Fallou o paso 1. Excepción: %s", "Step 2 failed. Exception: %s" : "Fallou o paso 2. Excepción: %s", "External storage" : "Almacenamento externo", - "Local" : "Local", - "Location" : "Localización", - "Amazon S3" : "Amazon S3", - "Key" : "Clave", - "Secret" : "Secreto", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 e compatíbeis", - "Access Key" : "Clave de acceso", - "Secret Key" : "Chave secreta", - "Hostname" : "Nome de máquina", - "Port" : "Porto", - "Region" : "Rexión", - "Enable SSL" : "Activar SSL", - "Enable Path Style" : "Activar o estilo de ruta", - "App key" : "Clave da API", - "App secret" : "Secreto da aplicación", - "Host" : "Servidor", - "Username" : "Nome de usuario", - "Password" : "Contrasinal", - "Remote subfolder" : "Subcartafol remoto", - "Secure ftps://" : "ftps:// seguro", - "Client ID" : "ID do cliente", - "Client secret" : "Secreto do cliente", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nome de usuario", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Rexión (opcional para OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clave da API (obrigatoria para Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nome do inquilino (obrigatorio para OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Nome do servizo (obrigatorio para OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL do punto final da identidade (obrigatorio para OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Caducidade, en segundos, das peticións HTTP", - "Share" : "Compartir", "SMB / CIFS using OC login" : "SMB / CIFS usando acceso OC", + "Host" : "Servidor", "Username as share" : "Nome de usuario como compartición", - "URL" : "URL", - "Secure https://" : "https:// seguro", + "Share" : "Compartir", + "Remote subfolder" : "Subcartafol remoto", "SFTP with secret key login" : "SFTP con chave secreta de acceso", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Non se atopa o almacenamento co ID «%i» ", "Invalid mount point" : "Punto de montaxe incorrecto", "Invalid storage backend \"%s\"" : "Infraestrutura de almacenamento «%s» incorrecta", - "Access granted" : "Concedeuse acceso", - "Error configuring Dropbox storage" : "Produciuse un erro ao configurar o almacenamento en Dropbox", - "Grant access" : "Permitir o acceso", - "Error configuring Google Drive storage" : "Produciuse un erro ao configurar o almacenamento en Google Drive", "Personal" : "Persoal", "System" : "Sistema", + "Grant access" : "Permitir o acceso", + "Access granted" : "Concedeuse acceso", "Enable encryption" : "Activar o cifrado", "Enable previews" : "Activar as vistas previas", "Check for changes" : "Comprobar se hai cambios", @@ -63,8 +37,28 @@ "Saved" : "Gardado", "Generate keys" : "Xerar chaves", "Error generating key pair" : "Produciuse un erro ao xerar o par de chaves", + "None" : "Ningún", + "App key" : "Clave da API", + "App secret" : "Secreto da aplicación", + "Client ID" : "ID do cliente", + "Client secret" : "Secreto do cliente", + "Password" : "Contrasinal", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome de máquina", + "Port" : "Porto", + "Region" : "Rexión", + "Enable SSL" : "Activar SSL", + "Enable Path Style" : "Activar o estilo de ruta", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "https:// seguro", + "Dropbox" : "Dropbox", + "Secure ftps://" : "ftps:// seguro", + "Local" : "Local", + "Location" : "Localización", + "ownCloud" : "ownCloud", + "Root" : "Root (raíz)", "Note: " : "Nota: ", - "and" : "e", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: A compatibilidade de cURL en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: A compatibilidade de FTP en PHP non está activada, ou non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: «%s» non está instalado. Non é posíbel a montaxe de %s. Consulte co administrador do sistema como instalalo.", @@ -77,9 +71,9 @@ "Folder name" : "Nome do cartafol", "Configuration" : "Configuración", "Available for" : "Dispoñíbel para", - "Add storage" : "Engadir almacenamento", "Advanced settings" : "Axustes avanzados", "Delete" : "Eliminar", + "Add storage" : "Engadir almacenamento", "Enable User External Storage" : "Activar o almacenamento externo do usuario", "Allow users to mount the following external storage" : "Permitirlle aos usuarios montar o seguinte almacenamento externo" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/he.js b/apps/files_external/l10n/he.js index d9e903ff3e..39729016a3 100644 --- a/apps/files_external/l10n/he.js +++ b/apps/files_external/l10n/he.js @@ -1,22 +1,22 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "נא לספק קוד יישום וסוד תקניים של Dropbox.", - "Local" : "מקומי", - "Location" : "מיקום", + "Username" : "שם משתמש", + "Host" : "מארח", + "Share" : "שיתוף", + "Personal" : "אישי", + "Grant access" : "הענקת גישה", + "Access granted" : "הוענקה גישה", + "Saved" : "נשמר", + "None" : "כלום", + "Password" : "סיסמא", "Port" : "פורט", "Region" : "אזור", - "Host" : "מארח", - "Username" : "שם משתמש", - "Password" : "סיסמא", - "Share" : "שיתוף", + "WebDAV" : "WebDAV", "URL" : "כתובת", - "Access granted" : "הוענקה גישה", - "Error configuring Dropbox storage" : "אירעה שגיאה בעת הגדרת אחסון ב־Dropbox", - "Grant access" : "הענקת גישה", - "Error configuring Google Drive storage" : "אירעה שגיאה בעת הגדרת אחסון ב־Google Drive", - "Personal" : "אישי", - "Saved" : "נשמר", + "Local" : "מקומי", + "Location" : "מיקום", + "ownCloud" : "ownCloud", "Name" : "שם", "External Storage" : "אחסון חיצוני", "Folder name" : "שם התיקייה", diff --git a/apps/files_external/l10n/he.json b/apps/files_external/l10n/he.json index fb81293834..d04109504d 100644 --- a/apps/files_external/l10n/he.json +++ b/apps/files_external/l10n/he.json @@ -1,20 +1,20 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "נא לספק קוד יישום וסוד תקניים של Dropbox.", - "Local" : "מקומי", - "Location" : "מיקום", + "Username" : "שם משתמש", + "Host" : "מארח", + "Share" : "שיתוף", + "Personal" : "אישי", + "Grant access" : "הענקת גישה", + "Access granted" : "הוענקה גישה", + "Saved" : "נשמר", + "None" : "כלום", + "Password" : "סיסמא", "Port" : "פורט", "Region" : "אזור", - "Host" : "מארח", - "Username" : "שם משתמש", - "Password" : "סיסמא", - "Share" : "שיתוף", + "WebDAV" : "WebDAV", "URL" : "כתובת", - "Access granted" : "הוענקה גישה", - "Error configuring Dropbox storage" : "אירעה שגיאה בעת הגדרת אחסון ב־Dropbox", - "Grant access" : "הענקת גישה", - "Error configuring Google Drive storage" : "אירעה שגיאה בעת הגדרת אחסון ב־Google Drive", - "Personal" : "אישי", - "Saved" : "נשמר", + "Local" : "מקומי", + "Location" : "מיקום", + "ownCloud" : "ownCloud", "Name" : "שם", "External Storage" : "אחסון חיצוני", "Folder name" : "שם התיקייה", diff --git a/apps/files_external/l10n/hi.js b/apps/files_external/l10n/hi.js index 97fcc0d135..ed6db75b37 100644 --- a/apps/files_external/l10n/hi.js +++ b/apps/files_external/l10n/hi.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_external", { "Username" : "प्रयोक्ता का नाम", - "Password" : "पासवर्ड", "Share" : "साझा करें", - "Personal" : "यक्तिगत" + "Personal" : "यक्तिगत", + "Password" : "पासवर्ड" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/hi.json b/apps/files_external/l10n/hi.json index cee1bf9c5c..ea8d878bbd 100644 --- a/apps/files_external/l10n/hi.json +++ b/apps/files_external/l10n/hi.json @@ -1,7 +1,7 @@ { "translations": { "Username" : "प्रयोक्ता का नाम", - "Password" : "पासवर्ड", "Share" : "साझा करें", - "Personal" : "यक्तिगत" + "Personal" : "यक्तिगत", + "Password" : "पासवर्ड" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/hr.js b/apps/files_external/l10n/hr.js index 37193bceeb..f410aed432 100644 --- a/apps/files_external/l10n/hr.js +++ b/apps/files_external/l10n/hr.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Dohvaćanje tokena zahtjeva nije uspjelo. Provjerite jesu li vaš ključ za aplikacije iz zajedničke mrežne mapei tajna aplikacije ispravni", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Dohvaćanje pristupnog tokena nije uspjelo. Provjerite jesu li vaš ključ za aplikacije iz zajedničke mrežne mapei tajna aplikacije ispravni", - "Please provide a valid Dropbox app key and secret." : "Molimo navedite ispravan ključ za aplikacije iz zajedničke mrežne mape i tajni kluč.", "Step 1 failed. Exception: %s" : "Korak 1 nije uspio. Izuzetak: %s", "Step 2 failed. Exception: %s" : "Korak 2 nije uspio. Izuzetak: %s", "External storage" : "Vanjsko spremište za pohranu", - "Local" : "Lokalno", - "Location" : "Lokacija", - "Amazon S3" : "Amazon S3", - "Key" : "Ključ", - "Secret" : "Tajna", - "Bucket" : "Kantica", - "Amazon S3 and compliant" : "Amazon S3 i kompatibilno", - "Access Key" : "Pristupni ključ", - "Secret Key" : "Ključ za tajnu", - "Hostname" : "Naziv poslužitelja", - "Port" : "Port", - "Region" : "Regija", - "Enable SSL" : "Omogućite SSL", - "Enable Path Style" : "Omogućite Path Style", - "App key" : "Ključ za aplikacije", - "App secret" : "Tajna aplikacije", - "Host" : "Glavno računalo", - "Username" : "Korisničko ime", - "Password" : "Lozinka", - "Remote subfolder" : "Udaljena podmapa", - "Secure ftps://" : "Sigurni ftps://", - "Client ID" : "ID klijenta", - "Client secret" : "Klijentski tajni ključ", "OpenStack Object Storage" : "Prostor za pohranu.....", + "Username" : "Korisničko ime", + "Bucket" : "Kantica", "Region (optional for OpenStack Object Storage)" : "Regija (neobavezno za OpenStack object storage", "API Key (required for Rackspace Cloud Files)" : "API ključ (obavezno za Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Naziv korisnika (obavezno za OpenStack Object storage)", @@ -38,20 +14,38 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Naziv usluge (Obavezno za OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL krajnje točke identiteta (obavezno za OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Vrijeme isteka HTTP zahtjeva u sekundama", - "Share" : "Dijeljenje zhajedničkih resursa", "SMB / CIFS using OC login" : "SMB / CIFS uz prijavu putem programa OC", + "Host" : "Glavno računalo", "Username as share" : "Korisničko ime kao dijeljeni resurs", - "URL" : "URL", - "Secure https://" : "Siguran https://", - "Access granted" : "Pristup odobren", - "Error configuring Dropbox storage" : "Pogreška pri konfiguriranju spremišta u zajedničkoj mrežnoj mapi", - "Grant access" : "Dodijeli pristup", - "Error configuring Google Drive storage" : "Pogreška pri konfiguriranju spremišta u Google Drive-u", + "Share" : "Dijeljenje zhajedničkih resursa", + "Remote subfolder" : "Udaljena podmapa", "Personal" : "Osobno", "System" : "Sustav", + "Grant access" : "Dodijeli pristup", + "Access granted" : "Pristup odobren", "All users. Type to select user or group." : "Svi korisnici. Započnite unos za izbor korisnika ili grupe.", "(group)" : "(grupa)", "Saved" : "Spremljeno", + "None" : "Ništa", + "App key" : "Ključ za aplikacije", + "App secret" : "Tajna aplikacije", + "Client ID" : "ID klijenta", + "Client secret" : "Klijentski tajni ključ", + "Password" : "Lozinka", + "Amazon S3" : "Amazon S3", + "Hostname" : "Naziv poslužitelja", + "Port" : "Port", + "Region" : "Regija", + "Enable SSL" : "Omogućite SSL", + "Enable Path Style" : "Omogućite Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Siguran https://", + "Secure ftps://" : "Sigurni ftps://", + "Local" : "Lokalno", + "Location" : "Lokacija", + "ownCloud" : "OwnCloud", + "Root" : "Korijen", "Note: " : "Bilješka:", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.", @@ -63,8 +57,8 @@ OC.L10N.register( "Folder name" : "Naziv mape", "Configuration" : "Konfiguracija", "Available for" : "Dostupno za", - "Add storage" : "Dodajte spremište", "Delete" : "Izbrišite", + "Add storage" : "Dodajte spremište", "Enable User External Storage" : "Omogućite korisničko vanjsko spremište", "Allow users to mount the following external storage" : "Dopustite korisnicima postavljanje sljedećeg vanjskog spremišta" }, diff --git a/apps/files_external/l10n/hr.json b/apps/files_external/l10n/hr.json index 04e6c77853..bd33b34f9d 100644 --- a/apps/files_external/l10n/hr.json +++ b/apps/files_external/l10n/hr.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Dohvaćanje tokena zahtjeva nije uspjelo. Provjerite jesu li vaš ključ za aplikacije iz zajedničke mrežne mapei tajna aplikacije ispravni", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Dohvaćanje pristupnog tokena nije uspjelo. Provjerite jesu li vaš ključ za aplikacije iz zajedničke mrežne mapei tajna aplikacije ispravni", - "Please provide a valid Dropbox app key and secret." : "Molimo navedite ispravan ključ za aplikacije iz zajedničke mrežne mape i tajni kluč.", "Step 1 failed. Exception: %s" : "Korak 1 nije uspio. Izuzetak: %s", "Step 2 failed. Exception: %s" : "Korak 2 nije uspio. Izuzetak: %s", "External storage" : "Vanjsko spremište za pohranu", - "Local" : "Lokalno", - "Location" : "Lokacija", - "Amazon S3" : "Amazon S3", - "Key" : "Ključ", - "Secret" : "Tajna", - "Bucket" : "Kantica", - "Amazon S3 and compliant" : "Amazon S3 i kompatibilno", - "Access Key" : "Pristupni ključ", - "Secret Key" : "Ključ za tajnu", - "Hostname" : "Naziv poslužitelja", - "Port" : "Port", - "Region" : "Regija", - "Enable SSL" : "Omogućite SSL", - "Enable Path Style" : "Omogućite Path Style", - "App key" : "Ključ za aplikacije", - "App secret" : "Tajna aplikacije", - "Host" : "Glavno računalo", - "Username" : "Korisničko ime", - "Password" : "Lozinka", - "Remote subfolder" : "Udaljena podmapa", - "Secure ftps://" : "Sigurni ftps://", - "Client ID" : "ID klijenta", - "Client secret" : "Klijentski tajni ključ", "OpenStack Object Storage" : "Prostor za pohranu.....", + "Username" : "Korisničko ime", + "Bucket" : "Kantica", "Region (optional for OpenStack Object Storage)" : "Regija (neobavezno za OpenStack object storage", "API Key (required for Rackspace Cloud Files)" : "API ključ (obavezno za Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Naziv korisnika (obavezno za OpenStack Object storage)", @@ -36,20 +12,38 @@ "Service Name (required for OpenStack Object Storage)" : "Naziv usluge (Obavezno za OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL krajnje točke identiteta (obavezno za OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Vrijeme isteka HTTP zahtjeva u sekundama", - "Share" : "Dijeljenje zhajedničkih resursa", "SMB / CIFS using OC login" : "SMB / CIFS uz prijavu putem programa OC", + "Host" : "Glavno računalo", "Username as share" : "Korisničko ime kao dijeljeni resurs", - "URL" : "URL", - "Secure https://" : "Siguran https://", - "Access granted" : "Pristup odobren", - "Error configuring Dropbox storage" : "Pogreška pri konfiguriranju spremišta u zajedničkoj mrežnoj mapi", - "Grant access" : "Dodijeli pristup", - "Error configuring Google Drive storage" : "Pogreška pri konfiguriranju spremišta u Google Drive-u", + "Share" : "Dijeljenje zhajedničkih resursa", + "Remote subfolder" : "Udaljena podmapa", "Personal" : "Osobno", "System" : "Sustav", + "Grant access" : "Dodijeli pristup", + "Access granted" : "Pristup odobren", "All users. Type to select user or group." : "Svi korisnici. Započnite unos za izbor korisnika ili grupe.", "(group)" : "(grupa)", "Saved" : "Spremljeno", + "None" : "Ništa", + "App key" : "Ključ za aplikacije", + "App secret" : "Tajna aplikacije", + "Client ID" : "ID klijenta", + "Client secret" : "Klijentski tajni ključ", + "Password" : "Lozinka", + "Amazon S3" : "Amazon S3", + "Hostname" : "Naziv poslužitelja", + "Port" : "Port", + "Region" : "Regija", + "Enable SSL" : "Omogućite SSL", + "Enable Path Style" : "Omogućite Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Siguran https://", + "Secure ftps://" : "Sigurni ftps://", + "Local" : "Lokalno", + "Location" : "Lokacija", + "ownCloud" : "OwnCloud", + "Root" : "Korijen", "Note: " : "Bilješka:", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: Podrška cURL u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svog administratora sustava da je instalira.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Note: Podrška FTP u PHP nije omogućena ili nije instalirana. Postavljanje%s nije moguće. Molimo zamolite svotg administratora sustava da je instalira.", @@ -61,8 +55,8 @@ "Folder name" : "Naziv mape", "Configuration" : "Konfiguracija", "Available for" : "Dostupno za", - "Add storage" : "Dodajte spremište", "Delete" : "Izbrišite", + "Add storage" : "Dodajte spremište", "Enable User External Storage" : "Omogućite korisničko vanjsko spremište", "Allow users to mount the following external storage" : "Dopustite korisnicima postavljanje sljedećeg vanjskog spremišta" },"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;" diff --git a/apps/files_external/l10n/hu_HU.js b/apps/files_external/l10n/hu_HU.js index 7ec61b9194..39d28c69fd 100644 --- a/apps/files_external/l10n/hu_HU.js +++ b/apps/files_external/l10n/hu_HU.js @@ -1,51 +1,46 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Adjon meg egy érvényes Dropbox app key-t és secretet!", "External storage" : "Külső tárolók", - "Local" : "Helyi", - "Location" : "Hely", - "Amazon S3" : "Amazon S3", - "Key" : "Kulcs", - "Secret" : "Titkos", + "Username" : "Felhasználónév", "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3-mal kompatibilisek", - "Access Key" : "Hozzáférési kulcs", - "Secret Key" : "Titkos kulcs", + "Timeout of HTTP requests in seconds" : "A HTTP-kérés időkorlátja másodpercben", + "Host" : "Kiszolgáló", + "Username as share" : "Felhasználónév és megosztás", + "Share" : "Megosztás", + "Remote subfolder" : "Távoli alkönyvtár", + "Personal" : "Személyes", + "System" : "Rendszer", + "Grant access" : "Megadom a hozzáférést", + "Access granted" : "Érvényes hozzáférés", + "Enable encryption" : "Titkosítás engedélyezése", + "(group)" : "(csoport)", + "Saved" : "Elmentve", + "None" : "Egyik sem", + "App key" : "App kulcs", + "App secret" : "App titkos kulcs", + "Password" : "Jelszó", + "Amazon S3" : "Amazon S3", "Hostname" : "Hosztnév", "Port" : "Port", "Region" : "Megye", "Enable SSL" : "SSL engedélyezése", - "App key" : "App kulcs", - "App secret" : "App titkos kulcs", - "Host" : "Kiszolgáló", - "Username" : "Felhasználónév", - "Password" : "Jelszó", - "Remote subfolder" : "Távoli alkönyvtár", - "Secure ftps://" : "Biztonságos ftps://", - "Timeout of HTTP requests in seconds" : "A HTTP-kérés időkorlátja másodpercben", - "Share" : "Megosztás", - "Username as share" : "Felhasználónév és megosztás", + "WebDAV" : "WebDAV", "URL" : "URL", "Secure https://" : "Biztonságos https://", - "Access granted" : "Érvényes hozzáférés", - "Error configuring Dropbox storage" : "A Dropbox tárolót nem sikerült beállítani", - "Grant access" : "Megadom a hozzáférést", - "Error configuring Google Drive storage" : "A Google Drive tárolót nem sikerült beállítani", - "Personal" : "Személyes", - "System" : "Rendszer", - "(group)" : "(csoport)", - "Saved" : "Elmentve", + "Secure ftps://" : "Biztonságos ftps://", + "Local" : "Helyi", + "Location" : "Hely", + "ownCloud" : "ownCloud", "Note: " : "Megjegyzés:", - "and" : "és", "Name" : "Név", "Storage type" : "Tároló típusa", "External Storage" : "Külső tárolási szolgáltatások becsatolása", "Folder name" : "Mappanév", "Configuration" : "Beállítások", "Available for" : "Elérhető számukra", - "Add storage" : "Tároló becsatolása", "Delete" : "Törlés", + "Add storage" : "Tároló becsatolása", "Enable User External Storage" : "Külső tárolók engedélyezése a felhasználók részére" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/hu_HU.json b/apps/files_external/l10n/hu_HU.json index f8160e2eeb..180ab84c57 100644 --- a/apps/files_external/l10n/hu_HU.json +++ b/apps/files_external/l10n/hu_HU.json @@ -1,49 +1,44 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Adjon meg egy érvényes Dropbox app key-t és secretet!", "External storage" : "Külső tárolók", - "Local" : "Helyi", - "Location" : "Hely", - "Amazon S3" : "Amazon S3", - "Key" : "Kulcs", - "Secret" : "Titkos", + "Username" : "Felhasználónév", "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3-mal kompatibilisek", - "Access Key" : "Hozzáférési kulcs", - "Secret Key" : "Titkos kulcs", + "Timeout of HTTP requests in seconds" : "A HTTP-kérés időkorlátja másodpercben", + "Host" : "Kiszolgáló", + "Username as share" : "Felhasználónév és megosztás", + "Share" : "Megosztás", + "Remote subfolder" : "Távoli alkönyvtár", + "Personal" : "Személyes", + "System" : "Rendszer", + "Grant access" : "Megadom a hozzáférést", + "Access granted" : "Érvényes hozzáférés", + "Enable encryption" : "Titkosítás engedélyezése", + "(group)" : "(csoport)", + "Saved" : "Elmentve", + "None" : "Egyik sem", + "App key" : "App kulcs", + "App secret" : "App titkos kulcs", + "Password" : "Jelszó", + "Amazon S3" : "Amazon S3", "Hostname" : "Hosztnév", "Port" : "Port", "Region" : "Megye", "Enable SSL" : "SSL engedélyezése", - "App key" : "App kulcs", - "App secret" : "App titkos kulcs", - "Host" : "Kiszolgáló", - "Username" : "Felhasználónév", - "Password" : "Jelszó", - "Remote subfolder" : "Távoli alkönyvtár", - "Secure ftps://" : "Biztonságos ftps://", - "Timeout of HTTP requests in seconds" : "A HTTP-kérés időkorlátja másodpercben", - "Share" : "Megosztás", - "Username as share" : "Felhasználónév és megosztás", + "WebDAV" : "WebDAV", "URL" : "URL", "Secure https://" : "Biztonságos https://", - "Access granted" : "Érvényes hozzáférés", - "Error configuring Dropbox storage" : "A Dropbox tárolót nem sikerült beállítani", - "Grant access" : "Megadom a hozzáférést", - "Error configuring Google Drive storage" : "A Google Drive tárolót nem sikerült beállítani", - "Personal" : "Személyes", - "System" : "Rendszer", - "(group)" : "(csoport)", - "Saved" : "Elmentve", + "Secure ftps://" : "Biztonságos ftps://", + "Local" : "Helyi", + "Location" : "Hely", + "ownCloud" : "ownCloud", "Note: " : "Megjegyzés:", - "and" : "és", "Name" : "Név", "Storage type" : "Tároló típusa", "External Storage" : "Külső tárolási szolgáltatások becsatolása", "Folder name" : "Mappanév", "Configuration" : "Beállítások", "Available for" : "Elérhető számukra", - "Add storage" : "Tároló becsatolása", "Delete" : "Törlés", + "Add storage" : "Tároló becsatolása", "Enable User External Storage" : "Külső tárolók engedélyezése a felhasználók részére" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/ia.js b/apps/files_external/l10n/ia.js index f6dfe61009..441a001ca2 100644 --- a/apps/files_external/l10n/ia.js +++ b/apps/files_external/l10n/ia.js @@ -1,14 +1,14 @@ OC.L10N.register( "files_external", { - "Location" : "Loco", - "Region" : "Region", "Username" : "Nomine de usator", - "Password" : "Contrasigno", "Share" : "Compartir", - "URL" : "URL", "Personal" : "Personal", "Saved" : "Salveguardate", + "Password" : "Contrasigno", + "Region" : "Region", + "URL" : "URL", + "Location" : "Loco", "Name" : "Nomine", "Folder name" : "Nomine de dossier", "Delete" : "Deler" diff --git a/apps/files_external/l10n/ia.json b/apps/files_external/l10n/ia.json index 64eefa5dff..432207ba3c 100644 --- a/apps/files_external/l10n/ia.json +++ b/apps/files_external/l10n/ia.json @@ -1,12 +1,12 @@ { "translations": { - "Location" : "Loco", - "Region" : "Region", "Username" : "Nomine de usator", - "Password" : "Contrasigno", "Share" : "Compartir", - "URL" : "URL", "Personal" : "Personal", "Saved" : "Salveguardate", + "Password" : "Contrasigno", + "Region" : "Region", + "URL" : "URL", + "Location" : "Loco", "Name" : "Nomine", "Folder name" : "Nomine de dossier", "Delete" : "Deler" diff --git a/apps/files_external/l10n/id.js b/apps/files_external/l10n/id.js index 7f153b9f49..a15106a8f7 100644 --- a/apps/files_external/l10n/id.js +++ b/apps/files_external/l10n/id.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Permintaan untuk mengambil token gagal. Pastikan kunci dan rahasia apl Dropbox Anda sudah benar.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Akses untuk mengambil token gagal. Pastikan kunci dan rahasia apl Dropbox Anda sudah benar.", - "Please provide a valid Dropbox app key and secret." : "Masukkan kunci dan rahasia aplikasi Dropbox yang benar.", "Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s", "Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s", "External storage" : "Penyimpanan eksternal", - "Local" : "Lokal", - "Location" : "lokasi", - "Amazon S3" : "Amazon S3", - "Key" : "Kunci", - "Secret" : "Rahasia", - "Bucket" : "Keranjang", - "Amazon S3 and compliant" : "Amazon S3 dan yang sesuai", - "Access Key" : "Kunci Akses", - "Secret Key" : "Kunci Rahasia", - "Hostname" : "Nama Host", - "Port" : "Port", - "Region" : "Daerah", - "Enable SSL" : "Aktifkan SSL", - "Enable Path Style" : "Aktifkan Gaya Path", - "App key" : "Kunci Apl", - "App secret" : "Rahasia Apl", - "Host" : "Host", - "Username" : "Nama Pengguna", - "Password" : "Sandi", - "Remote subfolder" : "Subfolder remote", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "ID Klien", - "Client secret" : "Rahasia klien", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nama Pengguna", + "Bucket" : "Keranjang", "Region (optional for OpenStack Object Storage)" : "Daerah (tambahan untuk OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Kunci API (diperlukan untuk Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (diperlukan untuk OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nama Layanan (diperlukan untuk OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (diperlukan untuk OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Batas waktu permintaan HTTP dalam detik", - "Share" : "Bagikan", "SMB / CIFS using OC login" : "SMB / CIFS menggunakan OC login", + "Host" : "Host", "Username as share" : "Nama pengguna berbagi", - "URL" : "URL", - "Secure https://" : "Secure https://", + "Share" : "Bagikan", + "Remote subfolder" : "Subfolder remote", "SFTP with secret key login" : "SFTP dengan kunci rahasia masuk", "Public key" : "Kunci Public", "Storage with id \"%i\" not found" : "Penyimpanan dengan id \"%i\" tidak ditemukan", "Invalid mount point" : "Mount point salah", "Invalid storage backend \"%s\"" : "Backend penyimpanan \"%s\" salah", - "Access granted" : "Akses diberikan", - "Error configuring Dropbox storage" : "Kesalahan dalam mengonfigurasi penyimpanan Dropbox", - "Grant access" : "Berikan hak akses", - "Error configuring Google Drive storage" : "Kesalahan dalam mengkonfigurasi penyimpanan Google Drive", "Personal" : "Pribadi", "System" : "Sistem", + "Grant access" : "Berikan hak akses", + "Access granted" : "Akses diberikan", "Enable encryption" : "Aktifkan enkripsi", "Enable previews" : "Aktifkan pratinjau", "Check for changes" : "Periksa perubahan", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Disimpan", "Generate keys" : "Hasilkan kunci", "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", + "None" : "Tidak ada", + "App key" : "Kunci Apl", + "App secret" : "Rahasia Apl", + "Client ID" : "ID Klien", + "Client secret" : "Rahasia klien", + "Password" : "Sandi", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nama Host", + "Port" : "Port", + "Region" : "Daerah", + "Enable SSL" : "Aktifkan SSL", + "Enable Path Style" : "Aktifkan Gaya Path", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Secure https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "Lokal", + "Location" : "lokasi", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Catatan: ", - "and" : "dan", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Catatan: Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Catatan: Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Catatan: \"%s\" belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Nama folder", "Configuration" : "Konfigurasi", "Available for" : "Tersedia untuk", - "Add storage" : "Tambahkan penyimpanan", "Advanced settings" : "Pengaturan Lanjutan", "Delete" : "Hapus", + "Add storage" : "Tambahkan penyimpanan", "Enable User External Storage" : "Aktifkan Penyimpanan Eksternal Pengguna", "Allow users to mount the following external storage" : "Izinkan pengguna untuk mengaitkan penyimpanan eksternal berikut" }, diff --git a/apps/files_external/l10n/id.json b/apps/files_external/l10n/id.json index 205ac8b210..aa4990ec82 100644 --- a/apps/files_external/l10n/id.json +++ b/apps/files_external/l10n/id.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Permintaan untuk mengambil token gagal. Pastikan kunci dan rahasia apl Dropbox Anda sudah benar.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Akses untuk mengambil token gagal. Pastikan kunci dan rahasia apl Dropbox Anda sudah benar.", - "Please provide a valid Dropbox app key and secret." : "Masukkan kunci dan rahasia aplikasi Dropbox yang benar.", "Step 1 failed. Exception: %s" : "Langkah 1 gagal. Kecuali: %s", "Step 2 failed. Exception: %s" : "Langkah 2 gagal. Kecuali: %s", "External storage" : "Penyimpanan eksternal", - "Local" : "Lokal", - "Location" : "lokasi", - "Amazon S3" : "Amazon S3", - "Key" : "Kunci", - "Secret" : "Rahasia", - "Bucket" : "Keranjang", - "Amazon S3 and compliant" : "Amazon S3 dan yang sesuai", - "Access Key" : "Kunci Akses", - "Secret Key" : "Kunci Rahasia", - "Hostname" : "Nama Host", - "Port" : "Port", - "Region" : "Daerah", - "Enable SSL" : "Aktifkan SSL", - "Enable Path Style" : "Aktifkan Gaya Path", - "App key" : "Kunci Apl", - "App secret" : "Rahasia Apl", - "Host" : "Host", - "Username" : "Nama Pengguna", - "Password" : "Sandi", - "Remote subfolder" : "Subfolder remote", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "ID Klien", - "Client secret" : "Rahasia klien", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nama Pengguna", + "Bucket" : "Keranjang", "Region (optional for OpenStack Object Storage)" : "Daerah (tambahan untuk OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Kunci API (diperlukan untuk Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (diperlukan untuk OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Nama Layanan (diperlukan untuk OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (diperlukan untuk OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Batas waktu permintaan HTTP dalam detik", - "Share" : "Bagikan", "SMB / CIFS using OC login" : "SMB / CIFS menggunakan OC login", + "Host" : "Host", "Username as share" : "Nama pengguna berbagi", - "URL" : "URL", - "Secure https://" : "Secure https://", + "Share" : "Bagikan", + "Remote subfolder" : "Subfolder remote", "SFTP with secret key login" : "SFTP dengan kunci rahasia masuk", "Public key" : "Kunci Public", "Storage with id \"%i\" not found" : "Penyimpanan dengan id \"%i\" tidak ditemukan", "Invalid mount point" : "Mount point salah", "Invalid storage backend \"%s\"" : "Backend penyimpanan \"%s\" salah", - "Access granted" : "Akses diberikan", - "Error configuring Dropbox storage" : "Kesalahan dalam mengonfigurasi penyimpanan Dropbox", - "Grant access" : "Berikan hak akses", - "Error configuring Google Drive storage" : "Kesalahan dalam mengkonfigurasi penyimpanan Google Drive", "Personal" : "Pribadi", "System" : "Sistem", + "Grant access" : "Berikan hak akses", + "Access granted" : "Akses diberikan", "Enable encryption" : "Aktifkan enkripsi", "Enable previews" : "Aktifkan pratinjau", "Check for changes" : "Periksa perubahan", @@ -63,8 +37,28 @@ "Saved" : "Disimpan", "Generate keys" : "Hasilkan kunci", "Error generating key pair" : "Kesalahan saat menghasilkan pasangan kunci", + "None" : "Tidak ada", + "App key" : "Kunci Apl", + "App secret" : "Rahasia Apl", + "Client ID" : "ID Klien", + "Client secret" : "Rahasia klien", + "Password" : "Sandi", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nama Host", + "Port" : "Port", + "Region" : "Daerah", + "Enable SSL" : "Aktifkan SSL", + "Enable Path Style" : "Aktifkan Gaya Path", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Secure https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "Lokal", + "Location" : "lokasi", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Catatan: ", - "and" : "dan", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Catatan: Dukungan cURL di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Catatan: Dukungan FTP di PHP tidak diaktifkan atau belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Catatan: \"%s\" belum diinstal. Mengaitkan %s tidak dimungkinkan. Silakan minta administrator sistem Anda untuk menginstalnya.", @@ -77,9 +71,9 @@ "Folder name" : "Nama folder", "Configuration" : "Konfigurasi", "Available for" : "Tersedia untuk", - "Add storage" : "Tambahkan penyimpanan", "Advanced settings" : "Pengaturan Lanjutan", "Delete" : "Hapus", + "Add storage" : "Tambahkan penyimpanan", "Enable User External Storage" : "Aktifkan Penyimpanan Eksternal Pengguna", "Allow users to mount the following external storage" : "Izinkan pengguna untuk mengaitkan penyimpanan eksternal berikut" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js index 644c4a0654..5c79a94b0a 100644 --- a/apps/files_external/l10n/is.js +++ b/apps/files_external/l10n/is.js @@ -1,18 +1,17 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Gefðu upp virkan Dropbox lykil og leynikóða", - "Location" : "Staðsetning", - "Host" : "Netþjónn", "Username" : "Notendanafn", - "Password" : "Lykilorð", + "Host" : "Netþjónn", "Share" : "Deila", - "URL" : "URL", - "Access granted" : "Aðgengi veitt", - "Error configuring Dropbox storage" : "Villa við að setja upp Dropbox gagnasvæði", - "Grant access" : "Veita aðgengi", - "Error configuring Google Drive storage" : "Villa kom upp við að setja upp Google Drive gagnasvæði", "Personal" : "Um mig", + "Grant access" : "Veita aðgengi", + "Access granted" : "Aðgengi veitt", + "None" : "Ekkert", + "Password" : "Lykilorð", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "Staðsetning", "Name" : "Nafn", "External Storage" : "Ytri gagnageymsla", "Folder name" : "Nafn möppu", @@ -20,4 +19,4 @@ OC.L10N.register( "Delete" : "Eyða", "Enable User External Storage" : "Virkja ytra gagnasvæði notenda" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json index 512f0ed76b..19670ab0a8 100644 --- a/apps/files_external/l10n/is.json +++ b/apps/files_external/l10n/is.json @@ -1,21 +1,20 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Gefðu upp virkan Dropbox lykil og leynikóða", - "Location" : "Staðsetning", - "Host" : "Netþjónn", "Username" : "Notendanafn", - "Password" : "Lykilorð", + "Host" : "Netþjónn", "Share" : "Deila", - "URL" : "URL", - "Access granted" : "Aðgengi veitt", - "Error configuring Dropbox storage" : "Villa við að setja upp Dropbox gagnasvæði", - "Grant access" : "Veita aðgengi", - "Error configuring Google Drive storage" : "Villa kom upp við að setja upp Google Drive gagnasvæði", "Personal" : "Um mig", + "Grant access" : "Veita aðgengi", + "Access granted" : "Aðgengi veitt", + "None" : "Ekkert", + "Password" : "Lykilorð", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "Staðsetning", "Name" : "Nafn", "External Storage" : "Ytri gagnageymsla", "Folder name" : "Nafn möppu", "Configuration" : "Uppsetning", "Delete" : "Eyða", "Enable User External Storage" : "Virkja ytra gagnasvæði notenda" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js index c5d46777cf..bcfdcf522d 100644 --- a/apps/files_external/l10n/it.js +++ b/apps/files_external/l10n/it.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Il recupero dei token di richiesta non è riuscito. Verifica che la chiave e il segreto dell'applicazione Dropbox siano corretti.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Il recupero dei token di accesso non è riuscito. Verifica che la chiave e il segreto dell'applicazione Dropbox siano corretti.", - "Please provide a valid Dropbox app key and secret." : "Fornisci chiave di applicazione e segreto di Dropbox validi.", "Step 1 failed. Exception: %s" : "Fase 1 non riuscita. Eccezione: %s", "Step 2 failed. Exception: %s" : "Fase 2 non riuscita. Eccezione: %s", "External storage" : "Archiviazione esterna", - "Local" : "Locale", - "Location" : "Posizione", - "Amazon S3" : "Amazon S3", - "Key" : "Chiave", - "Secret" : "Segreto", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 e conformi", - "Access Key" : "Chiave di accesso", - "Secret Key" : "Chiave segreta", - "Hostname" : "Nome host", - "Port" : "Porta", - "Region" : "Regione", - "Enable SSL" : "Abilita SSL", - "Enable Path Style" : "Abilita stile percorsi", - "App key" : "Chiave applicazione", - "App secret" : "Segreto applicazione", - "Host" : "Host", - "Username" : "Nome utente", - "Password" : "Password", - "Remote subfolder" : "Sottocartella remota", - "Secure ftps://" : "Sicuro ftps://", - "Client ID" : "ID client", - "Client secret" : "Segreto del client", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nome utente", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Regione (facoltativa per OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Chiave API (richiesta per Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nome tenant (richiesto per OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nome servizio (richiesta per OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del servizio di identità (richiesto per OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tempo massimo in secondi delle richieste HTTP", - "Share" : "Condividi", "SMB / CIFS using OC login" : "SMB / CIFS utilizzando le credenziali di OC", + "Host" : "Host", "Username as share" : "Nome utente come condivisione", - "URL" : "URL", - "Secure https://" : "Sicuro https://", + "Share" : "Condividi", + "Remote subfolder" : "Sottocartella remota", "SFTP with secret key login" : "SFTP con accesso a chiave segreta", "Public key" : "Chiave pubblica", "Storage with id \"%i\" not found" : "Archiviazione con ID \"%i\" non trovata", "Invalid mount point" : "Punto di mount non valido", "Invalid storage backend \"%s\"" : "Motore di archiviazione \"%s\" non valido", - "Access granted" : "Accesso consentito", - "Error configuring Dropbox storage" : "Errore durante la configurazione dell'archivio Dropbox", - "Grant access" : "Concedi l'accesso", - "Error configuring Google Drive storage" : "Errore durante la configurazione dell'archivio Google Drive", "Personal" : "Personale", "System" : "Sistema", + "Grant access" : "Concedi l'accesso", + "Access granted" : "Accesso consentito", "Enable encryption" : "Abilita cifratura", "Enable previews" : "Abilita le anteprime", "Check for changes" : "Controlla le modifiche", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Salvato", "Generate keys" : "Genera la chiavi", "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", + "None" : "Nessuno", + "App key" : "Chiave applicazione", + "App secret" : "Segreto applicazione", + "Client ID" : "ID client", + "Client secret" : "Segreto del client", + "Password" : "Password", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome host", + "Port" : "Porta", + "Region" : "Regione", + "Enable SSL" : "Abilita SSL", + "Enable Path Style" : "Abilita stile percorsi", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sicuro https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sicuro ftps://", + "Local" : "Locale", + "Location" : "Posizione", + "ownCloud" : "ownCloud", + "Root" : "Radice", "Note: " : "Nota:", - "and" : "e", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: \"%s\" non è installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Nome della cartella", "Configuration" : "Configurazione", "Available for" : "Disponibile per", - "Add storage" : "Aggiungi archiviazione", "Advanced settings" : "Impostazioni avanzate", "Delete" : "Elimina", + "Add storage" : "Aggiungi archiviazione", "Enable User External Storage" : "Abilita la memoria esterna dell'utente", "Allow users to mount the following external storage" : "Consenti agli utenti di montare la seguente memoria esterna" }, diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json index 6bda84a7e2..f59787e3ce 100644 --- a/apps/files_external/l10n/it.json +++ b/apps/files_external/l10n/it.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Il recupero dei token di richiesta non è riuscito. Verifica che la chiave e il segreto dell'applicazione Dropbox siano corretti.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Il recupero dei token di accesso non è riuscito. Verifica che la chiave e il segreto dell'applicazione Dropbox siano corretti.", - "Please provide a valid Dropbox app key and secret." : "Fornisci chiave di applicazione e segreto di Dropbox validi.", "Step 1 failed. Exception: %s" : "Fase 1 non riuscita. Eccezione: %s", "Step 2 failed. Exception: %s" : "Fase 2 non riuscita. Eccezione: %s", "External storage" : "Archiviazione esterna", - "Local" : "Locale", - "Location" : "Posizione", - "Amazon S3" : "Amazon S3", - "Key" : "Chiave", - "Secret" : "Segreto", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 e conformi", - "Access Key" : "Chiave di accesso", - "Secret Key" : "Chiave segreta", - "Hostname" : "Nome host", - "Port" : "Porta", - "Region" : "Regione", - "Enable SSL" : "Abilita SSL", - "Enable Path Style" : "Abilita stile percorsi", - "App key" : "Chiave applicazione", - "App secret" : "Segreto applicazione", - "Host" : "Host", - "Username" : "Nome utente", - "Password" : "Password", - "Remote subfolder" : "Sottocartella remota", - "Secure ftps://" : "Sicuro ftps://", - "Client ID" : "ID client", - "Client secret" : "Segreto del client", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nome utente", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Regione (facoltativa per OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Chiave API (richiesta per Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nome tenant (richiesto per OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Nome servizio (richiesta per OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del servizio di identità (richiesto per OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tempo massimo in secondi delle richieste HTTP", - "Share" : "Condividi", "SMB / CIFS using OC login" : "SMB / CIFS utilizzando le credenziali di OC", + "Host" : "Host", "Username as share" : "Nome utente come condivisione", - "URL" : "URL", - "Secure https://" : "Sicuro https://", + "Share" : "Condividi", + "Remote subfolder" : "Sottocartella remota", "SFTP with secret key login" : "SFTP con accesso a chiave segreta", "Public key" : "Chiave pubblica", "Storage with id \"%i\" not found" : "Archiviazione con ID \"%i\" non trovata", "Invalid mount point" : "Punto di mount non valido", "Invalid storage backend \"%s\"" : "Motore di archiviazione \"%s\" non valido", - "Access granted" : "Accesso consentito", - "Error configuring Dropbox storage" : "Errore durante la configurazione dell'archivio Dropbox", - "Grant access" : "Concedi l'accesso", - "Error configuring Google Drive storage" : "Errore durante la configurazione dell'archivio Google Drive", "Personal" : "Personale", "System" : "Sistema", + "Grant access" : "Concedi l'accesso", + "Access granted" : "Accesso consentito", "Enable encryption" : "Abilita cifratura", "Enable previews" : "Abilita le anteprime", "Check for changes" : "Controlla le modifiche", @@ -63,8 +37,28 @@ "Saved" : "Salvato", "Generate keys" : "Genera la chiavi", "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", + "None" : "Nessuno", + "App key" : "Chiave applicazione", + "App secret" : "Segreto applicazione", + "Client ID" : "ID client", + "Client secret" : "Segreto del client", + "Password" : "Password", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome host", + "Port" : "Porta", + "Region" : "Regione", + "Enable SSL" : "Abilita SSL", + "Enable Path Style" : "Abilita stile percorsi", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sicuro https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sicuro ftps://", + "Local" : "Locale", + "Location" : "Posizione", + "ownCloud" : "ownCloud", + "Root" : "Radice", "Note: " : "Nota:", - "and" : "e", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: \"%s\" non è installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", @@ -77,9 +71,9 @@ "Folder name" : "Nome della cartella", "Configuration" : "Configurazione", "Available for" : "Disponibile per", - "Add storage" : "Aggiungi archiviazione", "Advanced settings" : "Impostazioni avanzate", "Delete" : "Elimina", + "Add storage" : "Aggiungi archiviazione", "Enable User External Storage" : "Abilita la memoria esterna dell'utente", "Allow users to mount the following external storage" : "Consenti agli utenti di montare la seguente memoria esterna" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/ja.js b/apps/files_external/l10n/ja.js index 9181fbb4e3..9af7024d1a 100644 --- a/apps/files_external/l10n/ja.js +++ b/apps/files_external/l10n/ja.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "リクエストトークンの取得に失敗しました。Dropboxアプリのキーとパスワードが正しいことを確認してください。", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "アクセストークンの取得に失敗しました。Dropboxアプリのキーとパスワードが正しいことを確認してください。", - "Please provide a valid Dropbox app key and secret." : "有効なDropboxアプリのキーとパスワードを入力してください。", "Step 1 failed. Exception: %s" : "ステップ 1 の実行に失敗しました。例外: %s", "Step 2 failed. Exception: %s" : "ステップ 2 の実行に失敗しました。例外: %s", "External storage" : "外部ストレージ", - "Local" : "ローカル", - "Location" : "位置", - "Amazon S3" : "Amazon S3", - "Key" : "キー", - "Secret" : "シークレットキー", - "Bucket" : "バケット名", - "Amazon S3 and compliant" : "Amazon S3や互換ストレージ", - "Access Key" : "アクセスキー", - "Secret Key" : "シークレットキー", - "Hostname" : "ホスト名", - "Port" : "ポート", - "Region" : "リージョン", - "Enable SSL" : "SSLを有効", - "Enable Path Style" : "パス形式を有効", - "App key" : "アプリキー", - "App secret" : "アプリシークレット", - "Host" : "ホスト", - "Username" : "ユーザー名", - "Password" : "パスワード", - "Remote subfolder" : "リモートサブフォルダー", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "クライアントID", - "Client secret" : "クライアント秘密キー", "OpenStack Object Storage" : "OpenStack ObjectStorage", + "Username" : "ユーザー名", + "Bucket" : "バケット名", "Region (optional for OpenStack Object Storage)" : "リージョン (OpenStack ObjectStorage)", "API Key (required for Rackspace Cloud Files)" : "APIキー (Rackspace CloudFiles)", "Tenantname (required for OpenStack Object Storage)" : "テナント名 (OpenStack ObjectStorage)", @@ -38,30 +14,53 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "サービス名 (OpenStack ObjectStorage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "識別用エンドポイントURL (OpenStack ObjectStorage)", "Timeout of HTTP requests in seconds" : "HTTP接続タイムアウト秒数", - "Share" : "共有", "SMB / CIFS using OC login" : "ownCloudログインを利用したSMB / CIFS", + "Host" : "ホスト", "Username as share" : "共有名", - "URL" : "URL", - "Secure https://" : "セキュア https://", + "Share" : "共有", + "Remote subfolder" : "リモートサブフォルダー", + "SFTP with secret key login" : "秘密鍵でSFTPログイン", "Public key" : "公開鍵", "Storage with id \"%i\" not found" : "ストレージID \"%i\" が見つかりません", "Invalid mount point" : "無効なマウントポイント", "Invalid storage backend \"%s\"" : "\"%s\" のストレージバックエンドが不正", - "Access granted" : "アクセスは許可されました", - "Error configuring Dropbox storage" : "Dropboxストレージの設定エラー", - "Grant access" : "アクセスを許可", - "Error configuring Google Drive storage" : "Googleドライブストレージの設定エラー", "Personal" : "個人", "System" : "システム", + "Grant access" : "アクセスを許可", + "Access granted" : "アクセスは許可されました", "Enable encryption" : "暗号化を有効に", + "Enable previews" : "プレビューを有効に", "Check for changes" : "変更点を確認", + "Never" : "更新無", + "Once every direct access" : "直指定時のみ", + "Every time the filesystem is used" : "ファイルシステム利用時には毎回", "All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加", "(group)" : "(グループ)", "Saved" : "保存されました", "Generate keys" : "キーを生成", "Error generating key pair" : "キーペアの生成エラー", + "None" : "なし", + "App key" : "アプリキー", + "App secret" : "アプリシークレット", + "Client ID" : "クライアントID", + "Client secret" : "クライアント秘密キー", + "Password" : "パスワード", + "Amazon S3" : "Amazon S3", + "Hostname" : "ホスト名", + "Port" : "ポート", + "Region" : "リージョン", + "Enable SSL" : "SSLを有効", + "Enable Path Style" : "パス形式を有効", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "セキュア https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "ローカル", + "Location" : "位置", + "ownCloud" : "ownCloud", + "Root" : "ルート", "Note: " : "注意: ", - "and" : "と", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "注意: PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "注意: PHPにFTPのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "注意: \"%s\" がインストールされていません。%sをマウントできません。このシステムの管理者にインストールをお願いしてください。", @@ -74,9 +73,9 @@ OC.L10N.register( "Folder name" : "フォルダー名", "Configuration" : "設定", "Available for" : "利用可能", - "Add storage" : "ストレージを追加", "Advanced settings" : "詳細設定", "Delete" : "削除", + "Add storage" : "ストレージを追加", "Enable User External Storage" : "ユーザーの外部ストレージを有効にする", "Allow users to mount the following external storage" : "ユーザーに以下の外部ストレージのマウントを許可する" }, diff --git a/apps/files_external/l10n/ja.json b/apps/files_external/l10n/ja.json index 19a986bfb9..244f38cd3a 100644 --- a/apps/files_external/l10n/ja.json +++ b/apps/files_external/l10n/ja.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "リクエストトークンの取得に失敗しました。Dropboxアプリのキーとパスワードが正しいことを確認してください。", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "アクセストークンの取得に失敗しました。Dropboxアプリのキーとパスワードが正しいことを確認してください。", - "Please provide a valid Dropbox app key and secret." : "有効なDropboxアプリのキーとパスワードを入力してください。", "Step 1 failed. Exception: %s" : "ステップ 1 の実行に失敗しました。例外: %s", "Step 2 failed. Exception: %s" : "ステップ 2 の実行に失敗しました。例外: %s", "External storage" : "外部ストレージ", - "Local" : "ローカル", - "Location" : "位置", - "Amazon S3" : "Amazon S3", - "Key" : "キー", - "Secret" : "シークレットキー", - "Bucket" : "バケット名", - "Amazon S3 and compliant" : "Amazon S3や互換ストレージ", - "Access Key" : "アクセスキー", - "Secret Key" : "シークレットキー", - "Hostname" : "ホスト名", - "Port" : "ポート", - "Region" : "リージョン", - "Enable SSL" : "SSLを有効", - "Enable Path Style" : "パス形式を有効", - "App key" : "アプリキー", - "App secret" : "アプリシークレット", - "Host" : "ホスト", - "Username" : "ユーザー名", - "Password" : "パスワード", - "Remote subfolder" : "リモートサブフォルダー", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "クライアントID", - "Client secret" : "クライアント秘密キー", "OpenStack Object Storage" : "OpenStack ObjectStorage", + "Username" : "ユーザー名", + "Bucket" : "バケット名", "Region (optional for OpenStack Object Storage)" : "リージョン (OpenStack ObjectStorage)", "API Key (required for Rackspace Cloud Files)" : "APIキー (Rackspace CloudFiles)", "Tenantname (required for OpenStack Object Storage)" : "テナント名 (OpenStack ObjectStorage)", @@ -36,30 +12,53 @@ "Service Name (required for OpenStack Object Storage)" : "サービス名 (OpenStack ObjectStorage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "識別用エンドポイントURL (OpenStack ObjectStorage)", "Timeout of HTTP requests in seconds" : "HTTP接続タイムアウト秒数", - "Share" : "共有", "SMB / CIFS using OC login" : "ownCloudログインを利用したSMB / CIFS", + "Host" : "ホスト", "Username as share" : "共有名", - "URL" : "URL", - "Secure https://" : "セキュア https://", + "Share" : "共有", + "Remote subfolder" : "リモートサブフォルダー", + "SFTP with secret key login" : "秘密鍵でSFTPログイン", "Public key" : "公開鍵", "Storage with id \"%i\" not found" : "ストレージID \"%i\" が見つかりません", "Invalid mount point" : "無効なマウントポイント", "Invalid storage backend \"%s\"" : "\"%s\" のストレージバックエンドが不正", - "Access granted" : "アクセスは許可されました", - "Error configuring Dropbox storage" : "Dropboxストレージの設定エラー", - "Grant access" : "アクセスを許可", - "Error configuring Google Drive storage" : "Googleドライブストレージの設定エラー", "Personal" : "個人", "System" : "システム", + "Grant access" : "アクセスを許可", + "Access granted" : "アクセスは許可されました", "Enable encryption" : "暗号化を有効に", + "Enable previews" : "プレビューを有効に", "Check for changes" : "変更点を確認", + "Never" : "更新無", + "Once every direct access" : "直指定時のみ", + "Every time the filesystem is used" : "ファイルシステム利用時には毎回", "All users. Type to select user or group." : "すべてのユーザー。ユーザー、グループを追加", "(group)" : "(グループ)", "Saved" : "保存されました", "Generate keys" : "キーを生成", "Error generating key pair" : "キーペアの生成エラー", + "None" : "なし", + "App key" : "アプリキー", + "App secret" : "アプリシークレット", + "Client ID" : "クライアントID", + "Client secret" : "クライアント秘密キー", + "Password" : "パスワード", + "Amazon S3" : "Amazon S3", + "Hostname" : "ホスト名", + "Port" : "ポート", + "Region" : "リージョン", + "Enable SSL" : "SSLを有効", + "Enable Path Style" : "パス形式を有効", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "セキュア https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "ローカル", + "Location" : "位置", + "ownCloud" : "ownCloud", + "Root" : "ルート", "Note: " : "注意: ", - "and" : "と", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "注意: PHPにcURLのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "注意: PHPにFTPのエクステンションが入っていないか、有効ではありません。%s をマウントすることができません。このシステムの管理者にインストールをお願いしてください。", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "注意: \"%s\" がインストールされていません。%sをマウントできません。このシステムの管理者にインストールをお願いしてください。", @@ -72,9 +71,9 @@ "Folder name" : "フォルダー名", "Configuration" : "設定", "Available for" : "利用可能", - "Add storage" : "ストレージを追加", "Advanced settings" : "詳細設定", "Delete" : "削除", + "Add storage" : "ストレージを追加", "Enable User External Storage" : "ユーザーの外部ストレージを有効にする", "Allow users to mount the following external storage" : "ユーザーに以下の外部ストレージのマウントを許可する" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/ka_GE.js b/apps/files_external/l10n/ka_GE.js index b152dbc7a8..4fa652a50e 100644 --- a/apps/files_external/l10n/ka_GE.js +++ b/apps/files_external/l10n/ka_GE.js @@ -1,27 +1,27 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "გთხოვთ მიუთითოთ Dropbox აპლიკაციის გასაღები და კოდი.", "External storage" : "ექსტერნალ საცავი", - "Location" : "ადგილმდებარეობა", + "Username" : "მომხმარებლის სახელი", + "Host" : "ჰოსტი", + "Share" : "გაზიარება", + "Personal" : "პირადი", + "Grant access" : "დაშვების მინიჭება", + "Access granted" : "დაშვება მინიჭებულია", + "None" : "არა", + "Password" : "პაროლი", "Port" : "პორტი", "Region" : "რეგიონი", - "Host" : "ჰოსტი", - "Username" : "მომხმარებლის სახელი", - "Password" : "პაროლი", - "Share" : "გაზიარება", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "დაშვება მინიჭებულია", - "Error configuring Dropbox storage" : "შეცდომა Dropbox საცავის კონფიგურირების დროს", - "Grant access" : "დაშვების მინიჭება", - "Error configuring Google Drive storage" : "შეცდომა Google Drive საცავის კონფიგურირების დროს", - "Personal" : "პირადი", + "Location" : "ადგილმდებარეობა", + "ownCloud" : "ownCloud–ი", "Name" : "სახელი", "External Storage" : "ექსტერნალ საცავი", "Folder name" : "ფოლდერის სახელი", "Configuration" : "კონფიგურაცია", - "Add storage" : "საცავის დამატება", "Delete" : "წაშლა", + "Add storage" : "საცავის დამატება", "Enable User External Storage" : "მომხმარებლის ექსტერნალ საცავის აქტივირება" }, "nplurals=1; plural=0;"); diff --git a/apps/files_external/l10n/ka_GE.json b/apps/files_external/l10n/ka_GE.json index 9e5e8e8db8..93bae8532e 100644 --- a/apps/files_external/l10n/ka_GE.json +++ b/apps/files_external/l10n/ka_GE.json @@ -1,25 +1,25 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "გთხოვთ მიუთითოთ Dropbox აპლიკაციის გასაღები და კოდი.", "External storage" : "ექსტერნალ საცავი", - "Location" : "ადგილმდებარეობა", + "Username" : "მომხმარებლის სახელი", + "Host" : "ჰოსტი", + "Share" : "გაზიარება", + "Personal" : "პირადი", + "Grant access" : "დაშვების მინიჭება", + "Access granted" : "დაშვება მინიჭებულია", + "None" : "არა", + "Password" : "პაროლი", "Port" : "პორტი", "Region" : "რეგიონი", - "Host" : "ჰოსტი", - "Username" : "მომხმარებლის სახელი", - "Password" : "პაროლი", - "Share" : "გაზიარება", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "დაშვება მინიჭებულია", - "Error configuring Dropbox storage" : "შეცდომა Dropbox საცავის კონფიგურირების დროს", - "Grant access" : "დაშვების მინიჭება", - "Error configuring Google Drive storage" : "შეცდომა Google Drive საცავის კონფიგურირების დროს", - "Personal" : "პირადი", + "Location" : "ადგილმდებარეობა", + "ownCloud" : "ownCloud–ი", "Name" : "სახელი", "External Storage" : "ექსტერნალ საცავი", "Folder name" : "ფოლდერის სახელი", "Configuration" : "კონფიგურაცია", - "Add storage" : "საცავის დამატება", "Delete" : "წაშლა", + "Add storage" : "საცავის დამატება", "Enable User External Storage" : "მომხმარებლის ექსტერნალ საცავის აქტივირება" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files_external/l10n/km.js b/apps/files_external/l10n/km.js index 0706c6d8b2..ea3d08e965 100644 --- a/apps/files_external/l10n/km.js +++ b/apps/files_external/l10n/km.js @@ -2,23 +2,24 @@ OC.L10N.register( "files_external", { "External storage" : "ឃ្លាំងផ្ទុក​ខាងក្រៅ", - "Location" : "ទីតាំង", - "Port" : "ច្រក", - "Host" : "ម៉ាស៊ីន​ផ្ទុក", "Username" : "ឈ្មោះ​អ្នកប្រើ", - "Password" : "ពាក្យសម្ងាត់", + "Host" : "ម៉ាស៊ីន​ផ្ទុក", "Share" : "ចែក​រំលែក", - "URL" : "URL", - "Access granted" : "បាន​ទទួល​សិទ្ធិ​ចូល", - "Error configuring Dropbox storage" : "កំហុស​ការ​កំណត់​សណ្ឋាន​នៃ​ឃ្លាំងផ្ទុក Dropbox", - "Grant access" : "ទទួល​សិទ្ធិ​ចូល", "Personal" : "ផ្ទាល់​ខ្លួន", + "Grant access" : "ទទួល​សិទ្ធិ​ចូល", + "Access granted" : "បាន​ទទួល​សិទ្ធិ​ចូល", "Saved" : "បាន​រក្សាទុក", + "None" : "គ្មាន", + "Password" : "ពាក្យសម្ងាត់", + "Port" : "ច្រក", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "ទីតាំង", "Name" : "ឈ្មោះ", "External Storage" : "ឃ្លាំងផ្ទុក​ខាងក្រៅ", "Folder name" : "ឈ្មោះ​ថត", "Configuration" : "ការ​កំណត់​សណ្ឋាន", - "Add storage" : "បន្ថែម​ឃ្លាំងផ្ទុក", - "Delete" : "លុប" + "Delete" : "លុប", + "Add storage" : "បន្ថែម​ឃ្លាំងផ្ទុក" }, "nplurals=1; plural=0;"); diff --git a/apps/files_external/l10n/km.json b/apps/files_external/l10n/km.json index 3696e721b8..4dafcd49bd 100644 --- a/apps/files_external/l10n/km.json +++ b/apps/files_external/l10n/km.json @@ -1,22 +1,23 @@ { "translations": { "External storage" : "ឃ្លាំងផ្ទុក​ខាងក្រៅ", - "Location" : "ទីតាំង", - "Port" : "ច្រក", - "Host" : "ម៉ាស៊ីន​ផ្ទុក", "Username" : "ឈ្មោះ​អ្នកប្រើ", - "Password" : "ពាក្យសម្ងាត់", + "Host" : "ម៉ាស៊ីន​ផ្ទុក", "Share" : "ចែក​រំលែក", - "URL" : "URL", - "Access granted" : "បាន​ទទួល​សិទ្ធិ​ចូល", - "Error configuring Dropbox storage" : "កំហុស​ការ​កំណត់​សណ្ឋាន​នៃ​ឃ្លាំងផ្ទុក Dropbox", - "Grant access" : "ទទួល​សិទ្ធិ​ចូល", "Personal" : "ផ្ទាល់​ខ្លួន", + "Grant access" : "ទទួល​សិទ្ធិ​ចូល", + "Access granted" : "បាន​ទទួល​សិទ្ធិ​ចូល", "Saved" : "បាន​រក្សាទុក", + "None" : "គ្មាន", + "Password" : "ពាក្យសម្ងាត់", + "Port" : "ច្រក", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "ទីតាំង", "Name" : "ឈ្មោះ", "External Storage" : "ឃ្លាំងផ្ទុក​ខាងក្រៅ", "Folder name" : "ឈ្មោះ​ថត", "Configuration" : "ការ​កំណត់​សណ្ឋាន", - "Add storage" : "បន្ថែម​ឃ្លាំងផ្ទុក", - "Delete" : "លុប" + "Delete" : "លុប", + "Add storage" : "បន្ថែម​ឃ្លាំងផ្ទុក" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files_external/l10n/kn.js b/apps/files_external/l10n/kn.js index ad1987e226..c3160c79b3 100644 --- a/apps/files_external/l10n/kn.js +++ b/apps/files_external/l10n/kn.js @@ -1,15 +1,17 @@ OC.L10N.register( "files_external", { - "Local" : "ಸ್ಥಳೀಯ", - "Port" : "ರೇವು", - "Host" : "ಅತಿಥೆಯ-ಗಣಕ", "Username" : "ಬಳಕೆಯ ಹೆಸರು", - "Password" : "ಗುಪ್ತ ಪದ", + "Host" : "ಅತಿಥೆಯ-ಗಣಕ", "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", - "URL" : "ಜಾಲದ ಕೊಂಡಿ", "Personal" : "ವೈಯಕ್ತಿಕ", "Saved" : "ಉಳಿಸಿದ", + "None" : "ಯಾವುದೂ ಇಲ್ಲ", + "Password" : "ಗುಪ್ತ ಪದ", + "Port" : "ರೇವು", + "WebDAV" : "WebDAV", + "URL" : "ಜಾಲದ ಕೊಂಡಿ", + "Local" : "ಸ್ಥಳೀಯ", "Name" : "ಹೆಸರು", "Delete" : "ಅಳಿಸಿ" }, diff --git a/apps/files_external/l10n/kn.json b/apps/files_external/l10n/kn.json index 74fc7e223b..e020401c58 100644 --- a/apps/files_external/l10n/kn.json +++ b/apps/files_external/l10n/kn.json @@ -1,13 +1,15 @@ { "translations": { - "Local" : "ಸ್ಥಳೀಯ", - "Port" : "ರೇವು", - "Host" : "ಅತಿಥೆಯ-ಗಣಕ", "Username" : "ಬಳಕೆಯ ಹೆಸರು", - "Password" : "ಗುಪ್ತ ಪದ", + "Host" : "ಅತಿಥೆಯ-ಗಣಕ", "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", - "URL" : "ಜಾಲದ ಕೊಂಡಿ", "Personal" : "ವೈಯಕ್ತಿಕ", "Saved" : "ಉಳಿಸಿದ", + "None" : "ಯಾವುದೂ ಇಲ್ಲ", + "Password" : "ಗುಪ್ತ ಪದ", + "Port" : "ರೇವು", + "WebDAV" : "WebDAV", + "URL" : "ಜಾಲದ ಕೊಂಡಿ", + "Local" : "ಸ್ಥಳೀಯ", "Name" : "ಹೆಸರು", "Delete" : "ಅಳಿಸಿ" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/ko.js b/apps/files_external/l10n/ko.js index de1ca02820..3b4ef4fd5a 100644 --- a/apps/files_external/l10n/ko.js +++ b/apps/files_external/l10n/ko.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "요청 토큰을 가져올 수 없습니다. Dropbox 앱 키와 비밀 값이 올바른지 확인하십시오.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "접근 토큰을 가져올 수 없습니다. Dropbox 앱 키와 비밀 값이 올바른지 확인하십시오.", - "Please provide a valid Dropbox app key and secret." : "올바른 Dropbox 앱 키와 암호를 입력하십시오.", "Step 1 failed. Exception: %s" : "1단계 실패. 예외: %s", "Step 2 failed. Exception: %s" : "2단계 실패. 예외: %s", "External storage" : "외부 저장소", - "Local" : "로컬", - "Location" : "위치", - "Amazon S3" : "Amazon S3", - "Key" : "키", - "Secret" : "비밀 값", - "Bucket" : "버킷", - "Amazon S3 and compliant" : "Amazon S3 및 호환 가능 서비스", - "Access Key" : "접근 키", - "Secret Key" : "비밀 키", - "Hostname" : "호스트 이름", - "Port" : "포트", - "Region" : "지역", - "Enable SSL" : "SSL 사용", - "Enable Path Style" : "경로 스타일 사용", - "App key" : "앱 키", - "App secret" : "앱 비밀 값", - "Host" : "호스트", - "Username" : "사용자 이름", - "Password" : "암호", - "Remote subfolder" : "원격 하위 폴더", - "Secure ftps://" : "보안 ftps://", - "Client ID" : "클라이언트 ID", - "Client secret" : "클라이언트 비밀 값", "OpenStack Object Storage" : "OpenStack 객체 저장소", + "Username" : "사용자 이름", + "Bucket" : "버킷", "Region (optional for OpenStack Object Storage)" : "지역(OpenStack 객체 저장소는 선택 사항)", "API Key (required for Rackspace Cloud Files)" : "API 키(Rackspace 클라우드 파일에 필요함)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname(OpenStack 객체 저장소에 필요함)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "서비스 이름(OpenStack 객체 저장소에 필요함)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Identity 엔드포인트 URL(OpenStack 객체 저장소에 필요함)", "Timeout of HTTP requests in seconds" : "초 단위 HTTP 요청 시간 제한", - "Share" : "공유", "SMB / CIFS using OC login" : "OC 로그인을 사용하는 SMB/CIFS", + "Host" : "호스트", "Username as share" : "사용자 이름으로 공유", - "URL" : "URL", - "Secure https://" : "보안 https://", + "Share" : "공유", + "Remote subfolder" : "원격 하위 폴더", "SFTP with secret key login" : "비밀 키 로그인을 사용하는 SFTP", "Public key" : "공개 키", "Storage with id \"%i\" not found" : "ID가 \"%i\"인 저장소를 찾을 수 없음", "Invalid mount point" : "잘못된 마운트 지점", "Invalid storage backend \"%s\"" : "잘못된 저장소 백엔드 \"%s\"", - "Access granted" : "접근 허가됨", - "Error configuring Dropbox storage" : "Dropbox 저장소 설정 오류", - "Grant access" : "접근 권한 부여", - "Error configuring Google Drive storage" : "Google 드라이브 저장소 설정 오류", "Personal" : "개인", "System" : "시스템", + "Grant access" : "접근 권한 부여", + "Access granted" : "접근 허가됨", "Enable encryption" : "암호화 사용", "Enable previews" : "미리 보기 사용", "Check for changes" : "변경 사항 감시", @@ -65,8 +39,27 @@ OC.L10N.register( "Saved" : "저장됨", "Generate keys" : "키 생성", "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", + "None" : "없음", + "App key" : "앱 키", + "App secret" : "앱 비밀 값", + "Client ID" : "클라이언트 ID", + "Client secret" : "클라이언트 비밀 값", + "Password" : "암호", + "Amazon S3" : "Amazon S3", + "Hostname" : "호스트 이름", + "Port" : "포트", + "Region" : "지역", + "Enable SSL" : "SSL 사용", + "Enable Path Style" : "경로 스타일 사용", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "보안 https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "보안 ftps://", + "Local" : "로컬", + "Location" : "위치", + "ownCloud" : "ownCloud", "Note: " : "메모:", - "and" : "그리고", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "메모: PHP cURL 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "메모: PHP FTP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "메모: \"%s\"이(가) 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", @@ -79,9 +72,9 @@ OC.L10N.register( "Folder name" : "폴더 이름", "Configuration" : "설정", "Available for" : "다음으로 사용 가능", - "Add storage" : "저장소 추가", "Advanced settings" : "고급 설정", "Delete" : "삭제", + "Add storage" : "저장소 추가", "Enable User External Storage" : "사용자 외부 저장소 사용", "Allow users to mount the following external storage" : "사용자가 다음 외부 저장소를 마운트할 수 있도록 허용" }, diff --git a/apps/files_external/l10n/ko.json b/apps/files_external/l10n/ko.json index 843a9dac05..eeac61cf66 100644 --- a/apps/files_external/l10n/ko.json +++ b/apps/files_external/l10n/ko.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "요청 토큰을 가져올 수 없습니다. Dropbox 앱 키와 비밀 값이 올바른지 확인하십시오.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "접근 토큰을 가져올 수 없습니다. Dropbox 앱 키와 비밀 값이 올바른지 확인하십시오.", - "Please provide a valid Dropbox app key and secret." : "올바른 Dropbox 앱 키와 암호를 입력하십시오.", "Step 1 failed. Exception: %s" : "1단계 실패. 예외: %s", "Step 2 failed. Exception: %s" : "2단계 실패. 예외: %s", "External storage" : "외부 저장소", - "Local" : "로컬", - "Location" : "위치", - "Amazon S3" : "Amazon S3", - "Key" : "키", - "Secret" : "비밀 값", - "Bucket" : "버킷", - "Amazon S3 and compliant" : "Amazon S3 및 호환 가능 서비스", - "Access Key" : "접근 키", - "Secret Key" : "비밀 키", - "Hostname" : "호스트 이름", - "Port" : "포트", - "Region" : "지역", - "Enable SSL" : "SSL 사용", - "Enable Path Style" : "경로 스타일 사용", - "App key" : "앱 키", - "App secret" : "앱 비밀 값", - "Host" : "호스트", - "Username" : "사용자 이름", - "Password" : "암호", - "Remote subfolder" : "원격 하위 폴더", - "Secure ftps://" : "보안 ftps://", - "Client ID" : "클라이언트 ID", - "Client secret" : "클라이언트 비밀 값", "OpenStack Object Storage" : "OpenStack 객체 저장소", + "Username" : "사용자 이름", + "Bucket" : "버킷", "Region (optional for OpenStack Object Storage)" : "지역(OpenStack 객체 저장소는 선택 사항)", "API Key (required for Rackspace Cloud Files)" : "API 키(Rackspace 클라우드 파일에 필요함)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname(OpenStack 객체 저장소에 필요함)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "서비스 이름(OpenStack 객체 저장소에 필요함)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Identity 엔드포인트 URL(OpenStack 객체 저장소에 필요함)", "Timeout of HTTP requests in seconds" : "초 단위 HTTP 요청 시간 제한", - "Share" : "공유", "SMB / CIFS using OC login" : "OC 로그인을 사용하는 SMB/CIFS", + "Host" : "호스트", "Username as share" : "사용자 이름으로 공유", - "URL" : "URL", - "Secure https://" : "보안 https://", + "Share" : "공유", + "Remote subfolder" : "원격 하위 폴더", "SFTP with secret key login" : "비밀 키 로그인을 사용하는 SFTP", "Public key" : "공개 키", "Storage with id \"%i\" not found" : "ID가 \"%i\"인 저장소를 찾을 수 없음", "Invalid mount point" : "잘못된 마운트 지점", "Invalid storage backend \"%s\"" : "잘못된 저장소 백엔드 \"%s\"", - "Access granted" : "접근 허가됨", - "Error configuring Dropbox storage" : "Dropbox 저장소 설정 오류", - "Grant access" : "접근 권한 부여", - "Error configuring Google Drive storage" : "Google 드라이브 저장소 설정 오류", "Personal" : "개인", "System" : "시스템", + "Grant access" : "접근 권한 부여", + "Access granted" : "접근 허가됨", "Enable encryption" : "암호화 사용", "Enable previews" : "미리 보기 사용", "Check for changes" : "변경 사항 감시", @@ -63,8 +37,27 @@ "Saved" : "저장됨", "Generate keys" : "키 생성", "Error generating key pair" : "키 쌍을 생성하는 중 오류 발생", + "None" : "없음", + "App key" : "앱 키", + "App secret" : "앱 비밀 값", + "Client ID" : "클라이언트 ID", + "Client secret" : "클라이언트 비밀 값", + "Password" : "암호", + "Amazon S3" : "Amazon S3", + "Hostname" : "호스트 이름", + "Port" : "포트", + "Region" : "지역", + "Enable SSL" : "SSL 사용", + "Enable Path Style" : "경로 스타일 사용", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "보안 https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "보안 ftps://", + "Local" : "로컬", + "Location" : "위치", + "ownCloud" : "ownCloud", "Note: " : "메모:", - "and" : "그리고", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "메모: PHP cURL 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "메모: PHP FTP 모듈이 비활성화되어 있거나 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "메모: \"%s\"이(가) 설치되어 있지 않습니다. %s을(를) 마운트할 수 없습니다. 시스템 관리자에게 설치를 요청하십시오.", @@ -77,9 +70,9 @@ "Folder name" : "폴더 이름", "Configuration" : "설정", "Available for" : "다음으로 사용 가능", - "Add storage" : "저장소 추가", "Advanced settings" : "고급 설정", "Delete" : "삭제", + "Add storage" : "저장소 추가", "Enable User External Storage" : "사용자 외부 저장소 사용", "Allow users to mount the following external storage" : "사용자가 다음 외부 저장소를 마운트할 수 있도록 허용" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/ku_IQ.js b/apps/files_external/l10n/ku_IQ.js index 60110b5a0a..48302034a9 100644 --- a/apps/files_external/l10n/ku_IQ.js +++ b/apps/files_external/l10n/ku_IQ.js @@ -1,11 +1,12 @@ OC.L10N.register( "files_external", { - "Location" : "شوێن", "Username" : "ناوی به‌کارهێنه‌ر", - "Password" : "وشەی تێپەربو", "Share" : "هاوبەشی کردن", + "None" : "هیچ", + "Password" : "وشەی تێپەربو", "URL" : "ناونیشانی به‌سته‌ر", + "Location" : "شوێن", "Name" : "ناو", "Folder name" : "ناوی بوخچه" }, diff --git a/apps/files_external/l10n/ku_IQ.json b/apps/files_external/l10n/ku_IQ.json index 5116096025..329a9a3978 100644 --- a/apps/files_external/l10n/ku_IQ.json +++ b/apps/files_external/l10n/ku_IQ.json @@ -1,9 +1,10 @@ { "translations": { - "Location" : "شوێن", "Username" : "ناوی به‌کارهێنه‌ر", - "Password" : "وشەی تێپەربو", "Share" : "هاوبەشی کردن", + "None" : "هیچ", + "Password" : "وشەی تێپەربو", "URL" : "ناونیشانی به‌سته‌ر", + "Location" : "شوێن", "Name" : "ناو", "Folder name" : "ناوی بوخچه" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/lb.js b/apps/files_external/l10n/lb.js index 4f18f5b6e3..b3517fe682 100644 --- a/apps/files_external/l10n/lb.js +++ b/apps/files_external/l10n/lb.js @@ -1,16 +1,17 @@ OC.L10N.register( "files_external", { - "Location" : "Uert", - "Port" : "Port", - "Region" : "Regioun", - "Host" : "Host", "Username" : "Benotzernumm", - "Password" : "Passwuert", + "Host" : "Host", "Share" : "Deelen", - "URL" : "URL", "Personal" : "Perséinlech", "Saved" : "Gespäichert", + "Password" : "Passwuert", + "Port" : "Port", + "Region" : "Regioun", + "URL" : "URL", + "Location" : "Uert", + "ownCloud" : "ownCloud", "Name" : "Numm", "Folder name" : "Dossiers Numm:", "Delete" : "Läschen" diff --git a/apps/files_external/l10n/lb.json b/apps/files_external/l10n/lb.json index a9acd18180..659e57832a 100644 --- a/apps/files_external/l10n/lb.json +++ b/apps/files_external/l10n/lb.json @@ -1,14 +1,15 @@ { "translations": { - "Location" : "Uert", - "Port" : "Port", - "Region" : "Regioun", - "Host" : "Host", "Username" : "Benotzernumm", - "Password" : "Passwuert", + "Host" : "Host", "Share" : "Deelen", - "URL" : "URL", "Personal" : "Perséinlech", "Saved" : "Gespäichert", + "Password" : "Passwuert", + "Port" : "Port", + "Region" : "Regioun", + "URL" : "URL", + "Location" : "Uert", + "ownCloud" : "ownCloud", "Name" : "Numm", "Folder name" : "Dossiers Numm:", "Delete" : "Läschen" diff --git a/apps/files_external/l10n/lt_LT.js b/apps/files_external/l10n/lt_LT.js index fa8dcec68e..bf59d5c44c 100644 --- a/apps/files_external/l10n/lt_LT.js +++ b/apps/files_external/l10n/lt_LT.js @@ -1,27 +1,27 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Prašome įvesti teisingus Dropbox \"app key\" ir \"secret\".", "External storage" : "Išorinė saugykla", - "Location" : "Vieta", + "Username" : "Prisijungimo vardas", + "Host" : "Mazgas", + "Share" : "Dalintis", + "Personal" : "Asmeniniai", + "Grant access" : "Suteikti priėjimą", + "Access granted" : "Priėjimas suteiktas", + "None" : "Nieko", + "Password" : "Slaptažodis", "Port" : "Prievadas", "Region" : "Regionas", - "Host" : "Mazgas", - "Username" : "Prisijungimo vardas", - "Password" : "Slaptažodis", - "Share" : "Dalintis", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "Priėjimas suteiktas", - "Error configuring Dropbox storage" : "Klaida nustatinėjant Dropbox talpyklą", - "Grant access" : "Suteikti priėjimą", - "Error configuring Google Drive storage" : "Klaida nustatinėjant Google Drive talpyklą", - "Personal" : "Asmeniniai", + "Location" : "Vieta", + "ownCloud" : "ownCloud", "Name" : "Pavadinimas", "External Storage" : "Išorinės saugyklos", "Folder name" : "Katalogo pavadinimas", "Configuration" : "Konfigūracija", - "Add storage" : "Pridėti saugyklą", "Delete" : "Ištrinti", + "Add storage" : "Pridėti saugyklą", "Enable User External Storage" : "Įjungti vartotojų išorines saugyklas" }, "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_external/l10n/lt_LT.json b/apps/files_external/l10n/lt_LT.json index a6d6e9bfc7..643aac71a9 100644 --- a/apps/files_external/l10n/lt_LT.json +++ b/apps/files_external/l10n/lt_LT.json @@ -1,25 +1,25 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Prašome įvesti teisingus Dropbox \"app key\" ir \"secret\".", "External storage" : "Išorinė saugykla", - "Location" : "Vieta", + "Username" : "Prisijungimo vardas", + "Host" : "Mazgas", + "Share" : "Dalintis", + "Personal" : "Asmeniniai", + "Grant access" : "Suteikti priėjimą", + "Access granted" : "Priėjimas suteiktas", + "None" : "Nieko", + "Password" : "Slaptažodis", "Port" : "Prievadas", "Region" : "Regionas", - "Host" : "Mazgas", - "Username" : "Prisijungimo vardas", - "Password" : "Slaptažodis", - "Share" : "Dalintis", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "Priėjimas suteiktas", - "Error configuring Dropbox storage" : "Klaida nustatinėjant Dropbox talpyklą", - "Grant access" : "Suteikti priėjimą", - "Error configuring Google Drive storage" : "Klaida nustatinėjant Google Drive talpyklą", - "Personal" : "Asmeniniai", + "Location" : "Vieta", + "ownCloud" : "ownCloud", "Name" : "Pavadinimas", "External Storage" : "Išorinės saugyklos", "Folder name" : "Katalogo pavadinimas", "Configuration" : "Konfigūracija", - "Add storage" : "Pridėti saugyklą", "Delete" : "Ištrinti", + "Add storage" : "Pridėti saugyklą", "Enable User External Storage" : "Įjungti vartotojų išorines saugyklas" },"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_external/l10n/lv.js b/apps/files_external/l10n/lv.js index 8b3dae5e4f..ea3264a7f5 100644 --- a/apps/files_external/l10n/lv.js +++ b/apps/files_external/l10n/lv.js @@ -1,27 +1,27 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Lūdzu, norādiet derīgu Dropbox lietotnes atslēgu un noslēpumu.", "External storage" : "Ārējā krātuve", - "Location" : "Vieta", - "Port" : "Ports", - "Host" : "Resursdators", "Username" : "Lietotājvārds", - "Password" : "Parole", + "Host" : "Resursdators", "Share" : "Dalīties", - "URL" : "URL", - "Access granted" : "Piešķirta pieeja", - "Error configuring Dropbox storage" : "Kļūda, konfigurējot Dropbox krātuvi", - "Grant access" : "Piešķirt pieeju", - "Error configuring Google Drive storage" : "Kļūda, konfigurējot Google Drive krātuvi", "Personal" : "Personīgi", + "Grant access" : "Piešķirt pieeju", + "Access granted" : "Piešķirta pieeja", "Saved" : "Saglabāts", + "None" : "Nav", + "Password" : "Parole", + "Port" : "Ports", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "Vieta", + "ownCloud" : "ownCloud", "Name" : "Nosaukums", "External Storage" : "Ārējā krātuve", "Folder name" : "Mapes nosaukums", "Configuration" : "Konfigurācija", - "Add storage" : "Pievienot krātuvi", "Delete" : "Dzēst", + "Add storage" : "Pievienot krātuvi", "Enable User External Storage" : "Aktivēt lietotāja ārējo krātuvi" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/apps/files_external/l10n/lv.json b/apps/files_external/l10n/lv.json index 6ec5fad6f9..03642d43f4 100644 --- a/apps/files_external/l10n/lv.json +++ b/apps/files_external/l10n/lv.json @@ -1,25 +1,25 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Lūdzu, norādiet derīgu Dropbox lietotnes atslēgu un noslēpumu.", "External storage" : "Ārējā krātuve", - "Location" : "Vieta", - "Port" : "Ports", - "Host" : "Resursdators", "Username" : "Lietotājvārds", - "Password" : "Parole", + "Host" : "Resursdators", "Share" : "Dalīties", - "URL" : "URL", - "Access granted" : "Piešķirta pieeja", - "Error configuring Dropbox storage" : "Kļūda, konfigurējot Dropbox krātuvi", - "Grant access" : "Piešķirt pieeju", - "Error configuring Google Drive storage" : "Kļūda, konfigurējot Google Drive krātuvi", "Personal" : "Personīgi", + "Grant access" : "Piešķirt pieeju", + "Access granted" : "Piešķirta pieeja", "Saved" : "Saglabāts", + "None" : "Nav", + "Password" : "Parole", + "Port" : "Ports", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "Vieta", + "ownCloud" : "ownCloud", "Name" : "Nosaukums", "External Storage" : "Ārējā krātuve", "Folder name" : "Mapes nosaukums", "Configuration" : "Konfigurācija", - "Add storage" : "Pievienot krātuvi", "Delete" : "Dzēst", + "Add storage" : "Pievienot krātuvi", "Enable User External Storage" : "Aktivēt lietotāja ārējo krātuvi" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" } \ No newline at end of file diff --git a/apps/files_external/l10n/mk.js b/apps/files_external/l10n/mk.js index 4250db79d3..fd5f8bfe5e 100644 --- a/apps/files_external/l10n/mk.js +++ b/apps/files_external/l10n/mk.js @@ -1,22 +1,22 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Ве молам доставите валиден Dropbox клуч и тајна лозинка.", - "Local" : "Локален", - "Location" : "Локација", + "Username" : "Корисничко име", + "Host" : "Домаќин", + "Share" : "Сподели", + "Personal" : "Лично", + "Grant access" : "Дозволи пристап", + "Access granted" : "Пристапот е дозволен", + "Saved" : "Снимено", + "None" : "Ништо", + "Password" : "Лозинка", "Port" : "Порта", "Region" : "Регион", - "Host" : "Домаќин", - "Username" : "Корисничко име", - "Password" : "Лозинка", - "Share" : "Сподели", + "WebDAV" : "WebDAV", "URL" : "Адреса", - "Access granted" : "Пристапот е дозволен", - "Error configuring Dropbox storage" : "Грешка при конфигурација на Dropbox", - "Grant access" : "Дозволи пристап", - "Error configuring Google Drive storage" : "Грешка при конфигурација на Google Drive", - "Personal" : "Лично", - "Saved" : "Снимено", + "Local" : "Локален", + "Location" : "Локација", + "ownCloud" : "ownCloud", "Name" : "Име", "External Storage" : "Надворешно складиште", "Folder name" : "Име на папка", diff --git a/apps/files_external/l10n/mk.json b/apps/files_external/l10n/mk.json index d216a075b3..4fb80152ba 100644 --- a/apps/files_external/l10n/mk.json +++ b/apps/files_external/l10n/mk.json @@ -1,20 +1,20 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Ве молам доставите валиден Dropbox клуч и тајна лозинка.", - "Local" : "Локален", - "Location" : "Локација", + "Username" : "Корисничко име", + "Host" : "Домаќин", + "Share" : "Сподели", + "Personal" : "Лично", + "Grant access" : "Дозволи пристап", + "Access granted" : "Пристапот е дозволен", + "Saved" : "Снимено", + "None" : "Ништо", + "Password" : "Лозинка", "Port" : "Порта", "Region" : "Регион", - "Host" : "Домаќин", - "Username" : "Корисничко име", - "Password" : "Лозинка", - "Share" : "Сподели", + "WebDAV" : "WebDAV", "URL" : "Адреса", - "Access granted" : "Пристапот е дозволен", - "Error configuring Dropbox storage" : "Грешка при конфигурација на Dropbox", - "Grant access" : "Дозволи пристап", - "Error configuring Google Drive storage" : "Грешка при конфигурација на Google Drive", - "Personal" : "Лично", - "Saved" : "Снимено", + "Local" : "Локален", + "Location" : "Локација", + "ownCloud" : "ownCloud", "Name" : "Име", "External Storage" : "Надворешно складиште", "Folder name" : "Име на папка", diff --git a/apps/files_external/l10n/mn.js b/apps/files_external/l10n/mn.js index a83f831086..5753d2d4e6 100644 --- a/apps/files_external/l10n/mn.js +++ b/apps/files_external/l10n/mn.js @@ -2,7 +2,7 @@ OC.L10N.register( "files_external", { "Username" : "Хэрэглэгчийн нэр", - "Password" : "Нууц үг", - "Share" : "Түгээх" + "Share" : "Түгээх", + "Password" : "Нууц үг" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/mn.json b/apps/files_external/l10n/mn.json index e28fa6e52a..255007b3c0 100644 --- a/apps/files_external/l10n/mn.json +++ b/apps/files_external/l10n/mn.json @@ -1,6 +1,6 @@ { "translations": { "Username" : "Хэрэглэгчийн нэр", - "Password" : "Нууц үг", - "Share" : "Түгээх" + "Share" : "Түгээх", + "Password" : "Нууц үг" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/ms_MY.js b/apps/files_external/l10n/ms_MY.js index e73074f39f..2e4ba1dc5f 100644 --- a/apps/files_external/l10n/ms_MY.js +++ b/apps/files_external/l10n/ms_MY.js @@ -1,13 +1,14 @@ OC.L10N.register( "files_external", { - "Location" : "Lokasi", - "Region" : "Wilayah", "Username" : "Nama pengguna", - "Password" : "Kata laluan", "Share" : "Kongsi", - "URL" : "URL", "Personal" : "Peribadi", + "Password" : "Kata laluan", + "Region" : "Wilayah", + "URL" : "URL", + "Location" : "Lokasi", + "ownCloud" : "ownCloud", "Name" : "Nama", "Delete" : "Padam" }, diff --git a/apps/files_external/l10n/ms_MY.json b/apps/files_external/l10n/ms_MY.json index 3dbcfc92a7..403a877faf 100644 --- a/apps/files_external/l10n/ms_MY.json +++ b/apps/files_external/l10n/ms_MY.json @@ -1,11 +1,12 @@ { "translations": { - "Location" : "Lokasi", - "Region" : "Wilayah", "Username" : "Nama pengguna", - "Password" : "Kata laluan", "Share" : "Kongsi", - "URL" : "URL", "Personal" : "Peribadi", + "Password" : "Kata laluan", + "Region" : "Wilayah", + "URL" : "URL", + "Location" : "Lokasi", + "ownCloud" : "ownCloud", "Name" : "Nama", "Delete" : "Padam" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/my_MM.js b/apps/files_external/l10n/my_MM.js index d858639143..427f35f62b 100644 --- a/apps/files_external/l10n/my_MM.js +++ b/apps/files_external/l10n/my_MM.js @@ -1,8 +1,8 @@ OC.L10N.register( "files_external", { - "Location" : "တည်နေရာ", "Username" : "သုံးစွဲသူအမည်", - "Password" : "စကားဝှက်" + "Password" : "စကားဝှက်", + "Location" : "တည်နေရာ" }, "nplurals=1; plural=0;"); diff --git a/apps/files_external/l10n/my_MM.json b/apps/files_external/l10n/my_MM.json index ee8c8165a5..b13ba9dbd1 100644 --- a/apps/files_external/l10n/my_MM.json +++ b/apps/files_external/l10n/my_MM.json @@ -1,6 +1,6 @@ { "translations": { - "Location" : "တည်နေရာ", "Username" : "သုံးစွဲသူအမည်", - "Password" : "စကားဝှက်" + "Password" : "စကားဝှက်", + "Location" : "တည်နေရာ" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files_external/l10n/nb_NO.js b/apps/files_external/l10n/nb_NO.js index 8faf9719fe..8f995c0775 100644 --- a/apps/files_external/l10n/nb_NO.js +++ b/apps/files_external/l10n/nb_NO.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Henting av henvendelsessymboler feilet. Sjekk at app-nøkkelen og hemmeligheten din for Dropbox stemmer.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Henting av adgangssymboler feilet. Sjekk at app-nøkkelen og hemmeligheten din for Dropbox stemmer.", - "Please provide a valid Dropbox app key and secret." : "Vær vennlig å oppgi gyldig Dropbox appnøkkel og hemmelighet.", "Step 1 failed. Exception: %s" : "Steg 1 feilet. Unntak: %s", "Step 2 failed. Exception: %s" : "Steg 2 feilet. Unntak: %s", "External storage" : "Ekstern lagringsplass", - "Local" : "Lokal", - "Location" : "Sted", - "Amazon S3" : "Amazon S3", - "Key" : "Key", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 og tilsvarende", - "Access Key" : "Access Key", - "Secret Key" : "Secret Key", - "Hostname" : "Servernavn", - "Port" : "Port", - "Region" : "Området", - "Enable SSL" : "Aktiver SSL", - "Enable Path Style" : "Aktiver Path Style", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Tjener", - "Username" : "Brukernavn", - "Password" : "Passord", - "Remote subfolder" : "Ekstern undermappe", - "Secure ftps://" : "Sikker ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Brukernavn", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (ikke påkrevet for OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (påkrevet for Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (påkrevet for OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Tjenestenavn (påkrevet for OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL for identity endpoint (påkrevet for OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tidsavbrudd for HTTP-forespørsler i sekunder", - "Share" : "Delt ressurs", "SMB / CIFS using OC login" : "SMB / CIFS med OC-pålogging", + "Host" : "Tjener", "Username as share" : "Brukernavn som share", - "URL" : "URL", - "Secure https://" : "Sikker https://", + "Share" : "Delt ressurs", + "Remote subfolder" : "Ekstern undermappe", "SFTP with secret key login" : "SFTP med hemmelig nøkkel for pålogging", "Public key" : "Offentlig nøkkel", "Storage with id \"%i\" not found" : "Lager med id \"%i\" ikke funnet", "Invalid mount point" : "Ugyldig oppkoblingspunkt", "Invalid storage backend \"%s\"" : "Ugyldig lagringsserver \"%s\"", - "Access granted" : "Tilgang innvilget", - "Error configuring Dropbox storage" : "Feil ved konfigurering av Dropbox-lagring", - "Grant access" : "Gi tilgang", - "Error configuring Google Drive storage" : "Feil med konfigurering av Google Drive", "Personal" : "Personlig", "System" : "System", + "Grant access" : "Gi tilgang", + "Access granted" : "Tilgang innvilget", "Enable encryption" : "Aktiver kryptering", "Enable previews" : "Tillat fohåndsvisning", "Check for changes" : "Se etter endringer", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Lagret", "Generate keys" : "Generer nøkler", "Error generating key pair" : "Feil ved nøkkelgenerering", + "None" : "Ingen", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "Passord", + "Amazon S3" : "Amazon S3", + "Hostname" : "Servernavn", + "Port" : "Port", + "Region" : "Området", + "Enable SSL" : "Aktiver SSL", + "Enable Path Style" : "Aktiver Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sikker https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sikker ftps://", + "Local" : "Lokal", + "Location" : "Sted", + "ownCloud" : "ownCloud", + "Root" : "Rot", "Note: " : "Merk: ", - "and" : "og", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Merk: Støtte for cURL i PHP er ikke aktivert eller installert. Oppkobling av %s er ikke mulig. Be systemadministratoren om å installere det.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Merk: FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å få dette installert.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Merk: \"%s\" er ikke installert. Oppkobling av %s er ikke mulig. Spør systemadministratoren om å installere det.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Mappenavn", "Configuration" : "Konfigurasjon", "Available for" : "Tilgjengelig for", - "Add storage" : "Legg til lagringsplass", "Advanced settings" : "Avanserte innstillinger", "Delete" : "Slett", + "Add storage" : "Legg til lagringsplass", "Enable User External Storage" : "Aktiver ekstern lagring for bruker", "Allow users to mount the following external storage" : "Tillat brukere å koble opp følgende eksterne lagring" }, diff --git a/apps/files_external/l10n/nb_NO.json b/apps/files_external/l10n/nb_NO.json index c6d566b057..8d60736882 100644 --- a/apps/files_external/l10n/nb_NO.json +++ b/apps/files_external/l10n/nb_NO.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Henting av henvendelsessymboler feilet. Sjekk at app-nøkkelen og hemmeligheten din for Dropbox stemmer.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Henting av adgangssymboler feilet. Sjekk at app-nøkkelen og hemmeligheten din for Dropbox stemmer.", - "Please provide a valid Dropbox app key and secret." : "Vær vennlig å oppgi gyldig Dropbox appnøkkel og hemmelighet.", "Step 1 failed. Exception: %s" : "Steg 1 feilet. Unntak: %s", "Step 2 failed. Exception: %s" : "Steg 2 feilet. Unntak: %s", "External storage" : "Ekstern lagringsplass", - "Local" : "Lokal", - "Location" : "Sted", - "Amazon S3" : "Amazon S3", - "Key" : "Key", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 og tilsvarende", - "Access Key" : "Access Key", - "Secret Key" : "Secret Key", - "Hostname" : "Servernavn", - "Port" : "Port", - "Region" : "Området", - "Enable SSL" : "Aktiver SSL", - "Enable Path Style" : "Aktiver Path Style", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Tjener", - "Username" : "Brukernavn", - "Password" : "Passord", - "Remote subfolder" : "Ekstern undermappe", - "Secure ftps://" : "Sikker ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Brukernavn", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (ikke påkrevet for OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (påkrevet for Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (påkrevet for OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Tjenestenavn (påkrevet for OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL for identity endpoint (påkrevet for OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Tidsavbrudd for HTTP-forespørsler i sekunder", - "Share" : "Delt ressurs", "SMB / CIFS using OC login" : "SMB / CIFS med OC-pålogging", + "Host" : "Tjener", "Username as share" : "Brukernavn som share", - "URL" : "URL", - "Secure https://" : "Sikker https://", + "Share" : "Delt ressurs", + "Remote subfolder" : "Ekstern undermappe", "SFTP with secret key login" : "SFTP med hemmelig nøkkel for pålogging", "Public key" : "Offentlig nøkkel", "Storage with id \"%i\" not found" : "Lager med id \"%i\" ikke funnet", "Invalid mount point" : "Ugyldig oppkoblingspunkt", "Invalid storage backend \"%s\"" : "Ugyldig lagringsserver \"%s\"", - "Access granted" : "Tilgang innvilget", - "Error configuring Dropbox storage" : "Feil ved konfigurering av Dropbox-lagring", - "Grant access" : "Gi tilgang", - "Error configuring Google Drive storage" : "Feil med konfigurering av Google Drive", "Personal" : "Personlig", "System" : "System", + "Grant access" : "Gi tilgang", + "Access granted" : "Tilgang innvilget", "Enable encryption" : "Aktiver kryptering", "Enable previews" : "Tillat fohåndsvisning", "Check for changes" : "Se etter endringer", @@ -63,8 +37,28 @@ "Saved" : "Lagret", "Generate keys" : "Generer nøkler", "Error generating key pair" : "Feil ved nøkkelgenerering", + "None" : "Ingen", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "Passord", + "Amazon S3" : "Amazon S3", + "Hostname" : "Servernavn", + "Port" : "Port", + "Region" : "Området", + "Enable SSL" : "Aktiver SSL", + "Enable Path Style" : "Aktiver Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sikker https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Sikker ftps://", + "Local" : "Lokal", + "Location" : "Sted", + "ownCloud" : "ownCloud", + "Root" : "Rot", "Note: " : "Merk: ", - "and" : "og", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Merk: Støtte for cURL i PHP er ikke aktivert eller installert. Oppkobling av %s er ikke mulig. Be systemadministratoren om å installere det.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Merk: FTP-støtte i PHP er ikke slått på eller installert. Kan ikke koble opp %s. Ta kontakt med systemadministratoren for å få dette installert.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Merk: \"%s\" er ikke installert. Oppkobling av %s er ikke mulig. Spør systemadministratoren om å installere det.", @@ -77,9 +71,9 @@ "Folder name" : "Mappenavn", "Configuration" : "Konfigurasjon", "Available for" : "Tilgjengelig for", - "Add storage" : "Legg til lagringsplass", "Advanced settings" : "Avanserte innstillinger", "Delete" : "Slett", + "Add storage" : "Legg til lagringsplass", "Enable User External Storage" : "Aktiver ekstern lagring for bruker", "Allow users to mount the following external storage" : "Tillat brukere å koble opp følgende eksterne lagring" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js index dbfdb3bef6..dc136969fd 100644 --- a/apps/files_external/l10n/nl.js +++ b/apps/files_external/l10n/nl.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Ophalen aanvraag tokens mislukt. Verifieer dat uw Dropbox app key en secret juist zijn.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Ophalen aanvraag tokens mislukt. Verifieer dat uw Dropbox app key en secret juist zijn.", - "Please provide a valid Dropbox app key and secret." : "Geef een geldige Dropbox key en secret.", "Step 1 failed. Exception: %s" : "Stap 1 is mislukt. Uitzondering: %s", "Step 2 failed. Exception: %s" : "Stap 2 is mislukt. Uitzondering: %s", "External storage" : "Externe opslag", - "Local" : "Lokaal", - "Location" : "Locatie", - "Amazon S3" : "Amazon S3", - "Key" : "Sleutel", - "Secret" : "Geheim", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 en overeenkomstig", - "Access Key" : "Access Key", - "Secret Key" : "Secret Key", - "Hostname" : "Hostnaam", - "Port" : "Poort", - "Region" : "Regio", - "Enable SSL" : "Activeren SSL", - "Enable Path Style" : "Activeren pad stijl", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Host", - "Username" : "Gebruikersnaam", - "Password" : "Wachtwoord", - "Remote subfolder" : "Externe submap", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Gebruikersnaam", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Regio (optioneel voor OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (verplicht voor Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (Verplicht voor OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Service Name (verplicht voor OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL van identity endpoint (verplicht voor OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Time-out van HTTP-verzoeken in seconden", - "Share" : "Share", "SMB / CIFS using OC login" : "SMB / CIFS via OC inlog", + "Host" : "Host", "Username as share" : "Gebruikersnaam als share", - "URL" : "URL", - "Secure https://" : "Secure https://", + "Share" : "Share", + "Remote subfolder" : "Externe submap", "SFTP with secret key login" : "SFTP met geheime sleutel inlog", "Public key" : "Publieke sleutel", "Storage with id \"%i\" not found" : "Opslag met id \"%i\" niet gevonden", "Invalid mount point" : "Ongeldig aankoppelpunt", "Invalid storage backend \"%s\"" : "Ongeldig opslagsysteem \"%s\"", - "Access granted" : "Toegang toegestaan", - "Error configuring Dropbox storage" : "Fout tijdens het configureren van Dropbox opslag", - "Grant access" : "Sta toegang toe", - "Error configuring Google Drive storage" : "Fout tijdens het configureren van Google Drive opslag", "Personal" : "Persoonlijk", "System" : "Systeem", + "Grant access" : "Sta toegang toe", + "Access granted" : "Toegang toegestaan", "Enable encryption" : "Versleuteling inschakelen", "Enable previews" : "Activeren voorbeelden", "Check for changes" : "Controleren op wijzigingen", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Bewaard", "Generate keys" : "Genereer sleutels", "Error generating key pair" : "Fout bij genereren sleutelpaar", + "None" : "Geen", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "Wachtwoord", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostnaam", + "Port" : "Poort", + "Region" : "Regio", + "Enable SSL" : "Activeren SSL", + "Enable Path Style" : "Activeren pad stijl", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Secure https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "Lokaal", + "Location" : "Locatie", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Let op: ", - "and" : "en", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: \"%s\" is niet geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder om dit te installeren.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Mapnaam", "Configuration" : "Configuratie", "Available for" : "Beschikbaar voor", - "Add storage" : "Toevoegen opslag", "Advanced settings" : "Geavanceerde instellingen", "Delete" : "Verwijder", + "Add storage" : "Toevoegen opslag", "Enable User External Storage" : "Externe opslag voor gebruikers activeren", "Allow users to mount the following external storage" : "Sta gebruikers toe de volgende externe opslag aan te koppelen" }, diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json index b3912b38a1..7d5279afbc 100644 --- a/apps/files_external/l10n/nl.json +++ b/apps/files_external/l10n/nl.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Ophalen aanvraag tokens mislukt. Verifieer dat uw Dropbox app key en secret juist zijn.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Ophalen aanvraag tokens mislukt. Verifieer dat uw Dropbox app key en secret juist zijn.", - "Please provide a valid Dropbox app key and secret." : "Geef een geldige Dropbox key en secret.", "Step 1 failed. Exception: %s" : "Stap 1 is mislukt. Uitzondering: %s", "Step 2 failed. Exception: %s" : "Stap 2 is mislukt. Uitzondering: %s", "External storage" : "Externe opslag", - "Local" : "Lokaal", - "Location" : "Locatie", - "Amazon S3" : "Amazon S3", - "Key" : "Sleutel", - "Secret" : "Geheim", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 en overeenkomstig", - "Access Key" : "Access Key", - "Secret Key" : "Secret Key", - "Hostname" : "Hostnaam", - "Port" : "Poort", - "Region" : "Regio", - "Enable SSL" : "Activeren SSL", - "Enable Path Style" : "Activeren pad stijl", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Host", - "Username" : "Gebruikersnaam", - "Password" : "Wachtwoord", - "Remote subfolder" : "Externe submap", - "Secure ftps://" : "Secure ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Gebruikersnaam", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Regio (optioneel voor OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (verplicht voor Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (Verplicht voor OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Service Name (verplicht voor OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL van identity endpoint (verplicht voor OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Time-out van HTTP-verzoeken in seconden", - "Share" : "Share", "SMB / CIFS using OC login" : "SMB / CIFS via OC inlog", + "Host" : "Host", "Username as share" : "Gebruikersnaam als share", - "URL" : "URL", - "Secure https://" : "Secure https://", + "Share" : "Share", + "Remote subfolder" : "Externe submap", "SFTP with secret key login" : "SFTP met geheime sleutel inlog", "Public key" : "Publieke sleutel", "Storage with id \"%i\" not found" : "Opslag met id \"%i\" niet gevonden", "Invalid mount point" : "Ongeldig aankoppelpunt", "Invalid storage backend \"%s\"" : "Ongeldig opslagsysteem \"%s\"", - "Access granted" : "Toegang toegestaan", - "Error configuring Dropbox storage" : "Fout tijdens het configureren van Dropbox opslag", - "Grant access" : "Sta toegang toe", - "Error configuring Google Drive storage" : "Fout tijdens het configureren van Google Drive opslag", "Personal" : "Persoonlijk", "System" : "Systeem", + "Grant access" : "Sta toegang toe", + "Access granted" : "Toegang toegestaan", "Enable encryption" : "Versleuteling inschakelen", "Enable previews" : "Activeren voorbeelden", "Check for changes" : "Controleren op wijzigingen", @@ -63,8 +37,28 @@ "Saved" : "Bewaard", "Generate keys" : "Genereer sleutels", "Error generating key pair" : "Fout bij genereren sleutelpaar", + "None" : "Geen", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "Wachtwoord", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostnaam", + "Port" : "Poort", + "Region" : "Regio", + "Enable SSL" : "Activeren SSL", + "Enable Path Style" : "Activeren pad stijl", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Secure https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Secure ftps://", + "Local" : "Lokaal", + "Location" : "Locatie", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Let op: ", - "and" : "en", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: \"%s\" is niet geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder om dit te installeren.", @@ -77,9 +71,9 @@ "Folder name" : "Mapnaam", "Configuration" : "Configuratie", "Available for" : "Beschikbaar voor", - "Add storage" : "Toevoegen opslag", "Advanced settings" : "Geavanceerde instellingen", "Delete" : "Verwijder", + "Add storage" : "Toevoegen opslag", "Enable User External Storage" : "Externe opslag voor gebruikers activeren", "Allow users to mount the following external storage" : "Sta gebruikers toe de volgende externe opslag aan te koppelen" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/nn_NO.js b/apps/files_external/l10n/nn_NO.js index 080f510546..8c47314f66 100644 --- a/apps/files_external/l10n/nn_NO.js +++ b/apps/files_external/l10n/nn_NO.js @@ -1,14 +1,16 @@ OC.L10N.register( "files_external", { - "Location" : "Stad", - "Region" : "Region/fylke", - "Host" : "Tenar", "Username" : "Brukarnamn", - "Password" : "Passord", + "Host" : "Tenar", "Share" : "Del", - "URL" : "Nettstad", "Personal" : "Personleg", + "Password" : "Passord", + "Region" : "Region/fylke", + "WebDAV" : "WebDAV", + "URL" : "Nettstad", + "Location" : "Stad", + "ownCloud" : "ownCloud", "Name" : "Namn", "Folder name" : "Mappenamn", "Configuration" : "Innstillingar", diff --git a/apps/files_external/l10n/nn_NO.json b/apps/files_external/l10n/nn_NO.json index 1451532c22..8ba4d2c1d6 100644 --- a/apps/files_external/l10n/nn_NO.json +++ b/apps/files_external/l10n/nn_NO.json @@ -1,12 +1,14 @@ { "translations": { - "Location" : "Stad", - "Region" : "Region/fylke", - "Host" : "Tenar", "Username" : "Brukarnamn", - "Password" : "Passord", + "Host" : "Tenar", "Share" : "Del", - "URL" : "Nettstad", "Personal" : "Personleg", + "Password" : "Passord", + "Region" : "Region/fylke", + "WebDAV" : "WebDAV", + "URL" : "Nettstad", + "Location" : "Stad", + "ownCloud" : "ownCloud", "Name" : "Namn", "Folder name" : "Mappenamn", "Configuration" : "Innstillingar", diff --git a/apps/files_external/l10n/oc.js b/apps/files_external/l10n/oc.js index 590e6185bd..81b0f6ace8 100644 --- a/apps/files_external/l10n/oc.js +++ b/apps/files_external/l10n/oc.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "La recuperacion dels getons d’autentificacion a fracassat. Verificatz vòstra clau d'aplicacion Dropbox amai lo senhal.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "La requèsta d’accès als getons d’autentificacion a fracassat. Verificatz vòstra App-Key Dropbox amai lo senhal.", - "Please provide a valid Dropbox app key and secret." : "Provesissètz una clau d'aplicacion (app key) amai un senhal valids.", "Step 1 failed. Exception: %s" : "L’etapa 1 a fracassat. Error : %s", "Step 2 failed. Exception: %s" : "L’etapa 2 a fracassat. Error : %s", "External storage" : "Emmagazinatge extèrne", - "Local" : "Local", - "Location" : "Emplaçament", - "Amazon S3" : "Amazon S3", - "Key" : "Clau", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 e compatibles", - "Access Key" : "Clau d'accès", - "Secret Key" : "Clau secreta", - "Hostname" : "Nom de l'òste", - "Port" : "Pòrt", - "Region" : "Region", - "Enable SSL" : "Activar SSL", - "Enable Path Style" : "Accès per path", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Òste", - "Username" : "Nom d'utilizaire", - "Password" : "Senhal", - "Remote subfolder" : "Sosdorsièr distant", - "Secure ftps://" : "Securizacion ftps://", - "Client ID" : "ID Client", - "Client secret" : "Secret client", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nom d'utilizaire", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (opcional per OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clau API (requesit per Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nom del locatari (requesit per l'emmagazinatge OpenStack)", @@ -38,29 +14,45 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nom del servici (requesit per l'emmagazinatge OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt d'accès d'identitat (requesit per l'emmagazinatge OpenStack)", "Timeout of HTTP requests in seconds" : "Relmabi d'espèra maximal de las requèstas HTTP en segondas", - "Share" : "Partejar", "SMB / CIFS using OC login" : "SMB / CIFS en utilizant los identificants OC", + "Host" : "Òste", "Username as share" : "Nom d'utilizaire coma nom de partiment", - "URL" : "URL", - "Secure https://" : "Securizacion https://", + "Share" : "Partejar", + "Remote subfolder" : "Sosdorsièr distant", "SFTP with secret key login" : "SFTP amb un identificant secret", "Public key" : "Clau publica", "Storage with id \"%i\" not found" : "Emmagazinatge amb l'id \"%i\" pas trobat", "Invalid mount point" : "Punt de montatge invalid", "Invalid storage backend \"%s\"" : "Servici d'emmagazinatge invalid : \"%s\"", - "Access granted" : "Accès autorizat", - "Error configuring Dropbox storage" : "Error al moment de la configuracion de l'emmagazinatge Dropbox", - "Grant access" : "Autorizar l'accès", - "Error configuring Google Drive storage" : "Error al moment de la configuracion de l'emmagazinatge Google Drive", "Personal" : "Personal", "System" : "Sistèma", + "Grant access" : "Autorizar l'accès", + "Access granted" : "Accès autorizat", "Enable encryption" : "Activar lo chiframent", "(group)" : "(grop)", "Saved" : "Salvat", "Generate keys" : "Generar de claus", "Error generating key pair" : "Error al moment de la generacion de las claus", + "None" : "Pas cap", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "ID Client", + "Client secret" : "Secret client", + "Password" : "Senhal", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nom de l'òste", + "Port" : "Pòrt", + "Region" : "Region", + "Enable SSL" : "Activar SSL", + "Enable Path Style" : "Accès per path", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Securizacion https://", + "Secure ftps://" : "Securizacion ftps://", + "Local" : "Local", + "Location" : "Emplaçament", + "ownCloud" : "ownCloud", "Note: " : "Atencion :", - "and" : " e ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Atencion : La presa en carga de cURL per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Atencion : La presa en carga del FTP per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Atencion : \"%s\" es pas installat. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", @@ -73,9 +65,9 @@ OC.L10N.register( "Folder name" : "Nom del dorsièr", "Configuration" : "Configuracion", "Available for" : "Disponible per", - "Add storage" : "Apondre un supòrt d'emmagazinatge", "Advanced settings" : "Paramètres avançats", "Delete" : "Suprimir", + "Add storage" : "Apondre un supòrt d'emmagazinatge", "Enable User External Storage" : "Autorizar los utilizaires a apondre d'emmagazinatges extèrnes", "Allow users to mount the following external storage" : "Autorizar los utilizaires a montar los emmagazinatges extèrnes seguents" }, diff --git a/apps/files_external/l10n/oc.json b/apps/files_external/l10n/oc.json index 1696dfa56a..b472b21c05 100644 --- a/apps/files_external/l10n/oc.json +++ b/apps/files_external/l10n/oc.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "La recuperacion dels getons d’autentificacion a fracassat. Verificatz vòstra clau d'aplicacion Dropbox amai lo senhal.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "La requèsta d’accès als getons d’autentificacion a fracassat. Verificatz vòstra App-Key Dropbox amai lo senhal.", - "Please provide a valid Dropbox app key and secret." : "Provesissètz una clau d'aplicacion (app key) amai un senhal valids.", "Step 1 failed. Exception: %s" : "L’etapa 1 a fracassat. Error : %s", "Step 2 failed. Exception: %s" : "L’etapa 2 a fracassat. Error : %s", "External storage" : "Emmagazinatge extèrne", - "Local" : "Local", - "Location" : "Emplaçament", - "Amazon S3" : "Amazon S3", - "Key" : "Clau", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 e compatibles", - "Access Key" : "Clau d'accès", - "Secret Key" : "Clau secreta", - "Hostname" : "Nom de l'òste", - "Port" : "Pòrt", - "Region" : "Region", - "Enable SSL" : "Activar SSL", - "Enable Path Style" : "Accès per path", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "Òste", - "Username" : "Nom d'utilizaire", - "Password" : "Senhal", - "Remote subfolder" : "Sosdorsièr distant", - "Secure ftps://" : "Securizacion ftps://", - "Client ID" : "ID Client", - "Client secret" : "Secret client", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Nom d'utilizaire", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (opcional per OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Clau API (requesit per Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Nom del locatari (requesit per l'emmagazinatge OpenStack)", @@ -36,29 +12,45 @@ "Service Name (required for OpenStack Object Storage)" : "Nom del servici (requesit per l'emmagazinatge OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL del punt d'accès d'identitat (requesit per l'emmagazinatge OpenStack)", "Timeout of HTTP requests in seconds" : "Relmabi d'espèra maximal de las requèstas HTTP en segondas", - "Share" : "Partejar", "SMB / CIFS using OC login" : "SMB / CIFS en utilizant los identificants OC", + "Host" : "Òste", "Username as share" : "Nom d'utilizaire coma nom de partiment", - "URL" : "URL", - "Secure https://" : "Securizacion https://", + "Share" : "Partejar", + "Remote subfolder" : "Sosdorsièr distant", "SFTP with secret key login" : "SFTP amb un identificant secret", "Public key" : "Clau publica", "Storage with id \"%i\" not found" : "Emmagazinatge amb l'id \"%i\" pas trobat", "Invalid mount point" : "Punt de montatge invalid", "Invalid storage backend \"%s\"" : "Servici d'emmagazinatge invalid : \"%s\"", - "Access granted" : "Accès autorizat", - "Error configuring Dropbox storage" : "Error al moment de la configuracion de l'emmagazinatge Dropbox", - "Grant access" : "Autorizar l'accès", - "Error configuring Google Drive storage" : "Error al moment de la configuracion de l'emmagazinatge Google Drive", "Personal" : "Personal", "System" : "Sistèma", + "Grant access" : "Autorizar l'accès", + "Access granted" : "Accès autorizat", "Enable encryption" : "Activar lo chiframent", "(group)" : "(grop)", "Saved" : "Salvat", "Generate keys" : "Generar de claus", "Error generating key pair" : "Error al moment de la generacion de las claus", + "None" : "Pas cap", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "ID Client", + "Client secret" : "Secret client", + "Password" : "Senhal", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nom de l'òste", + "Port" : "Pòrt", + "Region" : "Region", + "Enable SSL" : "Activar SSL", + "Enable Path Style" : "Accès per path", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Securizacion https://", + "Secure ftps://" : "Securizacion ftps://", + "Local" : "Local", + "Location" : "Emplaçament", + "ownCloud" : "ownCloud", "Note: " : "Atencion :", - "and" : " e ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Atencion : La presa en carga de cURL per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Atencion : La presa en carga del FTP per PHP es pas activada o installada. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Atencion : \"%s\" es pas installat. Lo montatge de %s es pas possible. Contactatz vòstre administrator sistèma per l'installar.", @@ -71,9 +63,9 @@ "Folder name" : "Nom del dorsièr", "Configuration" : "Configuracion", "Available for" : "Disponible per", - "Add storage" : "Apondre un supòrt d'emmagazinatge", "Advanced settings" : "Paramètres avançats", "Delete" : "Suprimir", + "Add storage" : "Apondre un supòrt d'emmagazinatge", "Enable User External Storage" : "Autorizar los utilizaires a apondre d'emmagazinatges extèrnes", "Allow users to mount the following external storage" : "Autorizar los utilizaires a montar los emmagazinatges extèrnes seguents" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/apps/files_external/l10n/pa.js b/apps/files_external/l10n/pa.js index 47acbde23d..ce71d10964 100644 --- a/apps/files_external/l10n/pa.js +++ b/apps/files_external/l10n/pa.js @@ -2,8 +2,9 @@ OC.L10N.register( "files_external", { "Username" : "ਯੂਜ਼ਰ-ਨਾਂ", - "Password" : "ਪਾਸਵਰ", "Share" : "ਸਾਂਝਾ ਕਰੋ", + "Password" : "ਪਾਸਵਰ", + "ownCloud" : "ਓਵਨਕਲਾਉਡ", "Delete" : "ਹਟਾਓ" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/pa.json b/apps/files_external/l10n/pa.json index 2bdafd7a25..54949c9bbc 100644 --- a/apps/files_external/l10n/pa.json +++ b/apps/files_external/l10n/pa.json @@ -1,7 +1,8 @@ { "translations": { "Username" : "ਯੂਜ਼ਰ-ਨਾਂ", - "Password" : "ਪਾਸਵਰ", "Share" : "ਸਾਂਝਾ ਕਰੋ", + "Password" : "ਪਾਸਵਰ", + "ownCloud" : "ਓਵਨਕਲਾਉਡ", "Delete" : "ਹਟਾਓ" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_external/l10n/pl.js b/apps/files_external/l10n/pl.js index 1c580075d6..759c90965a 100644 --- a/apps/files_external/l10n/pl.js +++ b/apps/files_external/l10n/pl.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Otrzymano błędne żądanie tokenów. Sprawdź, czy klucz aplikacji oraz klucz poufny Dropbox'a są poprawne.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Otrzymano błędne żądanie tokenów. Sprawdź, czy klucz aplikacji oraz klucz poufny Dropbox'a są poprawne.", - "Please provide a valid Dropbox app key and secret." : "Proszę podać prawidłowy klucz aplikacji Dropbox i klucz sekretny.", "Step 1 failed. Exception: %s" : "Krok 1 błędny. Błąd: %s", "Step 2 failed. Exception: %s" : "Krok 2 błędny. Błąd: %s", "External storage" : "Zewnętrzne zasoby dyskowe", - "Local" : "Lokalny", - "Location" : "Lokalizacja", - "Amazon S3" : "Amazon S3", - "Key" : "Klucz", - "Secret" : "Hasło", - "Bucket" : "Kosz", - "Amazon S3 and compliant" : "Amazon S3 i zgodne", - "Access Key" : "Klucz dostępu", - "Secret Key" : "Klucz hasła", - "Hostname" : "Nazwa serwera", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "Włącz SSL", - "Enable Path Style" : "Włącz styl ścieżki", - "App key" : "Klucz aplikacji", - "App secret" : "Hasło aplikacji", - "Host" : "Host", - "Username" : "Nazwa użytkownika", - "Password" : "Hasło", - "Remote subfolder" : "Zdalny podfolder", - "Secure ftps://" : "Bezpieczny ftps://", - "Client ID" : "ID klienta", - "Client secret" : "Hasło klienta", "OpenStack Object Storage" : "Magazyn obiektów OpenStack", + "Username" : "Nazwa użytkownika", + "Bucket" : "Kosz", "Region (optional for OpenStack Object Storage)" : "Region (opcjonalny dla magazynu obiektów OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Klucz API (wymagany dla plików Rackspace Cloud)", "Tenantname (required for OpenStack Object Storage)" : "Nazwa najemcy (wymagana dla magazynu obiektów OpenStack)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nazwa usługi (wymagana dla magazynu obiektów OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL lub zakończenie jednostki (wymagane dla magazynu obiektów OpenStack)", "Timeout of HTTP requests in seconds" : "Czas nieaktywności żądania HTTP w sekundach", - "Share" : "Udostępnij", "SMB / CIFS using OC login" : "SMB / CIFS przy użyciu loginu OC", + "Host" : "Host", "Username as share" : "Użytkownik jako zasób", - "URL" : "URL", - "Secure https://" : "Bezpieczny https://", + "Share" : "Udostępnij", + "Remote subfolder" : "Zdalny podfolder", "SFTP with secret key login" : "Logowanie tajnym kluczem do SFTP", "Public key" : "Klucz publiczny", "Storage with id \"%i\" not found" : "Id magazynu nie został znaleziony", "Invalid mount point" : "Nieprawidłowy punkt montowania", "Invalid storage backend \"%s\"" : "Nieprawidłowy magazyn zaplecza \"%s\"", - "Access granted" : "Dostęp do", - "Error configuring Dropbox storage" : "Wystąpił błąd podczas konfigurowania zasobu Dropbox", - "Grant access" : "Udziel dostępu", - "Error configuring Google Drive storage" : "Wystąpił błąd podczas konfigurowania zasobu Google Drive", "Personal" : "Osobiste", "System" : "System", + "Grant access" : "Udziel dostępu", + "Access granted" : "Dostęp do", "Enable encryption" : "Włącz szyfrowanie", "Enable previews" : "Włącz podgląd", "Check for changes" : "Sprawdź zmiany", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Zapisano", "Generate keys" : "Wygeneruj klucze", "Error generating key pair" : "Błąd podczas generowania pary kluczy", + "None" : "Nic", + "App key" : "Klucz aplikacji", + "App secret" : "Hasło aplikacji", + "Client ID" : "ID klienta", + "Client secret" : "Hasło klienta", + "Password" : "Hasło", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nazwa serwera", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "Włącz SSL", + "Enable Path Style" : "Włącz styl ścieżki", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Bezpieczny https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Bezpieczny ftps://", + "Local" : "Lokalny", + "Location" : "Lokalizacja", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Uwaga: ", - "and" : "i", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Uwaga: Wsparcie dla cURL w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Uwaga: Wsparcie dla FTP w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Uwaga: \"%s\" nie jest zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Nazwa folderu", "Configuration" : "Konfiguracja", "Available for" : "Dostępne przez", - "Add storage" : "Dodaj zasoby dyskowe", "Advanced settings" : "Ustawienia zaawansowane", "Delete" : "Usuń", + "Add storage" : "Dodaj zasoby dyskowe", "Enable User External Storage" : "Włącz zewnętrzne zasoby dyskowe użytkownika", "Allow users to mount the following external storage" : "Pozwól użytkownikom montować następujące zewnętrzne zasoby dyskowe" }, diff --git a/apps/files_external/l10n/pl.json b/apps/files_external/l10n/pl.json index dee33026ca..e328c1afad 100644 --- a/apps/files_external/l10n/pl.json +++ b/apps/files_external/l10n/pl.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Otrzymano błędne żądanie tokenów. Sprawdź, czy klucz aplikacji oraz klucz poufny Dropbox'a są poprawne.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Otrzymano błędne żądanie tokenów. Sprawdź, czy klucz aplikacji oraz klucz poufny Dropbox'a są poprawne.", - "Please provide a valid Dropbox app key and secret." : "Proszę podać prawidłowy klucz aplikacji Dropbox i klucz sekretny.", "Step 1 failed. Exception: %s" : "Krok 1 błędny. Błąd: %s", "Step 2 failed. Exception: %s" : "Krok 2 błędny. Błąd: %s", "External storage" : "Zewnętrzne zasoby dyskowe", - "Local" : "Lokalny", - "Location" : "Lokalizacja", - "Amazon S3" : "Amazon S3", - "Key" : "Klucz", - "Secret" : "Hasło", - "Bucket" : "Kosz", - "Amazon S3 and compliant" : "Amazon S3 i zgodne", - "Access Key" : "Klucz dostępu", - "Secret Key" : "Klucz hasła", - "Hostname" : "Nazwa serwera", - "Port" : "Port", - "Region" : "Region", - "Enable SSL" : "Włącz SSL", - "Enable Path Style" : "Włącz styl ścieżki", - "App key" : "Klucz aplikacji", - "App secret" : "Hasło aplikacji", - "Host" : "Host", - "Username" : "Nazwa użytkownika", - "Password" : "Hasło", - "Remote subfolder" : "Zdalny podfolder", - "Secure ftps://" : "Bezpieczny ftps://", - "Client ID" : "ID klienta", - "Client secret" : "Hasło klienta", "OpenStack Object Storage" : "Magazyn obiektów OpenStack", + "Username" : "Nazwa użytkownika", + "Bucket" : "Kosz", "Region (optional for OpenStack Object Storage)" : "Region (opcjonalny dla magazynu obiektów OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Klucz API (wymagany dla plików Rackspace Cloud)", "Tenantname (required for OpenStack Object Storage)" : "Nazwa najemcy (wymagana dla magazynu obiektów OpenStack)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Nazwa usługi (wymagana dla magazynu obiektów OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL lub zakończenie jednostki (wymagane dla magazynu obiektów OpenStack)", "Timeout of HTTP requests in seconds" : "Czas nieaktywności żądania HTTP w sekundach", - "Share" : "Udostępnij", "SMB / CIFS using OC login" : "SMB / CIFS przy użyciu loginu OC", + "Host" : "Host", "Username as share" : "Użytkownik jako zasób", - "URL" : "URL", - "Secure https://" : "Bezpieczny https://", + "Share" : "Udostępnij", + "Remote subfolder" : "Zdalny podfolder", "SFTP with secret key login" : "Logowanie tajnym kluczem do SFTP", "Public key" : "Klucz publiczny", "Storage with id \"%i\" not found" : "Id magazynu nie został znaleziony", "Invalid mount point" : "Nieprawidłowy punkt montowania", "Invalid storage backend \"%s\"" : "Nieprawidłowy magazyn zaplecza \"%s\"", - "Access granted" : "Dostęp do", - "Error configuring Dropbox storage" : "Wystąpił błąd podczas konfigurowania zasobu Dropbox", - "Grant access" : "Udziel dostępu", - "Error configuring Google Drive storage" : "Wystąpił błąd podczas konfigurowania zasobu Google Drive", "Personal" : "Osobiste", "System" : "System", + "Grant access" : "Udziel dostępu", + "Access granted" : "Dostęp do", "Enable encryption" : "Włącz szyfrowanie", "Enable previews" : "Włącz podgląd", "Check for changes" : "Sprawdź zmiany", @@ -63,8 +37,28 @@ "Saved" : "Zapisano", "Generate keys" : "Wygeneruj klucze", "Error generating key pair" : "Błąd podczas generowania pary kluczy", + "None" : "Nic", + "App key" : "Klucz aplikacji", + "App secret" : "Hasło aplikacji", + "Client ID" : "ID klienta", + "Client secret" : "Hasło klienta", + "Password" : "Hasło", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nazwa serwera", + "Port" : "Port", + "Region" : "Region", + "Enable SSL" : "Włącz SSL", + "Enable Path Style" : "Włącz styl ścieżki", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Bezpieczny https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Bezpieczny ftps://", + "Local" : "Lokalny", + "Location" : "Lokalizacja", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Uwaga: ", - "and" : "i", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Uwaga: Wsparcie dla cURL w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Uwaga: Wsparcie dla FTP w PHP nie zostało włączone lub zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Uwaga: \"%s\" nie jest zainstalowane. Zamontowanie %s nie jest możliwe. Proszę poproś Twojego administratora o zainstalowanie go.", @@ -77,9 +71,9 @@ "Folder name" : "Nazwa folderu", "Configuration" : "Konfiguracja", "Available for" : "Dostępne przez", - "Add storage" : "Dodaj zasoby dyskowe", "Advanced settings" : "Ustawienia zaawansowane", "Delete" : "Usuń", + "Add storage" : "Dodaj zasoby dyskowe", "Enable User External Storage" : "Włącz zewnętrzne zasoby dyskowe użytkownika", "Allow users to mount the following external storage" : "Pozwól użytkownikom montować następujące zewnętrzne zasoby dyskowe" },"pluralForm" :"nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index c05f208953..e1b0af63ae 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "A busca de fichas de solicitação falhou. Verifique se a sua chave de aplicativo Dropbox e o segredo estão corretos.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "A busca de tokens de acesso falhou. Verifique se a sua chave de aplicativo Dropbox e o segredo estão corretos.", - "Please provide a valid Dropbox app key and secret." : "Por favor forneça uma chave de aplicativo e segurança válidos para o Dropbox", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", - "Local" : "Local", - "Location" : "Localização", - "Amazon S3" : "Amazon S3", - "Key" : "Chave", - "Secret" : "Segredo", - "Bucket" : "Cesta", - "Amazon S3 and compliant" : "Amazon S3 e compatível", - "Access Key" : "Chave de Acesso", - "Secret Key" : "Chave Secreta", - "Hostname" : "Nome do Host", - "Port" : "Porta", - "Region" : "Região", - "Enable SSL" : "Habilitar SSL", - "Enable Path Style" : "Habilitar Estilo do Caminho", - "App key" : "Chave do Aplicativo", - "App secret" : "Segredo da Aplicação", - "Host" : "Host", - "Username" : "Nome de Usuário", - "Password" : "Senha", - "Remote subfolder" : "Subpasta remota", - "Secure ftps://" : "Seguro ftps://", - "Client ID" : "ID do Cliente", - "Client secret" : "Segredo do cliente", "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", + "Username" : "Nome de Usuário", + "Bucket" : "Cesta", "Region (optional for OpenStack Object Storage)" : "Região (opcional para armazenamento de objetos OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", "Tenantname (required for OpenStack Object Storage)" : "Nome Tenant (necessário para armazenamento de objetos OpenStack)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para armazenamento de objetos OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Ponto final de identidade da URL (obrigatório para armazenamento de objetos OpenStack)", "Timeout of HTTP requests in seconds" : "Tempo de vencimento do pedido HTTP em segundos", - "Share" : "Compartilhar", "SMB / CIFS using OC login" : "SMB / CIFS usando OC login", + "Host" : "Host", "Username as share" : "Nome de usuário como compartilhado", - "URL" : "URL", - "Secure https://" : "https:// segura", + "Share" : "Compartilhar", + "Remote subfolder" : "Subpasta remota", "SFTP with secret key login" : "SFTP com chave secreta de login", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Armazenamento com id \"%i\" não encontrado", "Invalid mount point" : "Ponto de montagem inválido", "Invalid storage backend \"%s\"" : "Armazenamento backend inválido \"%s\"", - "Access granted" : "Acesso concedido", - "Error configuring Dropbox storage" : "Erro ao configurar armazenamento do Dropbox", - "Grant access" : "Permitir acesso", - "Error configuring Google Drive storage" : "Erro ao configurar armazenamento do Google Drive", "Personal" : "Pessoal", "System" : "Sistema", + "Grant access" : "Permitir acesso", + "Access granted" : "Acesso concedido", "Enable encryption" : "Ativar criptografia", "Enable previews" : "Habilitar visualizações prévias", "Check for changes" : "Verifique se há alterações", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Salvo", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar um par de chaves", + "None" : "Nenhum", + "App key" : "Chave do Aplicativo", + "App secret" : "Segredo da Aplicação", + "Client ID" : "ID do Cliente", + "Client secret" : "Segredo do cliente", + "Password" : "Senha", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome do Host", + "Port" : "Porta", + "Region" : "Região", + "Enable SSL" : "Habilitar SSL", + "Enable Path Style" : "Habilitar Estilo do Caminho", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "https:// segura", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Seguro ftps://", + "Local" : "Local", + "Location" : "Localização", + "ownCloud" : "ownCloud", + "Root" : "Raiz", "Note: " : "Nota:", - "and" : "e", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: \"%s\" não está instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Nome da pasta", "Configuration" : "Configuração", "Available for" : "Disponível para", - "Add storage" : "Adicionar Armazenamento", "Advanced settings" : "Configurações avançadas", "Delete" : "Excluir", + "Add storage" : "Adicionar Armazenamento", "Enable User External Storage" : "Habilitar Armazenamento Externo do Usuário", "Allow users to mount the following external storage" : "Permitir que usuários montem o seguinte armazenamento externo" }, diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index 92423280fc..c9a6beefab 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "A busca de fichas de solicitação falhou. Verifique se a sua chave de aplicativo Dropbox e o segredo estão corretos.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "A busca de tokens de acesso falhou. Verifique se a sua chave de aplicativo Dropbox e o segredo estão corretos.", - "Please provide a valid Dropbox app key and secret." : "Por favor forneça uma chave de aplicativo e segurança válidos para o Dropbox", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", - "Local" : "Local", - "Location" : "Localização", - "Amazon S3" : "Amazon S3", - "Key" : "Chave", - "Secret" : "Segredo", - "Bucket" : "Cesta", - "Amazon S3 and compliant" : "Amazon S3 e compatível", - "Access Key" : "Chave de Acesso", - "Secret Key" : "Chave Secreta", - "Hostname" : "Nome do Host", - "Port" : "Porta", - "Region" : "Região", - "Enable SSL" : "Habilitar SSL", - "Enable Path Style" : "Habilitar Estilo do Caminho", - "App key" : "Chave do Aplicativo", - "App secret" : "Segredo da Aplicação", - "Host" : "Host", - "Username" : "Nome de Usuário", - "Password" : "Senha", - "Remote subfolder" : "Subpasta remota", - "Secure ftps://" : "Seguro ftps://", - "Client ID" : "ID do Cliente", - "Client secret" : "Segredo do cliente", "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", + "Username" : "Nome de Usuário", + "Bucket" : "Cesta", "Region (optional for OpenStack Object Storage)" : "Região (opcional para armazenamento de objetos OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", "Tenantname (required for OpenStack Object Storage)" : "Nome Tenant (necessário para armazenamento de objetos OpenStack)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para armazenamento de objetos OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Ponto final de identidade da URL (obrigatório para armazenamento de objetos OpenStack)", "Timeout of HTTP requests in seconds" : "Tempo de vencimento do pedido HTTP em segundos", - "Share" : "Compartilhar", "SMB / CIFS using OC login" : "SMB / CIFS usando OC login", + "Host" : "Host", "Username as share" : "Nome de usuário como compartilhado", - "URL" : "URL", - "Secure https://" : "https:// segura", + "Share" : "Compartilhar", + "Remote subfolder" : "Subpasta remota", "SFTP with secret key login" : "SFTP com chave secreta de login", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Armazenamento com id \"%i\" não encontrado", "Invalid mount point" : "Ponto de montagem inválido", "Invalid storage backend \"%s\"" : "Armazenamento backend inválido \"%s\"", - "Access granted" : "Acesso concedido", - "Error configuring Dropbox storage" : "Erro ao configurar armazenamento do Dropbox", - "Grant access" : "Permitir acesso", - "Error configuring Google Drive storage" : "Erro ao configurar armazenamento do Google Drive", "Personal" : "Pessoal", "System" : "Sistema", + "Grant access" : "Permitir acesso", + "Access granted" : "Acesso concedido", "Enable encryption" : "Ativar criptografia", "Enable previews" : "Habilitar visualizações prévias", "Check for changes" : "Verifique se há alterações", @@ -63,8 +37,28 @@ "Saved" : "Salvo", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar um par de chaves", + "None" : "Nenhum", + "App key" : "Chave do Aplicativo", + "App secret" : "Segredo da Aplicação", + "Client ID" : "ID do Cliente", + "Client secret" : "Segredo do cliente", + "Password" : "Senha", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome do Host", + "Port" : "Porta", + "Region" : "Região", + "Enable SSL" : "Habilitar SSL", + "Enable Path Style" : "Habilitar Estilo do Caminho", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "https:// segura", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Seguro ftps://", + "Local" : "Local", + "Location" : "Localização", + "ownCloud" : "ownCloud", + "Root" : "Raiz", "Note: " : "Nota:", - "and" : "e", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: \"%s\" não está instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", @@ -77,9 +71,9 @@ "Folder name" : "Nome da pasta", "Configuration" : "Configuração", "Available for" : "Disponível para", - "Add storage" : "Adicionar Armazenamento", "Advanced settings" : "Configurações avançadas", "Delete" : "Excluir", + "Add storage" : "Adicionar Armazenamento", "Enable User External Storage" : "Habilitar Armazenamento Externo do Usuário", "Allow users to mount the following external storage" : "Permitir que usuários montem o seguinte armazenamento externo" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/apps/files_external/l10n/pt_PT.js b/apps/files_external/l10n/pt_PT.js index 7e41105bfe..44c542d596 100644 --- a/apps/files_external/l10n/pt_PT.js +++ b/apps/files_external/l10n/pt_PT.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "O pedido de obtenção falhou. Verifique se a sua chave da app Dropbox e o segredo estão corretos.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "O pedido de obtenção falhou. Verifique se a sua chave da app Dropbox e o segredo estão corretos.", - "Please provide a valid Dropbox app key and secret." : "Por favor, forneça uma chave da app e o segredo da Dropbox válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", - "Local" : "Local", - "Location" : "Localização:", - "Amazon S3" : "Amazon S3", - "Key" : "Chave", - "Secret" : "Secreto", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 e compatível", - "Access Key" : "Chave de Acesso", - "Secret Key" : "Chave Secreta", - "Hostname" : "Nome do Anfitrião", - "Port" : "Porta", - "Region" : "Região", - "Enable SSL" : "Ativar SSL", - "Enable Path Style" : "Ativar Estilo do Caminho", - "App key" : "Chave da App", - "App secret" : "Chave secreta da aplicação", - "Host" : "Anfitrião", - "Username" : "Nome de utilizador", - "Password" : "Palavra-passe", - "Remote subfolder" : "Subpasta remota ", - "Secure ftps://" : "ftps:// Seguro", - "Client ID" : "Id. do Cliente", - "Client secret" : "Segredo do cliente", "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", + "Username" : "Nome de utilizador", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Região (opcional para OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", "Tenantname (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", @@ -38,28 +14,46 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Timeout de pedidos HTTP em segundos", - "Share" : "Compartilhar", "SMB / CIFS using OC login" : "SMB / CIFS utilizando o início de sessão OC", + "Host" : "Anfitrião", "Username as share" : "Utilizar nome de utilizador como partilha", - "URL" : "URL", - "Secure https://" : "https:// Seguro", + "Share" : "Compartilhar", + "Remote subfolder" : "Subpasta remota ", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Armazenamento com ID \"%i\" não encontrado", "Invalid mount point" : "Ponto de montagem inválido", "Invalid storage backend \"%s\"" : "Backend de armazenamento inválido \"%s\"", - "Access granted" : "Acesso autorizado", - "Error configuring Dropbox storage" : "Erro ao configurar o armazenamento do Dropbox", - "Grant access" : "Conceder acesso", - "Error configuring Google Drive storage" : "Erro ao configurar o armazenamento do Google Drive", "Personal" : "Pessoal", "System" : "Sistema", + "Grant access" : "Conceder acesso", + "Access granted" : "Acesso autorizado", "All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.", "(group)" : "(grupo)", "Saved" : "Guardado", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar chave par", + "None" : "Nenhum", + "App key" : "Chave da App", + "App secret" : "Chave secreta da aplicação", + "Client ID" : "Id. do Cliente", + "Client secret" : "Segredo do cliente", + "Password" : "Palavra-passe", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome do Anfitrião", + "Port" : "Porta", + "Region" : "Região", + "Enable SSL" : "Ativar SSL", + "Enable Path Style" : "Ativar Estilo do Caminho", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "https:// Seguro", + "Dropbox" : "Dropbox", + "Secure ftps://" : "ftps:// Seguro", + "Local" : "Local", + "Location" : "Localização:", + "ownCloud" : "ownCloud", + "Root" : "Raiz", "Note: " : "Nota: ", - "and" : "e", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Aviso: O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Aviso: O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Aviso: O cliente\"%s\" não está instalado. Não é possível montar \"%s\" . Peça ao seu administrador para instalar.", @@ -72,9 +66,9 @@ OC.L10N.register( "Folder name" : "Nome da pasta", "Configuration" : "Configuração", "Available for" : "Disponível para ", - "Add storage" : "Adicionar armazenamento", "Advanced settings" : "Definições avançadas", "Delete" : "Apagar", + "Add storage" : "Adicionar armazenamento", "Enable User External Storage" : "Ativar Armazenamento Externo para o Utilizador", "Allow users to mount the following external storage" : "Permitir que os utilizadores montem o seguinte armazenamento externo" }, diff --git a/apps/files_external/l10n/pt_PT.json b/apps/files_external/l10n/pt_PT.json index 72fe8a6ee3..cda3b0bbd0 100644 --- a/apps/files_external/l10n/pt_PT.json +++ b/apps/files_external/l10n/pt_PT.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "O pedido de obtenção falhou. Verifique se a sua chave da app Dropbox e o segredo estão corretos.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "O pedido de obtenção falhou. Verifique se a sua chave da app Dropbox e o segredo estão corretos.", - "Please provide a valid Dropbox app key and secret." : "Por favor, forneça uma chave da app e o segredo da Dropbox válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", - "Local" : "Local", - "Location" : "Localização:", - "Amazon S3" : "Amazon S3", - "Key" : "Chave", - "Secret" : "Secreto", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 e compatível", - "Access Key" : "Chave de Acesso", - "Secret Key" : "Chave Secreta", - "Hostname" : "Nome do Anfitrião", - "Port" : "Porta", - "Region" : "Região", - "Enable SSL" : "Ativar SSL", - "Enable Path Style" : "Ativar Estilo do Caminho", - "App key" : "Chave da App", - "App secret" : "Chave secreta da aplicação", - "Host" : "Anfitrião", - "Username" : "Nome de utilizador", - "Password" : "Palavra-passe", - "Remote subfolder" : "Subpasta remota ", - "Secure ftps://" : "ftps:// Seguro", - "Client ID" : "Id. do Cliente", - "Client secret" : "Segredo do cliente", "OpenStack Object Storage" : "Armazenamento de Objetos OpenStack", + "Username" : "Nome de utilizador", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Região (opcional para OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Chave API (necessário para Rackspace Cloud File)", "Tenantname (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", @@ -36,28 +12,46 @@ "Service Name (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Nome do Serviço (necessário para OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Timeout de pedidos HTTP em segundos", - "Share" : "Compartilhar", "SMB / CIFS using OC login" : "SMB / CIFS utilizando o início de sessão OC", + "Host" : "Anfitrião", "Username as share" : "Utilizar nome de utilizador como partilha", - "URL" : "URL", - "Secure https://" : "https:// Seguro", + "Share" : "Compartilhar", + "Remote subfolder" : "Subpasta remota ", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Armazenamento com ID \"%i\" não encontrado", "Invalid mount point" : "Ponto de montagem inválido", "Invalid storage backend \"%s\"" : "Backend de armazenamento inválido \"%s\"", - "Access granted" : "Acesso autorizado", - "Error configuring Dropbox storage" : "Erro ao configurar o armazenamento do Dropbox", - "Grant access" : "Conceder acesso", - "Error configuring Google Drive storage" : "Erro ao configurar o armazenamento do Google Drive", "Personal" : "Pessoal", "System" : "Sistema", + "Grant access" : "Conceder acesso", + "Access granted" : "Acesso autorizado", "All users. Type to select user or group." : "Todos os utilizadores. Digite para selecionar o utilizador ou grupo.", "(group)" : "(grupo)", "Saved" : "Guardado", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar chave par", + "None" : "Nenhum", + "App key" : "Chave da App", + "App secret" : "Chave secreta da aplicação", + "Client ID" : "Id. do Cliente", + "Client secret" : "Segredo do cliente", + "Password" : "Palavra-passe", + "Amazon S3" : "Amazon S3", + "Hostname" : "Nome do Anfitrião", + "Port" : "Porta", + "Region" : "Região", + "Enable SSL" : "Ativar SSL", + "Enable Path Style" : "Ativar Estilo do Caminho", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "https:// Seguro", + "Dropbox" : "Dropbox", + "Secure ftps://" : "ftps:// Seguro", + "Local" : "Local", + "Location" : "Localização:", + "ownCloud" : "ownCloud", + "Root" : "Raiz", "Note: " : "Nota: ", - "and" : "e", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Aviso: O suporte cURL no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Aviso: O suporte FTP no PHP não está activo ou instalado. Não é possível montar %s. Peça ao seu administrador para instalar.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Aviso: O cliente\"%s\" não está instalado. Não é possível montar \"%s\" . Peça ao seu administrador para instalar.", @@ -70,9 +64,9 @@ "Folder name" : "Nome da pasta", "Configuration" : "Configuração", "Available for" : "Disponível para ", - "Add storage" : "Adicionar armazenamento", "Advanced settings" : "Definições avançadas", "Delete" : "Apagar", + "Add storage" : "Adicionar armazenamento", "Enable User External Storage" : "Ativar Armazenamento Externo para o Utilizador", "Allow users to mount the following external storage" : "Permitir que os utilizadores montem o seguinte armazenamento externo" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/ro.js b/apps/files_external/l10n/ro.js index e7e6a5662f..ae064ba3cf 100644 --- a/apps/files_external/l10n/ro.js +++ b/apps/files_external/l10n/ro.js @@ -1,37 +1,34 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "Prezintă te rog o cheie de Dropbox validă și parola", "External storage" : "Stocare externă", - "Local" : "Local", - "Location" : "Locație", + "Username" : "Nume utilizator", + "Host" : "Gazdă", + "Share" : "Partajează", + "Public key" : "Cheie publică", + "Personal" : "Personal", + "Grant access" : "Permite accesul", + "Access granted" : "Acces permis", + "Saved" : "Salvat", + "None" : "Niciuna", + "Password" : "Parolă", "Amazon S3" : "Amazon S3", - "Key" : "Cheie", - "Secret" : "Secret", - "Access Key" : "Cheie de acces", - "Secret Key" : "Cheie secretă", "Hostname" : "Hostname", "Port" : "Portul", "Region" : "Regiune", - "Host" : "Gazdă", - "Username" : "Nume utilizator", - "Password" : "Parolă", - "Share" : "Partajează", + "WebDAV" : "WebDAV", "URL" : "URL", - "Public key" : "Cheie publică", - "Access granted" : "Acces permis", - "Error configuring Dropbox storage" : "Eroare la configurarea mediului de stocare Dropbox", - "Grant access" : "Permite accesul", - "Error configuring Google Drive storage" : "Eroare la configurarea mediului de stocare Google Drive", - "Personal" : "Personal", - "Saved" : "Salvat", + "Local" : "Local", + "Location" : "Locație", + "ownCloud" : "ownCloud", + "Root" : "Root", "Name" : "Nume", "Storage type" : "Tip stocare", "External Storage" : "Stocare externă", "Folder name" : "Denumire director", "Configuration" : "Configurație", - "Add storage" : "Adauga stocare", "Delete" : "Șterge", + "Add storage" : "Adauga stocare", "Enable User External Storage" : "Permite stocare externă pentru utilizatori", "Allow users to mount the following external storage" : "Permite utilizatorilor să monteze următoarea unitate de stocare" }, diff --git a/apps/files_external/l10n/ro.json b/apps/files_external/l10n/ro.json index bc7612b5cd..56bbba7ef0 100644 --- a/apps/files_external/l10n/ro.json +++ b/apps/files_external/l10n/ro.json @@ -1,35 +1,32 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "Prezintă te rog o cheie de Dropbox validă și parola", "External storage" : "Stocare externă", - "Local" : "Local", - "Location" : "Locație", + "Username" : "Nume utilizator", + "Host" : "Gazdă", + "Share" : "Partajează", + "Public key" : "Cheie publică", + "Personal" : "Personal", + "Grant access" : "Permite accesul", + "Access granted" : "Acces permis", + "Saved" : "Salvat", + "None" : "Niciuna", + "Password" : "Parolă", "Amazon S3" : "Amazon S3", - "Key" : "Cheie", - "Secret" : "Secret", - "Access Key" : "Cheie de acces", - "Secret Key" : "Cheie secretă", "Hostname" : "Hostname", "Port" : "Portul", "Region" : "Regiune", - "Host" : "Gazdă", - "Username" : "Nume utilizator", - "Password" : "Parolă", - "Share" : "Partajează", + "WebDAV" : "WebDAV", "URL" : "URL", - "Public key" : "Cheie publică", - "Access granted" : "Acces permis", - "Error configuring Dropbox storage" : "Eroare la configurarea mediului de stocare Dropbox", - "Grant access" : "Permite accesul", - "Error configuring Google Drive storage" : "Eroare la configurarea mediului de stocare Google Drive", - "Personal" : "Personal", - "Saved" : "Salvat", + "Local" : "Local", + "Location" : "Locație", + "ownCloud" : "ownCloud", + "Root" : "Root", "Name" : "Nume", "Storage type" : "Tip stocare", "External Storage" : "Stocare externă", "Folder name" : "Denumire director", "Configuration" : "Configurație", - "Add storage" : "Adauga stocare", "Delete" : "Șterge", + "Add storage" : "Adauga stocare", "Enable User External Storage" : "Permite stocare externă pentru utilizatori", "Allow users to mount the following external storage" : "Permite utilizatorilor să monteze următoarea unitate de stocare" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" diff --git a/apps/files_external/l10n/ru.js b/apps/files_external/l10n/ru.js index d395470a79..2abdc3906e 100644 --- a/apps/files_external/l10n/ru.js +++ b/apps/files_external/l10n/ru.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Не удалось получить токен запроса. Проверьте правильность вашего ключа и секрета Dropbox.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Не удалось получить токен доступа. Проверьте правильность вашего ключа и секрета Dropbox.", - "Please provide a valid Dropbox app key and secret." : "Укажите действительные ключ и секрет для Dropbox.", "Step 1 failed. Exception: %s" : "Шаг 1 неудачен. Исключение: %s", "Step 2 failed. Exception: %s" : "Шаг 2 неудачен. Исключение: %s", "External storage" : "Внешнее хранилище", - "Local" : "Локально", - "Location" : "Местоположение", - "Amazon S3" : "Amazon S3", - "Key" : "Ключ", - "Secret" : "Секрет", - "Bucket" : "Корзина", - "Amazon S3 and compliant" : "Amazon S3 и совместимый", - "Access Key" : "Ключ доступа", - "Secret Key" : "Секретный ключ", - "Hostname" : "Имя хоста", - "Port" : "Порт", - "Region" : "Область", - "Enable SSL" : "Включить SSL", - "Enable Path Style" : "Включить стиль пути", - "App key" : "Ключ приложения", - "App secret" : "Секретный ключ ", - "Host" : "Сервер", - "Username" : "Имя пользователя", - "Password" : "Пароль", - "Remote subfolder" : "Удаленный подкаталог", - "Secure ftps://" : "Защищённый ftps://", - "Client ID" : "Идентификатор клиента", - "Client secret" : "Клиентский ключ ", "OpenStack Object Storage" : "Хранилище объектов OpenStack", + "Username" : "Имя пользователя", + "Bucket" : "Корзина", "Region (optional for OpenStack Object Storage)" : "Регион (необяз. для Хранилища объектов OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Ключ API (обяз. для Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Имя арендатора (обяз. для Хранилища объектов OpenStack)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Имя Службы (обяз. для Хранилища объектов OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL для удостоверения конечной точки (обяз. для Хранилища объектов OpenStack)", "Timeout of HTTP requests in seconds" : "Тайм-аут HTTP-запросов в секундах", - "Share" : "Общий доступ", "SMB / CIFS using OC login" : "SMB / CIFS с ипользованием логина OC", + "Host" : "Сервер", "Username as share" : "Имя пользователя в качестве имени общего ресурса", - "URL" : "Ссылка", - "Secure https://" : "Безопасный https://", + "Share" : "Общий доступ", + "Remote subfolder" : "Удаленный подкаталог", "SFTP with secret key login" : "SFTP с помощью секретного ключа", "Public key" : "Открытый ключ", "Storage with id \"%i\" not found" : "Хранилище с идентификатором \"%i\" не найдено", "Invalid mount point" : "Неправильная точка входа", "Invalid storage backend \"%s\"" : "Неверный бэкенд хранилища \"%s\"", - "Access granted" : "Доступ предоставлен", - "Error configuring Dropbox storage" : "Ошибка при настройке хранилища Dropbox", - "Grant access" : "Предоставить доступ", - "Error configuring Google Drive storage" : "Ошибка при настройке хранилища Google Drive", "Personal" : "Личное", "System" : "Система", + "Grant access" : "Предоставить доступ", + "Access granted" : "Доступ предоставлен", "Enable encryption" : "Включить шифрование", "Enable previews" : "Включить предпросмотр", "Check for changes" : "Проверять изменения", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Сохранено", "Generate keys" : "Создать ключи", "Error generating key pair" : "Ошибка создания ключевой пары", + "None" : "Отсутствует", + "App key" : "Ключ приложения", + "App secret" : "Секретный ключ ", + "Client ID" : "Идентификатор клиента", + "Client secret" : "Клиентский ключ ", + "Password" : "Пароль", + "Amazon S3" : "Amazon S3", + "Hostname" : "Имя хоста", + "Port" : "Порт", + "Region" : "Область", + "Enable SSL" : "Включить SSL", + "Enable Path Style" : "Включить стиль пути", + "WebDAV" : "WebDAV", + "URL" : "Ссылка", + "Secure https://" : "Безопасный https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Защищённый ftps://", + "Local" : "Локально", + "Location" : "Местоположение", + "ownCloud" : "ownCloud", + "Root" : "Корневой каталог", "Note: " : "Примечание: ", - "and" : "и", "Note: 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 невозможно. Обратитесь к вашему системному администратору.", "Note: 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 невозможно. Пожалуйста, обратитесь к системному администратору.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Примечание: \"%s\" не установлен. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Имя каталога", "Configuration" : "Конфигурация", "Available for" : "Доступно для", - "Add storage" : "Добавить хранилище", "Advanced settings" : "Расширенные настройки", "Delete" : "Удалить", + "Add storage" : "Добавить хранилище", "Enable User External Storage" : "Включить пользовательские внешние хранилища", "Allow users to mount the following external storage" : "Разрешить пользователям монтировать следующие сервисы хранения данных" }, diff --git a/apps/files_external/l10n/ru.json b/apps/files_external/l10n/ru.json index daeda1d836..ad6c5afdbd 100644 --- a/apps/files_external/l10n/ru.json +++ b/apps/files_external/l10n/ru.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Не удалось получить токен запроса. Проверьте правильность вашего ключа и секрета Dropbox.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Не удалось получить токен доступа. Проверьте правильность вашего ключа и секрета Dropbox.", - "Please provide a valid Dropbox app key and secret." : "Укажите действительные ключ и секрет для Dropbox.", "Step 1 failed. Exception: %s" : "Шаг 1 неудачен. Исключение: %s", "Step 2 failed. Exception: %s" : "Шаг 2 неудачен. Исключение: %s", "External storage" : "Внешнее хранилище", - "Local" : "Локально", - "Location" : "Местоположение", - "Amazon S3" : "Amazon S3", - "Key" : "Ключ", - "Secret" : "Секрет", - "Bucket" : "Корзина", - "Amazon S3 and compliant" : "Amazon S3 и совместимый", - "Access Key" : "Ключ доступа", - "Secret Key" : "Секретный ключ", - "Hostname" : "Имя хоста", - "Port" : "Порт", - "Region" : "Область", - "Enable SSL" : "Включить SSL", - "Enable Path Style" : "Включить стиль пути", - "App key" : "Ключ приложения", - "App secret" : "Секретный ключ ", - "Host" : "Сервер", - "Username" : "Имя пользователя", - "Password" : "Пароль", - "Remote subfolder" : "Удаленный подкаталог", - "Secure ftps://" : "Защищённый ftps://", - "Client ID" : "Идентификатор клиента", - "Client secret" : "Клиентский ключ ", "OpenStack Object Storage" : "Хранилище объектов OpenStack", + "Username" : "Имя пользователя", + "Bucket" : "Корзина", "Region (optional for OpenStack Object Storage)" : "Регион (необяз. для Хранилища объектов OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Ключ API (обяз. для Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Имя арендатора (обяз. для Хранилища объектов OpenStack)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Имя Службы (обяз. для Хранилища объектов OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL для удостоверения конечной точки (обяз. для Хранилища объектов OpenStack)", "Timeout of HTTP requests in seconds" : "Тайм-аут HTTP-запросов в секундах", - "Share" : "Общий доступ", "SMB / CIFS using OC login" : "SMB / CIFS с ипользованием логина OC", + "Host" : "Сервер", "Username as share" : "Имя пользователя в качестве имени общего ресурса", - "URL" : "Ссылка", - "Secure https://" : "Безопасный https://", + "Share" : "Общий доступ", + "Remote subfolder" : "Удаленный подкаталог", "SFTP with secret key login" : "SFTP с помощью секретного ключа", "Public key" : "Открытый ключ", "Storage with id \"%i\" not found" : "Хранилище с идентификатором \"%i\" не найдено", "Invalid mount point" : "Неправильная точка входа", "Invalid storage backend \"%s\"" : "Неверный бэкенд хранилища \"%s\"", - "Access granted" : "Доступ предоставлен", - "Error configuring Dropbox storage" : "Ошибка при настройке хранилища Dropbox", - "Grant access" : "Предоставить доступ", - "Error configuring Google Drive storage" : "Ошибка при настройке хранилища Google Drive", "Personal" : "Личное", "System" : "Система", + "Grant access" : "Предоставить доступ", + "Access granted" : "Доступ предоставлен", "Enable encryption" : "Включить шифрование", "Enable previews" : "Включить предпросмотр", "Check for changes" : "Проверять изменения", @@ -63,8 +37,28 @@ "Saved" : "Сохранено", "Generate keys" : "Создать ключи", "Error generating key pair" : "Ошибка создания ключевой пары", + "None" : "Отсутствует", + "App key" : "Ключ приложения", + "App secret" : "Секретный ключ ", + "Client ID" : "Идентификатор клиента", + "Client secret" : "Клиентский ключ ", + "Password" : "Пароль", + "Amazon S3" : "Amazon S3", + "Hostname" : "Имя хоста", + "Port" : "Порт", + "Region" : "Область", + "Enable SSL" : "Включить SSL", + "Enable Path Style" : "Включить стиль пути", + "WebDAV" : "WebDAV", + "URL" : "Ссылка", + "Secure https://" : "Безопасный https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Защищённый ftps://", + "Local" : "Локально", + "Location" : "Местоположение", + "ownCloud" : "ownCloud", + "Root" : "Корневой каталог", "Note: " : "Примечание: ", - "and" : "и", "Note: 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 невозможно. Обратитесь к вашему системному администратору.", "Note: 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 невозможно. Пожалуйста, обратитесь к системному администратору.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Примечание: \"%s\" не установлен. Монтирование %s невозможно. Пожалуйста, обратитесь к системному администратору.", @@ -77,9 +71,9 @@ "Folder name" : "Имя каталога", "Configuration" : "Конфигурация", "Available for" : "Доступно для", - "Add storage" : "Добавить хранилище", "Advanced settings" : "Расширенные настройки", "Delete" : "Удалить", + "Add storage" : "Добавить хранилище", "Enable User External Storage" : "Включить пользовательские внешние хранилища", "Allow users to mount the following external storage" : "Разрешить пользователям монтировать следующие сервисы хранения данных" },"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);" diff --git a/apps/files_external/l10n/si_LK.js b/apps/files_external/l10n/si_LK.js index 61ce19641b..492dfc96f4 100644 --- a/apps/files_external/l10n/si_LK.js +++ b/apps/files_external/l10n/si_LK.js @@ -1,20 +1,19 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "කරුණාකර වලංගු Dropbox යෙදුම් යතුරක් හා රහසක් ලබාදෙන්න.", - "Location" : "ස්ථානය", + "Username" : "පරිශීලක නම", + "Host" : "සත්කාරකය", + "Share" : "බෙදා හදා ගන්න", + "Personal" : "පෞද්ගලික", + "Grant access" : "පිවිසුම ලබාදෙන්න", + "Access granted" : "පිවිසීමට හැක", + "None" : "කිසිවක් නැත", + "Password" : "මුර පදය", "Port" : "තොට", "Region" : "කළාපය", - "Host" : "සත්කාරකය", - "Username" : "පරිශීලක නම", - "Password" : "මුර පදය", - "Share" : "බෙදා හදා ගන්න", "URL" : "URL", - "Access granted" : "පිවිසීමට හැක", - "Error configuring Dropbox storage" : "Dropbox ගබඩාව වින්‍යාස කිරීමේ දෝශයක් ඇත", - "Grant access" : "පිවිසුම ලබාදෙන්න", - "Error configuring Google Drive storage" : "Google Drive ගබඩාව වින්‍යාස කිරීමේ දෝශයක් ඇත", - "Personal" : "පෞද්ගලික", + "Location" : "ස්ථානය", + "ownCloud" : "ownCloud", "Name" : "නම", "External Storage" : "භාහිර ගබඩාව", "Folder name" : "ෆොල්ඩරයේ නම", diff --git a/apps/files_external/l10n/si_LK.json b/apps/files_external/l10n/si_LK.json index d9554fdb97..792b0f5316 100644 --- a/apps/files_external/l10n/si_LK.json +++ b/apps/files_external/l10n/si_LK.json @@ -1,18 +1,17 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "කරුණාකර වලංගු Dropbox යෙදුම් යතුරක් හා රහසක් ලබාදෙන්න.", - "Location" : "ස්ථානය", + "Username" : "පරිශීලක නම", + "Host" : "සත්කාරකය", + "Share" : "බෙදා හදා ගන්න", + "Personal" : "පෞද්ගලික", + "Grant access" : "පිවිසුම ලබාදෙන්න", + "Access granted" : "පිවිසීමට හැක", + "None" : "කිසිවක් නැත", + "Password" : "මුර පදය", "Port" : "තොට", "Region" : "කළාපය", - "Host" : "සත්කාරකය", - "Username" : "පරිශීලක නම", - "Password" : "මුර පදය", - "Share" : "බෙදා හදා ගන්න", "URL" : "URL", - "Access granted" : "පිවිසීමට හැක", - "Error configuring Dropbox storage" : "Dropbox ගබඩාව වින්‍යාස කිරීමේ දෝශයක් ඇත", - "Grant access" : "පිවිසුම ලබාදෙන්න", - "Error configuring Google Drive storage" : "Google Drive ගබඩාව වින්‍යාස කිරීමේ දෝශයක් ඇත", - "Personal" : "පෞද්ගලික", + "Location" : "ස්ථානය", + "ownCloud" : "ownCloud", "Name" : "නම", "External Storage" : "භාහිර ගබඩාව", "Folder name" : "ෆොල්ඩරයේ නම", diff --git a/apps/files_external/l10n/sk_SK.js b/apps/files_external/l10n/sk_SK.js index dc9b1ee84e..6f444f993f 100644 --- a/apps/files_external/l10n/sk_SK.js +++ b/apps/files_external/l10n/sk_SK.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Získanie tokenov požiadavky zlyhalo. Overte správnosť svojho kľúča a hesla aplikácie Dropbox.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Získanie prístupových tokenov zlyhalo. Overte správnosť svojho kľúča a hesla aplikácie Dropbox.", - "Please provide a valid Dropbox app key and secret." : "Zadajte platný kľúč aplikácie a heslo Dropbox", "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", "External storage" : "Externé úložisko", - "Local" : "Lokálny", - "Location" : "Umiestnenie", - "Amazon S3" : "Amazon S3", - "Key" : "Kľúč", - "Secret" : "Tajné", - "Bucket" : "Sektor", - "Amazon S3 and compliant" : "Amazon S3 a kompatibilné", - "Access Key" : "Prístupový kľúč", - "Secret Key" : "Tajný kľúč", - "Hostname" : "Hostname", - "Port" : "Port", - "Region" : "Región", - "Enable SSL" : "Povoliť SSL", - "Enable Path Style" : "Povoliť štýl cesty", - "App key" : "Kľúč aplikácie", - "App secret" : "Heslo aplikácie", - "Host" : "Hostiteľ", - "Username" : "Používateľské meno", - "Password" : "Heslo", - "Remote subfolder" : "Vzdialený podpriečinok", - "Secure ftps://" : "Zabezpečené ftps://", - "Client ID" : "Client ID", - "Client secret" : "Heslo klienta", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Používateľské meno", + "Bucket" : "Sektor", "Region (optional for OpenStack Object Storage)" : "Región (voliteľné pre OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (požadované pre Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Meno nájomcu (požadované pre OpenStack Object Storage)", @@ -38,19 +14,17 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Meno služby (požadované pre OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (požadované pre OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Časový limit HTTP požadaviek v sekundách", - "Share" : "Zdieľať", "SMB / CIFS using OC login" : "SMB / CIFS s použitím OC prihlásenia", + "Host" : "Hostiteľ", "Username as share" : "Používateľské meno ako zdieľaný priečinok", - "URL" : "URL", - "Secure https://" : "Zabezpečené https://", + "Share" : "Zdieľať", + "Remote subfolder" : "Vzdialený podpriečinok", "Public key" : "Verejný kľúč", "Invalid mount point" : "Chybný prípojný bod", - "Access granted" : "Prístup povolený", - "Error configuring Dropbox storage" : "Chyba pri konfigurácii úložiska Dropbox", - "Grant access" : "Povoliť prístup", - "Error configuring Google Drive storage" : "Chyba pri konfigurácii úložiska Google drive", "Personal" : "Osobné", "System" : "Systém", + "Grant access" : "Povoliť prístup", + "Access granted" : "Prístup povolený", "Enable encryption" : "Povoliť šifrovanie", "Enable previews" : "Povoliť náhľady", "Never" : "Nikdy", @@ -59,8 +33,28 @@ OC.L10N.register( "Saved" : "Uložené", "Generate keys" : "Vytvoriť kľúče", "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", + "None" : "Žiadny", + "App key" : "Kľúč aplikácie", + "App secret" : "Heslo aplikácie", + "Client ID" : "Client ID", + "Client secret" : "Heslo klienta", + "Password" : "Heslo", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostname", + "Port" : "Port", + "Region" : "Región", + "Enable SSL" : "Povoliť SSL", + "Enable Path Style" : "Povoliť štýl cesty", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Zabezpečené https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Zabezpečené ftps://", + "Local" : "Lokálny", + "Location" : "Umiestnenie", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Poznámka: ", - "and" : "a", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: cURL podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: FTP podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: \"%s\" nie je nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", @@ -72,9 +66,9 @@ OC.L10N.register( "Folder name" : "Názov priečinka", "Configuration" : "Nastavenia", "Available for" : "K dispozícii pre", - "Add storage" : "Pridať úložisko", "Advanced settings" : "Rozšírené nastavenia", "Delete" : "Zmazať", + "Add storage" : "Pridať úložisko", "Enable User External Storage" : "Povoliť externé úložisko", "Allow users to mount the following external storage" : "Povoliť používateľom pripojiť tieto externé úložiská" }, diff --git a/apps/files_external/l10n/sk_SK.json b/apps/files_external/l10n/sk_SK.json index fbc4c82121..921a9ed4aa 100644 --- a/apps/files_external/l10n/sk_SK.json +++ b/apps/files_external/l10n/sk_SK.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Získanie tokenov požiadavky zlyhalo. Overte správnosť svojho kľúča a hesla aplikácie Dropbox.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Získanie prístupových tokenov zlyhalo. Overte správnosť svojho kľúča a hesla aplikácie Dropbox.", - "Please provide a valid Dropbox app key and secret." : "Zadajte platný kľúč aplikácie a heslo Dropbox", "Step 1 failed. Exception: %s" : "Krok 1 zlyhal. Výnimka: %s", "Step 2 failed. Exception: %s" : "Krok 2 zlyhal. Výnimka: %s", "External storage" : "Externé úložisko", - "Local" : "Lokálny", - "Location" : "Umiestnenie", - "Amazon S3" : "Amazon S3", - "Key" : "Kľúč", - "Secret" : "Tajné", - "Bucket" : "Sektor", - "Amazon S3 and compliant" : "Amazon S3 a kompatibilné", - "Access Key" : "Prístupový kľúč", - "Secret Key" : "Tajný kľúč", - "Hostname" : "Hostname", - "Port" : "Port", - "Region" : "Región", - "Enable SSL" : "Povoliť SSL", - "Enable Path Style" : "Povoliť štýl cesty", - "App key" : "Kľúč aplikácie", - "App secret" : "Heslo aplikácie", - "Host" : "Hostiteľ", - "Username" : "Používateľské meno", - "Password" : "Heslo", - "Remote subfolder" : "Vzdialený podpriečinok", - "Secure ftps://" : "Zabezpečené ftps://", - "Client ID" : "Client ID", - "Client secret" : "Heslo klienta", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Používateľské meno", + "Bucket" : "Sektor", "Region (optional for OpenStack Object Storage)" : "Región (voliteľné pre OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (požadované pre Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Meno nájomcu (požadované pre OpenStack Object Storage)", @@ -36,19 +12,17 @@ "Service Name (required for OpenStack Object Storage)" : "Meno služby (požadované pre OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL of identity endpoint (požadované pre OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Časový limit HTTP požadaviek v sekundách", - "Share" : "Zdieľať", "SMB / CIFS using OC login" : "SMB / CIFS s použitím OC prihlásenia", + "Host" : "Hostiteľ", "Username as share" : "Používateľské meno ako zdieľaný priečinok", - "URL" : "URL", - "Secure https://" : "Zabezpečené https://", + "Share" : "Zdieľať", + "Remote subfolder" : "Vzdialený podpriečinok", "Public key" : "Verejný kľúč", "Invalid mount point" : "Chybný prípojný bod", - "Access granted" : "Prístup povolený", - "Error configuring Dropbox storage" : "Chyba pri konfigurácii úložiska Dropbox", - "Grant access" : "Povoliť prístup", - "Error configuring Google Drive storage" : "Chyba pri konfigurácii úložiska Google drive", "Personal" : "Osobné", "System" : "Systém", + "Grant access" : "Povoliť prístup", + "Access granted" : "Prístup povolený", "Enable encryption" : "Povoliť šifrovanie", "Enable previews" : "Povoliť náhľady", "Never" : "Nikdy", @@ -57,8 +31,28 @@ "Saved" : "Uložené", "Generate keys" : "Vytvoriť kľúče", "Error generating key pair" : "Chyba pri vytváraní dvojice kľúčov", + "None" : "Žiadny", + "App key" : "Kľúč aplikácie", + "App secret" : "Heslo aplikácie", + "Client ID" : "Client ID", + "Client secret" : "Heslo klienta", + "Password" : "Heslo", + "Amazon S3" : "Amazon S3", + "Hostname" : "Hostname", + "Port" : "Port", + "Region" : "Región", + "Enable SSL" : "Povoliť SSL", + "Enable Path Style" : "Povoliť štýl cesty", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Zabezpečené https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Zabezpečené ftps://", + "Local" : "Lokálny", + "Location" : "Umiestnenie", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : "Poznámka: ", - "and" : "a", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: cURL podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: FTP podpora v PHP nie je zapnutá alebo nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Poznámka: \"%s\" nie je nainštalovaná. Pripojenie %s nie je možné. Požiadajte správcu systému, aby ju nainštaloval.", @@ -70,9 +64,9 @@ "Folder name" : "Názov priečinka", "Configuration" : "Nastavenia", "Available for" : "K dispozícii pre", - "Add storage" : "Pridať úložisko", "Advanced settings" : "Rozšírené nastavenia", "Delete" : "Zmazať", + "Add storage" : "Pridať úložisko", "Enable User External Storage" : "Povoliť externé úložisko", "Allow users to mount the following external storage" : "Povoliť používateľom pripojiť tieto externé úložiská" },"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" diff --git a/apps/files_external/l10n/sl.js b/apps/files_external/l10n/sl.js index 094414ed29..8aa95721a1 100644 --- a/apps/files_external/l10n/sl.js +++ b/apps/files_external/l10n/sl.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Pridobivanje žetonov za zahteve je spodletelo. Preverite, da sta ključ in skrivno geslo programa Dropbox navedena pravilno.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Pridobivanje žetonov za dostop je spodletelo. Preverite, da sta ključ in skrivno geslo programa Dropbox navedena pravilno.", - "Please provide a valid Dropbox app key and secret." : "Vpisati je treba veljaven ključ programa in kodo za Dropbox", "Step 1 failed. Exception: %s" : "1. korak je spodletel. Izjemna napaka: %s", "Step 2 failed. Exception: %s" : "2. korak je spodletel. Izjemna napaka: %s", "External storage" : "Zunanja shramba", - "Local" : "Krajevno", - "Location" : "Mesto", - "Amazon S3" : "Amazon S3", - "Key" : "Ključ", - "Secret" : "Skrivni ključ", - "Bucket" : "Pomnilniško vedro", - "Amazon S3 and compliant" : "Amazon S3 in podobno", - "Access Key" : "Ključ za dostop", - "Secret Key" : "Skrivni ključ", - "Hostname" : "Ime gostitelja", - "Port" : "Vrata", - "Region" : "Območje", - "Enable SSL" : "Omogoči SSL", - "Enable Path Style" : "Omogoči slog poti", - "App key" : "Programski ključ", - "App secret" : "Skrivni programski ključ", - "Host" : "Gostitelj", - "Username" : "Uporabniško ime", - "Password" : "Geslo", - "Remote subfolder" : "Oddaljena podrejena mapa", - "Secure ftps://" : "Varni način ftps://", - "Client ID" : "ID odjemalca", - "Client secret" : "Skrivni ključ odjemalca", "OpenStack Object Storage" : "Shramba predmeta OpenStack", + "Username" : "Uporabniško ime", + "Bucket" : "Pomnilniško vedro", "Region (optional for OpenStack Object Storage)" : "Območje (zahtevano za shrambo predmeta OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Ključ programskega vmesnika (API) (zahtevan je za datoteke v oblaku Rackspace)", "Tenantname (required for OpenStack Object Storage)" : "Ime uporabnika (zahtevano za shrambo predmeta OpenStack)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Ime storitve (zahtevano za shrambo predmeta OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Naslov URL končne točke uporabnika (zahtevano za shrambo predmeta OpenStack)", "Timeout of HTTP requests in seconds" : "Časovni zamik zahtev HTTP v sekundah", - "Share" : "Souporaba", "SMB / CIFS using OC login" : "SMB / CIFS z uporabo prijave OC", + "Host" : "Gostitelj", "Username as share" : "Uporabniško ime za souporabo", - "URL" : "Naslov URL", - "Secure https://" : "Varni način https://", + "Share" : "Souporaba", + "Remote subfolder" : "Oddaljena podrejena mapa", "SFTP with secret key login" : "Prijava preko protokola SFTP z geslom", "Public key" : "Javni ključ", "Storage with id \"%i\" not found" : "Shrambe z ID \"%i\" ni mogoče najti.", "Invalid mount point" : "Neveljavna priklopna točka", "Invalid storage backend \"%s\"" : "Neveljaven ozadnji program shrambe \"%s\"", - "Access granted" : "Dostop je odobren", - "Error configuring Dropbox storage" : "Napaka nastavljanja shrambe Dropbox", - "Grant access" : "Odobri dostop", - "Error configuring Google Drive storage" : "Napaka nastavljanja shrambe Google Drive", "Personal" : "Osebno", "System" : "Sistem", + "Grant access" : "Odobri dostop", + "Access granted" : "Dostop je odobren", "Enable encryption" : "Omogoči šifriranje", "Enable previews" : "Omogoči predogled", "Check for changes" : "Preveri za spremembe", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Shranjeno", "Generate keys" : "Ustvari ključe", "Error generating key pair" : "Prišlo je do napake med ustvarjanjem para ključev", + "None" : "Brez", + "App key" : "Programski ključ", + "App secret" : "Skrivni programski ključ", + "Client ID" : "ID odjemalca", + "Client secret" : "Skrivni ključ odjemalca", + "Password" : "Geslo", + "Amazon S3" : "Amazon S3", + "Hostname" : "Ime gostitelja", + "Port" : "Vrata", + "Region" : "Območje", + "Enable SSL" : "Omogoči SSL", + "Enable Path Style" : "Omogoči slog poti", + "WebDAV" : "WebDAV", + "URL" : "Naslov URL", + "Secure https://" : "Varni način https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Varni način ftps://", + "Local" : "Krajevno", + "Location" : "Mesto", + "ownCloud" : "ownCloud", + "Root" : "Koren", "Note: " : "Opomba: ", - "and" : "in", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Opomba: Podpora za naslove cURL v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Opomba: Podpora za protokol FTP v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Opomba: Program \"%s\" ni nameščen. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Ime mape", "Configuration" : "Nastavitve", "Available for" : "Na voljo za", - "Add storage" : "Dodaj shrambo", "Advanced settings" : "Napredne nastavitve", "Delete" : "Izbriši", + "Add storage" : "Dodaj shrambo", "Enable User External Storage" : "Omogoči zunanjo uporabniško podatkovno shrambo", "Allow users to mount the following external storage" : "Dovoli uporabnikom priklapljanje navedenih zunanjih shramb." }, diff --git a/apps/files_external/l10n/sl.json b/apps/files_external/l10n/sl.json index 4cebc8a1ac..2ac8cf8bb9 100644 --- a/apps/files_external/l10n/sl.json +++ b/apps/files_external/l10n/sl.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Pridobivanje žetonov za zahteve je spodletelo. Preverite, da sta ključ in skrivno geslo programa Dropbox navedena pravilno.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Pridobivanje žetonov za dostop je spodletelo. Preverite, da sta ključ in skrivno geslo programa Dropbox navedena pravilno.", - "Please provide a valid Dropbox app key and secret." : "Vpisati je treba veljaven ključ programa in kodo za Dropbox", "Step 1 failed. Exception: %s" : "1. korak je spodletel. Izjemna napaka: %s", "Step 2 failed. Exception: %s" : "2. korak je spodletel. Izjemna napaka: %s", "External storage" : "Zunanja shramba", - "Local" : "Krajevno", - "Location" : "Mesto", - "Amazon S3" : "Amazon S3", - "Key" : "Ključ", - "Secret" : "Skrivni ključ", - "Bucket" : "Pomnilniško vedro", - "Amazon S3 and compliant" : "Amazon S3 in podobno", - "Access Key" : "Ključ za dostop", - "Secret Key" : "Skrivni ključ", - "Hostname" : "Ime gostitelja", - "Port" : "Vrata", - "Region" : "Območje", - "Enable SSL" : "Omogoči SSL", - "Enable Path Style" : "Omogoči slog poti", - "App key" : "Programski ključ", - "App secret" : "Skrivni programski ključ", - "Host" : "Gostitelj", - "Username" : "Uporabniško ime", - "Password" : "Geslo", - "Remote subfolder" : "Oddaljena podrejena mapa", - "Secure ftps://" : "Varni način ftps://", - "Client ID" : "ID odjemalca", - "Client secret" : "Skrivni ključ odjemalca", "OpenStack Object Storage" : "Shramba predmeta OpenStack", + "Username" : "Uporabniško ime", + "Bucket" : "Pomnilniško vedro", "Region (optional for OpenStack Object Storage)" : "Območje (zahtevano za shrambo predmeta OpenStack)", "API Key (required for Rackspace Cloud Files)" : "Ključ programskega vmesnika (API) (zahtevan je za datoteke v oblaku Rackspace)", "Tenantname (required for OpenStack Object Storage)" : "Ime uporabnika (zahtevano za shrambo predmeta OpenStack)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Ime storitve (zahtevano za shrambo predmeta OpenStack)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Naslov URL končne točke uporabnika (zahtevano za shrambo predmeta OpenStack)", "Timeout of HTTP requests in seconds" : "Časovni zamik zahtev HTTP v sekundah", - "Share" : "Souporaba", "SMB / CIFS using OC login" : "SMB / CIFS z uporabo prijave OC", + "Host" : "Gostitelj", "Username as share" : "Uporabniško ime za souporabo", - "URL" : "Naslov URL", - "Secure https://" : "Varni način https://", + "Share" : "Souporaba", + "Remote subfolder" : "Oddaljena podrejena mapa", "SFTP with secret key login" : "Prijava preko protokola SFTP z geslom", "Public key" : "Javni ključ", "Storage with id \"%i\" not found" : "Shrambe z ID \"%i\" ni mogoče najti.", "Invalid mount point" : "Neveljavna priklopna točka", "Invalid storage backend \"%s\"" : "Neveljaven ozadnji program shrambe \"%s\"", - "Access granted" : "Dostop je odobren", - "Error configuring Dropbox storage" : "Napaka nastavljanja shrambe Dropbox", - "Grant access" : "Odobri dostop", - "Error configuring Google Drive storage" : "Napaka nastavljanja shrambe Google Drive", "Personal" : "Osebno", "System" : "Sistem", + "Grant access" : "Odobri dostop", + "Access granted" : "Dostop je odobren", "Enable encryption" : "Omogoči šifriranje", "Enable previews" : "Omogoči predogled", "Check for changes" : "Preveri za spremembe", @@ -63,8 +37,28 @@ "Saved" : "Shranjeno", "Generate keys" : "Ustvari ključe", "Error generating key pair" : "Prišlo je do napake med ustvarjanjem para ključev", + "None" : "Brez", + "App key" : "Programski ključ", + "App secret" : "Skrivni programski ključ", + "Client ID" : "ID odjemalca", + "Client secret" : "Skrivni ključ odjemalca", + "Password" : "Geslo", + "Amazon S3" : "Amazon S3", + "Hostname" : "Ime gostitelja", + "Port" : "Vrata", + "Region" : "Območje", + "Enable SSL" : "Omogoči SSL", + "Enable Path Style" : "Omogoči slog poti", + "WebDAV" : "WebDAV", + "URL" : "Naslov URL", + "Secure https://" : "Varni način https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Varni način ftps://", + "Local" : "Krajevno", + "Location" : "Mesto", + "ownCloud" : "ownCloud", + "Root" : "Koren", "Note: " : "Opomba: ", - "and" : "in", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Opomba: Podpora za naslove cURL v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Opomba: Podpora za protokol FTP v PHP ni omogočena, ali pa ni ustrezno nameščenih programov. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Opomba: Program \"%s\" ni nameščen. Priklapljanje %s ni mogoče. Za pomoč pri namestitvi se obrnite na sistemskega skrbnika.", @@ -77,9 +71,9 @@ "Folder name" : "Ime mape", "Configuration" : "Nastavitve", "Available for" : "Na voljo za", - "Add storage" : "Dodaj shrambo", "Advanced settings" : "Napredne nastavitve", "Delete" : "Izbriši", + "Add storage" : "Dodaj shrambo", "Enable User External Storage" : "Omogoči zunanjo uporabniško podatkovno shrambo", "Allow users to mount the following external storage" : "Dovoli uporabnikom priklapljanje navedenih zunanjih shramb." },"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" diff --git a/apps/files_external/l10n/sq.js b/apps/files_external/l10n/sq.js index 5a8c70406d..a9a0daf8af 100644 --- a/apps/files_external/l10n/sq.js +++ b/apps/files_external/l10n/sq.js @@ -1,15 +1,17 @@ OC.L10N.register( "files_external", { - "Location" : "Vendndodhja", - "Port" : "Porta", - "Host" : "Pritësi", "Username" : "Përdoruesi", - "Password" : "fjalëkalim", + "Host" : "Pritësi", "Share" : "Ndaj", - "URL" : "URL-i", "Personal" : "Personale", "Saved" : "U ruajt", + "None" : "Asgjë", + "Password" : "fjalëkalim", + "Port" : "Porta", + "WebDAV" : "WebDAV", + "URL" : "URL-i", + "Location" : "Vendndodhja", "Name" : "Emri", "Folder name" : "Emri i Skedarit", "Delete" : "Elimino" diff --git a/apps/files_external/l10n/sq.json b/apps/files_external/l10n/sq.json index d2abfb55bf..bf308bca3f 100644 --- a/apps/files_external/l10n/sq.json +++ b/apps/files_external/l10n/sq.json @@ -1,13 +1,15 @@ { "translations": { - "Location" : "Vendndodhja", - "Port" : "Porta", - "Host" : "Pritësi", "Username" : "Përdoruesi", - "Password" : "fjalëkalim", + "Host" : "Pritësi", "Share" : "Ndaj", - "URL" : "URL-i", "Personal" : "Personale", "Saved" : "U ruajt", + "None" : "Asgjë", + "Password" : "fjalëkalim", + "Port" : "Porta", + "WebDAV" : "WebDAV", + "URL" : "URL-i", + "Location" : "Vendndodhja", "Name" : "Emri", "Folder name" : "Emri i Skedarit", "Delete" : "Elimino" diff --git a/apps/files_external/l10n/sr.js b/apps/files_external/l10n/sr.js index 1609ac0191..e0fea10c9a 100644 --- a/apps/files_external/l10n/sr.js +++ b/apps/files_external/l10n/sr.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Преузимање тражених токена није успело. Проверите да ли су Dropbox апликациони кључ и тајна тачни.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Преузимање приступних токена није успело. Проверите да ли су Dropbox апликациони кључ и тајна тачни.", - "Please provide a valid Dropbox app key and secret." : "Унесите исправан кључ и тајну за Дропбокс апликацију.", "Step 1 failed. Exception: %s" : "Корак 1 није успео. Изузетак: %s", "Step 2 failed. Exception: %s" : "Корак 2 није успео. Изузетак: %s", "External storage" : "Спољашње складиште", - "Local" : "локална", - "Location" : "Локација", - "Amazon S3" : "Амазон С3", - "Key" : "Кључ", - "Secret" : "Тајна", - "Bucket" : "Канта", - "Amazon S3 and compliant" : "Амазон С3 и одговарајући", - "Access Key" : "Приступни кључ", - "Secret Key" : "Тајни кључ", - "Hostname" : "Име домаћина", - "Port" : "Порт", - "Region" : "Регија", - "Enable SSL" : "Омогући ССЛ", - "Enable Path Style" : "Омогући стил путање", - "App key" : "Кључ апликације", - "App secret" : "Тајна апликације", - "Host" : "Домаћин", - "Username" : "Корисничко име", - "Password" : "Лозинка", - "Remote subfolder" : "Удаљена потфасцикла", - "Secure ftps://" : "Сигурни ftps://", - "Client ID" : "ИД клијента", - "Client secret" : "Тајна клијента", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Корисничко име", + "Bucket" : "Канта", "Region (optional for OpenStack Object Storage)" : "Регион (није обавезно за OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (потребан за Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (потребно за OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Име сервиса (потребно за OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Адреса идентитета крајње тачке (потребно за OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Време истека ХТТП захтева у секундама", - "Share" : "Дели", "SMB / CIFS using OC login" : "СМБ/ЦИФС користећи оунКлауд пријаву", + "Host" : "Домаћин", "Username as share" : "Корисничко име као дељење", - "URL" : "УРЛ", - "Secure https://" : "Сигурни https://", + "Share" : "Дели", + "Remote subfolder" : "Удаљена потфасцикла", "SFTP with secret key login" : "СФТП са пријавом помоћу тајног кључа", "Public key" : "Јавни кључ", "Storage with id \"%i\" not found" : "Складиште са идентификацијом \"%i\" није пронађено", "Invalid mount point" : "Неисправна тачка монтирања", "Invalid storage backend \"%s\"" : "Неисправна позадина складишта „%s“", - "Access granted" : "Приступ одобрен", - "Error configuring Dropbox storage" : "Грешка при подешавању Дропбокс складишта", - "Grant access" : "Одобри приступ", - "Error configuring Google Drive storage" : "Грешка при подешавању Гугл диск складишта", "Personal" : "Лично", "System" : "Систем", + "Grant access" : "Одобри приступ", + "Access granted" : "Приступ одобрен", "Enable encryption" : "Укључи шифровање", "Enable previews" : "Укључи прегледе", "Check for changes" : "Провери измене", @@ -65,8 +39,27 @@ OC.L10N.register( "Saved" : "Сачувано", "Generate keys" : "Генериши кључеве", "Error generating key pair" : "Грешка при генерисању пара кључева", + "None" : "Ништа", + "App key" : "Кључ апликације", + "App secret" : "Тајна апликације", + "Client ID" : "ИД клијента", + "Client secret" : "Тајна клијента", + "Password" : "Лозинка", + "Amazon S3" : "Амазон С3", + "Hostname" : "Име домаћина", + "Port" : "Порт", + "Region" : "Регија", + "Enable SSL" : "Омогући ССЛ", + "Enable Path Style" : "Омогући стил путање", + "WebDAV" : "ВебДАВ", + "URL" : "УРЛ", + "Secure https://" : "Сигурни https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Сигурни ftps://", + "Local" : "локална", + "Location" : "Локација", + "ownCloud" : "оунКлауд", "Note: " : "Напомена: ", - "and" : "и", "Note: 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 подршка за ПХП није омогућена или инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Напомена: ФТП подршка за ПХП није омогућена или инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Напомена: „%s“ није инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", @@ -79,9 +72,9 @@ OC.L10N.register( "Folder name" : "Назив фасцикле", "Configuration" : "Подешавање", "Available for" : "Доступно за", - "Add storage" : "Додај складиште", "Advanced settings" : "Напредне поставке", "Delete" : "Обриши", + "Add storage" : "Додај складиште", "Enable User External Storage" : "Укључи корисничко спољашње складиште", "Allow users to mount the following external storage" : "Дозволи корисницима да монтирају следећа спољашња складишта" }, diff --git a/apps/files_external/l10n/sr.json b/apps/files_external/l10n/sr.json index b6a85b1e1b..a0d3e6991a 100644 --- a/apps/files_external/l10n/sr.json +++ b/apps/files_external/l10n/sr.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Преузимање тражених токена није успело. Проверите да ли су Dropbox апликациони кључ и тајна тачни.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Преузимање приступних токена није успело. Проверите да ли су Dropbox апликациони кључ и тајна тачни.", - "Please provide a valid Dropbox app key and secret." : "Унесите исправан кључ и тајну за Дропбокс апликацију.", "Step 1 failed. Exception: %s" : "Корак 1 није успео. Изузетак: %s", "Step 2 failed. Exception: %s" : "Корак 2 није успео. Изузетак: %s", "External storage" : "Спољашње складиште", - "Local" : "локална", - "Location" : "Локација", - "Amazon S3" : "Амазон С3", - "Key" : "Кључ", - "Secret" : "Тајна", - "Bucket" : "Канта", - "Amazon S3 and compliant" : "Амазон С3 и одговарајући", - "Access Key" : "Приступни кључ", - "Secret Key" : "Тајни кључ", - "Hostname" : "Име домаћина", - "Port" : "Порт", - "Region" : "Регија", - "Enable SSL" : "Омогући ССЛ", - "Enable Path Style" : "Омогући стил путање", - "App key" : "Кључ апликације", - "App secret" : "Тајна апликације", - "Host" : "Домаћин", - "Username" : "Корисничко име", - "Password" : "Лозинка", - "Remote subfolder" : "Удаљена потфасцикла", - "Secure ftps://" : "Сигурни ftps://", - "Client ID" : "ИД клијента", - "Client secret" : "Тајна клијента", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Корисничко име", + "Bucket" : "Канта", "Region (optional for OpenStack Object Storage)" : "Регион (није обавезно за OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (потребан за Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (потребно за OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Име сервиса (потребно за OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Адреса идентитета крајње тачке (потребно за OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Време истека ХТТП захтева у секундама", - "Share" : "Дели", "SMB / CIFS using OC login" : "СМБ/ЦИФС користећи оунКлауд пријаву", + "Host" : "Домаћин", "Username as share" : "Корисничко име као дељење", - "URL" : "УРЛ", - "Secure https://" : "Сигурни https://", + "Share" : "Дели", + "Remote subfolder" : "Удаљена потфасцикла", "SFTP with secret key login" : "СФТП са пријавом помоћу тајног кључа", "Public key" : "Јавни кључ", "Storage with id \"%i\" not found" : "Складиште са идентификацијом \"%i\" није пронађено", "Invalid mount point" : "Неисправна тачка монтирања", "Invalid storage backend \"%s\"" : "Неисправна позадина складишта „%s“", - "Access granted" : "Приступ одобрен", - "Error configuring Dropbox storage" : "Грешка при подешавању Дропбокс складишта", - "Grant access" : "Одобри приступ", - "Error configuring Google Drive storage" : "Грешка при подешавању Гугл диск складишта", "Personal" : "Лично", "System" : "Систем", + "Grant access" : "Одобри приступ", + "Access granted" : "Приступ одобрен", "Enable encryption" : "Укључи шифровање", "Enable previews" : "Укључи прегледе", "Check for changes" : "Провери измене", @@ -63,8 +37,27 @@ "Saved" : "Сачувано", "Generate keys" : "Генериши кључеве", "Error generating key pair" : "Грешка при генерисању пара кључева", + "None" : "Ништа", + "App key" : "Кључ апликације", + "App secret" : "Тајна апликације", + "Client ID" : "ИД клијента", + "Client secret" : "Тајна клијента", + "Password" : "Лозинка", + "Amazon S3" : "Амазон С3", + "Hostname" : "Име домаћина", + "Port" : "Порт", + "Region" : "Регија", + "Enable SSL" : "Омогући ССЛ", + "Enable Path Style" : "Омогући стил путање", + "WebDAV" : "ВебДАВ", + "URL" : "УРЛ", + "Secure https://" : "Сигурни https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Сигурни ftps://", + "Local" : "локална", + "Location" : "Локација", + "ownCloud" : "оунКлауд", "Note: " : "Напомена: ", - "and" : "и", "Note: 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 подршка за ПХП није омогућена или инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Напомена: ФТП подршка за ПХП није омогућена или инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Напомена: „%s“ није инсталирана. Монтирање %s није могуће. Затражите од вашег администратора система да је инсталира.", @@ -77,9 +70,9 @@ "Folder name" : "Назив фасцикле", "Configuration" : "Подешавање", "Available for" : "Доступно за", - "Add storage" : "Додај складиште", "Advanced settings" : "Напредне поставке", "Delete" : "Обриши", + "Add storage" : "Додај складиште", "Enable User External Storage" : "Укључи корисничко спољашње складиште", "Allow users to mount the following external storage" : "Дозволи корисницима да монтирају следећа спољашња складишта" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" diff --git a/apps/files_external/l10n/sr@latin.js b/apps/files_external/l10n/sr@latin.js index bac947bc12..afd68779a6 100644 --- a/apps/files_external/l10n/sr@latin.js +++ b/apps/files_external/l10n/sr@latin.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Dobavljanje detalja zahteva nije uspelo. Proverite da li su Vaš ključ aplikacije za Dropbox i tajna lozinka ispravni.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Dobavljanje detalja pristupa nije uspelo. Proverite da li su Vaš Dropbox ključ aplikacije i tajna lozinka ispravni.", - "Please provide a valid Dropbox app key and secret." : "Molimo unesite ispravan Dropbox ključ aplikacije i tajnu lozinku.", "Step 1 failed. Exception: %s" : "Korak 1 nije uspeo. Izuzetak: %s", "Step 2 failed. Exception: %s" : "Korak 2 nije uspeo. Izuzetak: %s", "External storage" : "Spoljašnje skladište", - "Local" : "Lokalno", - "Location" : "Lokacija", - "Amazon S3" : "Amazon S3", - "Key" : "Ključ", - "Secret" : "Tajna lozinka", - "Bucket" : "Korpa", - "Amazon S3 and compliant" : "Amazon S3 i kompatibilni", - "Access Key" : "Pristupni Ključ", - "Secret Key" : "Tajni Ključ", - "Hostname" : "Ime računara", - "Port" : "Port", - "Region" : "Regija", - "Enable SSL" : "Uključi SSL", - "Enable Path Style" : "Omogući stil putanje", - "App key" : "Ključ Aplikacije", - "App secret" : "Tajna lozinka Aplikacije", - "Host" : "Računar", - "Username" : "Korisničko ime", - "Password" : "Lozinka", - "Remote subfolder" : "Udaljeni poddirektorijum", - "Secure ftps://" : "Sigurni ftps://", - "Client ID" : "Identifikator klijenta", - "Client secret" : "Tajna lozinka klijenta", "OpenStack Object Storage" : "OpenStack skladište objekata", + "Username" : "Korisničko ime", + "Bucket" : "Korpa", "Region (optional for OpenStack Object Storage)" : "Region (opciono za OpenStack skladište objekata)", "API Key (required for Rackspace Cloud Files)" : "API ključ (neophodno za Rackspace datoteke u oblaku)", "Tenantname (required for OpenStack Object Storage)" : "Ime stanara (neophodno za OpenStack skladište objekata)", @@ -38,22 +14,37 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Ime Servisa (neophodno za OpenStack skladište objekata)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL krajnje tačke identiteta (neophodno za OpenStack skladište objekata)", "Timeout of HTTP requests in seconds" : "Ograničenje vremena veze HTTP zahteva u sekundama", - "Share" : "Podeli", "SMB / CIFS using OC login" : "SMB / CIFS koji koristi OC prijavljivanje", + "Host" : "Računar", "Username as share" : "Korisničko ime i deljeni direktorijum", - "URL" : "URL", - "Secure https://" : "Sigurni https://", - "Access granted" : "Pristup Dozvoljen", - "Error configuring Dropbox storage" : "Greška u podešavanju Dropbox skladišta", - "Grant access" : "Dozvoli pristup", - "Error configuring Google Drive storage" : "Greška u podešavanju Google Disk skladišta", + "Share" : "Podeli", + "Remote subfolder" : "Udaljeni poddirektorijum", "Personal" : "Lično", "System" : "Sistemsko", + "Grant access" : "Dozvoli pristup", + "Access granted" : "Pristup Dozvoljen", "All users. Type to select user or group." : "Svi korisnici. Kucajte da biste izabrali korisnika ili grupu.", "(group)" : "(grupa)", "Saved" : "Sačuvano", + "App key" : "Ključ Aplikacije", + "App secret" : "Tajna lozinka Aplikacije", + "Client ID" : "Identifikator klijenta", + "Client secret" : "Tajna lozinka klijenta", + "Password" : "Lozinka", + "Amazon S3" : "Amazon S3", + "Hostname" : "Ime računara", + "Port" : "Port", + "Region" : "Regija", + "Enable SSL" : "Uključi SSL", + "Enable Path Style" : "Omogući stil putanje", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sigurni https://", + "Secure ftps://" : "Sigurni ftps://", + "Local" : "Lokalno", + "Location" : "Lokacija", + "Root" : "Koren", "Note: " : "Obratite pažnju:", - "and" : "i", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obratite pažnju Podrška za cURL u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da je instalira.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obratite pažnju: FTP podrška u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da tražite od Vašeg sistem administratora da je instalira.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obratite pažnju: \"%s\" nije instaliran. Monitranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da to instalira.", @@ -64,8 +55,8 @@ OC.L10N.register( "Folder name" : "Ime fascikle", "Configuration" : "Podešavanje", "Available for" : "Dostupno za", - "Add storage" : "Dodaj skladište", "Delete" : "Obriši", + "Add storage" : "Dodaj skladište", "Enable User External Storage" : "Omogući korisničko spoljašnje skladište", "Allow users to mount the following external storage" : "Omogući korisnicima da namontiraju sledeće spoljašnje skladište" }, diff --git a/apps/files_external/l10n/sr@latin.json b/apps/files_external/l10n/sr@latin.json index 2dfab1ba06..3bdf78e041 100644 --- a/apps/files_external/l10n/sr@latin.json +++ b/apps/files_external/l10n/sr@latin.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Dobavljanje detalja zahteva nije uspelo. Proverite da li su Vaš ključ aplikacije za Dropbox i tajna lozinka ispravni.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Dobavljanje detalja pristupa nije uspelo. Proverite da li su Vaš Dropbox ključ aplikacije i tajna lozinka ispravni.", - "Please provide a valid Dropbox app key and secret." : "Molimo unesite ispravan Dropbox ključ aplikacije i tajnu lozinku.", "Step 1 failed. Exception: %s" : "Korak 1 nije uspeo. Izuzetak: %s", "Step 2 failed. Exception: %s" : "Korak 2 nije uspeo. Izuzetak: %s", "External storage" : "Spoljašnje skladište", - "Local" : "Lokalno", - "Location" : "Lokacija", - "Amazon S3" : "Amazon S3", - "Key" : "Ključ", - "Secret" : "Tajna lozinka", - "Bucket" : "Korpa", - "Amazon S3 and compliant" : "Amazon S3 i kompatibilni", - "Access Key" : "Pristupni Ključ", - "Secret Key" : "Tajni Ključ", - "Hostname" : "Ime računara", - "Port" : "Port", - "Region" : "Regija", - "Enable SSL" : "Uključi SSL", - "Enable Path Style" : "Omogući stil putanje", - "App key" : "Ključ Aplikacije", - "App secret" : "Tajna lozinka Aplikacije", - "Host" : "Računar", - "Username" : "Korisničko ime", - "Password" : "Lozinka", - "Remote subfolder" : "Udaljeni poddirektorijum", - "Secure ftps://" : "Sigurni ftps://", - "Client ID" : "Identifikator klijenta", - "Client secret" : "Tajna lozinka klijenta", "OpenStack Object Storage" : "OpenStack skladište objekata", + "Username" : "Korisničko ime", + "Bucket" : "Korpa", "Region (optional for OpenStack Object Storage)" : "Region (opciono za OpenStack skladište objekata)", "API Key (required for Rackspace Cloud Files)" : "API ključ (neophodno za Rackspace datoteke u oblaku)", "Tenantname (required for OpenStack Object Storage)" : "Ime stanara (neophodno za OpenStack skladište objekata)", @@ -36,22 +12,37 @@ "Service Name (required for OpenStack Object Storage)" : "Ime Servisa (neophodno za OpenStack skladište objekata)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL krajnje tačke identiteta (neophodno za OpenStack skladište objekata)", "Timeout of HTTP requests in seconds" : "Ograničenje vremena veze HTTP zahteva u sekundama", - "Share" : "Podeli", "SMB / CIFS using OC login" : "SMB / CIFS koji koristi OC prijavljivanje", + "Host" : "Računar", "Username as share" : "Korisničko ime i deljeni direktorijum", - "URL" : "URL", - "Secure https://" : "Sigurni https://", - "Access granted" : "Pristup Dozvoljen", - "Error configuring Dropbox storage" : "Greška u podešavanju Dropbox skladišta", - "Grant access" : "Dozvoli pristup", - "Error configuring Google Drive storage" : "Greška u podešavanju Google Disk skladišta", + "Share" : "Podeli", + "Remote subfolder" : "Udaljeni poddirektorijum", "Personal" : "Lično", "System" : "Sistemsko", + "Grant access" : "Dozvoli pristup", + "Access granted" : "Pristup Dozvoljen", "All users. Type to select user or group." : "Svi korisnici. Kucajte da biste izabrali korisnika ili grupu.", "(group)" : "(grupa)", "Saved" : "Sačuvano", + "App key" : "Ključ Aplikacije", + "App secret" : "Tajna lozinka Aplikacije", + "Client ID" : "Identifikator klijenta", + "Client secret" : "Tajna lozinka klijenta", + "Password" : "Lozinka", + "Amazon S3" : "Amazon S3", + "Hostname" : "Ime računara", + "Port" : "Port", + "Region" : "Regija", + "Enable SSL" : "Uključi SSL", + "Enable Path Style" : "Omogući stil putanje", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Sigurni https://", + "Secure ftps://" : "Sigurni ftps://", + "Local" : "Lokalno", + "Location" : "Lokacija", + "Root" : "Koren", "Note: " : "Obratite pažnju:", - "and" : "i", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obratite pažnju Podrška za cURL u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da je instalira.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obratite pažnju: FTP podrška u PHP-u nije uključena ili instalirana. Montiranje %s nije moguće. Molimo Vas da tražite od Vašeg sistem administratora da je instalira.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Obratite pažnju: \"%s\" nije instaliran. Monitranje %s nije moguće. Molimo Vas da se obratite Vašem sistem administratoru da to instalira.", @@ -62,8 +53,8 @@ "Folder name" : "Ime fascikle", "Configuration" : "Podešavanje", "Available for" : "Dostupno za", - "Add storage" : "Dodaj skladište", "Delete" : "Obriši", + "Add storage" : "Dodaj skladište", "Enable User External Storage" : "Omogući korisničko spoljašnje skladište", "Allow users to mount the following external storage" : "Omogući korisnicima da namontiraju sledeće spoljašnje skladište" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" diff --git a/apps/files_external/l10n/sv.js b/apps/files_external/l10n/sv.js index 3a3f321297..ac7439ea08 100644 --- a/apps/files_external/l10n/sv.js +++ b/apps/files_external/l10n/sv.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Misslyckades att hämta access tokens. Verifiera att din Dropbox app-nyckel och app-hemlighet är korrekt", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Misslyckades att hämta request tokens. Verifiera att din Dropbox app-nyckel och app-hemlighet är korrekt", - "Please provide a valid Dropbox app key and secret." : "Ange en giltig Dropbox nyckel och hemlighet.", "Step 1 failed. Exception: %s" : "Steg 1 flaerade. Undantag: %s", "Step 2 failed. Exception: %s" : "Steg 2 falerade. Undantag: %s", "External storage" : "Extern lagring", - "Local" : "Lokal", - "Location" : "Plats", - "Amazon S3" : "Amazon S3", - "Key" : "Nyckel", - "Secret" : "Hemlig", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 och compliant", - "Access Key" : "Accessnyckel", - "Secret Key" : "Hemlig nyckel", - "Hostname" : "Värdnamn", - "Port" : "Port", - "Region" : "Län", - "Enable SSL" : "Aktivera SSL", - "Enable Path Style" : "Aktivera Path Style", - "App key" : "App-nyckel", - "App secret" : "App-hemlighet", - "Host" : "Server", - "Username" : "Användarnamn", - "Password" : "Lösenord", - "Remote subfolder" : "Fjärrmapp", - "Secure ftps://" : "Säker ftps://", - "Client ID" : "Klient ID", - "Client secret" : "klient secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Användarnamn", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (valfritt för OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API-nyckel (krävs för Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (krävs för OpenStack Object Storage)", @@ -38,23 +14,41 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Tjänstens namn (krävs för OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL för identitetens slutpunkt (krävs för OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Timeout för HTTP-anrop i sekunder", - "Share" : "Dela", "SMB / CIFS using OC login" : "SMB / CIFS använder OC inloggning", + "Host" : "Server", "Username as share" : "Användarnamn till utdelning", - "URL" : "URL", - "Secure https://" : "Säker https://", + "Share" : "Dela", + "Remote subfolder" : "Fjärrmapp", "Public key" : "Publik nyckel", - "Access granted" : "Åtkomst beviljad", - "Error configuring Dropbox storage" : "Fel vid konfigurering av Dropbox", - "Grant access" : "Bevilja åtkomst", - "Error configuring Google Drive storage" : "Fel vid konfigurering av Google Drive", "Personal" : "Personligt", "System" : "System", + "Grant access" : "Bevilja åtkomst", + "Access granted" : "Åtkomst beviljad", "All users. Type to select user or group." : "Alla användare. Skriv för att välja användare eller grupp.", "(group)" : "(grupp)", "Saved" : "Sparad", + "None" : "Ingen", + "App key" : "App-nyckel", + "App secret" : "App-hemlighet", + "Client ID" : "Klient ID", + "Client secret" : "klient secret", + "Password" : "Lösenord", + "Amazon S3" : "Amazon S3", + "Hostname" : "Värdnamn", + "Port" : "Port", + "Region" : "Län", + "Enable SSL" : "Aktivera SSL", + "Enable Path Style" : "Aktivera Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Säker https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Säker ftps://", + "Local" : "Lokal", + "Location" : "Plats", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : " OBS: ", - "and" : "och", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : " OBS: cURL-stöd i PHP inte är aktiverat eller installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : " OBS: FTP-stödet i PHP inte är aktiverat eller installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : " OBS: \"%s\" är inte installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", @@ -65,8 +59,8 @@ OC.L10N.register( "Folder name" : "Mappnamn", "Configuration" : "Konfiguration", "Available for" : "Tillgänglig för", - "Add storage" : "Lägg till lagring", "Delete" : "Radera", + "Add storage" : "Lägg till lagring", "Enable User External Storage" : "Aktivera extern lagring för användare", "Allow users to mount the following external storage" : "Tillåt användare att montera följande extern lagring" }, diff --git a/apps/files_external/l10n/sv.json b/apps/files_external/l10n/sv.json index 7a80077545..75d33f5861 100644 --- a/apps/files_external/l10n/sv.json +++ b/apps/files_external/l10n/sv.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Misslyckades att hämta access tokens. Verifiera att din Dropbox app-nyckel och app-hemlighet är korrekt", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Misslyckades att hämta request tokens. Verifiera att din Dropbox app-nyckel och app-hemlighet är korrekt", - "Please provide a valid Dropbox app key and secret." : "Ange en giltig Dropbox nyckel och hemlighet.", "Step 1 failed. Exception: %s" : "Steg 1 flaerade. Undantag: %s", "Step 2 failed. Exception: %s" : "Steg 2 falerade. Undantag: %s", "External storage" : "Extern lagring", - "Local" : "Lokal", - "Location" : "Plats", - "Amazon S3" : "Amazon S3", - "Key" : "Nyckel", - "Secret" : "Hemlig", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 och compliant", - "Access Key" : "Accessnyckel", - "Secret Key" : "Hemlig nyckel", - "Hostname" : "Värdnamn", - "Port" : "Port", - "Region" : "Län", - "Enable SSL" : "Aktivera SSL", - "Enable Path Style" : "Aktivera Path Style", - "App key" : "App-nyckel", - "App secret" : "App-hemlighet", - "Host" : "Server", - "Username" : "Användarnamn", - "Password" : "Lösenord", - "Remote subfolder" : "Fjärrmapp", - "Secure ftps://" : "Säker ftps://", - "Client ID" : "Klient ID", - "Client secret" : "klient secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Användarnamn", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Region (valfritt för OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API-nyckel (krävs för Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Tenantname (krävs för OpenStack Object Storage)", @@ -36,23 +12,41 @@ "Service Name (required for OpenStack Object Storage)" : "Tjänstens namn (krävs för OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL för identitetens slutpunkt (krävs för OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Timeout för HTTP-anrop i sekunder", - "Share" : "Dela", "SMB / CIFS using OC login" : "SMB / CIFS använder OC inloggning", + "Host" : "Server", "Username as share" : "Användarnamn till utdelning", - "URL" : "URL", - "Secure https://" : "Säker https://", + "Share" : "Dela", + "Remote subfolder" : "Fjärrmapp", "Public key" : "Publik nyckel", - "Access granted" : "Åtkomst beviljad", - "Error configuring Dropbox storage" : "Fel vid konfigurering av Dropbox", - "Grant access" : "Bevilja åtkomst", - "Error configuring Google Drive storage" : "Fel vid konfigurering av Google Drive", "Personal" : "Personligt", "System" : "System", + "Grant access" : "Bevilja åtkomst", + "Access granted" : "Åtkomst beviljad", "All users. Type to select user or group." : "Alla användare. Skriv för att välja användare eller grupp.", "(group)" : "(grupp)", "Saved" : "Sparad", + "None" : "Ingen", + "App key" : "App-nyckel", + "App secret" : "App-hemlighet", + "Client ID" : "Klient ID", + "Client secret" : "klient secret", + "Password" : "Lösenord", + "Amazon S3" : "Amazon S3", + "Hostname" : "Värdnamn", + "Port" : "Port", + "Region" : "Län", + "Enable SSL" : "Aktivera SSL", + "Enable Path Style" : "Aktivera Path Style", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Säker https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Säker ftps://", + "Local" : "Lokal", + "Location" : "Plats", + "ownCloud" : "ownCloud", + "Root" : "Root", "Note: " : " OBS: ", - "and" : "och", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : " OBS: cURL-stöd i PHP inte är aktiverat eller installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : " OBS: FTP-stödet i PHP inte är aktiverat eller installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : " OBS: \"%s\" är inte installerat. Montering av %s är inte möjlig. Be din systemadministratör att installera det.", @@ -63,8 +57,8 @@ "Folder name" : "Mappnamn", "Configuration" : "Konfiguration", "Available for" : "Tillgänglig för", - "Add storage" : "Lägg till lagring", "Delete" : "Radera", + "Add storage" : "Lägg till lagring", "Enable User External Storage" : "Aktivera extern lagring för användare", "Allow users to mount the following external storage" : "Tillåt användare att montera följande extern lagring" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/ta_LK.js b/apps/files_external/l10n/ta_LK.js index 274f2dcf34..fdf2639d4d 100644 --- a/apps/files_external/l10n/ta_LK.js +++ b/apps/files_external/l10n/ta_LK.js @@ -1,20 +1,19 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "தயவுசெய்து ஒரு செல்லுபடியான Dropbox செயலி சாவி மற்றும் இரகசியத்தை வழங்குக. ", - "Location" : "இடம்", + "Username" : "பயனாளர் பெயர்", + "Host" : "ஓம்புனர்", + "Share" : "பகிர்வு", + "Personal" : "தனிப்பட்ட", + "Grant access" : "அனுமதியை வழங்கல்", + "Access granted" : "அனுமதி வழங்கப்பட்டது", + "None" : "ஒன்றுமில்லை", + "Password" : "கடவுச்சொல்", "Port" : "துறை ", "Region" : "பிரதேசம்", - "Host" : "ஓம்புனர்", - "Username" : "பயனாளர் பெயர்", - "Password" : "கடவுச்சொல்", - "Share" : "பகிர்வு", "URL" : "URL", - "Access granted" : "அனுமதி வழங்கப்பட்டது", - "Error configuring Dropbox storage" : "Dropbox சேமிப்பை தகவமைப்பதில் வழு", - "Grant access" : "அனுமதியை வழங்கல்", - "Error configuring Google Drive storage" : "Google இயக்க சேமிப்பகத்தை தகமைப்பதில் வழு", - "Personal" : "தனிப்பட்ட", + "Location" : "இடம்", + "ownCloud" : "OwnCloud", "Name" : "பெயர்", "External Storage" : "வெளி சேமிப்பு", "Folder name" : "கோப்புறை பெயர்", diff --git a/apps/files_external/l10n/ta_LK.json b/apps/files_external/l10n/ta_LK.json index 6d9b600b56..bd34681669 100644 --- a/apps/files_external/l10n/ta_LK.json +++ b/apps/files_external/l10n/ta_LK.json @@ -1,18 +1,17 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "தயவுசெய்து ஒரு செல்லுபடியான Dropbox செயலி சாவி மற்றும் இரகசியத்தை வழங்குக. ", - "Location" : "இடம்", + "Username" : "பயனாளர் பெயர்", + "Host" : "ஓம்புனர்", + "Share" : "பகிர்வு", + "Personal" : "தனிப்பட்ட", + "Grant access" : "அனுமதியை வழங்கல்", + "Access granted" : "அனுமதி வழங்கப்பட்டது", + "None" : "ஒன்றுமில்லை", + "Password" : "கடவுச்சொல்", "Port" : "துறை ", "Region" : "பிரதேசம்", - "Host" : "ஓம்புனர்", - "Username" : "பயனாளர் பெயர்", - "Password" : "கடவுச்சொல்", - "Share" : "பகிர்வு", "URL" : "URL", - "Access granted" : "அனுமதி வழங்கப்பட்டது", - "Error configuring Dropbox storage" : "Dropbox சேமிப்பை தகவமைப்பதில் வழு", - "Grant access" : "அனுமதியை வழங்கல்", - "Error configuring Google Drive storage" : "Google இயக்க சேமிப்பகத்தை தகமைப்பதில் வழு", - "Personal" : "தனிப்பட்ட", + "Location" : "இடம்", + "ownCloud" : "OwnCloud", "Name" : "பெயர்", "External Storage" : "வெளி சேமிப்பு", "Folder name" : "கோப்புறை பெயர்", diff --git a/apps/files_external/l10n/te.js b/apps/files_external/l10n/te.js index b1f0e091c2..b5f887f08f 100644 --- a/apps/files_external/l10n/te.js +++ b/apps/files_external/l10n/te.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_external", { "Username" : "వాడుకరి పేరు", - "Password" : "సంకేతపదం", "Personal" : "వ్యక్తిగతం", + "Password" : "సంకేతపదం", "Name" : "పేరు", "Folder name" : "సంచయం పేరు", "Delete" : "తొలగించు" diff --git a/apps/files_external/l10n/te.json b/apps/files_external/l10n/te.json index 4a6f3caba8..b0db38ef4c 100644 --- a/apps/files_external/l10n/te.json +++ b/apps/files_external/l10n/te.json @@ -1,7 +1,7 @@ { "translations": { "Username" : "వాడుకరి పేరు", - "Password" : "సంకేతపదం", "Personal" : "వ్యక్తిగతం", + "Password" : "సంకేతపదం", "Name" : "పేరు", "Folder name" : "సంచయం పేరు", "Delete" : "తొలగించు" diff --git a/apps/files_external/l10n/th_TH.js b/apps/files_external/l10n/th_TH.js index ba2271f5f8..b8fc2a054c 100644 --- a/apps/files_external/l10n/th_TH.js +++ b/apps/files_external/l10n/th_TH.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "ร้องขอโทเค็นล้มเหลว กรุณาตรวจสอบแอพฯคีย์และ Secret ของ Dropbox ของคุณว่าถูกต้องหรือไม่", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "โทเค็นการเข้าถึงล้มเหลว กรุณาตรวจสอบแอพฯคีย์และ Secret ของ Dropbox ของคุณว่าถูกต้องหรือไม่", - "Please provide a valid Dropbox app key and secret." : "กรุณากรอกรหัส app key ของ Dropbox และรหัสลับ", "Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s", "Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s", "External storage" : "จัดเก็บข้อมูลภายนอก", - "Local" : "ต้นทาง", - "Location" : "ตำแหน่งที่อยู่", - "Amazon S3" : "Amazon S3", - "Key" : "รหัส", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 และ Compliant", - "Access Key" : "รหัสการเข้าถึง", - "Secret Key" : "รหัสลับ", - "Hostname" : "ชื่อโฮสต์", - "Port" : "พอร์ต", - "Region" : "พื้นที่", - "Enable SSL" : "เปิดใช้งาน SSL", - "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "โฮสต์", - "Username" : "ชื่อผู้ใช้งาน", - "Password" : "รหัสผ่าน", - "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", - "Secure ftps://" : "โหมดปลอดภัย ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "ชื่อผู้ใช้งาน", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "ภูมิภาค (จำเป็นสำหรับ OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (จำเป็นสำหรับ Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "ชื่อผู้เช่า (จำเป็นสำหรับ OpenStack Object Storage)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "ชื่อบริการ (จำเป็นสำหรับ OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "ตัวตนของ URL ปลายทาง (จำเป็นสำหรับ OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "หมดเวลาของการร้องขอ HTTP ในไม่กี่วินาที", - "Share" : "แชร์", "SMB / CIFS using OC login" : "SMB/CIFS กำลังใช้ OC เข้าสู่ระบบ", + "Host" : "โฮสต์", "Username as share" : "ชื่อผู้ใช้ที่แชร์", - "URL" : "URL", - "Secure https://" : "โหมดปลอดภัย https://", + "Share" : "แชร์", + "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", "SFTP with secret key login" : "SFTP กับคีย์ลับสำหรับเข้าสู่ระบบ", "Public key" : "คีย์สาธารณะ", "Storage with id \"%i\" not found" : "ไม่พบจัดการเก็บข้อมูลของ ID \"%i\"", "Invalid mount point" : "จุดเชื่อมต่อที่ไม่ถูกต้อง", "Invalid storage backend \"%s\"" : "การจัดเก็บข้อมูลแบ็กเอนด์ไม่ถูกต้อง \"%s\"", - "Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว", - "Error configuring Dropbox storage" : "เกิดข้อผิดพลาดในการกำหนดค่าพื้นที่จัดเก็บข้อมูล Dropbox", - "Grant access" : "อนุญาตให้เข้าถึงได้", - "Error configuring Google Drive storage" : "เกิดข้อผิดพลาดในการกำหนดค่าการจัดเก็บข้อมูลในพื้นที่ของ Google Drive", "Personal" : "ส่วนตัว", "System" : "ระบบ", + "Grant access" : "อนุญาตให้เข้าถึงได้", + "Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", @@ -65,8 +39,27 @@ OC.L10N.register( "Saved" : "บันทึกแล้ว", "Generate keys" : "สร้างคีย์", "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", + "None" : "ไม่มี", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "รหัสผ่าน", + "Amazon S3" : "Amazon S3", + "Hostname" : "ชื่อโฮสต์", + "Port" : "พอร์ต", + "Region" : "พื้นที่", + "Enable SSL" : "เปิดใช้งาน SSL", + "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "โหมดปลอดภัย https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "โหมดปลอดภัย ftps://", + "Local" : "ต้นทาง", + "Location" : "ตำแหน่งที่อยู่", + "ownCloud" : "ownCloud", "Note: " : "หมายเหตุ:", - "and" : "และ", "Note: 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 เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", "Note: 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 เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "หมายเหตุ: %s ไม่ได้ติดตั้ง การติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", @@ -79,9 +72,9 @@ OC.L10N.register( "Folder name" : "ชื่อโฟลเดอร์", "Configuration" : "การกำหนดค่า", "Available for" : "สามารถใช้ได้สำหรับ", - "Add storage" : "เพิ่มพื้นที่จัดเก็บข้อมูล", "Advanced settings" : "ตั้งค่าขั้นสูง", "Delete" : "ลบ", + "Add storage" : "เพิ่มพื้นที่จัดเก็บข้อมูล", "Enable User External Storage" : "เปิดให้มีการใช้พื้นที่จัดเก็บข้อมูลของผู้ใช้งานจากภายนอกได้", "Allow users to mount the following external storage" : "อนุญาตให้ผู้ใช้ติดตั้งจัดเก็บข้อมูลภายนอกต่อไปนี้" }, diff --git a/apps/files_external/l10n/th_TH.json b/apps/files_external/l10n/th_TH.json index 957cc5570c..2b65013f58 100644 --- a/apps/files_external/l10n/th_TH.json +++ b/apps/files_external/l10n/th_TH.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "ร้องขอโทเค็นล้มเหลว กรุณาตรวจสอบแอพฯคีย์และ Secret ของ Dropbox ของคุณว่าถูกต้องหรือไม่", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "โทเค็นการเข้าถึงล้มเหลว กรุณาตรวจสอบแอพฯคีย์และ Secret ของ Dropbox ของคุณว่าถูกต้องหรือไม่", - "Please provide a valid Dropbox app key and secret." : "กรุณากรอกรหัส app key ของ Dropbox และรหัสลับ", "Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s", "Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s", "External storage" : "จัดเก็บข้อมูลภายนอก", - "Local" : "ต้นทาง", - "Location" : "ตำแหน่งที่อยู่", - "Amazon S3" : "Amazon S3", - "Key" : "รหัส", - "Secret" : "Secret", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 และ Compliant", - "Access Key" : "รหัสการเข้าถึง", - "Secret Key" : "รหัสลับ", - "Hostname" : "ชื่อโฮสต์", - "Port" : "พอร์ต", - "Region" : "พื้นที่", - "Enable SSL" : "เปิดใช้งาน SSL", - "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง", - "App key" : "App key", - "App secret" : "App secret", - "Host" : "โฮสต์", - "Username" : "ชื่อผู้ใช้งาน", - "Password" : "รหัสผ่าน", - "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", - "Secure ftps://" : "โหมดปลอดภัย ftps://", - "Client ID" : "Client ID", - "Client secret" : "Client secret", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "ชื่อผู้ใช้งาน", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "ภูมิภาค (จำเป็นสำหรับ OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "API Key (จำเป็นสำหรับ Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "ชื่อผู้เช่า (จำเป็นสำหรับ OpenStack Object Storage)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "ชื่อบริการ (จำเป็นสำหรับ OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "ตัวตนของ URL ปลายทาง (จำเป็นสำหรับ OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "หมดเวลาของการร้องขอ HTTP ในไม่กี่วินาที", - "Share" : "แชร์", "SMB / CIFS using OC login" : "SMB/CIFS กำลังใช้ OC เข้าสู่ระบบ", + "Host" : "โฮสต์", "Username as share" : "ชื่อผู้ใช้ที่แชร์", - "URL" : "URL", - "Secure https://" : "โหมดปลอดภัย https://", + "Share" : "แชร์", + "Remote subfolder" : "โฟลเดอร์ย่อยระยะไกล", "SFTP with secret key login" : "SFTP กับคีย์ลับสำหรับเข้าสู่ระบบ", "Public key" : "คีย์สาธารณะ", "Storage with id \"%i\" not found" : "ไม่พบจัดการเก็บข้อมูลของ ID \"%i\"", "Invalid mount point" : "จุดเชื่อมต่อที่ไม่ถูกต้อง", "Invalid storage backend \"%s\"" : "การจัดเก็บข้อมูลแบ็กเอนด์ไม่ถูกต้อง \"%s\"", - "Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว", - "Error configuring Dropbox storage" : "เกิดข้อผิดพลาดในการกำหนดค่าพื้นที่จัดเก็บข้อมูล Dropbox", - "Grant access" : "อนุญาตให้เข้าถึงได้", - "Error configuring Google Drive storage" : "เกิดข้อผิดพลาดในการกำหนดค่าการจัดเก็บข้อมูลในพื้นที่ของ Google Drive", "Personal" : "ส่วนตัว", "System" : "ระบบ", + "Grant access" : "อนุญาตให้เข้าถึงได้", + "Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", @@ -63,8 +37,27 @@ "Saved" : "บันทึกแล้ว", "Generate keys" : "สร้างคีย์", "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", + "None" : "ไม่มี", + "App key" : "App key", + "App secret" : "App secret", + "Client ID" : "Client ID", + "Client secret" : "Client secret", + "Password" : "รหัสผ่าน", + "Amazon S3" : "Amazon S3", + "Hostname" : "ชื่อโฮสต์", + "Port" : "พอร์ต", + "Region" : "พื้นที่", + "Enable SSL" : "เปิดใช้งาน SSL", + "Enable Path Style" : "เปิดใช้งานสไตล์เส้นทาง", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "โหมดปลอดภัย https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "โหมดปลอดภัย ftps://", + "Local" : "ต้นทาง", + "Location" : "ตำแหน่งที่อยู่", + "ownCloud" : "ownCloud", "Note: " : "หมายเหตุ:", - "and" : "และ", "Note: 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 เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", "Note: 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 เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "หมายเหตุ: %s ไม่ได้ติดตั้ง การติดตั้ง %s เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", @@ -77,9 +70,9 @@ "Folder name" : "ชื่อโฟลเดอร์", "Configuration" : "การกำหนดค่า", "Available for" : "สามารถใช้ได้สำหรับ", - "Add storage" : "เพิ่มพื้นที่จัดเก็บข้อมูล", "Advanced settings" : "ตั้งค่าขั้นสูง", "Delete" : "ลบ", + "Add storage" : "เพิ่มพื้นที่จัดเก็บข้อมูล", "Enable User External Storage" : "เปิดให้มีการใช้พื้นที่จัดเก็บข้อมูลของผู้ใช้งานจากภายนอกได้", "Allow users to mount the following external storage" : "อนุญาตให้ผู้ใช้ติดตั้งจัดเก็บข้อมูลภายนอกต่อไปนี้" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/tr.js b/apps/files_external/l10n/tr.js index afd80de3b6..81418098ea 100644 --- a/apps/files_external/l10n/tr.js +++ b/apps/files_external/l10n/tr.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "İstek belirteçleri alınma işlemi başarısız. Dropbox app anahtarı ve parolasının doğru olduğundan emin olun.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Erişim belirteçleri alınma işlemi başarısız. Dropbox app anahtarı ve parolasının doğru olduğundan emin olun.", - "Please provide a valid Dropbox app key and secret." : "Lütfen Dropbox app key ve secret temin ediniz", "Step 1 failed. Exception: %s" : "Adım 1 başarısız. Özel durum: %s", "Step 2 failed. Exception: %s" : "Adım 2 başarısız. Özel durum: %s", "External storage" : "Harici depolama", - "Local" : "Yerel", - "Location" : "Konum", - "Amazon S3" : "Amazon S3", - "Key" : "Anahtar", - "Secret" : "Parola", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 ve uyumlu olanlar", - "Access Key" : "Erişim Anahtarı", - "Secret Key" : "Gizli Anahtar", - "Hostname" : "Makine adı", - "Port" : "Port", - "Region" : "Bölge", - "Enable SSL" : "SSL'yi Etkinleştir", - "Enable Path Style" : "Yol Biçemini Etkinleştir", - "App key" : "Uyg. anahtarı", - "App secret" : "Uyg. parolası", - "Host" : "Sunucu", - "Username" : "Kullanıcı Adı", - "Password" : "Parola", - "Remote subfolder" : "Uzak alt klasör", - "Secure ftps://" : "Güvenli ftps://", - "Client ID" : "İstemci kimliği", - "Client secret" : "İstemci parolası", "OpenStack Object Storage" : "OpenStack Nesne Depolama", + "Username" : "Kullanıcı Adı", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Bölge (OpenStack Nesne Depolaması için isteğe bağlı)", "API Key (required for Rackspace Cloud Files)" : "API Anahtarı (Rackspace Bulut Dosyaları için gerekli)", "Tenantname (required for OpenStack Object Storage)" : "Kiracı Adı (OpenStack Nesne Depolaması için gerekli)", @@ -38,22 +14,20 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Hizmet Adı (OpenStack Nesne Depolaması için gerekli)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Kimlik uç nokta adresi (OpenStack Nesne Depolaması için gerekli)", "Timeout of HTTP requests in seconds" : "Saniye cinsinden HTTP istek zaman aşımı", - "Share" : "Paylaş", "SMB / CIFS using OC login" : "OC oturumu kullanarak SMB / CIFS", + "Host" : "Sunucu", "Username as share" : "Paylaşım olarak kullanıcı adı", - "URL" : "URL", - "Secure https://" : "Güvenli https://", + "Share" : "Paylaş", + "Remote subfolder" : "Uzak alt klasör", "SFTP with secret key login" : "Gizli anahtar oturumu ile SFTP", "Public key" : "Ortak anahtar", "Storage with id \"%i\" not found" : "\"%i\" kimliği ile bir depolama bulunamadı", "Invalid mount point" : "Geçersiz bağlama noktası", "Invalid storage backend \"%s\"" : "Geçersiz depolama arka ucu \"%s\"", - "Access granted" : "Giriş kabul edildi", - "Error configuring Dropbox storage" : "Dropbox depo yapılandırma hatası", - "Grant access" : "Erişimi sağla", - "Error configuring Google Drive storage" : "Google Drive depo yapılandırma hatası", "Personal" : "Kişisel", "System" : "Sistem", + "Grant access" : "Erişimi sağla", + "Access granted" : "Giriş kabul edildi", "Enable encryption" : "Şifrelemeyi aç", "Enable previews" : "Önizlemeleri aç", "Check for changes" : "Değişiklikleri denetle", @@ -65,8 +39,28 @@ OC.L10N.register( "Saved" : "Kaydedildi", "Generate keys" : "Anahtarlar üret", "Error generating key pair" : "Anahtar çifti üretirken hata", + "None" : "Hiçbiri", + "App key" : "Uyg. anahtarı", + "App secret" : "Uyg. parolası", + "Client ID" : "İstemci kimliği", + "Client secret" : "İstemci parolası", + "Password" : "Parola", + "Amazon S3" : "Amazon S3", + "Hostname" : "Makine adı", + "Port" : "Port", + "Region" : "Bölge", + "Enable SSL" : "SSL'yi Etkinleştir", + "Enable Path Style" : "Yol Biçemini Etkinleştir", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Güvenli https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Güvenli ftps://", + "Local" : "Yerel", + "Location" : "Konum", + "ownCloud" : "ownCloud", + "Root" : "Kök", "Note: " : "Not: ", - "and" : "ve", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Not: PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Not: PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Not: \"%s\" kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", @@ -79,9 +73,9 @@ OC.L10N.register( "Folder name" : "Klasör ismi", "Configuration" : "Yapılandırma", "Available for" : "Kullanabilenler", - "Add storage" : "Depo ekle", "Advanced settings" : "Gelişmiş ayarlar", "Delete" : "Sil", + "Add storage" : "Depo ekle", "Enable User External Storage" : "Kullanıcılar için Harici Depolamayı Etkinleştir", "Allow users to mount the following external storage" : "Kullanıcıların aşağıdaki harici depolamayı bağlamalarına izin ver" }, diff --git a/apps/files_external/l10n/tr.json b/apps/files_external/l10n/tr.json index 07fa89651d..48349335bf 100644 --- a/apps/files_external/l10n/tr.json +++ b/apps/files_external/l10n/tr.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "İstek belirteçleri alınma işlemi başarısız. Dropbox app anahtarı ve parolasının doğru olduğundan emin olun.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Erişim belirteçleri alınma işlemi başarısız. Dropbox app anahtarı ve parolasının doğru olduğundan emin olun.", - "Please provide a valid Dropbox app key and secret." : "Lütfen Dropbox app key ve secret temin ediniz", "Step 1 failed. Exception: %s" : "Adım 1 başarısız. Özel durum: %s", "Step 2 failed. Exception: %s" : "Adım 2 başarısız. Özel durum: %s", "External storage" : "Harici depolama", - "Local" : "Yerel", - "Location" : "Konum", - "Amazon S3" : "Amazon S3", - "Key" : "Anahtar", - "Secret" : "Parola", - "Bucket" : "Bucket", - "Amazon S3 and compliant" : "Amazon S3 ve uyumlu olanlar", - "Access Key" : "Erişim Anahtarı", - "Secret Key" : "Gizli Anahtar", - "Hostname" : "Makine adı", - "Port" : "Port", - "Region" : "Bölge", - "Enable SSL" : "SSL'yi Etkinleştir", - "Enable Path Style" : "Yol Biçemini Etkinleştir", - "App key" : "Uyg. anahtarı", - "App secret" : "Uyg. parolası", - "Host" : "Sunucu", - "Username" : "Kullanıcı Adı", - "Password" : "Parola", - "Remote subfolder" : "Uzak alt klasör", - "Secure ftps://" : "Güvenli ftps://", - "Client ID" : "İstemci kimliği", - "Client secret" : "İstemci parolası", "OpenStack Object Storage" : "OpenStack Nesne Depolama", + "Username" : "Kullanıcı Adı", + "Bucket" : "Bucket", "Region (optional for OpenStack Object Storage)" : "Bölge (OpenStack Nesne Depolaması için isteğe bağlı)", "API Key (required for Rackspace Cloud Files)" : "API Anahtarı (Rackspace Bulut Dosyaları için gerekli)", "Tenantname (required for OpenStack Object Storage)" : "Kiracı Adı (OpenStack Nesne Depolaması için gerekli)", @@ -36,22 +12,20 @@ "Service Name (required for OpenStack Object Storage)" : "Hizmet Adı (OpenStack Nesne Depolaması için gerekli)", "URL of identity endpoint (required for OpenStack Object Storage)" : "Kimlik uç nokta adresi (OpenStack Nesne Depolaması için gerekli)", "Timeout of HTTP requests in seconds" : "Saniye cinsinden HTTP istek zaman aşımı", - "Share" : "Paylaş", "SMB / CIFS using OC login" : "OC oturumu kullanarak SMB / CIFS", + "Host" : "Sunucu", "Username as share" : "Paylaşım olarak kullanıcı adı", - "URL" : "URL", - "Secure https://" : "Güvenli https://", + "Share" : "Paylaş", + "Remote subfolder" : "Uzak alt klasör", "SFTP with secret key login" : "Gizli anahtar oturumu ile SFTP", "Public key" : "Ortak anahtar", "Storage with id \"%i\" not found" : "\"%i\" kimliği ile bir depolama bulunamadı", "Invalid mount point" : "Geçersiz bağlama noktası", "Invalid storage backend \"%s\"" : "Geçersiz depolama arka ucu \"%s\"", - "Access granted" : "Giriş kabul edildi", - "Error configuring Dropbox storage" : "Dropbox depo yapılandırma hatası", - "Grant access" : "Erişimi sağla", - "Error configuring Google Drive storage" : "Google Drive depo yapılandırma hatası", "Personal" : "Kişisel", "System" : "Sistem", + "Grant access" : "Erişimi sağla", + "Access granted" : "Giriş kabul edildi", "Enable encryption" : "Şifrelemeyi aç", "Enable previews" : "Önizlemeleri aç", "Check for changes" : "Değişiklikleri denetle", @@ -63,8 +37,28 @@ "Saved" : "Kaydedildi", "Generate keys" : "Anahtarlar üret", "Error generating key pair" : "Anahtar çifti üretirken hata", + "None" : "Hiçbiri", + "App key" : "Uyg. anahtarı", + "App secret" : "Uyg. parolası", + "Client ID" : "İstemci kimliği", + "Client secret" : "İstemci parolası", + "Password" : "Parola", + "Amazon S3" : "Amazon S3", + "Hostname" : "Makine adı", + "Port" : "Port", + "Region" : "Bölge", + "Enable SSL" : "SSL'yi Etkinleştir", + "Enable Path Style" : "Yol Biçemini Etkinleştir", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Güvenli https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Güvenli ftps://", + "Local" : "Yerel", + "Location" : "Konum", + "ownCloud" : "ownCloud", + "Root" : "Kök", "Note: " : "Not: ", - "and" : "ve", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Not: PHP'de cURL desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Not: PHP'de FTP desteği etkin veya kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Not: \"%s\" kurulu değil. %s bağlaması mümkün olmayacak. Lütfen kurulumu için sistem yöneticilerinizle iletişime geçin.", @@ -77,9 +71,9 @@ "Folder name" : "Klasör ismi", "Configuration" : "Yapılandırma", "Available for" : "Kullanabilenler", - "Add storage" : "Depo ekle", "Advanced settings" : "Gelişmiş ayarlar", "Delete" : "Sil", + "Add storage" : "Depo ekle", "Enable User External Storage" : "Kullanıcılar için Harici Depolamayı Etkinleştir", "Allow users to mount the following external storage" : "Kullanıcıların aşağıdaki harici depolamayı bağlamalarına izin ver" },"pluralForm" :"nplurals=2; plural=(n > 1);" diff --git a/apps/files_external/l10n/ug.js b/apps/files_external/l10n/ug.js index a1a5dc648b..5f3babc62b 100644 --- a/apps/files_external/l10n/ug.js +++ b/apps/files_external/l10n/ug.js @@ -2,14 +2,17 @@ OC.L10N.register( "files_external", { "External storage" : "سىرتقى ساقلىغۇچ", - "Location" : "ئورنى", - "Port" : "ئېغىز", - "Host" : "باش ئاپپارات", "Username" : "ئىشلەتكۈچى ئاتى", - "Password" : "ئىم", + "Host" : "باش ئاپپارات", "Share" : "ھەمبەھىر", - "URL" : "URL", "Personal" : "شەخسىي", + "None" : "يوق", + "Password" : "ئىم", + "Port" : "ئېغىز", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "ئورنى", + "ownCloud" : "ownCloud", "Name" : "ئاتى", "Folder name" : "قىسقۇچ ئاتى", "Configuration" : "سەپلىمە", diff --git a/apps/files_external/l10n/ug.json b/apps/files_external/l10n/ug.json index d6923a8659..129e146763 100644 --- a/apps/files_external/l10n/ug.json +++ b/apps/files_external/l10n/ug.json @@ -1,13 +1,16 @@ { "translations": { "External storage" : "سىرتقى ساقلىغۇچ", - "Location" : "ئورنى", - "Port" : "ئېغىز", - "Host" : "باش ئاپپارات", "Username" : "ئىشلەتكۈچى ئاتى", - "Password" : "ئىم", + "Host" : "باش ئاپپارات", "Share" : "ھەمبەھىر", - "URL" : "URL", "Personal" : "شەخسىي", + "None" : "يوق", + "Password" : "ئىم", + "Port" : "ئېغىز", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Location" : "ئورنى", + "ownCloud" : "ownCloud", "Name" : "ئاتى", "Folder name" : "قىسقۇچ ئاتى", "Configuration" : "سەپلىمە", diff --git a/apps/files_external/l10n/uk.js b/apps/files_external/l10n/uk.js index 6e061a0526..2ed42a012d 100644 --- a/apps/files_external/l10n/uk.js +++ b/apps/files_external/l10n/uk.js @@ -1,36 +1,12 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Помилка при отримані токенів. Перевірте правильність вашого секретного ключа та ключ додатка.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Помилка при отримані токена доступу. Перевірте правильність вашого секретного ключа та ключ додатка.", - "Please provide a valid Dropbox app key and secret." : "Будь ласка, надайте дійсний ключ та пароль Dropbox.", "Step 1 failed. Exception: %s" : "1-й крок невдалий. Виключення: %s", "Step 2 failed. Exception: %s" : "2-й крок невдалий. Виключення: %s", "External storage" : "Зовнішнє сховище", - "Local" : "Локально", - "Location" : "Місце", - "Amazon S3" : "Amazon S3", - "Key" : "Ключ", - "Secret" : "Секрет", - "Bucket" : "Кошик", - "Amazon S3 and compliant" : "Amazon S3 та сумісний", - "Access Key" : "Ключ доступу", - "Secret Key" : "Секретний ключ", - "Hostname" : "Ім'я хоста", - "Port" : "Порт", - "Region" : "Регіон", - "Enable SSL" : "Включити SSL", - "Enable Path Style" : "Включити стиль шляху", - "App key" : "Ключ додатку", - "App secret" : "Секретний ключ додатку", - "Host" : "Хост", - "Username" : "Ім'я користувача", - "Password" : "Пароль", - "Remote subfolder" : "Віддалений підкаталог", - "Secure ftps://" : "Захищений ftps://", - "Client ID" : "Ідентифікатор клієнта", - "Client secret" : "Ключ клієнта", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Ім'я користувача", + "Bucket" : "Кошик", "Region (optional for OpenStack Object Storage)" : "Регіон (опціонально для OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Ключ API (обов'язково для Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Ім'я орендатора (обов'язково для OpenStack Object Storage)", @@ -38,29 +14,47 @@ OC.L10N.register( "Service Name (required for OpenStack Object Storage)" : "Назва сервісу (обов’язково для OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL підтвердження кінцевої точки (обов'язково для OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Тайм-аут HTTP запитів на секунду", - "Share" : "Поділитися", "SMB / CIFS using OC login" : "SMB / CIFS з використанням логіна OC", + "Host" : "Хост", "Username as share" : "Ім'я для відкритого доступу", - "URL" : "URL", - "Secure https://" : "Захищений https://", + "Share" : "Поділитися", + "Remote subfolder" : "Віддалений підкаталог", "Public key" : "Відкритий ключ", "Storage with id \"%i\" not found" : "Сховище з id \"%i\" не знайдено", "Invalid mount point" : "Невірна точка монтування", "Invalid storage backend \"%s\"" : "Невірне сховище \"%s\"", - "Access granted" : "Доступ дозволено", - "Error configuring Dropbox storage" : "Помилка при налаштуванні сховища Dropbox", - "Grant access" : "Дозволити доступ", - "Error configuring Google Drive storage" : "Помилка при налаштуванні сховища Google Drive", "Personal" : "Особисте", "System" : "Система", + "Grant access" : "Дозволити доступ", + "Access granted" : "Доступ дозволено", "Enable encryption" : "Увімкнути шифрування", "All users. Type to select user or group." : "Всі користувачі. Введіть ім'я користувача або групи.", "(group)" : "(група)", "Saved" : "Збережено", "Generate keys" : "Створити ключі", "Error generating key pair" : "Помилка створення ключової пари", + "None" : "Жоден", + "App key" : "Ключ додатку", + "App secret" : "Секретний ключ додатку", + "Client ID" : "Ідентифікатор клієнта", + "Client secret" : "Ключ клієнта", + "Password" : "Пароль", + "Amazon S3" : "Amazon S3", + "Hostname" : "Ім'я хоста", + "Port" : "Порт", + "Region" : "Регіон", + "Enable SSL" : "Включити SSL", + "Enable Path Style" : "Включити стиль шляху", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Захищений https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Захищений ftps://", + "Local" : "Локально", + "Location" : "Місце", + "ownCloud" : "ownCloud", + "Root" : "Батьківський каталог", "Note: " : "Примітка:", - "and" : "і", "Note: 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 неможливо. Зверніться до системного адміністратора.", "Note: 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 неможливо. Зверніться до системного адміністратора.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Примітка: \"%s\" не встановлено. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", @@ -73,9 +67,9 @@ OC.L10N.register( "Folder name" : "Ім'я теки", "Configuration" : "Налаштування", "Available for" : "Доступний для", - "Add storage" : "Додати сховище", "Advanced settings" : "Розширені налаштування", "Delete" : "Видалити", + "Add storage" : "Додати сховище", "Enable User External Storage" : "Активувати користувацькі зовнішні сховища", "Allow users to mount the following external storage" : "Дозволити користувачам монтувати наступні зовнішні сховища" }, diff --git a/apps/files_external/l10n/uk.json b/apps/files_external/l10n/uk.json index bb7c337595..6024c5b02d 100644 --- a/apps/files_external/l10n/uk.json +++ b/apps/files_external/l10n/uk.json @@ -1,34 +1,10 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Помилка при отримані токенів. Перевірте правильність вашого секретного ключа та ключ додатка.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Помилка при отримані токена доступу. Перевірте правильність вашого секретного ключа та ключ додатка.", - "Please provide a valid Dropbox app key and secret." : "Будь ласка, надайте дійсний ключ та пароль Dropbox.", "Step 1 failed. Exception: %s" : "1-й крок невдалий. Виключення: %s", "Step 2 failed. Exception: %s" : "2-й крок невдалий. Виключення: %s", "External storage" : "Зовнішнє сховище", - "Local" : "Локально", - "Location" : "Місце", - "Amazon S3" : "Amazon S3", - "Key" : "Ключ", - "Secret" : "Секрет", - "Bucket" : "Кошик", - "Amazon S3 and compliant" : "Amazon S3 та сумісний", - "Access Key" : "Ключ доступу", - "Secret Key" : "Секретний ключ", - "Hostname" : "Ім'я хоста", - "Port" : "Порт", - "Region" : "Регіон", - "Enable SSL" : "Включити SSL", - "Enable Path Style" : "Включити стиль шляху", - "App key" : "Ключ додатку", - "App secret" : "Секретний ключ додатку", - "Host" : "Хост", - "Username" : "Ім'я користувача", - "Password" : "Пароль", - "Remote subfolder" : "Віддалений підкаталог", - "Secure ftps://" : "Захищений ftps://", - "Client ID" : "Ідентифікатор клієнта", - "Client secret" : "Ключ клієнта", "OpenStack Object Storage" : "OpenStack Object Storage", + "Username" : "Ім'я користувача", + "Bucket" : "Кошик", "Region (optional for OpenStack Object Storage)" : "Регіон (опціонально для OpenStack Object Storage)", "API Key (required for Rackspace Cloud Files)" : "Ключ API (обов'язково для Rackspace Cloud Files)", "Tenantname (required for OpenStack Object Storage)" : "Ім'я орендатора (обов'язково для OpenStack Object Storage)", @@ -36,29 +12,47 @@ "Service Name (required for OpenStack Object Storage)" : "Назва сервісу (обов’язково для OpenStack Object Storage)", "URL of identity endpoint (required for OpenStack Object Storage)" : "URL підтвердження кінцевої точки (обов'язково для OpenStack Object Storage)", "Timeout of HTTP requests in seconds" : "Тайм-аут HTTP запитів на секунду", - "Share" : "Поділитися", "SMB / CIFS using OC login" : "SMB / CIFS з використанням логіна OC", + "Host" : "Хост", "Username as share" : "Ім'я для відкритого доступу", - "URL" : "URL", - "Secure https://" : "Захищений https://", + "Share" : "Поділитися", + "Remote subfolder" : "Віддалений підкаталог", "Public key" : "Відкритий ключ", "Storage with id \"%i\" not found" : "Сховище з id \"%i\" не знайдено", "Invalid mount point" : "Невірна точка монтування", "Invalid storage backend \"%s\"" : "Невірне сховище \"%s\"", - "Access granted" : "Доступ дозволено", - "Error configuring Dropbox storage" : "Помилка при налаштуванні сховища Dropbox", - "Grant access" : "Дозволити доступ", - "Error configuring Google Drive storage" : "Помилка при налаштуванні сховища Google Drive", "Personal" : "Особисте", "System" : "Система", + "Grant access" : "Дозволити доступ", + "Access granted" : "Доступ дозволено", "Enable encryption" : "Увімкнути шифрування", "All users. Type to select user or group." : "Всі користувачі. Введіть ім'я користувача або групи.", "(group)" : "(група)", "Saved" : "Збережено", "Generate keys" : "Створити ключі", "Error generating key pair" : "Помилка створення ключової пари", + "None" : "Жоден", + "App key" : "Ключ додатку", + "App secret" : "Секретний ключ додатку", + "Client ID" : "Ідентифікатор клієнта", + "Client secret" : "Ключ клієнта", + "Password" : "Пароль", + "Amazon S3" : "Amazon S3", + "Hostname" : "Ім'я хоста", + "Port" : "Порт", + "Region" : "Регіон", + "Enable SSL" : "Включити SSL", + "Enable Path Style" : "Включити стиль шляху", + "WebDAV" : "WebDAV", + "URL" : "URL", + "Secure https://" : "Захищений https://", + "Dropbox" : "Dropbox", + "Secure ftps://" : "Захищений ftps://", + "Local" : "Локально", + "Location" : "Місце", + "ownCloud" : "ownCloud", + "Root" : "Батьківський каталог", "Note: " : "Примітка:", - "and" : "і", "Note: 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 неможливо. Зверніться до системного адміністратора.", "Note: 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 неможливо. Зверніться до системного адміністратора.", "Note: \"%s\" is not installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Примітка: \"%s\" не встановлено. Під'єднатися до %s неможливо. Зверніться до системного адміністратора.", @@ -71,9 +65,9 @@ "Folder name" : "Ім'я теки", "Configuration" : "Налаштування", "Available for" : "Доступний для", - "Add storage" : "Додати сховище", "Advanced settings" : "Розширені налаштування", "Delete" : "Видалити", + "Add storage" : "Додати сховище", "Enable User External Storage" : "Активувати користувацькі зовнішні сховища", "Allow users to mount the following external storage" : "Дозволити користувачам монтувати наступні зовнішні сховища" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);" diff --git a/apps/files_external/l10n/ur_PK.js b/apps/files_external/l10n/ur_PK.js index 1955460809..b0571dbf19 100644 --- a/apps/files_external/l10n/ur_PK.js +++ b/apps/files_external/l10n/ur_PK.js @@ -1,12 +1,12 @@ OC.L10N.register( "files_external", { - "Location" : "مقام", "Username" : "یوزر نیم", - "Password" : "پاسورڈ", "Share" : "تقسیم", - "URL" : "یو ار ایل", "Personal" : "شخصی", + "Password" : "پاسورڈ", + "URL" : "یو ار ایل", + "Location" : "مقام", "Name" : "اسم", "Delete" : "حذف کریں" }, diff --git a/apps/files_external/l10n/ur_PK.json b/apps/files_external/l10n/ur_PK.json index c4df8947bd..f9a4d5e26e 100644 --- a/apps/files_external/l10n/ur_PK.json +++ b/apps/files_external/l10n/ur_PK.json @@ -1,10 +1,10 @@ { "translations": { - "Location" : "مقام", "Username" : "یوزر نیم", - "Password" : "پاسورڈ", "Share" : "تقسیم", - "URL" : "یو ار ایل", "Personal" : "شخصی", + "Password" : "پاسورڈ", + "URL" : "یو ار ایل", + "Location" : "مقام", "Name" : "اسم", "Delete" : "حذف کریں" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_external/l10n/vi.js b/apps/files_external/l10n/vi.js index 9c9405ba2b..6701ba4f32 100644 --- a/apps/files_external/l10n/vi.js +++ b/apps/files_external/l10n/vi.js @@ -1,30 +1,28 @@ OC.L10N.register( "files_external", { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Yêu cầu tokens thất bại. Xác minh key và mã bí mật ứng dụng Dropbox của bạn là chính xác.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Yêu cầu tokens thất bại. Xác minh key và mã bí mật ứng dụng Dropbox của bạn là chính xác.", - "Please provide a valid Dropbox app key and secret." : "Xin vui lòng cung cấp một ứng dụng Dropbox hợp lệ và mã bí mật.", "External storage" : "Lưu trữ ngoài", - "Location" : "Vị trí", + "Username" : "Tên đăng nhập", + "Host" : "Máy chủ", + "Share" : "Chia sẻ", + "Personal" : "Cá nhân", + "Grant access" : "Cấp quyền truy cập", + "Access granted" : "Đã cấp quyền truy cập", + "Saved" : "Đã lưu", + "None" : "Không gì cả", + "Password" : "Mật khẩu", "Port" : "Cổng", "Region" : "Vùng/miền", - "Host" : "Máy chủ", - "Username" : "Tên đăng nhập", - "Password" : "Mật khẩu", - "Share" : "Chia sẻ", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "Đã cấp quyền truy cập", - "Error configuring Dropbox storage" : "Lỗi cấu hình lưu trữ Dropbox ", - "Grant access" : "Cấp quyền truy cập", - "Error configuring Google Drive storage" : "Lỗi cấu hình lưu trữ Google Drive", - "Personal" : "Cá nhân", - "Saved" : "Đã lưu", + "Location" : "Vị trí", + "ownCloud" : "ownCloud", "Name" : "Tên", "External Storage" : "Lưu trữ ngoài", "Folder name" : "Tên thư mục", "Configuration" : "Cấu hình", - "Add storage" : "Thêm bộ nhớ", "Delete" : "Xóa", + "Add storage" : "Thêm bộ nhớ", "Enable User External Storage" : "Kích hoạt tính năng lưu trữ ngoài" }, "nplurals=1; plural=0;"); diff --git a/apps/files_external/l10n/vi.json b/apps/files_external/l10n/vi.json index fa45495d07..6a64339929 100644 --- a/apps/files_external/l10n/vi.json +++ b/apps/files_external/l10n/vi.json @@ -1,28 +1,26 @@ { "translations": { - "Fetching request tokens failed. Verify that your Dropbox app key and secret are correct." : "Yêu cầu tokens thất bại. Xác minh key và mã bí mật ứng dụng Dropbox của bạn là chính xác.", - "Fetching access tokens failed. Verify that your Dropbox app key and secret are correct." : "Yêu cầu tokens thất bại. Xác minh key và mã bí mật ứng dụng Dropbox của bạn là chính xác.", - "Please provide a valid Dropbox app key and secret." : "Xin vui lòng cung cấp một ứng dụng Dropbox hợp lệ và mã bí mật.", "External storage" : "Lưu trữ ngoài", - "Location" : "Vị trí", + "Username" : "Tên đăng nhập", + "Host" : "Máy chủ", + "Share" : "Chia sẻ", + "Personal" : "Cá nhân", + "Grant access" : "Cấp quyền truy cập", + "Access granted" : "Đã cấp quyền truy cập", + "Saved" : "Đã lưu", + "None" : "Không gì cả", + "Password" : "Mật khẩu", "Port" : "Cổng", "Region" : "Vùng/miền", - "Host" : "Máy chủ", - "Username" : "Tên đăng nhập", - "Password" : "Mật khẩu", - "Share" : "Chia sẻ", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "Đã cấp quyền truy cập", - "Error configuring Dropbox storage" : "Lỗi cấu hình lưu trữ Dropbox ", - "Grant access" : "Cấp quyền truy cập", - "Error configuring Google Drive storage" : "Lỗi cấu hình lưu trữ Google Drive", - "Personal" : "Cá nhân", - "Saved" : "Đã lưu", + "Location" : "Vị trí", + "ownCloud" : "ownCloud", "Name" : "Tên", "External Storage" : "Lưu trữ ngoài", "Folder name" : "Tên thư mục", "Configuration" : "Cấu hình", - "Add storage" : "Thêm bộ nhớ", "Delete" : "Xóa", + "Add storage" : "Thêm bộ nhớ", "Enable User External Storage" : "Kích hoạt tính năng lưu trữ ngoài" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files_external/l10n/zh_CN.js b/apps/files_external/l10n/zh_CN.js index 0b2731fd91..43941ac917 100644 --- a/apps/files_external/l10n/zh_CN.js +++ b/apps/files_external/l10n/zh_CN.js @@ -1,38 +1,36 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "请提供有效的Dropbox应用key和secret", "Step 1 failed. Exception: %s" : "步骤 1 失败。异常:%s", "Step 2 failed. Exception: %s" : "步骤 2 失败。异常:%s", "External storage" : "外部存储", - "Local" : "本地", - "Location" : "地点", + "OpenStack Object Storage" : "OpenStack 对象存储", + "Username" : "用户名", + "SMB / CIFS using OC login" : "SMB / CIFS 使用 OC 登录信息", + "Host" : "主机", + "Share" : "共享", + "Remote subfolder" : "远程子文件夹", + "Personal" : "个人", + "System" : "系统", + "Grant access" : "授权", + "Access granted" : "权限已授予。", + "Enable encryption" : "启用加密", + "Saved" : "已保存", + "None" : "无", + "Password" : "密码", "Amazon S3" : "Amazon S3", - "Amazon S3 and compliant" : "Amazon S3 和兼容协议", - "Access Key" : "访问密钥", - "Secret Key" : "秘钥", "Port" : "端口", "Region" : "地区", "Enable SSL" : "启用 SSL", "Enable Path Style" : "启用 Path Style", - "Host" : "主机", - "Username" : "用户名", - "Password" : "密码", - "Remote subfolder" : "远程子文件夹", - "Secure ftps://" : "安全 ftps://", - "OpenStack Object Storage" : "OpenStack 对象存储", - "Share" : "共享", - "SMB / CIFS using OC login" : "SMB / CIFS 使用 OC 登录信息", + "WebDAV" : "WebDAV", "URL" : "URL", "Secure https://" : "安全 https://", - "Access granted" : "权限已授予。", - "Error configuring Dropbox storage" : "配置Dropbox存储时出错", - "Grant access" : "授权", - "Error configuring Google Drive storage" : "配置Google Drive存储时出错", - "Personal" : "个人", - "System" : "系统", - "Enable encryption" : "启用加密", - "Saved" : "已保存", + "Secure ftps://" : "安全 ftps://", + "Local" : "本地", + "Location" : "地点", + "ownCloud" : "ownCloud", + "Root" : "根路径", "Note: " : "注意:", "Name" : "名称", "Storage type" : "存储类型", @@ -41,8 +39,8 @@ OC.L10N.register( "Folder name" : "目录名称", "Configuration" : "配置", "Available for" : "可用于", - "Add storage" : "增加存储", "Delete" : "删除", + "Add storage" : "增加存储", "Enable User External Storage" : "启用用户外部存储", "Allow users to mount the following external storage" : "允许用户挂载以下外部存储" }, diff --git a/apps/files_external/l10n/zh_CN.json b/apps/files_external/l10n/zh_CN.json index 6d84233226..1840256813 100644 --- a/apps/files_external/l10n/zh_CN.json +++ b/apps/files_external/l10n/zh_CN.json @@ -1,36 +1,34 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "请提供有效的Dropbox应用key和secret", "Step 1 failed. Exception: %s" : "步骤 1 失败。异常:%s", "Step 2 failed. Exception: %s" : "步骤 2 失败。异常:%s", "External storage" : "外部存储", - "Local" : "本地", - "Location" : "地点", + "OpenStack Object Storage" : "OpenStack 对象存储", + "Username" : "用户名", + "SMB / CIFS using OC login" : "SMB / CIFS 使用 OC 登录信息", + "Host" : "主机", + "Share" : "共享", + "Remote subfolder" : "远程子文件夹", + "Personal" : "个人", + "System" : "系统", + "Grant access" : "授权", + "Access granted" : "权限已授予。", + "Enable encryption" : "启用加密", + "Saved" : "已保存", + "None" : "无", + "Password" : "密码", "Amazon S3" : "Amazon S3", - "Amazon S3 and compliant" : "Amazon S3 和兼容协议", - "Access Key" : "访问密钥", - "Secret Key" : "秘钥", "Port" : "端口", "Region" : "地区", "Enable SSL" : "启用 SSL", "Enable Path Style" : "启用 Path Style", - "Host" : "主机", - "Username" : "用户名", - "Password" : "密码", - "Remote subfolder" : "远程子文件夹", - "Secure ftps://" : "安全 ftps://", - "OpenStack Object Storage" : "OpenStack 对象存储", - "Share" : "共享", - "SMB / CIFS using OC login" : "SMB / CIFS 使用 OC 登录信息", + "WebDAV" : "WebDAV", "URL" : "URL", "Secure https://" : "安全 https://", - "Access granted" : "权限已授予。", - "Error configuring Dropbox storage" : "配置Dropbox存储时出错", - "Grant access" : "授权", - "Error configuring Google Drive storage" : "配置Google Drive存储时出错", - "Personal" : "个人", - "System" : "系统", - "Enable encryption" : "启用加密", - "Saved" : "已保存", + "Secure ftps://" : "安全 ftps://", + "Local" : "本地", + "Location" : "地点", + "ownCloud" : "ownCloud", + "Root" : "根路径", "Note: " : "注意:", "Name" : "名称", "Storage type" : "存储类型", @@ -39,8 +37,8 @@ "Folder name" : "目录名称", "Configuration" : "配置", "Available for" : "可用于", - "Add storage" : "增加存储", "Delete" : "删除", + "Add storage" : "增加存储", "Enable User External Storage" : "启用用户外部存储", "Allow users to mount the following external storage" : "允许用户挂载以下外部存储" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_external/l10n/zh_HK.js b/apps/files_external/l10n/zh_HK.js index 9ad4b8a7bc..ffeaab660a 100644 --- a/apps/files_external/l10n/zh_HK.js +++ b/apps/files_external/l10n/zh_HK.js @@ -1,14 +1,16 @@ OC.L10N.register( "files_external", { - "Port" : "連接埠", - "Host" : "主機", "Username" : "用戶名稱", - "Password" : "密碼", + "Host" : "主機", "Share" : "分享", - "URL" : "網址", "Personal" : "個人", "Saved" : "已儲存", + "None" : "空", + "Password" : "密碼", + "Port" : "連接埠", + "WebDAV" : "WebDAV", + "URL" : "網址", "Name" : "名稱", "Folder name" : "資料夾名稱", "Delete" : "刪除" diff --git a/apps/files_external/l10n/zh_HK.json b/apps/files_external/l10n/zh_HK.json index 955170d618..5ad37c4092 100644 --- a/apps/files_external/l10n/zh_HK.json +++ b/apps/files_external/l10n/zh_HK.json @@ -1,12 +1,14 @@ { "translations": { - "Port" : "連接埠", - "Host" : "主機", "Username" : "用戶名稱", - "Password" : "密碼", + "Host" : "主機", "Share" : "分享", - "URL" : "網址", "Personal" : "個人", "Saved" : "已儲存", + "None" : "空", + "Password" : "密碼", + "Port" : "連接埠", + "WebDAV" : "WebDAV", + "URL" : "網址", "Name" : "名稱", "Folder name" : "資料夾名稱", "Delete" : "刪除" diff --git a/apps/files_external/l10n/zh_TW.js b/apps/files_external/l10n/zh_TW.js index 22c213ad5c..61874198eb 100644 --- a/apps/files_external/l10n/zh_TW.js +++ b/apps/files_external/l10n/zh_TW.js @@ -1,29 +1,26 @@ OC.L10N.register( "files_external", { - "Please provide a valid Dropbox app key and secret." : "請提供有效的 Dropbox app key 和 app secret 。", "External storage" : "外部儲存", - "Local" : "本地", - "Location" : "地點", + "Username" : "使用者名稱", + "Host" : "主機", + "Share" : "分享", + "Personal" : "個人", + "System" : "系統", + "Grant access" : "允許存取", + "Access granted" : "允許存取", + "Saved" : "已儲存", + "None" : "無", + "Password" : "密碼", "Amazon S3" : "Amazon S3", - "Key" : "鑰", - "Secret" : "密", - "Secret Key" : "密鑰", "Port" : "連接埠", "Region" : "地區", "Enable SSL" : "啟用 SSL", - "Host" : "主機", - "Username" : "使用者名稱", - "Password" : "密碼", - "Share" : "分享", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "允許存取", - "Error configuring Dropbox storage" : "設定 Dropbox 儲存時發生錯誤", - "Grant access" : "允許存取", - "Error configuring Google Drive storage" : "設定 Google Drive 儲存時發生錯誤", - "Personal" : "個人", - "System" : "系統", - "Saved" : "已儲存", + "Local" : "本地", + "Location" : "地點", + "ownCloud" : "ownCloud", "Note: " : "警告: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "警告: PHP 並未啓用 Curl 的支援,因此無法掛載 %s 。請洽您的系統管理員將其安裝並啓用。", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "警告:PHP 並未啓用 FTP 的支援,因此無法掛載 %s,請洽您的系統管理員將其安裝並啓用。", @@ -33,8 +30,8 @@ OC.L10N.register( "Folder name" : "資料夾名稱", "Configuration" : "設定", "Available for" : "可用的", - "Add storage" : "增加儲存區", "Delete" : "刪除", + "Add storage" : "增加儲存區", "Enable User External Storage" : "啓用使用者外部儲存", "Allow users to mount the following external storage" : "允許使用者自行掛載以下的外部儲存" }, diff --git a/apps/files_external/l10n/zh_TW.json b/apps/files_external/l10n/zh_TW.json index 84d1abf182..28bb079fc7 100644 --- a/apps/files_external/l10n/zh_TW.json +++ b/apps/files_external/l10n/zh_TW.json @@ -1,27 +1,24 @@ { "translations": { - "Please provide a valid Dropbox app key and secret." : "請提供有效的 Dropbox app key 和 app secret 。", "External storage" : "外部儲存", - "Local" : "本地", - "Location" : "地點", + "Username" : "使用者名稱", + "Host" : "主機", + "Share" : "分享", + "Personal" : "個人", + "System" : "系統", + "Grant access" : "允許存取", + "Access granted" : "允許存取", + "Saved" : "已儲存", + "None" : "無", + "Password" : "密碼", "Amazon S3" : "Amazon S3", - "Key" : "鑰", - "Secret" : "密", - "Secret Key" : "密鑰", "Port" : "連接埠", "Region" : "地區", "Enable SSL" : "啟用 SSL", - "Host" : "主機", - "Username" : "使用者名稱", - "Password" : "密碼", - "Share" : "分享", + "WebDAV" : "WebDAV", "URL" : "URL", - "Access granted" : "允許存取", - "Error configuring Dropbox storage" : "設定 Dropbox 儲存時發生錯誤", - "Grant access" : "允許存取", - "Error configuring Google Drive storage" : "設定 Google Drive 儲存時發生錯誤", - "Personal" : "個人", - "System" : "系統", - "Saved" : "已儲存", + "Local" : "本地", + "Location" : "地點", + "ownCloud" : "ownCloud", "Note: " : "警告: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "警告: PHP 並未啓用 Curl 的支援,因此無法掛載 %s 。請洽您的系統管理員將其安裝並啓用。", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "警告:PHP 並未啓用 FTP 的支援,因此無法掛載 %s,請洽您的系統管理員將其安裝並啓用。", @@ -31,8 +28,8 @@ "Folder name" : "資料夾名稱", "Configuration" : "設定", "Available for" : "可用的", - "Add storage" : "增加儲存區", "Delete" : "刪除", + "Add storage" : "增加儲存區", "Enable User External Storage" : "啓用使用者外部儲存", "Allow users to mount the following external storage" : "允許使用者自行掛載以下的外部儲存" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/apps/files_sharing/l10n/af_ZA.js b/apps/files_sharing/l10n/af_ZA.js index 4a732284a8..4e05c59835 100644 --- a/apps/files_sharing/l10n/af_ZA.js +++ b/apps/files_sharing/l10n/af_ZA.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Kanseleer", - "Share" : "Deel", "Password" : "Wagwoord" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/af_ZA.json b/apps/files_sharing/l10n/af_ZA.json index 9ee5e10493..1e959e1544 100644 --- a/apps/files_sharing/l10n/af_ZA.json +++ b/apps/files_sharing/l10n/af_ZA.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "Kanseleer", - "Share" : "Deel", "Password" : "Wagwoord" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_sharing/l10n/ar.js b/apps/files_sharing/l10n/ar.js index b507d91a2b..376526356d 100644 --- a/apps/files_sharing/l10n/ar.js +++ b/apps/files_sharing/l10n/ar.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "إلغاء", - "Share" : "شارك", "Shared by" : "تم مشاركتها بواسطة", + "Sharing" : "مشاركة", "A file or folder has been shared" : "ملف أو مجلد تم مشاركته ", "You shared %1$s with %2$s" : "شاركت %1$s مع %2$s", "You shared %1$s with group %2$s" : "أنت شاركت %1$s مع مجموعة %2$s", diff --git a/apps/files_sharing/l10n/ar.json b/apps/files_sharing/l10n/ar.json index 046413c3fb..e8590b931d 100644 --- a/apps/files_sharing/l10n/ar.json +++ b/apps/files_sharing/l10n/ar.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "إلغاء", - "Share" : "شارك", "Shared by" : "تم مشاركتها بواسطة", + "Sharing" : "مشاركة", "A file or folder has been shared" : "ملف أو مجلد تم مشاركته ", "You shared %1$s with %2$s" : "شاركت %1$s مع %2$s", "You shared %1$s with group %2$s" : "أنت شاركت %1$s مع مجموعة %2$s", diff --git a/apps/files_sharing/l10n/ast.js b/apps/files_sharing/l10n/ast.js index bded7e785d..9ba12962bd 100644 --- a/apps/files_sharing/l10n/ast.js +++ b/apps/files_sharing/l10n/ast.js @@ -14,8 +14,8 @@ OC.L10N.register( "Cancel" : "Encaboxar", "Add remote share" : "Amestar compartición remota", "Invalid ownCloud url" : "Url ownCloud inválida", - "Share" : "Compartir", "Shared by" : "Compartíos por", + "Sharing" : "Compartiendo", "A file or folder has been shared" : "Compartióse un ficheru o direutoriu", "You shared %1$s with %2$s" : "Compartisti %1$s con %2$s", "You shared %1$s with group %2$s" : "Compartisti %1$s col grupu %2$s", diff --git a/apps/files_sharing/l10n/ast.json b/apps/files_sharing/l10n/ast.json index af8f98cf2b..52cd9b9013 100644 --- a/apps/files_sharing/l10n/ast.json +++ b/apps/files_sharing/l10n/ast.json @@ -12,8 +12,8 @@ "Cancel" : "Encaboxar", "Add remote share" : "Amestar compartición remota", "Invalid ownCloud url" : "Url ownCloud inválida", - "Share" : "Compartir", "Shared by" : "Compartíos por", + "Sharing" : "Compartiendo", "A file or folder has been shared" : "Compartióse un ficheru o direutoriu", "You shared %1$s with %2$s" : "Compartisti %1$s con %2$s", "You shared %1$s with group %2$s" : "Compartisti %1$s col grupu %2$s", diff --git a/apps/files_sharing/l10n/az.js b/apps/files_sharing/l10n/az.js index 7c8b2f812f..72fdda3ca9 100644 --- a/apps/files_sharing/l10n/az.js +++ b/apps/files_sharing/l10n/az.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Siz bu qovluğun içinə yükləyə bilərsiniz", "No ownCloud installation (7 or higher) found at {remote}" : "Yüklənmiş (7 yada yuxarı) ownCloud {uzaq} unvanında tapılmadı ", "Invalid ownCloud url" : "Yalnış ownCloud url-i", - "Share" : "Yayımla", "Shared by" : "Tərəfindən yayımlanıb", + "Sharing" : "Paylaşılır", "A file or folder has been shared" : "Fayl və ya direktoriya yayımlandı", "A file or folder was shared from another server" : "Fayl yada qovluq ünvanından yayımlandı digər serverə", "A public shared file or folder was downloaded" : "Ümumi paylaşılmış fayl yada qovluq endirilmişdir", diff --git a/apps/files_sharing/l10n/az.json b/apps/files_sharing/l10n/az.json index 4de0b9df5c..4e595220b6 100644 --- a/apps/files_sharing/l10n/az.json +++ b/apps/files_sharing/l10n/az.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Siz bu qovluğun içinə yükləyə bilərsiniz", "No ownCloud installation (7 or higher) found at {remote}" : "Yüklənmiş (7 yada yuxarı) ownCloud {uzaq} unvanında tapılmadı ", "Invalid ownCloud url" : "Yalnış ownCloud url-i", - "Share" : "Yayımla", "Shared by" : "Tərəfindən yayımlanıb", + "Sharing" : "Paylaşılır", "A file or folder has been shared" : "Fayl və ya direktoriya yayımlandı", "A file or folder was shared from another server" : "Fayl yada qovluq ünvanından yayımlandı digər serverə", "A public shared file or folder was downloaded" : "Ümumi paylaşılmış fayl yada qovluq endirilmişdir", diff --git a/apps/files_sharing/l10n/bg_BG.js b/apps/files_sharing/l10n/bg_BG.js index 2f8cfed5a9..4a7ec23b8e 100644 --- a/apps/files_sharing/l10n/bg_BG.js +++ b/apps/files_sharing/l10n/bg_BG.js @@ -23,8 +23,8 @@ OC.L10N.register( "Add remote share" : "Добави прикачена папка", "No ownCloud installation (7 or higher) found at {remote}" : "Не е открита ownCloud ( 7 или по-висока ) инсталация на {remote}.", "Invalid ownCloud url" : "Невалиден ownCloud интернет адрес.", - "Share" : "Сподели", "Shared by" : "Споделено от", + "Sharing" : "Споделяне", "A file or folder has been shared" : "Файл или папка беше споделен/а", "A file or folder was shared from another server" : "Файл или папка е споделен от друг сървър", "A public shared file or folder was downloaded" : "Публично споделен файл или папка е изтеглен", diff --git a/apps/files_sharing/l10n/bg_BG.json b/apps/files_sharing/l10n/bg_BG.json index ec8a686ca0..b15438e837 100644 --- a/apps/files_sharing/l10n/bg_BG.json +++ b/apps/files_sharing/l10n/bg_BG.json @@ -21,8 +21,8 @@ "Add remote share" : "Добави прикачена папка", "No ownCloud installation (7 or higher) found at {remote}" : "Не е открита ownCloud ( 7 или по-висока ) инсталация на {remote}.", "Invalid ownCloud url" : "Невалиден ownCloud интернет адрес.", - "Share" : "Сподели", "Shared by" : "Споделено от", + "Sharing" : "Споделяне", "A file or folder has been shared" : "Файл или папка беше споделен/а", "A file or folder was shared from another server" : "Файл или папка е споделен от друг сървър", "A public shared file or folder was downloaded" : "Публично споделен файл или папка е изтеглен", diff --git a/apps/files_sharing/l10n/bn_BD.js b/apps/files_sharing/l10n/bn_BD.js index 310e67347f..a318f0dacb 100644 --- a/apps/files_sharing/l10n/bn_BD.js +++ b/apps/files_sharing/l10n/bn_BD.js @@ -9,8 +9,8 @@ OC.L10N.register( "Remote share" : "দুরবর্তী ভাগাভাগি", "Cancel" : "বাতিল", "Invalid ownCloud url" : "অবৈধ ওউনক্লাউড url", - "Share" : "ভাগাভাগি কর", "Shared by" : "যাদের মাঝে ভাগাভাগি করা হয়েছে", + "Sharing" : "ভাগাভাগিরত", "A file or folder has been shared" : "একটি ফাইল বা ফোলডার ভাগাভাগি করা হয়েছে", "You shared %1$s with %2$s" : "আপনি %1$sকে %2$sএর সাথে ভাগাভাগি করেছেন", "You shared %1$s with group %2$s" : "আপনি %1$s কে %2$s দলের সাথে ভাগাভাগি করেছেন", diff --git a/apps/files_sharing/l10n/bn_BD.json b/apps/files_sharing/l10n/bn_BD.json index d1186dff98..028c22277b 100644 --- a/apps/files_sharing/l10n/bn_BD.json +++ b/apps/files_sharing/l10n/bn_BD.json @@ -7,8 +7,8 @@ "Remote share" : "দুরবর্তী ভাগাভাগি", "Cancel" : "বাতিল", "Invalid ownCloud url" : "অবৈধ ওউনক্লাউড url", - "Share" : "ভাগাভাগি কর", "Shared by" : "যাদের মাঝে ভাগাভাগি করা হয়েছে", + "Sharing" : "ভাগাভাগিরত", "A file or folder has been shared" : "একটি ফাইল বা ফোলডার ভাগাভাগি করা হয়েছে", "You shared %1$s with %2$s" : "আপনি %1$sকে %2$sএর সাথে ভাগাভাগি করেছেন", "You shared %1$s with group %2$s" : "আপনি %1$s কে %2$s দলের সাথে ভাগাভাগি করেছেন", diff --git a/apps/files_sharing/l10n/bn_IN.js b/apps/files_sharing/l10n/bn_IN.js index f6d8367d9a..2270e72e68 100644 --- a/apps/files_sharing/l10n/bn_IN.js +++ b/apps/files_sharing/l10n/bn_IN.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "বাতিল করা", - "Share" : "শেয়ার", "A file or folder has been shared" : "ফাইল অথবা ফোল্ডার শেয়ার করা হয়েছে", "You shared %1$s with %2$s" : "আপনি %1$s শেয়ার করছেন %2$s এর সাথে", "You shared %1$s with group %2$s" : "আপনি %1$s কে %2$s গ্রুপের সাথে শেয়ার করেছেন", diff --git a/apps/files_sharing/l10n/bn_IN.json b/apps/files_sharing/l10n/bn_IN.json index bffa2a243a..1c285d0899 100644 --- a/apps/files_sharing/l10n/bn_IN.json +++ b/apps/files_sharing/l10n/bn_IN.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "বাতিল করা", - "Share" : "শেয়ার", "A file or folder has been shared" : "ফাইল অথবা ফোল্ডার শেয়ার করা হয়েছে", "You shared %1$s with %2$s" : "আপনি %1$s শেয়ার করছেন %2$s এর সাথে", "You shared %1$s with group %2$s" : "আপনি %1$s কে %2$s গ্রুপের সাথে শেয়ার করেছেন", diff --git a/apps/files_sharing/l10n/bs.js b/apps/files_sharing/l10n/bs.js index 1a0e62a930..ce2917b50b 100644 --- a/apps/files_sharing/l10n/bs.js +++ b/apps/files_sharing/l10n/bs.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Odustani", - "Share" : "Dijeli", "Shared by" : "Dijeli", + "Sharing" : "Dijeljenje", "Password" : "Lozinka", "Name" : "Ime", "Download" : "Preuzmite" diff --git a/apps/files_sharing/l10n/bs.json b/apps/files_sharing/l10n/bs.json index ea6c7082e2..ad6237b816 100644 --- a/apps/files_sharing/l10n/bs.json +++ b/apps/files_sharing/l10n/bs.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "Odustani", - "Share" : "Dijeli", "Shared by" : "Dijeli", + "Sharing" : "Dijeljenje", "Password" : "Lozinka", "Name" : "Ime", "Download" : "Preuzmite" diff --git a/apps/files_sharing/l10n/ca.js b/apps/files_sharing/l10n/ca.js index cf9aff4c2f..403aaa8769 100644 --- a/apps/files_sharing/l10n/ca.js +++ b/apps/files_sharing/l10n/ca.js @@ -13,8 +13,8 @@ OC.L10N.register( "Cancel" : "Cancel·la", "Add remote share" : "Afegeix compartició remota", "Invalid ownCloud url" : "La url d'ownCloud no és vàlida", - "Share" : "Comparteix", "Shared by" : "Compartit per", + "Sharing" : "Compartir", "A file or folder has been shared" : "S'ha compartit un fitxer o una carpeta", "You shared %1$s with %2$s" : "Has compartit %1$s amb %2$s", "You shared %1$s with group %2$s" : "has compartit %1$s amb el grup %2$s", @@ -36,6 +36,7 @@ OC.L10N.register( "Add to your ownCloud" : "Afegiu a ownCloud", "Download" : "Baixa", "Download %s" : "Baixa %s", - "Direct link" : "Enllaç directe" + "Direct link" : "Enllaç directe", + "Open documentation" : "Obre la documentació" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/ca.json b/apps/files_sharing/l10n/ca.json index 6811276527..c0aa500d2a 100644 --- a/apps/files_sharing/l10n/ca.json +++ b/apps/files_sharing/l10n/ca.json @@ -11,8 +11,8 @@ "Cancel" : "Cancel·la", "Add remote share" : "Afegeix compartició remota", "Invalid ownCloud url" : "La url d'ownCloud no és vàlida", - "Share" : "Comparteix", "Shared by" : "Compartit per", + "Sharing" : "Compartir", "A file or folder has been shared" : "S'ha compartit un fitxer o una carpeta", "You shared %1$s with %2$s" : "Has compartit %1$s amb %2$s", "You shared %1$s with group %2$s" : "has compartit %1$s amb el grup %2$s", @@ -34,6 +34,7 @@ "Add to your ownCloud" : "Afegiu a ownCloud", "Download" : "Baixa", "Download %s" : "Baixa %s", - "Direct link" : "Enllaç directe" + "Direct link" : "Enllaç directe", + "Open documentation" : "Obre la documentació" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/apps/files_sharing/l10n/cs_CZ.js b/apps/files_sharing/l10n/cs_CZ.js index dc15a19e52..7051d9e56d 100644 --- a/apps/files_sharing/l10n/cs_CZ.js +++ b/apps/files_sharing/l10n/cs_CZ.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Můžete nahrávat do tohoto adresáře", "No ownCloud installation (7 or higher) found at {remote}" : "Nebyla nalezena instalace ownCloud (7 nebo vyšší) na {remote}", "Invalid ownCloud url" : "Neplatná ownCloud url", - "Share" : "Sdílet", "Shared by" : "Sdílí", + "Sharing" : "Sdílení", "A file or folder has been shared" : "Soubor nebo složka byla nasdílena", "A file or folder was shared from another server" : "Soubor nebo složka byla nasdílena z jiného serveru", "A public shared file or folder was downloaded" : "Byl stažen veřejně sdílený soubor nebo adresář", diff --git a/apps/files_sharing/l10n/cs_CZ.json b/apps/files_sharing/l10n/cs_CZ.json index 8533ee053c..c93886aa33 100644 --- a/apps/files_sharing/l10n/cs_CZ.json +++ b/apps/files_sharing/l10n/cs_CZ.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Můžete nahrávat do tohoto adresáře", "No ownCloud installation (7 or higher) found at {remote}" : "Nebyla nalezena instalace ownCloud (7 nebo vyšší) na {remote}", "Invalid ownCloud url" : "Neplatná ownCloud url", - "Share" : "Sdílet", "Shared by" : "Sdílí", + "Sharing" : "Sdílení", "A file or folder has been shared" : "Soubor nebo složka byla nasdílena", "A file or folder was shared from another server" : "Soubor nebo složka byla nasdílena z jiného serveru", "A public shared file or folder was downloaded" : "Byl stažen veřejně sdílený soubor nebo adresář", diff --git a/apps/files_sharing/l10n/cy_GB.js b/apps/files_sharing/l10n/cy_GB.js index 015052cbae..1a8addf172 100644 --- a/apps/files_sharing/l10n/cy_GB.js +++ b/apps/files_sharing/l10n/cy_GB.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Diddymu", - "Share" : "Rhannu", "Shared by" : "Rhannwyd gan", "Password" : "Cyfrinair", "Name" : "Enw", diff --git a/apps/files_sharing/l10n/cy_GB.json b/apps/files_sharing/l10n/cy_GB.json index dad1349960..9eebc50be7 100644 --- a/apps/files_sharing/l10n/cy_GB.json +++ b/apps/files_sharing/l10n/cy_GB.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "Diddymu", - "Share" : "Rhannu", "Shared by" : "Rhannwyd gan", "Password" : "Cyfrinair", "Name" : "Enw", diff --git a/apps/files_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js index a7cfb0a652..7e05b2ca44 100644 --- a/apps/files_sharing/l10n/da.js +++ b/apps/files_sharing/l10n/da.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Du kan overføre til denne mappe", "No ownCloud installation (7 or higher) found at {remote}" : "Der er ingen ownCloud-installation (7 eller højere) på {remote}", "Invalid ownCloud url" : "Ugyldig ownCloud-URL", - "Share" : "Del", "Shared by" : "Delt af", + "Sharing" : "Deling", "A file or folder has been shared" : "En fil eller mappe er blevet delt", "A file or folder was shared from another server" : "En fil eller mappe blev delt fra en anden server", "A public shared file or folder was downloaded" : "En offentligt delt fil eller mappe blev hentet", diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json index d18cf79275..d08dbdc427 100644 --- a/apps/files_sharing/l10n/da.json +++ b/apps/files_sharing/l10n/da.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Du kan overføre til denne mappe", "No ownCloud installation (7 or higher) found at {remote}" : "Der er ingen ownCloud-installation (7 eller højere) på {remote}", "Invalid ownCloud url" : "Ugyldig ownCloud-URL", - "Share" : "Del", "Shared by" : "Delt af", + "Sharing" : "Deling", "A file or folder has been shared" : "En fil eller mappe er blevet delt", "A file or folder was shared from another server" : "En fil eller mappe blev delt fra en anden server", "A public shared file or folder was downloaded" : "En offentligt delt fil eller mappe blev hentet", diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js index 21cba85c2f..f6dcf690b6 100644 --- a/apps/files_sharing/l10n/de.js +++ b/apps/files_sharing/l10n/de.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Du kannst in diesen Ordner hochladen", "No ownCloud installation (7 or higher) found at {remote}" : "Keine OwnCloud-Installation (7 oder höher) auf {remote} gefunden", "Invalid ownCloud url" : "Ungültige OwnCloud-URL", - "Share" : "Teilen", "Shared by" : "Geteilt von ", + "Sharing" : "Teilen", "A file or folder has been shared" : "Eine Datei oder ein Ordner wurde geteilt", "A file or folder was shared from another server" : "Eine Datei oder ein Ordner wurde von einem anderen Server geteilt", "A public shared file or folder was downloaded" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde heruntergeladen", diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json index b465569337..76f9b6d115 100644 --- a/apps/files_sharing/l10n/de.json +++ b/apps/files_sharing/l10n/de.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Du kannst in diesen Ordner hochladen", "No ownCloud installation (7 or higher) found at {remote}" : "Keine OwnCloud-Installation (7 oder höher) auf {remote} gefunden", "Invalid ownCloud url" : "Ungültige OwnCloud-URL", - "Share" : "Teilen", "Shared by" : "Geteilt von ", + "Sharing" : "Teilen", "A file or folder has been shared" : "Eine Datei oder ein Ordner wurde geteilt", "A file or folder was shared from another server" : "Eine Datei oder ein Ordner wurde von einem anderen Server geteilt", "A public shared file or folder was downloaded" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde heruntergeladen", diff --git a/apps/files_sharing/l10n/de_AT.js b/apps/files_sharing/l10n/de_AT.js index cf1e3f9b32..36a67ecac2 100644 --- a/apps/files_sharing/l10n/de_AT.js +++ b/apps/files_sharing/l10n/de_AT.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Abbrechen", - "Share" : "Freigeben", "A file or folder has been shared" : "Eine Datei oder ein Ordner wurde geteilt", "You shared %1$s with %2$s" : "du teilst %1$s mit %2$s", "You shared %1$s with group %2$s" : "Du teilst %1$s mit der Gruppe %2$s", diff --git a/apps/files_sharing/l10n/de_AT.json b/apps/files_sharing/l10n/de_AT.json index fda07e557a..fe0cfb4eed 100644 --- a/apps/files_sharing/l10n/de_AT.json +++ b/apps/files_sharing/l10n/de_AT.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "Abbrechen", - "Share" : "Freigeben", "A file or folder has been shared" : "Eine Datei oder ein Ordner wurde geteilt", "You shared %1$s with %2$s" : "du teilst %1$s mit %2$s", "You shared %1$s with group %2$s" : "Du teilst %1$s mit der Gruppe %2$s", diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js index 1a6e334f58..3c1eccd460 100644 --- a/apps/files_sharing/l10n/de_DE.js +++ b/apps/files_sharing/l10n/de_DE.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Sie können in diesen Ordner hochladen", "No ownCloud installation (7 or higher) found at {remote}" : "Keine OwnCloud-Installation (7 oder höher) auf {remote} gefunden", "Invalid ownCloud url" : "Ungültige OwnCloud-Adresse", - "Share" : "Teilen", "Shared by" : "Geteilt von", + "Sharing" : "Teilen", "A file or folder has been shared" : "Eine Datei oder ein Ordner wurde geteilt", "A file or folder was shared from another server" : "Eine Datei oder ein Ordner wurde von einem anderen Server geteilt", "A public shared file or folder was downloaded" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde heruntergeladen", diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json index 4101c5834f..08732c602e 100644 --- a/apps/files_sharing/l10n/de_DE.json +++ b/apps/files_sharing/l10n/de_DE.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Sie können in diesen Ordner hochladen", "No ownCloud installation (7 or higher) found at {remote}" : "Keine OwnCloud-Installation (7 oder höher) auf {remote} gefunden", "Invalid ownCloud url" : "Ungültige OwnCloud-Adresse", - "Share" : "Teilen", "Shared by" : "Geteilt von", + "Sharing" : "Teilen", "A file or folder has been shared" : "Eine Datei oder ein Ordner wurde geteilt", "A file or folder was shared from another server" : "Eine Datei oder ein Ordner wurde von einem anderen Server geteilt", "A public shared file or folder was downloaded" : "Eine öffentliche geteilte Datei oder ein öffentlicher geteilter Ordner wurde heruntergeladen", diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js index 01effb3f91..6a88a675f7 100644 --- a/apps/files_sharing/l10n/el.js +++ b/apps/files_sharing/l10n/el.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Μπορείτε να μεταφορτώσετε σε αυτόν τον φάκελο", "No ownCloud installation (7 or higher) found at {remote}" : "Δεν βρέθηκε εγκατάστση ownCloud (7 ή νεώτερη) στο {remote}", "Invalid ownCloud url" : "Άκυρη url ownCloud ", - "Share" : "Διαμοιράστε", "Shared by" : "Διαμοιράστηκε από", + "Sharing" : "Διαμοιρασμός", "A file or folder has been shared" : "Ένα αρχείο ή φάκελος διαμοιράστηκε", "A file or folder was shared from another server" : "Ένα αρχείο ή φάκελος διαμοιράστηκε από έναν άλλο διακομιστή", "A public shared file or folder was downloaded" : "Ένα δημόσια διαμοιρασμένο αρχείο ή φάκελος ελήφθη", diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json index aee0ccb29a..01b4e6d01b 100644 --- a/apps/files_sharing/l10n/el.json +++ b/apps/files_sharing/l10n/el.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Μπορείτε να μεταφορτώσετε σε αυτόν τον φάκελο", "No ownCloud installation (7 or higher) found at {remote}" : "Δεν βρέθηκε εγκατάστση ownCloud (7 ή νεώτερη) στο {remote}", "Invalid ownCloud url" : "Άκυρη url ownCloud ", - "Share" : "Διαμοιράστε", "Shared by" : "Διαμοιράστηκε από", + "Sharing" : "Διαμοιρασμός", "A file or folder has been shared" : "Ένα αρχείο ή φάκελος διαμοιράστηκε", "A file or folder was shared from another server" : "Ένα αρχείο ή φάκελος διαμοιράστηκε από έναν άλλο διακομιστή", "A public shared file or folder was downloaded" : "Ένα δημόσια διαμοιρασμένο αρχείο ή φάκελος ελήφθη", diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js index 0053f64b03..40f80be5b6 100644 --- a/apps/files_sharing/l10n/en_GB.js +++ b/apps/files_sharing/l10n/en_GB.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "You can upload into this folder", "No ownCloud installation (7 or higher) found at {remote}" : "No ownCloud installation (7 or higher) found at {remote}", "Invalid ownCloud url" : "Invalid ownCloud URL", - "Share" : "Share", "Shared by" : "Shared by", + "Sharing" : "Sharing", "A file or folder has been shared" : "A file or folder has been shared", "A file or folder was shared from another server" : "A file or folder was shared from another server", "A public shared file or folder was downloaded" : "A public shared file or folder was downloaded", diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json index 70f137fc70..5a70bee721 100644 --- a/apps/files_sharing/l10n/en_GB.json +++ b/apps/files_sharing/l10n/en_GB.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "You can upload into this folder", "No ownCloud installation (7 or higher) found at {remote}" : "No ownCloud installation (7 or higher) found at {remote}", "Invalid ownCloud url" : "Invalid ownCloud URL", - "Share" : "Share", "Shared by" : "Shared by", + "Sharing" : "Sharing", "A file or folder has been shared" : "A file or folder has been shared", "A file or folder was shared from another server" : "A file or folder was shared from another server", "A public shared file or folder was downloaded" : "A public shared file or folder was downloaded", diff --git a/apps/files_sharing/l10n/eo.js b/apps/files_sharing/l10n/eo.js index ae96dbda69..6c78d55530 100644 --- a/apps/files_sharing/l10n/eo.js +++ b/apps/files_sharing/l10n/eo.js @@ -13,8 +13,8 @@ OC.L10N.register( "You can upload into this folder" : "Vi povas alŝuti en ĉi tiun dosierujon", "No ownCloud installation (7 or higher) found at {remote}" : "Ne troviĝis instalo de ownCloud (7 aŭ pli alta) ĉe {remote}", "Invalid ownCloud url" : "Nevalidas URL de ownCloud", - "Share" : "Kunhavigi", "Shared by" : "Kunhavigita de", + "Sharing" : "Kunhavigo", "A file or folder has been shared" : "Dosiero aŭ dosierujo kunhaviĝis", "%1$s unshared %2$s from you" : "%1$s malkunhavigis %2$s el vi", "Public shared folder %1$s was downloaded" : "La publika kunhavata dosierujo %1$s elŝutiĝis", diff --git a/apps/files_sharing/l10n/eo.json b/apps/files_sharing/l10n/eo.json index 9bbc26d711..8899e3021c 100644 --- a/apps/files_sharing/l10n/eo.json +++ b/apps/files_sharing/l10n/eo.json @@ -11,8 +11,8 @@ "You can upload into this folder" : "Vi povas alŝuti en ĉi tiun dosierujon", "No ownCloud installation (7 or higher) found at {remote}" : "Ne troviĝis instalo de ownCloud (7 aŭ pli alta) ĉe {remote}", "Invalid ownCloud url" : "Nevalidas URL de ownCloud", - "Share" : "Kunhavigi", "Shared by" : "Kunhavigita de", + "Sharing" : "Kunhavigo", "A file or folder has been shared" : "Dosiero aŭ dosierujo kunhaviĝis", "%1$s unshared %2$s from you" : "%1$s malkunhavigis %2$s el vi", "Public shared folder %1$s was downloaded" : "La publika kunhavata dosierujo %1$s elŝutiĝis", diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js index a7dd3ca570..7e5e48bbf7 100644 --- a/apps/files_sharing/l10n/es.js +++ b/apps/files_sharing/l10n/es.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Usted puede cargar en esta carpeta", "No ownCloud installation (7 or higher) found at {remote}" : "No se encontró una instalación de ownCloud (7 o mayor) en {remote}", "Invalid ownCloud url" : "URL de ownCloud inválida", - "Share" : "Compartir", "Shared by" : "Compartido por", + "Sharing" : "Compartiendo", "A file or folder has been shared" : "Se ha compartido un archivo o carpeta", "A file or folder was shared from another server" : "Se ha compartido un archivo o carpeta desde otro servidor", "A public shared file or folder was downloaded" : "Ha sido descargado un archivo (o carpeta) compartido públicamente", diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json index b79640abc0..358330b80a 100644 --- a/apps/files_sharing/l10n/es.json +++ b/apps/files_sharing/l10n/es.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Usted puede cargar en esta carpeta", "No ownCloud installation (7 or higher) found at {remote}" : "No se encontró una instalación de ownCloud (7 o mayor) en {remote}", "Invalid ownCloud url" : "URL de ownCloud inválida", - "Share" : "Compartir", "Shared by" : "Compartido por", + "Sharing" : "Compartiendo", "A file or folder has been shared" : "Se ha compartido un archivo o carpeta", "A file or folder was shared from another server" : "Se ha compartido un archivo o carpeta desde otro servidor", "A public shared file or folder was downloaded" : "Ha sido descargado un archivo (o carpeta) compartido públicamente", diff --git a/apps/files_sharing/l10n/es_AR.js b/apps/files_sharing/l10n/es_AR.js index ef591d93ab..fac8b35750 100644 --- a/apps/files_sharing/l10n/es_AR.js +++ b/apps/files_sharing/l10n/es_AR.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Cancelar", - "Share" : "Compartir", "Shared by" : "Compartido por", + "Sharing" : "Compartiendo", "A file or folder has been shared" : "Un archivo o carpeta ha sido compartido", "You shared %1$s with %2$s" : "Has compartido %1$s con %2$s", "You shared %1$s with group %2$s" : "Has compartido %1$s en el grupo %2$s", diff --git a/apps/files_sharing/l10n/es_AR.json b/apps/files_sharing/l10n/es_AR.json index 3940b3b1fe..6a7316bff8 100644 --- a/apps/files_sharing/l10n/es_AR.json +++ b/apps/files_sharing/l10n/es_AR.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "Cancelar", - "Share" : "Compartir", "Shared by" : "Compartido por", + "Sharing" : "Compartiendo", "A file or folder has been shared" : "Un archivo o carpeta ha sido compartido", "You shared %1$s with %2$s" : "Has compartido %1$s con %2$s", "You shared %1$s with group %2$s" : "Has compartido %1$s en el grupo %2$s", diff --git a/apps/files_sharing/l10n/es_CL.js b/apps/files_sharing/l10n/es_CL.js index 1078f8d164..792d5a3cad 100644 --- a/apps/files_sharing/l10n/es_CL.js +++ b/apps/files_sharing/l10n/es_CL.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Cancelar", - "Share" : "Compartir", "A file or folder has been shared" : "Un archivo o carpeta ha sido compartido", "You shared %1$s with %2$s" : "Ha compartido %1$s con %2$s", "You shared %1$s with group %2$s" : "Has compartido %1$s con el grupo %2$s", diff --git a/apps/files_sharing/l10n/es_CL.json b/apps/files_sharing/l10n/es_CL.json index 66e917b896..28f3056023 100644 --- a/apps/files_sharing/l10n/es_CL.json +++ b/apps/files_sharing/l10n/es_CL.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "Cancelar", - "Share" : "Compartir", "A file or folder has been shared" : "Un archivo o carpeta ha sido compartido", "You shared %1$s with %2$s" : "Ha compartido %1$s con %2$s", "You shared %1$s with group %2$s" : "Has compartido %1$s con el grupo %2$s", diff --git a/apps/files_sharing/l10n/es_MX.js b/apps/files_sharing/l10n/es_MX.js index adf4b823ef..9c287312e8 100644 --- a/apps/files_sharing/l10n/es_MX.js +++ b/apps/files_sharing/l10n/es_MX.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Cancelar", - "Share" : "Compartir", "Shared by" : "Compartido por", + "Sharing" : "Compartiendo", "This share is password-protected" : "Este elemento compartido esta protegido por contraseña", "The password is wrong. Try again." : "La contraseña introducida es errónea. Inténtelo de nuevo.", "Password" : "Contraseña", diff --git a/apps/files_sharing/l10n/es_MX.json b/apps/files_sharing/l10n/es_MX.json index 17f0560152..26f064e346 100644 --- a/apps/files_sharing/l10n/es_MX.json +++ b/apps/files_sharing/l10n/es_MX.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "Cancelar", - "Share" : "Compartir", "Shared by" : "Compartido por", + "Sharing" : "Compartiendo", "This share is password-protected" : "Este elemento compartido esta protegido por contraseña", "The password is wrong. Try again." : "La contraseña introducida es errónea. Inténtelo de nuevo.", "Password" : "Contraseña", diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js index aa6dde2d7b..535608ad51 100644 --- a/apps/files_sharing/l10n/et_EE.js +++ b/apps/files_sharing/l10n/et_EE.js @@ -17,9 +17,10 @@ OC.L10N.register( "Cancel" : "Loobu", "Add remote share" : "Lisa kaugjagamine", "You can upload into this folder" : "Sa saad sellesse kausta faile üles laadida", + "No ownCloud installation (7 or higher) found at {remote}" : "Saidilt {remote} ei leitud ownCloudi (7 või uuem) ", "Invalid ownCloud url" : "Vigane ownCloud url", - "Share" : "Jaga", "Shared by" : "Jagas", + "Sharing" : "Jagamine", "A file or folder has been shared" : "Fail või kataloog on jagatud", "You shared %1$s with %2$s" : "Jagasid %1$s %2$s kasutajaga", "You shared %1$s with group %2$s" : "Jagasid %1$s %2$s grupiga", diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json index 0f0c3c492d..f894b06fc9 100644 --- a/apps/files_sharing/l10n/et_EE.json +++ b/apps/files_sharing/l10n/et_EE.json @@ -15,9 +15,10 @@ "Cancel" : "Loobu", "Add remote share" : "Lisa kaugjagamine", "You can upload into this folder" : "Sa saad sellesse kausta faile üles laadida", + "No ownCloud installation (7 or higher) found at {remote}" : "Saidilt {remote} ei leitud ownCloudi (7 või uuem) ", "Invalid ownCloud url" : "Vigane ownCloud url", - "Share" : "Jaga", "Shared by" : "Jagas", + "Sharing" : "Jagamine", "A file or folder has been shared" : "Fail või kataloog on jagatud", "You shared %1$s with %2$s" : "Jagasid %1$s %2$s kasutajaga", "You shared %1$s with group %2$s" : "Jagasid %1$s %2$s grupiga", diff --git a/apps/files_sharing/l10n/eu.js b/apps/files_sharing/l10n/eu.js index 12a8b3d534..69a5e42cb4 100644 --- a/apps/files_sharing/l10n/eu.js +++ b/apps/files_sharing/l10n/eu.js @@ -22,8 +22,8 @@ OC.L10N.register( "Add remote share" : "Gehitu urrutiko parte hartzea", "No ownCloud installation (7 or higher) found at {remote}" : "Ez da ownClouden instalaziorik (7 edo haundiago) aurkitu {remote}n", "Invalid ownCloud url" : "ownCloud url baliogabea", - "Share" : "Partekatu", "Shared by" : "Honek elkarbanatuta", + "Sharing" : "Partekatzea", "A file or folder has been shared" : "Fitxategia edo karpeta konpartitu da", "A file or folder was shared from another server" : "Fitxategia edo karpeta konpartitu da beste zerbitzari batetatik", "A public shared file or folder was downloaded" : "Publikoki partekatutako fitxategi edo karpeta bat deskargatu da", diff --git a/apps/files_sharing/l10n/eu.json b/apps/files_sharing/l10n/eu.json index 533828717d..e7890855cd 100644 --- a/apps/files_sharing/l10n/eu.json +++ b/apps/files_sharing/l10n/eu.json @@ -20,8 +20,8 @@ "Add remote share" : "Gehitu urrutiko parte hartzea", "No ownCloud installation (7 or higher) found at {remote}" : "Ez da ownClouden instalaziorik (7 edo haundiago) aurkitu {remote}n", "Invalid ownCloud url" : "ownCloud url baliogabea", - "Share" : "Partekatu", "Shared by" : "Honek elkarbanatuta", + "Sharing" : "Partekatzea", "A file or folder has been shared" : "Fitxategia edo karpeta konpartitu da", "A file or folder was shared from another server" : "Fitxategia edo karpeta konpartitu da beste zerbitzari batetatik", "A public shared file or folder was downloaded" : "Publikoki partekatutako fitxategi edo karpeta bat deskargatu da", diff --git a/apps/files_sharing/l10n/fa.js b/apps/files_sharing/l10n/fa.js index 72171ac1d6..5376ad45ca 100644 --- a/apps/files_sharing/l10n/fa.js +++ b/apps/files_sharing/l10n/fa.js @@ -13,8 +13,8 @@ OC.L10N.register( "Cancel" : "منصرف شدن", "Add remote share" : "افزودن اشتراک از راه دور", "Invalid ownCloud url" : "آدرس نمونه ownCloud غیر معتبر است", - "Share" : "اشتراک‌گذاری", "Shared by" : "اشتراک گذاشته شده به وسیله", + "Sharing" : "اشتراک گذاری", "A file or folder has been shared" : "فایل یا پوشه ای به اشتراک گذاشته شد", "You shared %1$s with %2$s" : "شما %1$s را با %2$s به اشتراک گذاشتید", "You shared %1$s with group %2$s" : "شما %1$s را با گروه %2$s به اشتراک گذاشتید", diff --git a/apps/files_sharing/l10n/fa.json b/apps/files_sharing/l10n/fa.json index 6537bb2225..13778338f4 100644 --- a/apps/files_sharing/l10n/fa.json +++ b/apps/files_sharing/l10n/fa.json @@ -11,8 +11,8 @@ "Cancel" : "منصرف شدن", "Add remote share" : "افزودن اشتراک از راه دور", "Invalid ownCloud url" : "آدرس نمونه ownCloud غیر معتبر است", - "Share" : "اشتراک‌گذاری", "Shared by" : "اشتراک گذاشته شده به وسیله", + "Sharing" : "اشتراک گذاری", "A file or folder has been shared" : "فایل یا پوشه ای به اشتراک گذاشته شد", "You shared %1$s with %2$s" : "شما %1$s را با %2$s به اشتراک گذاشتید", "You shared %1$s with group %2$s" : "شما %1$s را با گروه %2$s به اشتراک گذاشتید", diff --git a/apps/files_sharing/l10n/fi_FI.js b/apps/files_sharing/l10n/fi_FI.js index 0e1beda5af..6ef1f741f6 100644 --- a/apps/files_sharing/l10n/fi_FI.js +++ b/apps/files_sharing/l10n/fi_FI.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Voit lähettää tiedostoja tähän kansioon", "No ownCloud installation (7 or higher) found at {remote}" : "ownCloud-asennusta (versiota 7 tai uudempaa) ei löytynyt osoitteesta {remote}", "Invalid ownCloud url" : "Virheellinen ownCloud-osoite", - "Share" : "Jaa", "Shared by" : "Jakanut", + "Sharing" : "Jakaminen", "A file or folder has been shared" : "Tiedosto tai kansio on jaettu", "A file or folder was shared from another server" : "Tiedosto tai kansio jaettiin toiselta palvelimelta", "A public shared file or folder was downloaded" : "Julkisesti jaettu tiedosto tai kansio ladattiin", diff --git a/apps/files_sharing/l10n/fi_FI.json b/apps/files_sharing/l10n/fi_FI.json index 5f87c38f32..dfb9afb5a8 100644 --- a/apps/files_sharing/l10n/fi_FI.json +++ b/apps/files_sharing/l10n/fi_FI.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Voit lähettää tiedostoja tähän kansioon", "No ownCloud installation (7 or higher) found at {remote}" : "ownCloud-asennusta (versiota 7 tai uudempaa) ei löytynyt osoitteesta {remote}", "Invalid ownCloud url" : "Virheellinen ownCloud-osoite", - "Share" : "Jaa", "Shared by" : "Jakanut", + "Sharing" : "Jakaminen", "A file or folder has been shared" : "Tiedosto tai kansio on jaettu", "A file or folder was shared from another server" : "Tiedosto tai kansio jaettiin toiselta palvelimelta", "A public shared file or folder was downloaded" : "Julkisesti jaettu tiedosto tai kansio ladattiin", diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js index 0a8a19ed14..e07b93c788 100644 --- a/apps/files_sharing/l10n/fr.js +++ b/apps/files_sharing/l10n/fr.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Vous pouvez téléverser dans ce dossier", "No ownCloud installation (7 or higher) found at {remote}" : "Aucune installation ownCloud (7 ou supérieur) trouvée sur {remote}", "Invalid ownCloud url" : "URL ownCloud non valide", - "Share" : "Partager", "Shared by" : "Partagé par", + "Sharing" : "Partage", "A file or folder has been shared" : "Un fichier ou un répertoire a été partagé", "A file or folder was shared from another server" : "Un fichier ou un répertoire a été partagé depuis un autre serveur", "A public shared file or folder was downloaded" : "Un fichier ou un répertoire partagé publiquement a été téléchargé", diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json index 15ddb2d418..e597d3100b 100644 --- a/apps/files_sharing/l10n/fr.json +++ b/apps/files_sharing/l10n/fr.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Vous pouvez téléverser dans ce dossier", "No ownCloud installation (7 or higher) found at {remote}" : "Aucune installation ownCloud (7 ou supérieur) trouvée sur {remote}", "Invalid ownCloud url" : "URL ownCloud non valide", - "Share" : "Partager", "Shared by" : "Partagé par", + "Sharing" : "Partage", "A file or folder has been shared" : "Un fichier ou un répertoire a été partagé", "A file or folder was shared from another server" : "Un fichier ou un répertoire a été partagé depuis un autre serveur", "A public shared file or folder was downloaded" : "Un fichier ou un répertoire partagé publiquement a été téléchargé", diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js index 40694fc0d3..0e27917212 100644 --- a/apps/files_sharing/l10n/gl.js +++ b/apps/files_sharing/l10n/gl.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Pode envialo a este cartafol", "No ownCloud installation (7 or higher) found at {remote}" : "Non se atopa unha instalación de ownCloud (7 ou superior) en {remote}", "Invalid ownCloud url" : "URL incorrecto do ownCloud", - "Share" : "Compartir", "Shared by" : "Compartido por", + "Sharing" : "Compartindo", "A file or folder has been shared" : "Compartiuse un ficheiro ou cartafol", "A file or folder was shared from another server" : "Compartiuse un ficheiro ou cartafol desde outro servidor", "A public shared file or folder was downloaded" : "Foi descargado un ficheiro ou cartafol público", diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json index 97eb5d14bf..b4757ca2b2 100644 --- a/apps/files_sharing/l10n/gl.json +++ b/apps/files_sharing/l10n/gl.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Pode envialo a este cartafol", "No ownCloud installation (7 or higher) found at {remote}" : "Non se atopa unha instalación de ownCloud (7 ou superior) en {remote}", "Invalid ownCloud url" : "URL incorrecto do ownCloud", - "Share" : "Compartir", "Shared by" : "Compartido por", + "Sharing" : "Compartindo", "A file or folder has been shared" : "Compartiuse un ficheiro ou cartafol", "A file or folder was shared from another server" : "Compartiuse un ficheiro ou cartafol desde outro servidor", "A public shared file or folder was downloaded" : "Foi descargado un ficheiro ou cartafol público", diff --git a/apps/files_sharing/l10n/he.js b/apps/files_sharing/l10n/he.js index 82184a4629..a9292dc820 100644 --- a/apps/files_sharing/l10n/he.js +++ b/apps/files_sharing/l10n/he.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "ביטול", - "Share" : "שיתוף", "Shared by" : "שותף על־ידי", + "Sharing" : "שיתוף", "A file or folder has been shared" : "קובץ או תיקייה שותפו", "You shared %1$s with %2$s" : "שיתפת %1$s עם %2$s", "You shared %1$s with group %2$s" : "שיתפת %1$s עם קבוצת %2$s", diff --git a/apps/files_sharing/l10n/he.json b/apps/files_sharing/l10n/he.json index 3b35f84f2e..9f9ab2593f 100644 --- a/apps/files_sharing/l10n/he.json +++ b/apps/files_sharing/l10n/he.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "ביטול", - "Share" : "שיתוף", "Shared by" : "שותף על־ידי", + "Sharing" : "שיתוף", "A file or folder has been shared" : "קובץ או תיקייה שותפו", "You shared %1$s with %2$s" : "שיתפת %1$s עם %2$s", "You shared %1$s with group %2$s" : "שיתפת %1$s עם קבוצת %2$s", diff --git a/apps/files_sharing/l10n/hi.js b/apps/files_sharing/l10n/hi.js index 8a6c01ef43..a9647c762d 100644 --- a/apps/files_sharing/l10n/hi.js +++ b/apps/files_sharing/l10n/hi.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "रद्द करें ", - "Share" : "साझा करें", "Shared by" : "द्वारा साझा", "Password" : "पासवर्ड" }, diff --git a/apps/files_sharing/l10n/hi.json b/apps/files_sharing/l10n/hi.json index 6078a1ba37..5775830b62 100644 --- a/apps/files_sharing/l10n/hi.json +++ b/apps/files_sharing/l10n/hi.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "रद्द करें ", - "Share" : "साझा करें", "Shared by" : "द्वारा साझा", "Password" : "पासवर्ड" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/hr.js b/apps/files_sharing/l10n/hr.js index f367ba070f..63090dd4e4 100644 --- a/apps/files_sharing/l10n/hr.js +++ b/apps/files_sharing/l10n/hr.js @@ -13,8 +13,8 @@ OC.L10N.register( "Cancel" : "Odustanite", "Add remote share" : "Dodajte udaljeni zajednički resurs", "Invalid ownCloud url" : "Neispravan ownCloud URL", - "Share" : "Podijelite resurs", "Shared by" : "Podijeljeno od strane", + "Sharing" : "Dijeljenje zajedničkih resursa", "A file or folder has been shared" : "Datoteka ili mapa su podijeljeni", "You shared %1$s with %2$s" : "Podijelili ste %1$s s %2$s", "You shared %1$s with group %2$s" : "Podijelili ste %1$s s grupom %2$s", diff --git a/apps/files_sharing/l10n/hr.json b/apps/files_sharing/l10n/hr.json index a04d285f02..dd5fa0489f 100644 --- a/apps/files_sharing/l10n/hr.json +++ b/apps/files_sharing/l10n/hr.json @@ -11,8 +11,8 @@ "Cancel" : "Odustanite", "Add remote share" : "Dodajte udaljeni zajednički resurs", "Invalid ownCloud url" : "Neispravan ownCloud URL", - "Share" : "Podijelite resurs", "Shared by" : "Podijeljeno od strane", + "Sharing" : "Dijeljenje zajedničkih resursa", "A file or folder has been shared" : "Datoteka ili mapa su podijeljeni", "You shared %1$s with %2$s" : "Podijelili ste %1$s s %2$s", "You shared %1$s with group %2$s" : "Podijelili ste %1$s s grupom %2$s", diff --git a/apps/files_sharing/l10n/hu_HU.js b/apps/files_sharing/l10n/hu_HU.js index c035733d39..b374be1c31 100644 --- a/apps/files_sharing/l10n/hu_HU.js +++ b/apps/files_sharing/l10n/hu_HU.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Ebbe a könyvtárba fel tud tölteni", "No ownCloud installation (7 or higher) found at {remote}" : "Nem található ownCloud telepítés (7 vagy nagyobb verzió) itt {remote}", "Invalid ownCloud url" : "Érvénytelen ownCloud webcím", - "Share" : "Megosztás", "Shared by" : "Megosztotta Önnel", + "Sharing" : "Megosztás", "A file or folder has been shared" : "Fájl vagy könyvtár megosztása", "A file or folder was shared from another server" : "Egy fájl vagy könyvtár meg lett osztva egy másik szerverről", "A public shared file or folder was downloaded" : "Egy nyilvánosan megosztott fáljt vagy könyvtárat letöltöttek", diff --git a/apps/files_sharing/l10n/hu_HU.json b/apps/files_sharing/l10n/hu_HU.json index d35cf5f438..f140b98a57 100644 --- a/apps/files_sharing/l10n/hu_HU.json +++ b/apps/files_sharing/l10n/hu_HU.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Ebbe a könyvtárba fel tud tölteni", "No ownCloud installation (7 or higher) found at {remote}" : "Nem található ownCloud telepítés (7 vagy nagyobb verzió) itt {remote}", "Invalid ownCloud url" : "Érvénytelen ownCloud webcím", - "Share" : "Megosztás", "Shared by" : "Megosztotta Önnel", + "Sharing" : "Megosztás", "A file or folder has been shared" : "Fájl vagy könyvtár megosztása", "A file or folder was shared from another server" : "Egy fájl vagy könyvtár meg lett osztva egy másik szerverről", "A public shared file or folder was downloaded" : "Egy nyilvánosan megosztott fáljt vagy könyvtárat letöltöttek", diff --git a/apps/files_sharing/l10n/ia.js b/apps/files_sharing/l10n/ia.js index e85ad89efa..43b103e272 100644 --- a/apps/files_sharing/l10n/ia.js +++ b/apps/files_sharing/l10n/ia.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Cancellar", - "Share" : "Compartir", "A file or folder has been shared" : "Un file o un dossier ha essite compartite", "You shared %1$s with %2$s" : "Tu compartiva %1$s con %2$s", "You shared %1$s with group %2$s" : "Tu compartiva %1$s con gruppo %2$s", diff --git a/apps/files_sharing/l10n/ia.json b/apps/files_sharing/l10n/ia.json index 659d35e56c..64bda72c7d 100644 --- a/apps/files_sharing/l10n/ia.json +++ b/apps/files_sharing/l10n/ia.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "Cancellar", - "Share" : "Compartir", "A file or folder has been shared" : "Un file o un dossier ha essite compartite", "You shared %1$s with %2$s" : "Tu compartiva %1$s con %2$s", "You shared %1$s with group %2$s" : "Tu compartiva %1$s con gruppo %2$s", diff --git a/apps/files_sharing/l10n/id.js b/apps/files_sharing/l10n/id.js index e605559626..60b460da8e 100644 --- a/apps/files_sharing/l10n/id.js +++ b/apps/files_sharing/l10n/id.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Anda dapat mengunggah kedalam folder ini", "No ownCloud installation (7 or higher) found at {remote}" : "Tidak ditemukan instalasi ownCloud (7 atau lebih tinggi) pada {remote}", "Invalid ownCloud url" : "URL ownCloud tidak sah", - "Share" : "Bagikan", "Shared by" : "Dibagikan oleh", + "Sharing" : "Berbagi", "A file or folder has been shared" : "Sebuah berkas atau folder telah dibagikan", "A file or folder was shared from another server" : "Sebuah berkas atau folder telah dibagikan dari server lainnya", "A public shared file or folder was downloaded" : "Sebuah berkas atau folder berbagi publik telah diunduh", diff --git a/apps/files_sharing/l10n/id.json b/apps/files_sharing/l10n/id.json index e0f19c8537..c4ea5a5c56 100644 --- a/apps/files_sharing/l10n/id.json +++ b/apps/files_sharing/l10n/id.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Anda dapat mengunggah kedalam folder ini", "No ownCloud installation (7 or higher) found at {remote}" : "Tidak ditemukan instalasi ownCloud (7 atau lebih tinggi) pada {remote}", "Invalid ownCloud url" : "URL ownCloud tidak sah", - "Share" : "Bagikan", "Shared by" : "Dibagikan oleh", + "Sharing" : "Berbagi", "A file or folder has been shared" : "Sebuah berkas atau folder telah dibagikan", "A file or folder was shared from another server" : "Sebuah berkas atau folder telah dibagikan dari server lainnya", "A public shared file or folder was downloaded" : "Sebuah berkas atau folder berbagi publik telah diunduh", diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js index 93f63e2531..dbcb9b3e31 100644 --- a/apps/files_sharing/l10n/is.js +++ b/apps/files_sharing/l10n/is.js @@ -2,10 +2,9 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Hætta við", - "Share" : "Deila", "Shared by" : "Deilt af", "Password" : "Lykilorð", "Name" : "Nafn", "Download" : "Niðurhal" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json index 69493847d9..2f0d08c3db 100644 --- a/apps/files_sharing/l10n/is.json +++ b/apps/files_sharing/l10n/is.json @@ -1,9 +1,8 @@ { "translations": { "Cancel" : "Hætta við", - "Share" : "Deila", "Shared by" : "Deilt af", "Password" : "Lykilorð", "Name" : "Nafn", "Download" : "Niðurhal" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js index 1a5e4c0bbd..8f89da9484 100644 --- a/apps/files_sharing/l10n/it.js +++ b/apps/files_sharing/l10n/it.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Puoi caricare in questa cartella", "No ownCloud installation (7 or higher) found at {remote}" : "Nessuna installazione di ownCloud (7 o superiore) trovata su {remote}", "Invalid ownCloud url" : "URL di ownCloud non valido", - "Share" : "Condividi", "Shared by" : "Condiviso da", + "Sharing" : "Condivisione", "A file or folder has been shared" : "Un file o una cartella è stato condiviso", "A file or folder was shared from another server" : "Un file o una cartella è stato condiviso da un altro server", "A public shared file or folder was downloaded" : "Un file condiviso pubblicamente o una cartella è stato scaricato", diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json index 319a4a44c9..cad5b0c7db 100644 --- a/apps/files_sharing/l10n/it.json +++ b/apps/files_sharing/l10n/it.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Puoi caricare in questa cartella", "No ownCloud installation (7 or higher) found at {remote}" : "Nessuna installazione di ownCloud (7 o superiore) trovata su {remote}", "Invalid ownCloud url" : "URL di ownCloud non valido", - "Share" : "Condividi", "Shared by" : "Condiviso da", + "Sharing" : "Condivisione", "A file or folder has been shared" : "Un file o una cartella è stato condiviso", "A file or folder was shared from another server" : "Un file o una cartella è stato condiviso da un altro server", "A public shared file or folder was downloaded" : "Un file condiviso pubblicamente o una cartella è stato scaricato", diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js index 93e7323882..73174dfeb8 100644 --- a/apps/files_sharing/l10n/ja.js +++ b/apps/files_sharing/l10n/ja.js @@ -24,11 +24,11 @@ OC.L10N.register( "You can upload into this folder" : "このフォルダーにアップロードできます", "No ownCloud installation (7 or higher) found at {remote}" : "{remote} にはownCloud (7以上)がインストールされていません", "Invalid ownCloud url" : "無効なownCloud URL です", - "Share" : "共有", "Shared by" : "共有者:", - "A file or folder has been shared" : "ファイルまたはフォルダーを共有したとき", - "A file or folder was shared from another server" : "ファイルまたはフォルダーが他のサーバーから共有されたとき", - "A public shared file or folder was downloaded" : "公開共有ファイルまたはフォルダーがダウンロードされたとき", + "Sharing" : "共有", + "A file or folder has been shared" : "ファイルまたはフォルダーが共有されました。", + "A file or folder was shared from another server" : "ファイルまたはフォルダーが他のサーバーから共有されました。", + "A public shared file or folder was downloaded" : "公開共有ファイルまたはフォルダーがダウンロードされました。", "You received a new remote share %2$s from %1$s" : "%1$s から新しいリモート共有のリクエスト %2$s を受け取りました。", "You received a new remote share from %s" : "%sからリモート共有のリクエストは\n届きました。", "%1$s accepted remote share %2$s" : "%1$s は %2$s のリモート共有を承認しました。", @@ -41,12 +41,14 @@ OC.L10N.register( "%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました", "You shared %1$s via link" : "リンク経由で %1$s を共有しています", "Shares" : "共有", + "Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud の「クラウド連携ID」で私と共有できます。こちらを見てください。%s", + "Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud の「クラウド連携ID」で私と共有できます。", "This share is password-protected" : "この共有はパスワードで保護されています", "The password is wrong. Try again." : "パスワードが間違っています。再試行してください。", "Password" : "パスワード", "No entries found in this folder" : "このフォルダーにはエントリーがありません", "Name" : "名前", - "Share time" : "共有時間", + "Share time" : "共有した時刻", "Sorry, this link doesn’t seem to work anymore." : "すみません。このリンクはもう利用できません。", "Reasons might be:" : "理由は以下の通りと考えられます:", "the item was removed" : "アイテムが削除されました", @@ -61,7 +63,9 @@ OC.L10N.register( "Open documentation" : "ドキュメントを開く", "Allow users on this server to send shares to other servers" : "ユーザーがこのサーバーから他のサーバーに共有することを許可する", "Allow users on this server to receive shares from other servers" : "ユーザーが他のサーバーからこのサーバーに共有することを許可する", - "Share it:" : "共有:", + "Federated Cloud" : "クラウド連携", + "Your Federated Cloud ID:" : "あなたのクラウド連携ID:", + "Share it:" : "以下で共有:", "Add it to your website:" : "ウェブサイトに追加:", "Share with me via ownCloud" : "OwnCloud経由で共有", "HTML Code:" : "HTMLコード:" diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json index 6f3acbb747..79cd4f0bc3 100644 --- a/apps/files_sharing/l10n/ja.json +++ b/apps/files_sharing/l10n/ja.json @@ -22,11 +22,11 @@ "You can upload into this folder" : "このフォルダーにアップロードできます", "No ownCloud installation (7 or higher) found at {remote}" : "{remote} にはownCloud (7以上)がインストールされていません", "Invalid ownCloud url" : "無効なownCloud URL です", - "Share" : "共有", "Shared by" : "共有者:", - "A file or folder has been shared" : "ファイルまたはフォルダーを共有したとき", - "A file or folder was shared from another server" : "ファイルまたはフォルダーが他のサーバーから共有されたとき", - "A public shared file or folder was downloaded" : "公開共有ファイルまたはフォルダーがダウンロードされたとき", + "Sharing" : "共有", + "A file or folder has been shared" : "ファイルまたはフォルダーが共有されました。", + "A file or folder was shared from another server" : "ファイルまたはフォルダーが他のサーバーから共有されました。", + "A public shared file or folder was downloaded" : "公開共有ファイルまたはフォルダーがダウンロードされました。", "You received a new remote share %2$s from %1$s" : "%1$s から新しいリモート共有のリクエスト %2$s を受け取りました。", "You received a new remote share from %s" : "%sからリモート共有のリクエストは\n届きました。", "%1$s accepted remote share %2$s" : "%1$s は %2$s のリモート共有を承認しました。", @@ -39,12 +39,14 @@ "%2$s shared %1$s with you" : "%2$s は %1$s をあなたと共有しました", "You shared %1$s via link" : "リンク経由で %1$s を共有しています", "Shares" : "共有", + "Share with me through my #ownCloud Federated Cloud ID, see %s" : "#ownCloud の「クラウド連携ID」で私と共有できます。こちらを見てください。%s", + "Share with me through my #ownCloud Federated Cloud ID" : "#ownCloud の「クラウド連携ID」で私と共有できます。", "This share is password-protected" : "この共有はパスワードで保護されています", "The password is wrong. Try again." : "パスワードが間違っています。再試行してください。", "Password" : "パスワード", "No entries found in this folder" : "このフォルダーにはエントリーがありません", "Name" : "名前", - "Share time" : "共有時間", + "Share time" : "共有した時刻", "Sorry, this link doesn’t seem to work anymore." : "すみません。このリンクはもう利用できません。", "Reasons might be:" : "理由は以下の通りと考えられます:", "the item was removed" : "アイテムが削除されました", @@ -59,7 +61,9 @@ "Open documentation" : "ドキュメントを開く", "Allow users on this server to send shares to other servers" : "ユーザーがこのサーバーから他のサーバーに共有することを許可する", "Allow users on this server to receive shares from other servers" : "ユーザーが他のサーバーからこのサーバーに共有することを許可する", - "Share it:" : "共有:", + "Federated Cloud" : "クラウド連携", + "Your Federated Cloud ID:" : "あなたのクラウド連携ID:", + "Share it:" : "以下で共有:", "Add it to your website:" : "ウェブサイトに追加:", "Share with me via ownCloud" : "OwnCloud経由で共有", "HTML Code:" : "HTMLコード:" diff --git a/apps/files_sharing/l10n/ka_GE.js b/apps/files_sharing/l10n/ka_GE.js index c4373ea9f4..adeb048e89 100644 --- a/apps/files_sharing/l10n/ka_GE.js +++ b/apps/files_sharing/l10n/ka_GE.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "უარყოფა", - "Share" : "გაზიარება", "Shared by" : "აზიარებს", + "Sharing" : "გაზიარება", "Password" : "პაროლი", "Name" : "სახელი", "Download" : "ჩამოტვირთვა" diff --git a/apps/files_sharing/l10n/ka_GE.json b/apps/files_sharing/l10n/ka_GE.json index d052f45f09..5660d3b1a9 100644 --- a/apps/files_sharing/l10n/ka_GE.json +++ b/apps/files_sharing/l10n/ka_GE.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "უარყოფა", - "Share" : "გაზიარება", "Shared by" : "აზიარებს", + "Sharing" : "გაზიარება", "Password" : "პაროლი", "Name" : "სახელი", "Download" : "ჩამოტვირთვა" diff --git a/apps/files_sharing/l10n/km.js b/apps/files_sharing/l10n/km.js index 215905c6d5..a6066a3a59 100644 --- a/apps/files_sharing/l10n/km.js +++ b/apps/files_sharing/l10n/km.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "បោះបង់", - "Share" : "ចែក​រំលែក", "Shared by" : "បាន​ចែក​រំលែក​ដោយ", + "Sharing" : "ការ​ចែក​រំលែក", "A file or folder has been shared" : "បាន​ចែករំលែក ឯកសារ​ឬ​ថត", "You shared %1$s with %2$s" : "អ្នក​បាន​ចែករំលែក %1$s ជាមួយ %2$s", "You shared %1$s with group %2$s" : "អ្នក​បាន​ចែករំលែក %1$s ជាមួយ​ក្រុម %2$s", diff --git a/apps/files_sharing/l10n/km.json b/apps/files_sharing/l10n/km.json index e1a6acbf12..a1c84079d7 100644 --- a/apps/files_sharing/l10n/km.json +++ b/apps/files_sharing/l10n/km.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "បោះបង់", - "Share" : "ចែក​រំលែក", "Shared by" : "បាន​ចែក​រំលែក​ដោយ", + "Sharing" : "ការ​ចែក​រំលែក", "A file or folder has been shared" : "បាន​ចែករំលែក ឯកសារ​ឬ​ថត", "You shared %1$s with %2$s" : "អ្នក​បាន​ចែករំលែក %1$s ជាមួយ %2$s", "You shared %1$s with group %2$s" : "អ្នក​បាន​ចែករំលែក %1$s ជាមួយ​ក្រុម %2$s", diff --git a/apps/files_sharing/l10n/kn.js b/apps/files_sharing/l10n/kn.js index 8ae732752a..69d899ad0a 100644 --- a/apps/files_sharing/l10n/kn.js +++ b/apps/files_sharing/l10n/kn.js @@ -2,7 +2,7 @@ OC.L10N.register( "files_sharing", { "Cancel" : "ರದ್ದು", - "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", + "Sharing" : "ಹಂಚಿಕೆ", "Password" : "ಗುಪ್ತ ಪದ", "Name" : "ಹೆಸರು", "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ" diff --git a/apps/files_sharing/l10n/kn.json b/apps/files_sharing/l10n/kn.json index 5f990849c9..7553a7d1c9 100644 --- a/apps/files_sharing/l10n/kn.json +++ b/apps/files_sharing/l10n/kn.json @@ -1,6 +1,6 @@ { "translations": { "Cancel" : "ರದ್ದು", - "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", + "Sharing" : "ಹಂಚಿಕೆ", "Password" : "ಗುಪ್ತ ಪದ", "Name" : "ಹೆಸರು", "Download" : "ಪ್ರತಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿಕೊಳ್ಳಿ" diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js index a8d99ada8e..638f750b2e 100644 --- a/apps/files_sharing/l10n/ko.js +++ b/apps/files_sharing/l10n/ko.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "이 폴더에 업로드할 수 있습니다", "No ownCloud installation (7 or higher) found at {remote}" : "{remote}에 ownCloud 7 이상이 설치되어 있지 않음", "Invalid ownCloud url" : "잘못된 ownCloud URL", - "Share" : "공유", "Shared by" : "공유한 사용자:", + "Sharing" : "공유", "A file or folder has been shared" : "파일이나 폴더가 공유됨", "A file or folder was shared from another server" : "다른 서버에서 파일이나 폴더를 공유함", "A public shared file or folder was downloaded" : "공개 공유된 파일이나 폴더가 다운로드됨", diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json index 85d4543bb1..36d69b0f76 100644 --- a/apps/files_sharing/l10n/ko.json +++ b/apps/files_sharing/l10n/ko.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "이 폴더에 업로드할 수 있습니다", "No ownCloud installation (7 or higher) found at {remote}" : "{remote}에 ownCloud 7 이상이 설치되어 있지 않음", "Invalid ownCloud url" : "잘못된 ownCloud URL", - "Share" : "공유", "Shared by" : "공유한 사용자:", + "Sharing" : "공유", "A file or folder has been shared" : "파일이나 폴더가 공유됨", "A file or folder was shared from another server" : "다른 서버에서 파일이나 폴더를 공유함", "A public shared file or folder was downloaded" : "공개 공유된 파일이나 폴더가 다운로드됨", diff --git a/apps/files_sharing/l10n/ku_IQ.js b/apps/files_sharing/l10n/ku_IQ.js index 3c751c0a7b..f1549d46c0 100644 --- a/apps/files_sharing/l10n/ku_IQ.js +++ b/apps/files_sharing/l10n/ku_IQ.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "لابردن", - "Share" : "هاوبەشی کردن", "Password" : "وشەی تێپەربو", "Name" : "ناو", "Download" : "داگرتن" diff --git a/apps/files_sharing/l10n/ku_IQ.json b/apps/files_sharing/l10n/ku_IQ.json index 8c54636362..7be49d0c5e 100644 --- a/apps/files_sharing/l10n/ku_IQ.json +++ b/apps/files_sharing/l10n/ku_IQ.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "لابردن", - "Share" : "هاوبەشی کردن", "Password" : "وشەی تێپەربو", "Name" : "ناو", "Download" : "داگرتن" diff --git a/apps/files_sharing/l10n/lb.js b/apps/files_sharing/l10n/lb.js index 1bdb37e38e..deaddb2613 100644 --- a/apps/files_sharing/l10n/lb.js +++ b/apps/files_sharing/l10n/lb.js @@ -4,7 +4,6 @@ OC.L10N.register( "Nothing shared yet" : "Nach näischt gedeelt", "No shared links" : "Keng gedeelte Linken", "Cancel" : "Ofbriechen", - "Share" : "Deelen", "Shared by" : "Gedeelt vun", "The password is wrong. Try again." : "Den Passwuert ass incorrect. Probeier ed nach eng keier.", "Password" : "Passwuert", diff --git a/apps/files_sharing/l10n/lb.json b/apps/files_sharing/l10n/lb.json index ec78da1f17..43de4dbb66 100644 --- a/apps/files_sharing/l10n/lb.json +++ b/apps/files_sharing/l10n/lb.json @@ -2,7 +2,6 @@ "Nothing shared yet" : "Nach näischt gedeelt", "No shared links" : "Keng gedeelte Linken", "Cancel" : "Ofbriechen", - "Share" : "Deelen", "Shared by" : "Gedeelt vun", "The password is wrong. Try again." : "Den Passwuert ass incorrect. Probeier ed nach eng keier.", "Password" : "Passwuert", diff --git a/apps/files_sharing/l10n/lo.js b/apps/files_sharing/l10n/lo.js new file mode 100644 index 0000000000..c2ef0b8138 --- /dev/null +++ b/apps/files_sharing/l10n/lo.js @@ -0,0 +1,6 @@ +OC.L10N.register( + "files_sharing", + { + "Sharing" : "ການແບ່ງປັນ" +}, +"nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/lo.json b/apps/files_sharing/l10n/lo.json new file mode 100644 index 0000000000..e6d885c8e7 --- /dev/null +++ b/apps/files_sharing/l10n/lo.json @@ -0,0 +1,4 @@ +{ "translations": { + "Sharing" : "ການແບ່ງປັນ" +},"pluralForm" :"nplurals=1; plural=0;" +} \ No newline at end of file diff --git a/apps/files_sharing/l10n/lt_LT.js b/apps/files_sharing/l10n/lt_LT.js index 61860ef2f4..897bfe457d 100644 --- a/apps/files_sharing/l10n/lt_LT.js +++ b/apps/files_sharing/l10n/lt_LT.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Atšaukti", - "Share" : "Dalintis", "Shared by" : "Dalinasi", + "Sharing" : "Dalijimasis", "A file or folder has been shared" : "Failas ar aplankas buvo pasidalintas", "You shared %1$s with %2$s" : "Jūs pasidalinote %1$s su %2$s", "You shared %1$s with group %2$s" : "Jūs pasidalinote %1$s su grupe %2$s", diff --git a/apps/files_sharing/l10n/lt_LT.json b/apps/files_sharing/l10n/lt_LT.json index 8e42e1ca94..c27668b24c 100644 --- a/apps/files_sharing/l10n/lt_LT.json +++ b/apps/files_sharing/l10n/lt_LT.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "Atšaukti", - "Share" : "Dalintis", "Shared by" : "Dalinasi", + "Sharing" : "Dalijimasis", "A file or folder has been shared" : "Failas ar aplankas buvo pasidalintas", "You shared %1$s with %2$s" : "Jūs pasidalinote %1$s su %2$s", "You shared %1$s with group %2$s" : "Jūs pasidalinote %1$s su grupe %2$s", diff --git a/apps/files_sharing/l10n/lv.js b/apps/files_sharing/l10n/lv.js index b2a1334fc3..9c2f4d3fe4 100644 --- a/apps/files_sharing/l10n/lv.js +++ b/apps/files_sharing/l10n/lv.js @@ -23,8 +23,8 @@ OC.L10N.register( "Add remote share" : "Pievienot attālināto koplietotni", "No ownCloud installation (7 or higher) found at {remote}" : "Nav atrasta neviena ownCloud (7. vai augstāka) instalācija {remote}", "Invalid ownCloud url" : "Nederīga ownCloud saite", - "Share" : "Dalīties", "Shared by" : "Dalījās", + "Sharing" : "Dalīšanās", "A file or folder has been shared" : "Koplietota fails vai mape", "A file or folder was shared from another server" : "Fails vai mape tika koplietota no cita servera", "A public shared file or folder was downloaded" : "Publiski koplietots fails vai mape tika lejupielādēts", diff --git a/apps/files_sharing/l10n/lv.json b/apps/files_sharing/l10n/lv.json index 7337d84171..abc16e3ad6 100644 --- a/apps/files_sharing/l10n/lv.json +++ b/apps/files_sharing/l10n/lv.json @@ -21,8 +21,8 @@ "Add remote share" : "Pievienot attālināto koplietotni", "No ownCloud installation (7 or higher) found at {remote}" : "Nav atrasta neviena ownCloud (7. vai augstāka) instalācija {remote}", "Invalid ownCloud url" : "Nederīga ownCloud saite", - "Share" : "Dalīties", "Shared by" : "Dalījās", + "Sharing" : "Dalīšanās", "A file or folder has been shared" : "Koplietota fails vai mape", "A file or folder was shared from another server" : "Fails vai mape tika koplietota no cita servera", "A public shared file or folder was downloaded" : "Publiski koplietots fails vai mape tika lejupielādēts", diff --git a/apps/files_sharing/l10n/mk.js b/apps/files_sharing/l10n/mk.js index a66bcbdd79..a5de7fb5c0 100644 --- a/apps/files_sharing/l10n/mk.js +++ b/apps/files_sharing/l10n/mk.js @@ -5,8 +5,8 @@ OC.L10N.register( "Shared with others" : "Сподели со останатите", "Shared by link" : "Споделено со врска", "Cancel" : "Откажи", - "Share" : "Сподели", "Shared by" : "Споделено од", + "Sharing" : "Споделување", "A file or folder has been shared" : "Датотека или фолдер беше споделен", "You shared %1$s with %2$s" : "Вие споделивте %1$s со %2$s", "You shared %1$s with group %2$s" : "Вие споделивте %1$s со групата %2$s", diff --git a/apps/files_sharing/l10n/mk.json b/apps/files_sharing/l10n/mk.json index 2aa50a1662..ad7eff6078 100644 --- a/apps/files_sharing/l10n/mk.json +++ b/apps/files_sharing/l10n/mk.json @@ -3,8 +3,8 @@ "Shared with others" : "Сподели со останатите", "Shared by link" : "Споделено со врска", "Cancel" : "Откажи", - "Share" : "Сподели", "Shared by" : "Споделено од", + "Sharing" : "Споделување", "A file or folder has been shared" : "Датотека или фолдер беше споделен", "You shared %1$s with %2$s" : "Вие споделивте %1$s со %2$s", "You shared %1$s with group %2$s" : "Вие споделивте %1$s со групата %2$s", diff --git a/apps/files_sharing/l10n/mn.js b/apps/files_sharing/l10n/mn.js index 09d6902e57..49251482ad 100644 --- a/apps/files_sharing/l10n/mn.js +++ b/apps/files_sharing/l10n/mn.js @@ -1,7 +1,7 @@ OC.L10N.register( "files_sharing", { - "Share" : "Түгээх", + "Sharing" : "Түгээлт", "A file or folder has been shared" : "Файл эсвэл хавтас амжилттай түгээгдлээ", "You shared %1$s with %2$s" : "Та %1$s-ийг %2$s руу түгээлээ", "You shared %1$s with group %2$s" : "Та %1$s-ийг %2$s групп руу түгээлээ", diff --git a/apps/files_sharing/l10n/mn.json b/apps/files_sharing/l10n/mn.json index 1d7a83d2f9..f727c47a00 100644 --- a/apps/files_sharing/l10n/mn.json +++ b/apps/files_sharing/l10n/mn.json @@ -1,5 +1,5 @@ { "translations": { - "Share" : "Түгээх", + "Sharing" : "Түгээлт", "A file or folder has been shared" : "Файл эсвэл хавтас амжилттай түгээгдлээ", "You shared %1$s with %2$s" : "Та %1$s-ийг %2$s руу түгээлээ", "You shared %1$s with group %2$s" : "Та %1$s-ийг %2$s групп руу түгээлээ", diff --git a/apps/files_sharing/l10n/ms_MY.js b/apps/files_sharing/l10n/ms_MY.js index d970549d4a..0b54000037 100644 --- a/apps/files_sharing/l10n/ms_MY.js +++ b/apps/files_sharing/l10n/ms_MY.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Batal", - "Share" : "Kongsi", "Shared by" : "Dikongsi dengan", "%2$s shared %1$s with you" : "%2$s berkongsi %1$s dengan anda", "You shared %1$s via link" : "Anda kongsikan %1$s melalui sambungan", diff --git a/apps/files_sharing/l10n/ms_MY.json b/apps/files_sharing/l10n/ms_MY.json index 5590112705..8897e9e101 100644 --- a/apps/files_sharing/l10n/ms_MY.json +++ b/apps/files_sharing/l10n/ms_MY.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "Batal", - "Share" : "Kongsi", "Shared by" : "Dikongsi dengan", "%2$s shared %1$s with you" : "%2$s berkongsi %1$s dengan anda", "You shared %1$s via link" : "Anda kongsikan %1$s melalui sambungan", diff --git a/apps/files_sharing/l10n/nb_NO.js b/apps/files_sharing/l10n/nb_NO.js index c6c7fb0b44..4b76dab034 100644 --- a/apps/files_sharing/l10n/nb_NO.js +++ b/apps/files_sharing/l10n/nb_NO.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Du kan laste opp til denne mappen", "No ownCloud installation (7 or higher) found at {remote}" : "Ingen ownCloud-installasjon (7 eller høyere) funnet på {remote}", "Invalid ownCloud url" : "Ugyldig ownCloud-url", - "Share" : "Del", "Shared by" : "Delt av", + "Sharing" : "Deling", "A file or folder has been shared" : "En fil eller mappe ble delt", "A file or folder was shared from another server" : "En fil eller mappe ble delt fra en annen server", "A public shared file or folder was downloaded" : "En offentlig delt fil eller mappe ble lastet ned", diff --git a/apps/files_sharing/l10n/nb_NO.json b/apps/files_sharing/l10n/nb_NO.json index 43435faa5a..c466d22e3d 100644 --- a/apps/files_sharing/l10n/nb_NO.json +++ b/apps/files_sharing/l10n/nb_NO.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Du kan laste opp til denne mappen", "No ownCloud installation (7 or higher) found at {remote}" : "Ingen ownCloud-installasjon (7 eller høyere) funnet på {remote}", "Invalid ownCloud url" : "Ugyldig ownCloud-url", - "Share" : "Del", "Shared by" : "Delt av", + "Sharing" : "Deling", "A file or folder has been shared" : "En fil eller mappe ble delt", "A file or folder was shared from another server" : "En fil eller mappe ble delt fra en annen server", "A public shared file or folder was downloaded" : "En offentlig delt fil eller mappe ble lastet ned", diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js index b2dc1f1dea..f254154568 100644 --- a/apps/files_sharing/l10n/nl.js +++ b/apps/files_sharing/l10n/nl.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "U kunt uploaden naar deze map", "No ownCloud installation (7 or higher) found at {remote}" : "Geen recente ownCloud installatie (7 of hoger) gevonden op {remote}", "Invalid ownCloud url" : "Ongeldige ownCloud url", - "Share" : "Deel", "Shared by" : "Gedeeld door", + "Sharing" : "Delen", "A file or folder has been shared" : "Een bestand of map is gedeeld", "A file or folder was shared from another server" : "Een bestand of map werd gedeeld vanaf een andere server", "A public shared file or folder was downloaded" : "Een openbaar gedeeld bestand of map werd gedownloaded", diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json index e4cf032aad..193f787b83 100644 --- a/apps/files_sharing/l10n/nl.json +++ b/apps/files_sharing/l10n/nl.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "U kunt uploaden naar deze map", "No ownCloud installation (7 or higher) found at {remote}" : "Geen recente ownCloud installatie (7 of hoger) gevonden op {remote}", "Invalid ownCloud url" : "Ongeldige ownCloud url", - "Share" : "Deel", "Shared by" : "Gedeeld door", + "Sharing" : "Delen", "A file or folder has been shared" : "Een bestand of map is gedeeld", "A file or folder was shared from another server" : "Een bestand of map werd gedeeld vanaf een andere server", "A public shared file or folder was downloaded" : "Een openbaar gedeeld bestand of map werd gedownloaded", diff --git a/apps/files_sharing/l10n/nn_NO.js b/apps/files_sharing/l10n/nn_NO.js index 67e3779265..233dd6c058 100644 --- a/apps/files_sharing/l10n/nn_NO.js +++ b/apps/files_sharing/l10n/nn_NO.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Avbryt", - "Share" : "Del", "Shared by" : "Delt av", + "Sharing" : "Deling", "A file or folder has been shared" : "Ei fil eller ei mappe har blitt delt", "You shared %1$s with %2$s" : "Du delte %1$s med %2$s", "You shared %1$s with group %2$s" : "Du delte %1$s med gruppa %2$s", diff --git a/apps/files_sharing/l10n/nn_NO.json b/apps/files_sharing/l10n/nn_NO.json index fbf38ec262..d5d33c0ae4 100644 --- a/apps/files_sharing/l10n/nn_NO.json +++ b/apps/files_sharing/l10n/nn_NO.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "Avbryt", - "Share" : "Del", "Shared by" : "Delt av", + "Sharing" : "Deling", "A file or folder has been shared" : "Ei fil eller ei mappe har blitt delt", "You shared %1$s with %2$s" : "Du delte %1$s med %2$s", "You shared %1$s with group %2$s" : "Du delte %1$s med gruppa %2$s", diff --git a/apps/files_sharing/l10n/oc.js b/apps/files_sharing/l10n/oc.js index b171633a33..5137891181 100644 --- a/apps/files_sharing/l10n/oc.js +++ b/apps/files_sharing/l10n/oc.js @@ -2,7 +2,7 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Annula", - "Share" : "Parteja", + "Sharing" : "Partiment", "Password" : "Senhal", "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr", "Name" : "Nom", diff --git a/apps/files_sharing/l10n/oc.json b/apps/files_sharing/l10n/oc.json index 0dd565d1a2..1dc1272a31 100644 --- a/apps/files_sharing/l10n/oc.json +++ b/apps/files_sharing/l10n/oc.json @@ -1,6 +1,6 @@ { "translations": { "Cancel" : "Annula", - "Share" : "Parteja", + "Sharing" : "Partiment", "Password" : "Senhal", "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr", "Name" : "Nom", diff --git a/apps/files_sharing/l10n/pa.js b/apps/files_sharing/l10n/pa.js index 5cf1b4d73a..55e1fcc249 100644 --- a/apps/files_sharing/l10n/pa.js +++ b/apps/files_sharing/l10n/pa.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "ਰੱਦ ਕਰੋ", - "Share" : "ਸਾਂਝਾ ਕਰੋ", "Password" : "ਪਾਸਵਰ", "Download" : "ਡਾਊਨਲੋਡ" }, diff --git a/apps/files_sharing/l10n/pa.json b/apps/files_sharing/l10n/pa.json index f033319520..d0feec38ff 100644 --- a/apps/files_sharing/l10n/pa.json +++ b/apps/files_sharing/l10n/pa.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "ਰੱਦ ਕਰੋ", - "Share" : "ਸਾਂਝਾ ਕਰੋ", "Password" : "ਪਾਸਵਰ", "Download" : "ਡਾਊਨਲੋਡ" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js index 361ebeff20..a0efb5ff60 100644 --- a/apps/files_sharing/l10n/pl.js +++ b/apps/files_sharing/l10n/pl.js @@ -22,8 +22,8 @@ OC.L10N.register( "Cancel" : "Anuluj", "Add remote share" : "Dodaj zdalny zasób", "Invalid ownCloud url" : "Błędny adres URL", - "Share" : "Udostępnij", "Shared by" : "Udostępniane przez", + "Sharing" : "Udostępnianie", "A file or folder has been shared" : "Plik lub folder stał się współdzielony", "You shared %1$s with %2$s" : "Współdzielisz %1$s z %2$s", "You shared %1$s with group %2$s" : "Współdzielisz %1$s z grupą %2$s", diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json index 372b4724a5..6ffad562b7 100644 --- a/apps/files_sharing/l10n/pl.json +++ b/apps/files_sharing/l10n/pl.json @@ -20,8 +20,8 @@ "Cancel" : "Anuluj", "Add remote share" : "Dodaj zdalny zasób", "Invalid ownCloud url" : "Błędny adres URL", - "Share" : "Udostępnij", "Shared by" : "Udostępniane przez", + "Sharing" : "Udostępnianie", "A file or folder has been shared" : "Plik lub folder stał się współdzielony", "You shared %1$s with %2$s" : "Współdzielisz %1$s z %2$s", "You shared %1$s with group %2$s" : "Współdzielisz %1$s z grupą %2$s", diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js index 06ab247fc3..d8b3bc9e81 100644 --- a/apps/files_sharing/l10n/pt_BR.js +++ b/apps/files_sharing/l10n/pt_BR.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Você não pode enviar arquivos para esta pasta", "No ownCloud installation (7 or higher) found at {remote}" : "Nenhuma instalação ownCloud (7 ou superior) foi encontrada em {remote}", "Invalid ownCloud url" : "Url invalida para ownCloud", - "Share" : "Compartilhar", "Shared by" : "Compartilhado por", + "Sharing" : "Compartilhamento", "A file or folder has been shared" : "Um arquivo ou pasta foi compartilhado ", "A file or folder was shared from another server" : "Um arquivo ou pasta foi compartilhada a partir de outro servidor", "A public shared file or folder was downloaded" : "Um arquivo ou pasta compartilhada publicamente foi baixado", diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json index 76865b3418..80d75ebd64 100644 --- a/apps/files_sharing/l10n/pt_BR.json +++ b/apps/files_sharing/l10n/pt_BR.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Você não pode enviar arquivos para esta pasta", "No ownCloud installation (7 or higher) found at {remote}" : "Nenhuma instalação ownCloud (7 ou superior) foi encontrada em {remote}", "Invalid ownCloud url" : "Url invalida para ownCloud", - "Share" : "Compartilhar", "Shared by" : "Compartilhado por", + "Sharing" : "Compartilhamento", "A file or folder has been shared" : "Um arquivo ou pasta foi compartilhado ", "A file or folder was shared from another server" : "Um arquivo ou pasta foi compartilhada a partir de outro servidor", "A public shared file or folder was downloaded" : "Um arquivo ou pasta compartilhada publicamente foi baixado", diff --git a/apps/files_sharing/l10n/pt_PT.js b/apps/files_sharing/l10n/pt_PT.js index f58cc27c19..8e9afdd062 100644 --- a/apps/files_sharing/l10n/pt_PT.js +++ b/apps/files_sharing/l10n/pt_PT.js @@ -23,8 +23,8 @@ OC.L10N.register( "Add remote share" : "Adicionar partilha remota", "No ownCloud installation (7 or higher) found at {remote}" : "Nenhuma instalação do OwnCloud (7 ou superior) encontrada em {remote}", "Invalid ownCloud url" : "Url ownCloud inválido", - "Share" : "Compartilhar", "Shared by" : "Partilhado por", + "Sharing" : "Partilha", "A file or folder has been shared" : "Foi partilhado um ficheiro ou uma pasta", "A file or folder was shared from another server" : "Um ficheiro ou pasta foi partilhado a partir de outro servidor", "A public shared file or folder was downloaded" : "Um ficheiro ou pasta partilhada publicamente foi descarregado", diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json index cac69a145b..9a66c73a68 100644 --- a/apps/files_sharing/l10n/pt_PT.json +++ b/apps/files_sharing/l10n/pt_PT.json @@ -21,8 +21,8 @@ "Add remote share" : "Adicionar partilha remota", "No ownCloud installation (7 or higher) found at {remote}" : "Nenhuma instalação do OwnCloud (7 ou superior) encontrada em {remote}", "Invalid ownCloud url" : "Url ownCloud inválido", - "Share" : "Compartilhar", "Shared by" : "Partilhado por", + "Sharing" : "Partilha", "A file or folder has been shared" : "Foi partilhado um ficheiro ou uma pasta", "A file or folder was shared from another server" : "Um ficheiro ou pasta foi partilhado a partir de outro servidor", "A public shared file or folder was downloaded" : "Um ficheiro ou pasta partilhada publicamente foi descarregado", diff --git a/apps/files_sharing/l10n/ro.js b/apps/files_sharing/l10n/ro.js index deca9cc68e..1ec5b930d2 100644 --- a/apps/files_sharing/l10n/ro.js +++ b/apps/files_sharing/l10n/ro.js @@ -7,8 +7,8 @@ OC.L10N.register( "Nothing shared with you yet" : "Nimic nu e partajat cu tine încă", "Nothing shared yet" : "Nimic partajat încă", "Cancel" : "Anulare", - "Share" : "Partajează", "Shared by" : "impartite in ", + "Sharing" : "Partajare", "A file or folder has been shared" : "Un fișier sau director a fost partajat", "You shared %1$s with %2$s" : "Ai partajat %1$s cu %2$s", "You shared %1$s with group %2$s" : "Ai partajat %1$s cu grupul %2$s", diff --git a/apps/files_sharing/l10n/ro.json b/apps/files_sharing/l10n/ro.json index 62f44c6f9d..b106c99001 100644 --- a/apps/files_sharing/l10n/ro.json +++ b/apps/files_sharing/l10n/ro.json @@ -5,8 +5,8 @@ "Nothing shared with you yet" : "Nimic nu e partajat cu tine încă", "Nothing shared yet" : "Nimic partajat încă", "Cancel" : "Anulare", - "Share" : "Partajează", "Shared by" : "impartite in ", + "Sharing" : "Partajare", "A file or folder has been shared" : "Un fișier sau director a fost partajat", "You shared %1$s with %2$s" : "Ai partajat %1$s cu %2$s", "You shared %1$s with group %2$s" : "Ai partajat %1$s cu grupul %2$s", diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js index 17790058fe..df1ee8603b 100644 --- a/apps/files_sharing/l10n/ru.js +++ b/apps/files_sharing/l10n/ru.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Вы можете загружать в эту папку", "No ownCloud installation (7 or higher) found at {remote}" : "На удаленном ресурсе {remote} не установлен ownCloud версии 7 или выше", "Invalid ownCloud url" : "Неверный адрес ownCloud", - "Share" : "Поделиться", "Shared by" : "Поделился", + "Sharing" : "Общий доступ", "A file or folder has been shared" : "Опубликован файл или каталог", "A file or folder was shared from another server" : "Файлом или каталогом поделились с удаленного сервера", "A public shared file or folder was downloaded" : "Общий файл или каталог был скачан", diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json index a3fdafbed8..d533d01cb0 100644 --- a/apps/files_sharing/l10n/ru.json +++ b/apps/files_sharing/l10n/ru.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Вы можете загружать в эту папку", "No ownCloud installation (7 or higher) found at {remote}" : "На удаленном ресурсе {remote} не установлен ownCloud версии 7 или выше", "Invalid ownCloud url" : "Неверный адрес ownCloud", - "Share" : "Поделиться", "Shared by" : "Поделился", + "Sharing" : "Общий доступ", "A file or folder has been shared" : "Опубликован файл или каталог", "A file or folder was shared from another server" : "Файлом или каталогом поделились с удаленного сервера", "A public shared file or folder was downloaded" : "Общий файл или каталог был скачан", diff --git a/apps/files_sharing/l10n/si_LK.js b/apps/files_sharing/l10n/si_LK.js index 06b8b5e3fa..d7e57fbb2e 100644 --- a/apps/files_sharing/l10n/si_LK.js +++ b/apps/files_sharing/l10n/si_LK.js @@ -2,7 +2,7 @@ OC.L10N.register( "files_sharing", { "Cancel" : "එපා", - "Share" : "බෙදා හදා ගන්න", + "Sharing" : "හුවමාරු කිරීම", "A file or folder has been shared" : "ගොනුවක් හෝ ෆෝල්ඩරයක් හවුල් වී ඇත", "Password" : "මුර පදය", "Name" : "නම", diff --git a/apps/files_sharing/l10n/si_LK.json b/apps/files_sharing/l10n/si_LK.json index be4be8f1a7..ff94883c51 100644 --- a/apps/files_sharing/l10n/si_LK.json +++ b/apps/files_sharing/l10n/si_LK.json @@ -1,6 +1,6 @@ { "translations": { "Cancel" : "එපා", - "Share" : "බෙදා හදා ගන්න", + "Sharing" : "හුවමාරු කිරීම", "A file or folder has been shared" : "ගොනුවක් හෝ ෆෝල්ඩරයක් හවුල් වී ඇත", "Password" : "මුර පදය", "Name" : "නම", diff --git a/apps/files_sharing/l10n/sk_SK.js b/apps/files_sharing/l10n/sk_SK.js index 897b0ae624..cfefda0ba8 100644 --- a/apps/files_sharing/l10n/sk_SK.js +++ b/apps/files_sharing/l10n/sk_SK.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Môžete nahrávať do tohto priečinka", "No ownCloud installation (7 or higher) found at {remote}" : "Nebola nájdená inštalácia ownCloudu (7 alebo vyššia) {remote}", "Invalid ownCloud url" : "Chybná ownCloud url", - "Share" : "Zdieľať", "Shared by" : "Zdieľa", + "Sharing" : "Zdieľanie", "A file or folder has been shared" : "Súbor alebo priečinok bol zdieľaný", "A file or folder was shared from another server" : "Súbor alebo priečinok bol vyzdieľaný z iného servera", "A public shared file or folder was downloaded" : "Verejne zdieľaný súbor alebo priečinok bol stiahnutý", diff --git a/apps/files_sharing/l10n/sk_SK.json b/apps/files_sharing/l10n/sk_SK.json index f7f7217469..f9b51d1dd7 100644 --- a/apps/files_sharing/l10n/sk_SK.json +++ b/apps/files_sharing/l10n/sk_SK.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Môžete nahrávať do tohto priečinka", "No ownCloud installation (7 or higher) found at {remote}" : "Nebola nájdená inštalácia ownCloudu (7 alebo vyššia) {remote}", "Invalid ownCloud url" : "Chybná ownCloud url", - "Share" : "Zdieľať", "Shared by" : "Zdieľa", + "Sharing" : "Zdieľanie", "A file or folder has been shared" : "Súbor alebo priečinok bol zdieľaný", "A file or folder was shared from another server" : "Súbor alebo priečinok bol vyzdieľaný z iného servera", "A public shared file or folder was downloaded" : "Verejne zdieľaný súbor alebo priečinok bol stiahnutý", diff --git a/apps/files_sharing/l10n/sl.js b/apps/files_sharing/l10n/sl.js index be6c0bd93f..d613f16908 100644 --- a/apps/files_sharing/l10n/sl.js +++ b/apps/files_sharing/l10n/sl.js @@ -23,8 +23,8 @@ OC.L10N.register( "Add remote share" : "Dodaj oddaljeno mesto za souporabo", "No ownCloud installation (7 or higher) found at {remote}" : "Na mestu {remote} ni nameščenega okolja ownCloud (različice 7 ali višje)", "Invalid ownCloud url" : "Naveden je neveljaven naslov URL strežnika ownCloud", - "Share" : "Souporaba", "Shared by" : "V souporabi z", + "Sharing" : "Souporaba", "A file or folder has been shared" : "Za datoteko ali mapo je odobrena souporaba.", "A file or folder was shared from another server" : "Souporaba datoteke ali mape z drugega strežnika je odobrena.", "A public shared file or folder was downloaded" : "Mapa ali datoteka v souporabi je bila prejeta.", diff --git a/apps/files_sharing/l10n/sl.json b/apps/files_sharing/l10n/sl.json index e4ec892d76..fb00547388 100644 --- a/apps/files_sharing/l10n/sl.json +++ b/apps/files_sharing/l10n/sl.json @@ -21,8 +21,8 @@ "Add remote share" : "Dodaj oddaljeno mesto za souporabo", "No ownCloud installation (7 or higher) found at {remote}" : "Na mestu {remote} ni nameščenega okolja ownCloud (različice 7 ali višje)", "Invalid ownCloud url" : "Naveden je neveljaven naslov URL strežnika ownCloud", - "Share" : "Souporaba", "Shared by" : "V souporabi z", + "Sharing" : "Souporaba", "A file or folder has been shared" : "Za datoteko ali mapo je odobrena souporaba.", "A file or folder was shared from another server" : "Souporaba datoteke ali mape z drugega strežnika je odobrena.", "A public shared file or folder was downloaded" : "Mapa ali datoteka v souporabi je bila prejeta.", diff --git a/apps/files_sharing/l10n/sq.js b/apps/files_sharing/l10n/sq.js index a4a4777f47..c5933a0fa5 100644 --- a/apps/files_sharing/l10n/sq.js +++ b/apps/files_sharing/l10n/sq.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "Anullo", - "Share" : "Ndaj", "Shared by" : "Ndarë nga", + "Sharing" : "Ndarje", "A file or folder has been shared" : "Një skedar ose dosje është ndarë", "You shared %1$s with %2$s" : "Ju ndatë %1$s me %2$s", "You shared %1$s with group %2$s" : "Ju ndatë %1$s me grupin %2$s", diff --git a/apps/files_sharing/l10n/sq.json b/apps/files_sharing/l10n/sq.json index d6da034148..e7c43d75ac 100644 --- a/apps/files_sharing/l10n/sq.json +++ b/apps/files_sharing/l10n/sq.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "Anullo", - "Share" : "Ndaj", "Shared by" : "Ndarë nga", + "Sharing" : "Ndarje", "A file or folder has been shared" : "Një skedar ose dosje është ndarë", "You shared %1$s with %2$s" : "Ju ndatë %1$s me %2$s", "You shared %1$s with group %2$s" : "Ju ndatë %1$s me grupin %2$s", diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js index fe36c06b75..5676cc5a00 100644 --- a/apps/files_sharing/l10n/sr.js +++ b/apps/files_sharing/l10n/sr.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Можете да отпремате у ову фасциклу", "No ownCloud installation (7 or higher) found at {remote}" : "Нема оунКлауд инсталације верзије 7 или више на {remote}", "Invalid ownCloud url" : "Неисправан оунКлауд УРЛ", - "Share" : "Дељење", "Shared by" : "Дели", + "Sharing" : "Дељење", "A file or folder has been shared" : "Фајл или фасцикла је дељен", "A file or folder was shared from another server" : "Фајл или фасцикла су дељени са другог сервера", "A public shared file or folder was downloaded" : "Јавно дељени фајл или фасцикла су преузети", diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json index 1d7e9b155b..fca522a103 100644 --- a/apps/files_sharing/l10n/sr.json +++ b/apps/files_sharing/l10n/sr.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Можете да отпремате у ову фасциклу", "No ownCloud installation (7 or higher) found at {remote}" : "Нема оунКлауд инсталације верзије 7 или више на {remote}", "Invalid ownCloud url" : "Неисправан оунКлауд УРЛ", - "Share" : "Дељење", "Shared by" : "Дели", + "Sharing" : "Дељење", "A file or folder has been shared" : "Фајл или фасцикла је дељен", "A file or folder was shared from another server" : "Фајл или фасцикла су дељени са другог сервера", "A public shared file or folder was downloaded" : "Јавно дељени фајл или фасцикла су преузети", diff --git a/apps/files_sharing/l10n/sr@latin.js b/apps/files_sharing/l10n/sr@latin.js index 0f77ea6cc3..32f2b29885 100644 --- a/apps/files_sharing/l10n/sr@latin.js +++ b/apps/files_sharing/l10n/sr@latin.js @@ -21,7 +21,6 @@ OC.L10N.register( "Add remote share" : "Dodaj udaljeni deljeni resurs", "No ownCloud installation (7 or higher) found at {remote}" : "Nije pronađena ownCloud instalacija (7 ili noviji) na {remote}", "Invalid ownCloud url" : "Neispravan ownCloud url", - "Share" : "Podeli", "Shared by" : "Deljeno od strane", "A file or folder has been shared" : "Fijl ili direktorijum je podeljen", "A file or folder was shared from another server" : "Fajl ili direktorijum je deljen sa drugog servera", diff --git a/apps/files_sharing/l10n/sr@latin.json b/apps/files_sharing/l10n/sr@latin.json index c7ffa922bd..aae286962f 100644 --- a/apps/files_sharing/l10n/sr@latin.json +++ b/apps/files_sharing/l10n/sr@latin.json @@ -19,7 +19,6 @@ "Add remote share" : "Dodaj udaljeni deljeni resurs", "No ownCloud installation (7 or higher) found at {remote}" : "Nije pronađena ownCloud instalacija (7 ili noviji) na {remote}", "Invalid ownCloud url" : "Neispravan ownCloud url", - "Share" : "Podeli", "Shared by" : "Deljeno od strane", "A file or folder has been shared" : "Fijl ili direktorijum je podeljen", "A file or folder was shared from another server" : "Fajl ili direktorijum je deljen sa drugog servera", diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js index 94224aa1c0..77b1171d9b 100644 --- a/apps/files_sharing/l10n/sv.js +++ b/apps/files_sharing/l10n/sv.js @@ -20,8 +20,8 @@ OC.L10N.register( "Cancel" : "Avbryt", "Add remote share" : "Lägg till fjärrdelning", "Invalid ownCloud url" : "Felaktig ownCloud url", - "Share" : "Dela", "Shared by" : "Delad av", + "Sharing" : "Dela", "A file or folder has been shared" : "En fil eller mapp har delats", "A file or folder was shared from another server" : "En fil eller mapp delades från en annan server", "A public shared file or folder was downloaded" : "En publikt delad fil eller mapp blev nerladdad", diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json index 9b2dd8f9f6..a8bb9afd01 100644 --- a/apps/files_sharing/l10n/sv.json +++ b/apps/files_sharing/l10n/sv.json @@ -18,8 +18,8 @@ "Cancel" : "Avbryt", "Add remote share" : "Lägg till fjärrdelning", "Invalid ownCloud url" : "Felaktig ownCloud url", - "Share" : "Dela", "Shared by" : "Delad av", + "Sharing" : "Dela", "A file or folder has been shared" : "En fil eller mapp har delats", "A file or folder was shared from another server" : "En fil eller mapp delades från en annan server", "A public shared file or folder was downloaded" : "En publikt delad fil eller mapp blev nerladdad", diff --git a/apps/files_sharing/l10n/ta_LK.js b/apps/files_sharing/l10n/ta_LK.js index d81565a3f6..846ed1b4f8 100644 --- a/apps/files_sharing/l10n/ta_LK.js +++ b/apps/files_sharing/l10n/ta_LK.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "இரத்து செய்க", - "Share" : "பகிர்வு", "Password" : "கடவுச்சொல்", "Name" : "பெயர்", "Download" : "பதிவிறக்குக" diff --git a/apps/files_sharing/l10n/ta_LK.json b/apps/files_sharing/l10n/ta_LK.json index 4d2bfd332b..8e722a9388 100644 --- a/apps/files_sharing/l10n/ta_LK.json +++ b/apps/files_sharing/l10n/ta_LK.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "இரத்து செய்க", - "Share" : "பகிர்வு", "Password" : "கடவுச்சொல்", "Name" : "பெயர்", "Download" : "பதிவிறக்குக" diff --git a/apps/files_sharing/l10n/th_TH.js b/apps/files_sharing/l10n/th_TH.js index 3314dcdb9f..86175f5a62 100644 --- a/apps/files_sharing/l10n/th_TH.js +++ b/apps/files_sharing/l10n/th_TH.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "คุณสามารถอัพโหลดลงในโฟลเดอร์นี้", "No ownCloud installation (7 or higher) found at {remote}" : "ไม่มีการติดตั้ง ownCloud (7 หรือสูงกว่า) พบได้ที่ {remote}", "Invalid ownCloud url" : "URL ownCloud ไม่ถูกต้อง", - "Share" : "แชร์", "Shared by" : "ถูกแชร์โดย", + "Sharing" : "การแชร์ข้อมูล", "A file or folder has been shared" : "ไฟล์หรือโฟลเดอร์ได้ถูก แชร์", "A file or folder was shared from another server" : "ไฟล์หรือโฟลเดอร์จะถูกแชร์จาก เซิร์ฟเวอร์อื่นๆ", "A public shared file or folder was downloaded" : "แชร์ไฟล์หรือโฟลเดอร์สาธารณะถูก ดาวน์โหลด", diff --git a/apps/files_sharing/l10n/th_TH.json b/apps/files_sharing/l10n/th_TH.json index fc9189e1c7..5704a59336 100644 --- a/apps/files_sharing/l10n/th_TH.json +++ b/apps/files_sharing/l10n/th_TH.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "คุณสามารถอัพโหลดลงในโฟลเดอร์นี้", "No ownCloud installation (7 or higher) found at {remote}" : "ไม่มีการติดตั้ง ownCloud (7 หรือสูงกว่า) พบได้ที่ {remote}", "Invalid ownCloud url" : "URL ownCloud ไม่ถูกต้อง", - "Share" : "แชร์", "Shared by" : "ถูกแชร์โดย", + "Sharing" : "การแชร์ข้อมูล", "A file or folder has been shared" : "ไฟล์หรือโฟลเดอร์ได้ถูก แชร์", "A file or folder was shared from another server" : "ไฟล์หรือโฟลเดอร์จะถูกแชร์จาก เซิร์ฟเวอร์อื่นๆ", "A public shared file or folder was downloaded" : "แชร์ไฟล์หรือโฟลเดอร์สาธารณะถูก ดาวน์โหลด", diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js index 12a85f732b..ce96af88e1 100644 --- a/apps/files_sharing/l10n/tr.js +++ b/apps/files_sharing/l10n/tr.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Bu dizine yükleme yapabilirsiniz", "No ownCloud installation (7 or higher) found at {remote}" : "{remote} üzerinde ownCloud (7 veya daha üstü) kurulumu bulunamadı", "Invalid ownCloud url" : "Geçersiz ownCloud adresi", - "Share" : "Paylaş", "Shared by" : "Paylaşan", + "Sharing" : "Paylaşım", "A file or folder has been shared" : "Bir dosya veya klasör paylaşıldı", "A file or folder was shared from another server" : "Başka sunucudan bir dosya veya klasör paylaşıldı", "A public shared file or folder was downloaded" : "Herkese açık paylaşılan bir dosya veya klasör indirildi", diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json index c6f23ef077..8705219ab2 100644 --- a/apps/files_sharing/l10n/tr.json +++ b/apps/files_sharing/l10n/tr.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Bu dizine yükleme yapabilirsiniz", "No ownCloud installation (7 or higher) found at {remote}" : "{remote} üzerinde ownCloud (7 veya daha üstü) kurulumu bulunamadı", "Invalid ownCloud url" : "Geçersiz ownCloud adresi", - "Share" : "Paylaş", "Shared by" : "Paylaşan", + "Sharing" : "Paylaşım", "A file or folder has been shared" : "Bir dosya veya klasör paylaşıldı", "A file or folder was shared from another server" : "Başka sunucudan bir dosya veya klasör paylaşıldı", "A public shared file or folder was downloaded" : "Herkese açık paylaşılan bir dosya veya klasör indirildi", diff --git a/apps/files_sharing/l10n/ug.js b/apps/files_sharing/l10n/ug.js index 4a9b698aa0..983bb3cc70 100644 --- a/apps/files_sharing/l10n/ug.js +++ b/apps/files_sharing/l10n/ug.js @@ -2,8 +2,8 @@ OC.L10N.register( "files_sharing", { "Cancel" : "ۋاز كەچ", - "Share" : "ھەمبەھىر", "Shared by" : "ھەمبەھىرلىگۈچى", + "Sharing" : "ھەمبەھىر", "Password" : "ئىم", "Name" : "ئاتى", "Download" : "چۈشۈر" diff --git a/apps/files_sharing/l10n/ug.json b/apps/files_sharing/l10n/ug.json index a4253e61d0..63991ebcfc 100644 --- a/apps/files_sharing/l10n/ug.json +++ b/apps/files_sharing/l10n/ug.json @@ -1,7 +1,7 @@ { "translations": { "Cancel" : "ۋاز كەچ", - "Share" : "ھەمبەھىر", "Shared by" : "ھەمبەھىرلىگۈچى", + "Sharing" : "ھەمبەھىر", "Password" : "ئىم", "Name" : "ئاتى", "Download" : "چۈشۈر" diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js index 76e9b88525..37c838b6aa 100644 --- a/apps/files_sharing/l10n/uk.js +++ b/apps/files_sharing/l10n/uk.js @@ -24,8 +24,8 @@ OC.L10N.register( "You can upload into this folder" : "Ви можете завантажити до цієї теки", "No ownCloud installation (7 or higher) found at {remote}" : "Немає установленого OwnCloud (7 або вище), можна знайти на {remote}", "Invalid ownCloud url" : "Невірний ownCloud URL", - "Share" : "Поділитися", "Shared by" : "Опубліковано", + "Sharing" : "Спільний доступ", "A file or folder has been shared" : "Файл або теку було відкрито для спільного користування ", "A file or folder was shared from another server" : "Файл або каталог був опублікований з іншого сервера", "A public shared file or folder was downloaded" : "Опублікований файл або каталог був завантажений", diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json index 74cccc1901..b062a761fb 100644 --- a/apps/files_sharing/l10n/uk.json +++ b/apps/files_sharing/l10n/uk.json @@ -22,8 +22,8 @@ "You can upload into this folder" : "Ви можете завантажити до цієї теки", "No ownCloud installation (7 or higher) found at {remote}" : "Немає установленого OwnCloud (7 або вище), можна знайти на {remote}", "Invalid ownCloud url" : "Невірний ownCloud URL", - "Share" : "Поділитися", "Shared by" : "Опубліковано", + "Sharing" : "Спільний доступ", "A file or folder has been shared" : "Файл або теку було відкрито для спільного користування ", "A file or folder was shared from another server" : "Файл або каталог був опублікований з іншого сервера", "A public shared file or folder was downloaded" : "Опублікований файл або каталог був завантажений", diff --git a/apps/files_sharing/l10n/ur_PK.js b/apps/files_sharing/l10n/ur_PK.js index ad802fe8ea..2e9b145d78 100644 --- a/apps/files_sharing/l10n/ur_PK.js +++ b/apps/files_sharing/l10n/ur_PK.js @@ -2,7 +2,6 @@ OC.L10N.register( "files_sharing", { "Cancel" : "منسوخ کریں", - "Share" : "اشتراک", "Shared by" : "سے اشتراک شدہ", "Password" : "پاسورڈ", "Name" : "اسم", diff --git a/apps/files_sharing/l10n/ur_PK.json b/apps/files_sharing/l10n/ur_PK.json index 5431e0a2fa..b0ac6d244b 100644 --- a/apps/files_sharing/l10n/ur_PK.json +++ b/apps/files_sharing/l10n/ur_PK.json @@ -1,6 +1,5 @@ { "translations": { "Cancel" : "منسوخ کریں", - "Share" : "اشتراک", "Shared by" : "سے اشتراک شدہ", "Password" : "پاسورڈ", "Name" : "اسم", diff --git a/apps/files_sharing/l10n/vi.js b/apps/files_sharing/l10n/vi.js index a96969df22..2be9b19302 100644 --- a/apps/files_sharing/l10n/vi.js +++ b/apps/files_sharing/l10n/vi.js @@ -12,8 +12,8 @@ OC.L10N.register( "Files and folders you share will show up here" : "Tập tin và thư mục bạn chia sẻ sẽ được hiển thị tại đây.", "No shared links" : "Chưa có liên kết chia sẻ", "Cancel" : "Hủy", - "Share" : "Chia sẻ", "Shared by" : "Chia sẻ bởi", + "Sharing" : "Chia sẻ", "Shares" : "Chia sẻ", "The password is wrong. Try again." : "Mật khẩu sai. Xin hãy thử lại.", "Password" : "Mật khẩu", diff --git a/apps/files_sharing/l10n/vi.json b/apps/files_sharing/l10n/vi.json index a53d3c9e38..978c916cbb 100644 --- a/apps/files_sharing/l10n/vi.json +++ b/apps/files_sharing/l10n/vi.json @@ -10,8 +10,8 @@ "Files and folders you share will show up here" : "Tập tin và thư mục bạn chia sẻ sẽ được hiển thị tại đây.", "No shared links" : "Chưa có liên kết chia sẻ", "Cancel" : "Hủy", - "Share" : "Chia sẻ", "Shared by" : "Chia sẻ bởi", + "Sharing" : "Chia sẻ", "Shares" : "Chia sẻ", "The password is wrong. Try again." : "Mật khẩu sai. Xin hãy thử lại.", "Password" : "Mật khẩu", diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js index f3bbbbcfcb..c62e6a4762 100644 --- a/apps/files_sharing/l10n/zh_CN.js +++ b/apps/files_sharing/l10n/zh_CN.js @@ -2,6 +2,7 @@ OC.L10N.register( "files_sharing", { "Server to server sharing is not enabled on this server" : "此服务器未启用服务器到服务器分享功能", + "Invalid or untrusted SSL certificate" : "不合法或是不被信任的 SSL 证书", "Couldn't add remote share" : "无法添加远程分享", "Shared with you" : "分享给您的文件", "Shared with others" : "您分享的文件", @@ -11,10 +12,13 @@ OC.L10N.register( "Remote share password" : "远程分享密码", "Cancel" : "取消", "Add remote share" : "添加远程分享", + "You can upload into this folder" : "您可以上传文件至此文件夹", + "No ownCloud installation (7 or higher) found at {remote}" : "未发现 {remote} 安装有ownCloud (7 或更高版本)", "Invalid ownCloud url" : "无效的 ownCloud 网址", - "Share" : "共享", "Shared by" : "共享人", + "Sharing" : "共享", "A file or folder has been shared" : "一个文件或文件夹已共享。", + "You received a new remote share from %s" : "您从%s收到了新的远程分享", "You shared %1$s with %2$s" : "您把 %1$s分享给了 %2$s", "You shared %1$s with group %2$s" : "你把 %1$s 分享给了 %2$s 组", "%2$s shared %1$s with you" : "%2$s 把 %1$s 分享给了您", @@ -37,6 +41,9 @@ OC.L10N.register( "Download %s" : "下载 %s", "Direct link" : "直接链接", "Federated Cloud Sharing" : "联合云共享", - "Open documentation" : "打开文档" + "Open documentation" : "打开文档", + "Allow users on this server to send shares to other servers" : "允许用户分享文件给其他服务器上的用户", + "Allow users on this server to receive shares from other servers" : "允许用户从其他服务器接收分享", + "HTML Code:" : "HTML 代码:" }, "nplurals=1; plural=0;"); diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json index a8b4d45a62..5496d90bea 100644 --- a/apps/files_sharing/l10n/zh_CN.json +++ b/apps/files_sharing/l10n/zh_CN.json @@ -1,5 +1,6 @@ { "translations": { "Server to server sharing is not enabled on this server" : "此服务器未启用服务器到服务器分享功能", + "Invalid or untrusted SSL certificate" : "不合法或是不被信任的 SSL 证书", "Couldn't add remote share" : "无法添加远程分享", "Shared with you" : "分享给您的文件", "Shared with others" : "您分享的文件", @@ -9,10 +10,13 @@ "Remote share password" : "远程分享密码", "Cancel" : "取消", "Add remote share" : "添加远程分享", + "You can upload into this folder" : "您可以上传文件至此文件夹", + "No ownCloud installation (7 or higher) found at {remote}" : "未发现 {remote} 安装有ownCloud (7 或更高版本)", "Invalid ownCloud url" : "无效的 ownCloud 网址", - "Share" : "共享", "Shared by" : "共享人", + "Sharing" : "共享", "A file or folder has been shared" : "一个文件或文件夹已共享。", + "You received a new remote share from %s" : "您从%s收到了新的远程分享", "You shared %1$s with %2$s" : "您把 %1$s分享给了 %2$s", "You shared %1$s with group %2$s" : "你把 %1$s 分享给了 %2$s 组", "%2$s shared %1$s with you" : "%2$s 把 %1$s 分享给了您", @@ -35,6 +39,9 @@ "Download %s" : "下载 %s", "Direct link" : "直接链接", "Federated Cloud Sharing" : "联合云共享", - "Open documentation" : "打开文档" + "Open documentation" : "打开文档", + "Allow users on this server to send shares to other servers" : "允许用户分享文件给其他服务器上的用户", + "Allow users on this server to receive shares from other servers" : "允许用户从其他服务器接收分享", + "HTML Code:" : "HTML 代码:" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/apps/files_sharing/l10n/zh_HK.js b/apps/files_sharing/l10n/zh_HK.js index e840f92c42..b2fee180ba 100644 --- a/apps/files_sharing/l10n/zh_HK.js +++ b/apps/files_sharing/l10n/zh_HK.js @@ -2,7 +2,7 @@ OC.L10N.register( "files_sharing", { "Cancel" : "取消", - "Share" : "分享", + "Sharing" : "分享", "A file or folder has been shared" : "檔案或資料夾已被分享", "You shared %1$s with %2$s" : "你分享了 %1$s 給 %2$s", "Shares" : "分享", diff --git a/apps/files_sharing/l10n/zh_HK.json b/apps/files_sharing/l10n/zh_HK.json index 9e283b58ba..35e832e76f 100644 --- a/apps/files_sharing/l10n/zh_HK.json +++ b/apps/files_sharing/l10n/zh_HK.json @@ -1,6 +1,6 @@ { "translations": { "Cancel" : "取消", - "Share" : "分享", + "Sharing" : "分享", "A file or folder has been shared" : "檔案或資料夾已被分享", "You shared %1$s with %2$s" : "你分享了 %1$s 給 %2$s", "Shares" : "分享", diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js index 44231e17bc..a5f97c9209 100644 --- a/apps/files_sharing/l10n/zh_TW.js +++ b/apps/files_sharing/l10n/zh_TW.js @@ -12,8 +12,8 @@ OC.L10N.register( "Cancel" : "取消", "Add remote share" : "加入遠端分享", "Invalid ownCloud url" : "無效的 ownCloud URL", - "Share" : "分享", "Shared by" : "由...分享", + "Sharing" : "分享", "A file or folder has been shared" : "檔案或目錄已被 分享", "You shared %1$s with %2$s" : "您與 %2$s 分享了 %1$s", "You shared %1$s with group %2$s" : "您與 %2$s 群組分享了 %1$s", @@ -23,6 +23,7 @@ OC.L10N.register( "This share is password-protected" : "這個分享有密碼保護", "The password is wrong. Try again." : "請檢查您的密碼並再試一次", "Password" : "密碼", + "No entries found in this folder" : "在此資料夾中沒有任何項目", "Name" : "名稱", "Share time" : "分享時間", "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效", diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json index 4be6f0f10f..67150e495b 100644 --- a/apps/files_sharing/l10n/zh_TW.json +++ b/apps/files_sharing/l10n/zh_TW.json @@ -10,8 +10,8 @@ "Cancel" : "取消", "Add remote share" : "加入遠端分享", "Invalid ownCloud url" : "無效的 ownCloud URL", - "Share" : "分享", "Shared by" : "由...分享", + "Sharing" : "分享", "A file or folder has been shared" : "檔案或目錄已被 分享", "You shared %1$s with %2$s" : "您與 %2$s 分享了 %1$s", "You shared %1$s with group %2$s" : "您與 %2$s 群組分享了 %1$s", @@ -21,6 +21,7 @@ "This share is password-protected" : "這個分享有密碼保護", "The password is wrong. Try again." : "請檢查您的密碼並再試一次", "Password" : "密碼", + "No entries found in this folder" : "在此資料夾中沒有任何項目", "Name" : "名稱", "Share time" : "分享時間", "Sorry, this link doesn’t seem to work anymore." : "抱歉,此連結已經失效", diff --git a/apps/files_trashbin/l10n/is.js b/apps/files_trashbin/l10n/is.js index de8522ed67..fb7f47295c 100644 --- a/apps/files_trashbin/l10n/is.js +++ b/apps/files_trashbin/l10n/is.js @@ -5,4 +5,4 @@ OC.L10N.register( "Name" : "Nafn", "Delete" : "Eyða" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_trashbin/l10n/is.json b/apps/files_trashbin/l10n/is.json index 5ce58fc128..d6c73d91af 100644 --- a/apps/files_trashbin/l10n/is.json +++ b/apps/files_trashbin/l10n/is.json @@ -2,5 +2,5 @@ "Error" : "Villa", "Name" : "Nafn", "Delete" : "Eyða" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/files_trashbin/l10n/zh_TW.js b/apps/files_trashbin/l10n/zh_TW.js index 974c38d09a..85d0873edd 100644 --- a/apps/files_trashbin/l10n/zh_TW.js +++ b/apps/files_trashbin/l10n/zh_TW.js @@ -8,6 +8,8 @@ OC.L10N.register( "Delete permanently" : "永久刪除", "Error" : "錯誤", "restored" : "已還原", + "No entries found in this folder" : "在此資料夾中沒有任何項目", + "Select all" : "全選", "Name" : "名稱", "Deleted" : "已刪除", "Delete" : "刪除" diff --git a/apps/files_trashbin/l10n/zh_TW.json b/apps/files_trashbin/l10n/zh_TW.json index f944a8db39..5c744f828c 100644 --- a/apps/files_trashbin/l10n/zh_TW.json +++ b/apps/files_trashbin/l10n/zh_TW.json @@ -6,6 +6,8 @@ "Delete permanently" : "永久刪除", "Error" : "錯誤", "restored" : "已還原", + "No entries found in this folder" : "在此資料夾中沒有任何項目", + "Select all" : "全選", "Name" : "名稱", "Deleted" : "已刪除", "Delete" : "刪除" diff --git a/apps/files_versions/l10n/is.js b/apps/files_versions/l10n/is.js index bbfe2f42ab..cf470a3702 100644 --- a/apps/files_versions/l10n/is.js +++ b/apps/files_versions/l10n/is.js @@ -3,4 +3,4 @@ OC.L10N.register( { "Versions" : "Útgáfur" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_versions/l10n/is.json b/apps/files_versions/l10n/is.json index 11d9d3383b..1f77366034 100644 --- a/apps/files_versions/l10n/is.json +++ b/apps/files_versions/l10n/is.json @@ -1,4 +1,4 @@ { "translations": { "Versions" : "Útgáfur" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/user_ldap/l10n/ast.js b/apps/user_ldap/l10n/ast.js index 3cc4b7d6b0..5bdc52e47a 100644 --- a/apps/user_ldap/l10n/ast.js +++ b/apps/user_ldap/l10n/ast.js @@ -64,7 +64,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Puertu pa copies de seguranza (Réplica)", "Disable Main Server" : "Deshabilitar sirvidor principal", "Only connect to the replica server." : "Coneutar namái col sirvidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Sirvidor de LDAP insensible a mayúscules/minúscules (Windows)", "Turn off SSL certificate validation." : "Apagar la validación del certificáu SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nun se recomienda, ¡úsalu namái pa pruebes! Si la conexón namái funciona con esta opción, importa'l certificáu SSL del sirvidor LDAP nel to sirvidor %s.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/ast.json b/apps/user_ldap/l10n/ast.json index 19b8c5fad1..934065b7a4 100644 --- a/apps/user_ldap/l10n/ast.json +++ b/apps/user_ldap/l10n/ast.json @@ -62,7 +62,6 @@ "Backup (Replica) Port" : "Puertu pa copies de seguranza (Réplica)", "Disable Main Server" : "Deshabilitar sirvidor principal", "Only connect to the replica server." : "Coneutar namái col sirvidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Sirvidor de LDAP insensible a mayúscules/minúscules (Windows)", "Turn off SSL certificate validation." : "Apagar la validación del certificáu SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nun se recomienda, ¡úsalu namái pa pruebes! Si la conexón namái funciona con esta opción, importa'l certificáu SSL del sirvidor LDAP nel to sirvidor %s.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/bg_BG.js b/apps/user_ldap/l10n/bg_BG.js index b2e12165de..3ba3f25bd1 100644 --- a/apps/user_ldap/l10n/bg_BG.js +++ b/apps/user_ldap/l10n/bg_BG.js @@ -66,7 +66,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Backup (Replica) Port", "Disable Main Server" : "Изключи Главиния Сървър", "Only connect to the replica server." : "Свържи се само с репликирания сървър.", - "Case insensitive LDAP server (Windows)" : "Нечувствителен към главни/малки букви LDAP сървър (Windows)", "Turn off SSL certificate validation." : "Изключи валидацията на SSL сертификата.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Не е пропоръчително, ползвай само за тестване. Ако връзката работи само с тази опция, вмъкни LDAP сървърния SSL сертификат в твоя %s сървър.", "Cache Time-To-Live" : "Кеширай Time-To-Live", diff --git a/apps/user_ldap/l10n/bg_BG.json b/apps/user_ldap/l10n/bg_BG.json index 39fc9b1e49..1360e0cec1 100644 --- a/apps/user_ldap/l10n/bg_BG.json +++ b/apps/user_ldap/l10n/bg_BG.json @@ -64,7 +64,6 @@ "Backup (Replica) Port" : "Backup (Replica) Port", "Disable Main Server" : "Изключи Главиния Сървър", "Only connect to the replica server." : "Свържи се само с репликирания сървър.", - "Case insensitive LDAP server (Windows)" : "Нечувствителен към главни/малки букви LDAP сървър (Windows)", "Turn off SSL certificate validation." : "Изключи валидацията на SSL сертификата.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Не е пропоръчително, ползвай само за тестване. Ако връзката работи само с тази опция, вмъкни LDAP сървърния SSL сертификат в твоя %s сървър.", "Cache Time-To-Live" : "Кеширай Time-To-Live", diff --git a/apps/user_ldap/l10n/bn_BD.js b/apps/user_ldap/l10n/bn_BD.js index 3ee845c475..e7d34692f7 100644 --- a/apps/user_ldap/l10n/bn_BD.js +++ b/apps/user_ldap/l10n/bn_BD.js @@ -59,7 +59,6 @@ OC.L10N.register( "Backup (Replica) Port" : "ব্যাকআপ (নকল) পোর্ট", "Disable Main Server" : "মূল সার্ভারকে অকার্যকর কর", "Only connect to the replica server." : "শুধুমাত্র নকল সার্ভারে সংযোগ দাও।", - "Case insensitive LDAP server (Windows)" : "বর্ণ অসংবেদী LDAP সার্ভার (উইন্ডোজ)", "Turn off SSL certificate validation." : "SSL সনদপত্র যাচাইকরণ বন্ধ রাক।", "Cache Time-To-Live" : "ক্যাশে টাইম-টু-লিভ", "in seconds. A change empties the cache." : "সেকেন্ডে। কোন পরিবর্তন ক্যাসে খালি করবে।", diff --git a/apps/user_ldap/l10n/bn_BD.json b/apps/user_ldap/l10n/bn_BD.json index 250565a3a8..e9b7cd0146 100644 --- a/apps/user_ldap/l10n/bn_BD.json +++ b/apps/user_ldap/l10n/bn_BD.json @@ -57,7 +57,6 @@ "Backup (Replica) Port" : "ব্যাকআপ (নকল) পোর্ট", "Disable Main Server" : "মূল সার্ভারকে অকার্যকর কর", "Only connect to the replica server." : "শুধুমাত্র নকল সার্ভারে সংযোগ দাও।", - "Case insensitive LDAP server (Windows)" : "বর্ণ অসংবেদী LDAP সার্ভার (উইন্ডোজ)", "Turn off SSL certificate validation." : "SSL সনদপত্র যাচাইকরণ বন্ধ রাক।", "Cache Time-To-Live" : "ক্যাশে টাইম-টু-লিভ", "in seconds. A change empties the cache." : "সেকেন্ডে। কোন পরিবর্তন ক্যাসে খালি করবে।", diff --git a/apps/user_ldap/l10n/ca.js b/apps/user_ldap/l10n/ca.js index cf25823642..ea01350ec2 100644 --- a/apps/user_ldap/l10n/ca.js +++ b/apps/user_ldap/l10n/ca.js @@ -59,7 +59,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Port de la còpia de seguretat (rèplica)", "Disable Main Server" : "Desactiva el servidor principal", "Only connect to the replica server." : "Connecta només al servidor rèplica.", - "Case insensitive LDAP server (Windows)" : "Servidor LDAP sense distinció entre majúscules i minúscules (Windows)", "Turn off SSL certificate validation." : "Desactiva la validació de certificat SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "No es recomana, useu-ho només com a prova! Importeu el certificat SSL del servidor LDAP al servidor %s només si la connexió funciona amb aquesta opció.", "Cache Time-To-Live" : "Memòria cau Time-To-Live", diff --git a/apps/user_ldap/l10n/ca.json b/apps/user_ldap/l10n/ca.json index 8703068865..62c842123e 100644 --- a/apps/user_ldap/l10n/ca.json +++ b/apps/user_ldap/l10n/ca.json @@ -57,7 +57,6 @@ "Backup (Replica) Port" : "Port de la còpia de seguretat (rèplica)", "Disable Main Server" : "Desactiva el servidor principal", "Only connect to the replica server." : "Connecta només al servidor rèplica.", - "Case insensitive LDAP server (Windows)" : "Servidor LDAP sense distinció entre majúscules i minúscules (Windows)", "Turn off SSL certificate validation." : "Desactiva la validació de certificat SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "No es recomana, useu-ho només com a prova! Importeu el certificat SSL del servidor LDAP al servidor %s només si la connexió funciona amb aquesta opció.", "Cache Time-To-Live" : "Memòria cau Time-To-Live", diff --git a/apps/user_ldap/l10n/cs_CZ.js b/apps/user_ldap/l10n/cs_CZ.js index 20269d7c40..77fef537f0 100644 --- a/apps/user_ldap/l10n/cs_CZ.js +++ b/apps/user_ldap/l10n/cs_CZ.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Záložní (kopie) port", "Disable Main Server" : "Zakázat hlavní server", "Only connect to the replica server." : "Připojit jen k záložnímu serveru.", - "Case insensitive LDAP server (Windows)" : "LDAP server nerozlišující velikost znaků (Windows)", "Turn off SSL certificate validation." : "Vypnout ověřování SSL certifikátu.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nedoporučuje se, určeno pouze k testovacímu použití. Pokud spojení funguje jen s touto volbou, importujte SSL certifikát vašeho LDAP serveru na server %s.", "Cache Time-To-Live" : "TTL vyrovnávací paměti", diff --git a/apps/user_ldap/l10n/cs_CZ.json b/apps/user_ldap/l10n/cs_CZ.json index 776290918d..b1ffce2e02 100644 --- a/apps/user_ldap/l10n/cs_CZ.json +++ b/apps/user_ldap/l10n/cs_CZ.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Záložní (kopie) port", "Disable Main Server" : "Zakázat hlavní server", "Only connect to the replica server." : "Připojit jen k záložnímu serveru.", - "Case insensitive LDAP server (Windows)" : "LDAP server nerozlišující velikost znaků (Windows)", "Turn off SSL certificate validation." : "Vypnout ověřování SSL certifikátu.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nedoporučuje se, určeno pouze k testovacímu použití. Pokud spojení funguje jen s touto volbou, importujte SSL certifikát vašeho LDAP serveru na server %s.", "Cache Time-To-Live" : "TTL vyrovnávací paměti", diff --git a/apps/user_ldap/l10n/da.js b/apps/user_ldap/l10n/da.js index a4fb384b2f..2f664ee6c2 100644 --- a/apps/user_ldap/l10n/da.js +++ b/apps/user_ldap/l10n/da.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Port for sikkerhedskopi (replika)", "Disable Main Server" : "Deaktivér hovedserver", "Only connect to the replica server." : "Forbind kun til replika serveren.", - "Case insensitive LDAP server (Windows)" : "LDAP-server som ikke er følsom over for store/små bogstaver (Windows)", "Turn off SSL certificate validation." : "Deaktivér validering af SSL-certifikat.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Anbefales ikke - bruges kun til testformål! Hvis forbindelse udelukkende fungerer med dette tilvalg, så importér LDAP-serverens SSL-certifikat i din %s-server.", "Cache Time-To-Live" : "Cache levetid", diff --git a/apps/user_ldap/l10n/da.json b/apps/user_ldap/l10n/da.json index 48611afbce..5de47b4abc 100644 --- a/apps/user_ldap/l10n/da.json +++ b/apps/user_ldap/l10n/da.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Port for sikkerhedskopi (replika)", "Disable Main Server" : "Deaktivér hovedserver", "Only connect to the replica server." : "Forbind kun til replika serveren.", - "Case insensitive LDAP server (Windows)" : "LDAP-server som ikke er følsom over for store/små bogstaver (Windows)", "Turn off SSL certificate validation." : "Deaktivér validering af SSL-certifikat.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Anbefales ikke - bruges kun til testformål! Hvis forbindelse udelukkende fungerer med dette tilvalg, så importér LDAP-serverens SSL-certifikat i din %s-server.", "Cache Time-To-Live" : "Cache levetid", diff --git a/apps/user_ldap/l10n/de.js b/apps/user_ldap/l10n/de.js index 44ed60fa04..9a25c8e5b9 100644 --- a/apps/user_ldap/l10n/de.js +++ b/apps/user_ldap/l10n/de.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Backup Port", "Disable Main Server" : "Hauptserver deaktivieren", "Only connect to the replica server." : "Nur zum Replikat-Server verbinden.", - "Case insensitive LDAP server (Windows)" : "LDAP-Server ohne Unterscheidung von Groß-/Kleinschreibung (Windows)", "Turn off SSL certificate validation." : "Schalte die SSL-Zertifikatsprüfung aus.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, importiere das SSL-Zertifikat des LDAP-Servers in deinen %s Server.", "Cache Time-To-Live" : "Speichere Time-To-Live zwischen", diff --git a/apps/user_ldap/l10n/de.json b/apps/user_ldap/l10n/de.json index d6c89b20b7..dcea495adf 100644 --- a/apps/user_ldap/l10n/de.json +++ b/apps/user_ldap/l10n/de.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Backup Port", "Disable Main Server" : "Hauptserver deaktivieren", "Only connect to the replica server." : "Nur zum Replikat-Server verbinden.", - "Case insensitive LDAP server (Windows)" : "LDAP-Server ohne Unterscheidung von Groß-/Kleinschreibung (Windows)", "Turn off SSL certificate validation." : "Schalte die SSL-Zertifikatsprüfung aus.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, importiere das SSL-Zertifikat des LDAP-Servers in deinen %s Server.", "Cache Time-To-Live" : "Speichere Time-To-Live zwischen", diff --git a/apps/user_ldap/l10n/de_DE.js b/apps/user_ldap/l10n/de_DE.js index 458b47a4cd..f7558f5ef0 100644 --- a/apps/user_ldap/l10n/de_DE.js +++ b/apps/user_ldap/l10n/de_DE.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Backup Port", "Disable Main Server" : "Hauptserver deaktivieren", "Only connect to the replica server." : "Nur zum Replikat-Server verbinden.", - "Case insensitive LDAP server (Windows)" : "LDAP-Server ohne Unterscheidung von Groß-/Kleinschreibung (Windows)", "Turn off SSL certificate validation." : "Schalten Sie die SSL-Zertifikatsprüfung aus.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, importieren Sie das SSL-Zertifikat des LDAP-Servers in Ihren %s Server.", "Cache Time-To-Live" : "Speichere Time-To-Live zwischen", diff --git a/apps/user_ldap/l10n/de_DE.json b/apps/user_ldap/l10n/de_DE.json index c0279e5296..fb39769309 100644 --- a/apps/user_ldap/l10n/de_DE.json +++ b/apps/user_ldap/l10n/de_DE.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Backup Port", "Disable Main Server" : "Hauptserver deaktivieren", "Only connect to the replica server." : "Nur zum Replikat-Server verbinden.", - "Case insensitive LDAP server (Windows)" : "LDAP-Server ohne Unterscheidung von Groß-/Kleinschreibung (Windows)", "Turn off SSL certificate validation." : "Schalten Sie die SSL-Zertifikatsprüfung aus.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, importieren Sie das SSL-Zertifikat des LDAP-Servers in Ihren %s Server.", "Cache Time-To-Live" : "Speichere Time-To-Live zwischen", diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js index 610fcc5af0..fc9d96aa61 100644 --- a/apps/user_ldap/l10n/el.js +++ b/apps/user_ldap/l10n/el.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Δημιουργία αντιγράφων ασφαλείας (Replica) Υποδοχη", "Disable Main Server" : "Απενεργοποιηση του κεντρικου διακομιστη", "Only connect to the replica server." : "Σύνδεση μόνο με το διακομιστή-αντίγραφο.", - "Case insensitive LDAP server (Windows)" : "Διακομιστής LDAP με διάκριση πεζών-κεφαλαίων (Windows)", "Turn off SSL certificate validation." : "Απενεργοποίηση επικύρωσης πιστοποιητικού SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Δεν προτείνεται, χρησιμοποιείστε το μόνο για δοκιμές! Εάν η σύνδεση λειτουργεί μόνο με αυτή την επιλογή, εισάγετε το πιστοποιητικό SSL του διακομιστή LDAP στο %s διακομιστή σας.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json index 03dbf973b5..bd5924586b 100644 --- a/apps/user_ldap/l10n/el.json +++ b/apps/user_ldap/l10n/el.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Δημιουργία αντιγράφων ασφαλείας (Replica) Υποδοχη", "Disable Main Server" : "Απενεργοποιηση του κεντρικου διακομιστη", "Only connect to the replica server." : "Σύνδεση μόνο με το διακομιστή-αντίγραφο.", - "Case insensitive LDAP server (Windows)" : "Διακομιστής LDAP με διάκριση πεζών-κεφαλαίων (Windows)", "Turn off SSL certificate validation." : "Απενεργοποίηση επικύρωσης πιστοποιητικού SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Δεν προτείνεται, χρησιμοποιείστε το μόνο για δοκιμές! Εάν η σύνδεση λειτουργεί μόνο με αυτή την επιλογή, εισάγετε το πιστοποιητικό SSL του διακομιστή LDAP στο %s διακομιστή σας.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/en_GB.js b/apps/user_ldap/l10n/en_GB.js index 6bd17dcba4..976e8a7e06 100644 --- a/apps/user_ldap/l10n/en_GB.js +++ b/apps/user_ldap/l10n/en_GB.js @@ -114,7 +114,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Backup (Replica) Port", "Disable Main Server" : "Disable Main Server", "Only connect to the replica server." : "Only connect to the replica server.", - "Case insensitive LDAP server (Windows)" : "Case insensitive LDAP server (Windows)", "Turn off SSL certificate validation." : "Turn off SSL certificate validation.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/en_GB.json b/apps/user_ldap/l10n/en_GB.json index 8c19e37154..8e0212f35c 100644 --- a/apps/user_ldap/l10n/en_GB.json +++ b/apps/user_ldap/l10n/en_GB.json @@ -112,7 +112,6 @@ "Backup (Replica) Port" : "Backup (Replica) Port", "Disable Main Server" : "Disable Main Server", "Only connect to the replica server." : "Only connect to the replica server.", - "Case insensitive LDAP server (Windows)" : "Case insensitive LDAP server (Windows)", "Turn off SSL certificate validation." : "Turn off SSL certificate validation.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/es.js b/apps/user_ldap/l10n/es.js index 02a45f1b44..b423d5a8fa 100644 --- a/apps/user_ldap/l10n/es.js +++ b/apps/user_ldap/l10n/es.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Puerto para copias de seguridad (Replica)", "Disable Main Server" : "Deshabilitar servidor principal", "Only connect to the replica server." : "Conectar sólo con el servidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Servidor de LDAP insensible a mayúsculas/minúsculas (Windows)", "Turn off SSL certificate validation." : "Apagar la validación por certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "No se recomienda, ¡utilícelo únicamente para pruebas! Si la conexión sólo funciona con esta opción, importe el certificado SSL del servidor LDAP en su servidor %s.", "Cache Time-To-Live" : "Cache TTL", diff --git a/apps/user_ldap/l10n/es.json b/apps/user_ldap/l10n/es.json index f836e54c06..c8244f41a6 100644 --- a/apps/user_ldap/l10n/es.json +++ b/apps/user_ldap/l10n/es.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Puerto para copias de seguridad (Replica)", "Disable Main Server" : "Deshabilitar servidor principal", "Only connect to the replica server." : "Conectar sólo con el servidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Servidor de LDAP insensible a mayúsculas/minúsculas (Windows)", "Turn off SSL certificate validation." : "Apagar la validación por certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "No se recomienda, ¡utilícelo únicamente para pruebas! Si la conexión sólo funciona con esta opción, importe el certificado SSL del servidor LDAP en su servidor %s.", "Cache Time-To-Live" : "Cache TTL", diff --git a/apps/user_ldap/l10n/es_AR.js b/apps/user_ldap/l10n/es_AR.js index 2c64848eee..e56510323e 100644 --- a/apps/user_ldap/l10n/es_AR.js +++ b/apps/user_ldap/l10n/es_AR.js @@ -54,7 +54,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Puerto para copia de seguridad (réplica)", "Disable Main Server" : "Deshabilitar el Servidor Principal", "Only connect to the replica server." : "Conectarse únicamente al servidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Servidor de LDAP insensible a mayúsculas/minúsculas (Windows)", "Turn off SSL certificate validation." : "Desactivar la validación por certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "No es recomendado, ¡Usalo solamente para pruebas! Si la conexión únicamente funciona con esta opción, importá el certificado SSL del servidor LDAP en tu servidor %s.", "Cache Time-To-Live" : "Tiempo de vida del caché", diff --git a/apps/user_ldap/l10n/es_AR.json b/apps/user_ldap/l10n/es_AR.json index 5fc5d32029..f62e717ded 100644 --- a/apps/user_ldap/l10n/es_AR.json +++ b/apps/user_ldap/l10n/es_AR.json @@ -52,7 +52,6 @@ "Backup (Replica) Port" : "Puerto para copia de seguridad (réplica)", "Disable Main Server" : "Deshabilitar el Servidor Principal", "Only connect to the replica server." : "Conectarse únicamente al servidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Servidor de LDAP insensible a mayúsculas/minúsculas (Windows)", "Turn off SSL certificate validation." : "Desactivar la validación por certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "No es recomendado, ¡Usalo solamente para pruebas! Si la conexión únicamente funciona con esta opción, importá el certificado SSL del servidor LDAP en tu servidor %s.", "Cache Time-To-Live" : "Tiempo de vida del caché", diff --git a/apps/user_ldap/l10n/et_EE.js b/apps/user_ldap/l10n/et_EE.js index 1e0057c2f4..1fc38d62d9 100644 --- a/apps/user_ldap/l10n/et_EE.js +++ b/apps/user_ldap/l10n/et_EE.js @@ -84,7 +84,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Varuserveri (replika) port", "Disable Main Server" : "Ära kasuta peaserverit", "Only connect to the replica server." : "Ühendu ainult replitseeriva serveriga.", - "Case insensitive LDAP server (Windows)" : "Tõusutundetu LDAP server (Windows)", "Turn off SSL certificate validation." : "Lülita SSL sertifikaadi kontrollimine välja.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Pole soovitatav, kasuta seda ainult testimiseks! Kui ühendus toimib ainult selle valikuga, siis impordi LDAP serveri SSL sertifikaat oma %s serverisse.", "Cache Time-To-Live" : "Puhvri iga", diff --git a/apps/user_ldap/l10n/et_EE.json b/apps/user_ldap/l10n/et_EE.json index ea93ccb0ef..46c7de9652 100644 --- a/apps/user_ldap/l10n/et_EE.json +++ b/apps/user_ldap/l10n/et_EE.json @@ -82,7 +82,6 @@ "Backup (Replica) Port" : "Varuserveri (replika) port", "Disable Main Server" : "Ära kasuta peaserverit", "Only connect to the replica server." : "Ühendu ainult replitseeriva serveriga.", - "Case insensitive LDAP server (Windows)" : "Tõusutundetu LDAP server (Windows)", "Turn off SSL certificate validation." : "Lülita SSL sertifikaadi kontrollimine välja.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Pole soovitatav, kasuta seda ainult testimiseks! Kui ühendus toimib ainult selle valikuga, siis impordi LDAP serveri SSL sertifikaat oma %s serverisse.", "Cache Time-To-Live" : "Puhvri iga", diff --git a/apps/user_ldap/l10n/eu.js b/apps/user_ldap/l10n/eu.js index 096973d2f1..44ce45a1b9 100644 --- a/apps/user_ldap/l10n/eu.js +++ b/apps/user_ldap/l10n/eu.js @@ -63,7 +63,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Babeskopia (Replica) Ataka", "Disable Main Server" : "Desgaitu Zerbitzari Nagusia", "Only connect to the replica server." : "Konektatu bakarrik erreplika zerbitzarira", - "Case insensitive LDAP server (Windows)" : "Maiuskulak eta minuskulak ezberditzen ez dituen LDAP zerbitzaria (Windows)", "Turn off SSL certificate validation." : "Ezgaitu SSL ziurtagirien egiaztapena.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Ez da gomendagarria, erabili bakarrik probarako! Konexioak aukera hau ezinbestekoa badu, inportatu LDAP zerbitzariaren SSL ziurtagiria zure %s zerbitzarian.", "Cache Time-To-Live" : "Katxearen Bizi-Iraupena", diff --git a/apps/user_ldap/l10n/eu.json b/apps/user_ldap/l10n/eu.json index 84e8650d21..64539c16e1 100644 --- a/apps/user_ldap/l10n/eu.json +++ b/apps/user_ldap/l10n/eu.json @@ -61,7 +61,6 @@ "Backup (Replica) Port" : "Babeskopia (Replica) Ataka", "Disable Main Server" : "Desgaitu Zerbitzari Nagusia", "Only connect to the replica server." : "Konektatu bakarrik erreplika zerbitzarira", - "Case insensitive LDAP server (Windows)" : "Maiuskulak eta minuskulak ezberditzen ez dituen LDAP zerbitzaria (Windows)", "Turn off SSL certificate validation." : "Ezgaitu SSL ziurtagirien egiaztapena.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Ez da gomendagarria, erabili bakarrik probarako! Konexioak aukera hau ezinbestekoa badu, inportatu LDAP zerbitzariaren SSL ziurtagiria zure %s zerbitzarian.", "Cache Time-To-Live" : "Katxearen Bizi-Iraupena", diff --git a/apps/user_ldap/l10n/fi_FI.js b/apps/user_ldap/l10n/fi_FI.js index ab7d74e0b4..5091cb1d88 100644 --- a/apps/user_ldap/l10n/fi_FI.js +++ b/apps/user_ldap/l10n/fi_FI.js @@ -45,7 +45,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Varmuuskopioinnin (replikoinnin) portti", "Disable Main Server" : "Poista pääpalvelin käytöstä", "Only connect to the replica server." : "Yhdistä vain replikointipalvelimeen.", - "Case insensitive LDAP server (Windows)" : "Kirjainkoosta piittamaton LDAP-palvelin (Windows)", "Turn off SSL certificate validation." : "Poista käytöstä SSL-varmenteen vahvistus", "in seconds. A change empties the cache." : "sekunneissa. Muutos tyhjentää välimuistin.", "Directory Settings" : "Hakemistoasetukset", diff --git a/apps/user_ldap/l10n/fi_FI.json b/apps/user_ldap/l10n/fi_FI.json index ce8e20c56e..54e1265016 100644 --- a/apps/user_ldap/l10n/fi_FI.json +++ b/apps/user_ldap/l10n/fi_FI.json @@ -43,7 +43,6 @@ "Backup (Replica) Port" : "Varmuuskopioinnin (replikoinnin) portti", "Disable Main Server" : "Poista pääpalvelin käytöstä", "Only connect to the replica server." : "Yhdistä vain replikointipalvelimeen.", - "Case insensitive LDAP server (Windows)" : "Kirjainkoosta piittamaton LDAP-palvelin (Windows)", "Turn off SSL certificate validation." : "Poista käytöstä SSL-varmenteen vahvistus", "in seconds. A change empties the cache." : "sekunneissa. Muutos tyhjentää välimuistin.", "Directory Settings" : "Hakemistoasetukset", diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js index 2c4f4bfb5f..3bf26f0e3e 100644 --- a/apps/user_ldap/l10n/fr.js +++ b/apps/user_ldap/l10n/fr.js @@ -39,7 +39,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):
" : "Utilisateur introuvable. Veuillez vérifier les attributs de login et le nom d'utilisateur. Filtre effectif (à copier-coller pour valider en ligne de commande):
", "User found and settings verified." : "Utilisateur trouvé et paramètres vérifiés.", - "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Paramètres vérifiés, mais seul le premier utilisateur pourra se connecter. Considérez utiliser un filtre moins restrictif.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Paramètres vérifiés, mais seul le premier utilisateur pourra se connecter. Utilisez plutôt un filtre moins restrictif.", "An unspecified error occurred. Please check the settings and the log." : "Une erreur inconnue s'est produite. Veuillez vérifier les paramètres et le log.", "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.", @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Port du serveur de backup (réplique)", "Disable Main Server" : "Désactiver le serveur principal", "Only connect to the replica server." : "Se connecter uniquement à la réplique", - "Case insensitive LDAP server (Windows)" : "Serveur LDAP non sensible à la casse (Windows)", "Turn off SSL certificate validation." : "Désactiver la validation des certificats SSL", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Non recommandé, à utiliser à des fins de tests uniquement. Si la connexion ne fonctionne qu'avec cette option, importez le certificat SSL du serveur LDAP dans le serveur %s.", "Cache Time-To-Live" : "Durée de vie du cache (TTL)", diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json index 43519556e1..87cf780e82 100644 --- a/apps/user_ldap/l10n/fr.json +++ b/apps/user_ldap/l10n/fr.json @@ -37,7 +37,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):
" : "Utilisateur introuvable. Veuillez vérifier les attributs de login et le nom d'utilisateur. Filtre effectif (à copier-coller pour valider en ligne de commande):
", "User found and settings verified." : "Utilisateur trouvé et paramètres vérifiés.", - "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Paramètres vérifiés, mais seul le premier utilisateur pourra se connecter. Considérez utiliser un filtre moins restrictif.", + "Settings verified, but one user found. Only the first will be able to login. Consider a more narrow filter." : "Paramètres vérifiés, mais seul le premier utilisateur pourra se connecter. Utilisez plutôt un filtre moins restrictif.", "An unspecified error occurred. Please check the settings and the log." : "Une erreur inconnue s'est produite. Veuillez vérifier les paramètres et le log.", "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.", @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Port du serveur de backup (réplique)", "Disable Main Server" : "Désactiver le serveur principal", "Only connect to the replica server." : "Se connecter uniquement à la réplique", - "Case insensitive LDAP server (Windows)" : "Serveur LDAP non sensible à la casse (Windows)", "Turn off SSL certificate validation." : "Désactiver la validation des certificats SSL", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Non recommandé, à utiliser à des fins de tests uniquement. Si la connexion ne fonctionne qu'avec cette option, importez le certificat SSL du serveur LDAP dans le serveur %s.", "Cache Time-To-Live" : "Durée de vie du cache (TTL)", diff --git a/apps/user_ldap/l10n/gl.js b/apps/user_ldap/l10n/gl.js index 6ab06bb4b9..fac8aedc4a 100644 --- a/apps/user_ldap/l10n/gl.js +++ b/apps/user_ldap/l10n/gl.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Porto da copia de seguranza (Réplica)", "Disable Main Server" : "Desactivar o servidor principal", "Only connect to the replica server." : "Conectar só co servidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Servidor LDAP non sensíbel a maiúsculas (Windows)", "Turn off SSL certificate validation." : "Desactiva a validación do certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Non recomendado, utilizar só para probas! Se a conexión só funciona con esta opción importa o certificado SSL do servidor LDAP no seu servidor %s.", "Cache Time-To-Live" : "Tempo de persistencia da caché", diff --git a/apps/user_ldap/l10n/gl.json b/apps/user_ldap/l10n/gl.json index b1e4ffc05c..b168f9d305 100644 --- a/apps/user_ldap/l10n/gl.json +++ b/apps/user_ldap/l10n/gl.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Porto da copia de seguranza (Réplica)", "Disable Main Server" : "Desactivar o servidor principal", "Only connect to the replica server." : "Conectar só co servidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Servidor LDAP non sensíbel a maiúsculas (Windows)", "Turn off SSL certificate validation." : "Desactiva a validación do certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Non recomendado, utilizar só para probas! Se a conexión só funciona con esta opción importa o certificado SSL do servidor LDAP no seu servidor %s.", "Cache Time-To-Live" : "Tempo de persistencia da caché", diff --git a/apps/user_ldap/l10n/hu_HU.js b/apps/user_ldap/l10n/hu_HU.js index 6d3ad2600f..25035fb32c 100644 --- a/apps/user_ldap/l10n/hu_HU.js +++ b/apps/user_ldap/l10n/hu_HU.js @@ -61,7 +61,6 @@ OC.L10N.register( "Backup (Replica) Port" : "A másodkiszolgáló (replika) portszáma", "Disable Main Server" : "A fő szerver kihagyása", "Only connect to the replica server." : "Csak a másodlagos (másolati) kiszolgálóhoz kapcsolódjunk.", - "Case insensitive LDAP server (Windows)" : "Az LDAP-kiszolgáló nem tesz különbséget a kis- és nagybetűk között (Windows)", "Turn off SSL certificate validation." : "Ne ellenőrizzük az SSL-tanúsítvány érvényességét", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Használata nem javasolt (kivéve tesztelési céllal). Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát a(z) %s kiszolgálóra!", "Cache Time-To-Live" : "A gyorsítótár tárolási időtartama", diff --git a/apps/user_ldap/l10n/hu_HU.json b/apps/user_ldap/l10n/hu_HU.json index 19552648b7..0778e627e2 100644 --- a/apps/user_ldap/l10n/hu_HU.json +++ b/apps/user_ldap/l10n/hu_HU.json @@ -59,7 +59,6 @@ "Backup (Replica) Port" : "A másodkiszolgáló (replika) portszáma", "Disable Main Server" : "A fő szerver kihagyása", "Only connect to the replica server." : "Csak a másodlagos (másolati) kiszolgálóhoz kapcsolódjunk.", - "Case insensitive LDAP server (Windows)" : "Az LDAP-kiszolgáló nem tesz különbséget a kis- és nagybetűk között (Windows)", "Turn off SSL certificate validation." : "Ne ellenőrizzük az SSL-tanúsítvány érvényességét", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Használata nem javasolt (kivéve tesztelési céllal). Ha a kapcsolat csak ezzel a beállítással működik, akkor importálja az LDAP-kiszolgáló SSL tanúsítványát a(z) %s kiszolgálóra!", "Cache Time-To-Live" : "A gyorsítótár tárolási időtartama", diff --git a/apps/user_ldap/l10n/id.js b/apps/user_ldap/l10n/id.js index a89323bc3c..402219f12b 100644 --- a/apps/user_ldap/l10n/id.js +++ b/apps/user_ldap/l10n/id.js @@ -82,7 +82,7 @@ OC.L10N.register( "Copy current configuration into new directory binding" : "Salin konfigurasi saat ini kedalam direktori baru", "Delete the current configuration" : "Hapus konfigurasi saat ini", "Host" : "Host", - "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Protokol dapat tidak ditulis, kecuali Anda menggunakan SSL. Lalu jalankan dengan ldaps://", + "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Anda dapat mengabaikan protokol, kecuali Anda membutuhkan SSL. Lalu jalankan dengan ldaps://", "Port" : "Port", "Detect Port" : "Deteksi Port", "User DN" : "Pengguna DN", @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Cadangkan (Replika) Port", "Disable Main Server" : "Nonaktifkan Server Utama", "Only connect to the replica server." : "Hanya terhubung ke server replika.", - "Case insensitive LDAP server (Windows)" : "Server LDAP tidak sensitif kata (Windows)", "Turn off SSL certificate validation." : "Matikan validasi sertifikat SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Tidak dianjurkan, gunakan ini hanya untuk percobaan! Jika koneksi hanya bekerja dengan opsi ini, impor sertifikat SSL milik server LDAP kedalam server %s Anda.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/id.json b/apps/user_ldap/l10n/id.json index fc41e5d2c7..bf8f0509fa 100644 --- a/apps/user_ldap/l10n/id.json +++ b/apps/user_ldap/l10n/id.json @@ -80,7 +80,7 @@ "Copy current configuration into new directory binding" : "Salin konfigurasi saat ini kedalam direktori baru", "Delete the current configuration" : "Hapus konfigurasi saat ini", "Host" : "Host", - "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Protokol dapat tidak ditulis, kecuali Anda menggunakan SSL. Lalu jalankan dengan ldaps://", + "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Anda dapat mengabaikan protokol, kecuali Anda membutuhkan SSL. Lalu jalankan dengan ldaps://", "Port" : "Port", "Detect Port" : "Deteksi Port", "User DN" : "Pengguna DN", @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Cadangkan (Replika) Port", "Disable Main Server" : "Nonaktifkan Server Utama", "Only connect to the replica server." : "Hanya terhubung ke server replika.", - "Case insensitive LDAP server (Windows)" : "Server LDAP tidak sensitif kata (Windows)", "Turn off SSL certificate validation." : "Matikan validasi sertifikat SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Tidak dianjurkan, gunakan ini hanya untuk percobaan! Jika koneksi hanya bekerja dengan opsi ini, impor sertifikat SSL milik server LDAP kedalam server %s Anda.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/is.js b/apps/user_ldap/l10n/is.js index b880fd3b05..a77b22a417 100644 --- a/apps/user_ldap/l10n/is.js +++ b/apps/user_ldap/l10n/is.js @@ -9,4 +9,4 @@ OC.L10N.register( "Password" : "Lykilorð", "Advanced" : "Ítarlegt" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/user_ldap/l10n/is.json b/apps/user_ldap/l10n/is.json index f9c82ebf49..0abb0fcb0d 100644 --- a/apps/user_ldap/l10n/is.json +++ b/apps/user_ldap/l10n/is.json @@ -6,5 +6,5 @@ "Host" : "Netþjónn", "Password" : "Lykilorð", "Advanced" : "Ítarlegt" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/user_ldap/l10n/it.js b/apps/user_ldap/l10n/it.js index 80bdfdc177..608bc3ebf2 100644 --- a/apps/user_ldap/l10n/it.js +++ b/apps/user_ldap/l10n/it.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Porta di backup (Replica)", "Disable Main Server" : "Disabilita server principale", "Only connect to the replica server." : "Collegati solo al server di replica.", - "Case insensitive LDAP server (Windows)" : "Server LDAP non sensibile alle maiuscole (Windows)", "Turn off SSL certificate validation." : "Disattiva il controllo del certificato SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Non consigliata, da utilizzare solo per test! Se la connessione funziona solo con questa opzione, importa il certificate SSL del server LDAP sul tuo server %s.", "Cache Time-To-Live" : "Tempo di vita della cache", diff --git a/apps/user_ldap/l10n/it.json b/apps/user_ldap/l10n/it.json index 8eea02f2c8..93bc5522d3 100644 --- a/apps/user_ldap/l10n/it.json +++ b/apps/user_ldap/l10n/it.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Porta di backup (Replica)", "Disable Main Server" : "Disabilita server principale", "Only connect to the replica server." : "Collegati solo al server di replica.", - "Case insensitive LDAP server (Windows)" : "Server LDAP non sensibile alle maiuscole (Windows)", "Turn off SSL certificate validation." : "Disattiva il controllo del certificato SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Non consigliata, da utilizzare solo per test! Se la connessione funziona solo con questa opzione, importa il certificate SSL del server LDAP sul tuo server %s.", "Cache Time-To-Live" : "Tempo di vita della cache", diff --git a/apps/user_ldap/l10n/ja.js b/apps/user_ldap/l10n/ja.js index 049d723641..43402d94ac 100644 --- a/apps/user_ldap/l10n/ja.js +++ b/apps/user_ldap/l10n/ja.js @@ -87,7 +87,6 @@ OC.L10N.register( "Backup (Replica) Port" : "バックアップ(レプリカ)ポート", "Disable Main Server" : "メインサーバーを無効にする", "Only connect to the replica server." : "レプリカサーバーにのみ接続します。", - "Case insensitive LDAP server (Windows)" : "大文字と小文字を区別しないLDAPサーバー (Windows)", "Turn off SSL certificate validation." : "SSL証明書の確認を無効にする。", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "推奨されません、テストにおいてのみ使用してください!このオプションでのみ接続が動作する場合は、LDAP サーバーのSSL証明書を %s サーバーにインポートしてください。", "Cache Time-To-Live" : "キャッシュのTTL", diff --git a/apps/user_ldap/l10n/ja.json b/apps/user_ldap/l10n/ja.json index 8e44a9fedf..81a918eae0 100644 --- a/apps/user_ldap/l10n/ja.json +++ b/apps/user_ldap/l10n/ja.json @@ -85,7 +85,6 @@ "Backup (Replica) Port" : "バックアップ(レプリカ)ポート", "Disable Main Server" : "メインサーバーを無効にする", "Only connect to the replica server." : "レプリカサーバーにのみ接続します。", - "Case insensitive LDAP server (Windows)" : "大文字と小文字を区別しないLDAPサーバー (Windows)", "Turn off SSL certificate validation." : "SSL証明書の確認を無効にする。", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "推奨されません、テストにおいてのみ使用してください!このオプションでのみ接続が動作する場合は、LDAP サーバーのSSL証明書を %s サーバーにインポートしてください。", "Cache Time-To-Live" : "キャッシュのTTL", diff --git a/apps/user_ldap/l10n/ko.js b/apps/user_ldap/l10n/ko.js index db5105165e..566b67bf98 100644 --- a/apps/user_ldap/l10n/ko.js +++ b/apps/user_ldap/l10n/ko.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "백업(복제) 포트", "Disable Main Server" : "주 서버 비활성화", "Only connect to the replica server." : "복제 서버에만 연결합니다.", - "Case insensitive LDAP server (Windows)" : "LDAP 서버에서 대소문자 구분하지 않음(Windows)", "Turn off SSL certificate validation." : "SSL 인증서 유효성 검사를 해제합니다.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "테스트 목적으로만 사용하십시오! 이 옵션을 사용해야만 연결할 수 있으면 %s 서버에 LDAP 서버의 SSL 인증서를 설치하십시오.", "Cache Time-To-Live" : "캐시 유지 시간", diff --git a/apps/user_ldap/l10n/ko.json b/apps/user_ldap/l10n/ko.json index b2135d4e2a..b8f649bc24 100644 --- a/apps/user_ldap/l10n/ko.json +++ b/apps/user_ldap/l10n/ko.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "백업(복제) 포트", "Disable Main Server" : "주 서버 비활성화", "Only connect to the replica server." : "복제 서버에만 연결합니다.", - "Case insensitive LDAP server (Windows)" : "LDAP 서버에서 대소문자 구분하지 않음(Windows)", "Turn off SSL certificate validation." : "SSL 인증서 유효성 검사를 해제합니다.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "테스트 목적으로만 사용하십시오! 이 옵션을 사용해야만 연결할 수 있으면 %s 서버에 LDAP 서버의 SSL 인증서를 설치하십시오.", "Cache Time-To-Live" : "캐시 유지 시간", diff --git a/apps/user_ldap/l10n/nb_NO.js b/apps/user_ldap/l10n/nb_NO.js index 25670ce73a..f92e361319 100644 --- a/apps/user_ldap/l10n/nb_NO.js +++ b/apps/user_ldap/l10n/nb_NO.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Reserve (Replika) Port", "Disable Main Server" : "Deaktiver hovedtjeneren", "Only connect to the replica server." : "Koble til bare replika-tjeneren.", - "Case insensitive LDAP server (Windows)" : "LDAP-server som ikke skiller mellom store og små bokstaver (Windows)", "Turn off SSL certificate validation." : "Slå av SSL-sertifikat validering", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Ikke anbefalt, bruk kun for testing! Hvis tilkobling bare virker med dette valget, importer LDAP-tjenerens SSL-sertifikat i %s-serveren din.", "Cache Time-To-Live" : "Levetid i mellomlager", diff --git a/apps/user_ldap/l10n/nb_NO.json b/apps/user_ldap/l10n/nb_NO.json index 588c9f6c21..268faa899c 100644 --- a/apps/user_ldap/l10n/nb_NO.json +++ b/apps/user_ldap/l10n/nb_NO.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Reserve (Replika) Port", "Disable Main Server" : "Deaktiver hovedtjeneren", "Only connect to the replica server." : "Koble til bare replika-tjeneren.", - "Case insensitive LDAP server (Windows)" : "LDAP-server som ikke skiller mellom store og små bokstaver (Windows)", "Turn off SSL certificate validation." : "Slå av SSL-sertifikat validering", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Ikke anbefalt, bruk kun for testing! Hvis tilkobling bare virker med dette valget, importer LDAP-tjenerens SSL-sertifikat i %s-serveren din.", "Cache Time-To-Live" : "Levetid i mellomlager", diff --git a/apps/user_ldap/l10n/nl.js b/apps/user_ldap/l10n/nl.js index b12f3a0242..8586d93969 100644 --- a/apps/user_ldap/l10n/nl.js +++ b/apps/user_ldap/l10n/nl.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Backup (Replica) Poort", "Disable Main Server" : "Deactiveren hoofdserver", "Only connect to the replica server." : "Maak alleen een verbinding met de replica server.", - "Case insensitive LDAP server (Windows)" : "Niet-hoofdlettergevoelige LDAP server (Windows)", "Turn off SSL certificate validation." : "Schakel SSL certificaat validatie uit.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Niet aanbevolen, gebruik alleen om te testen! Als de connectie alleen werkt met deze optie, importeer dan het SSL-certificaat van de LDAP-server naar uw %s server.", "Cache Time-To-Live" : "Cache time-to-live", diff --git a/apps/user_ldap/l10n/nl.json b/apps/user_ldap/l10n/nl.json index 1b7b665781..a82c03a8ed 100644 --- a/apps/user_ldap/l10n/nl.json +++ b/apps/user_ldap/l10n/nl.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Backup (Replica) Poort", "Disable Main Server" : "Deactiveren hoofdserver", "Only connect to the replica server." : "Maak alleen een verbinding met de replica server.", - "Case insensitive LDAP server (Windows)" : "Niet-hoofdlettergevoelige LDAP server (Windows)", "Turn off SSL certificate validation." : "Schakel SSL certificaat validatie uit.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Niet aanbevolen, gebruik alleen om te testen! Als de connectie alleen werkt met deze optie, importeer dan het SSL-certificaat van de LDAP-server naar uw %s server.", "Cache Time-To-Live" : "Cache time-to-live", diff --git a/apps/user_ldap/l10n/pl.js b/apps/user_ldap/l10n/pl.js index e609253281..e2e3a44d29 100644 --- a/apps/user_ldap/l10n/pl.js +++ b/apps/user_ldap/l10n/pl.js @@ -82,7 +82,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Kopia zapasowa (repliki) Port", "Disable Main Server" : "Wyłącz serwer główny", "Only connect to the replica server." : "Połącz tylko do repliki serwera.", - "Case insensitive LDAP server (Windows)" : "Serwer LDAP nie rozróżniający wielkości liter (Windows)", "Turn off SSL certificate validation." : "Wyłączyć sprawdzanie poprawności certyfikatu SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nie polecane, używać tylko w celu testowania! Jeśli połączenie działa tylko z tą opcją, zaimportuj certyfikat SSL serwera LDAP na swój %s.", "Cache Time-To-Live" : "Przechowuj czas życia", diff --git a/apps/user_ldap/l10n/pl.json b/apps/user_ldap/l10n/pl.json index feb4564409..1e518980da 100644 --- a/apps/user_ldap/l10n/pl.json +++ b/apps/user_ldap/l10n/pl.json @@ -80,7 +80,6 @@ "Backup (Replica) Port" : "Kopia zapasowa (repliki) Port", "Disable Main Server" : "Wyłącz serwer główny", "Only connect to the replica server." : "Połącz tylko do repliki serwera.", - "Case insensitive LDAP server (Windows)" : "Serwer LDAP nie rozróżniający wielkości liter (Windows)", "Turn off SSL certificate validation." : "Wyłączyć sprawdzanie poprawności certyfikatu SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nie polecane, używać tylko w celu testowania! Jeśli połączenie działa tylko z tą opcją, zaimportuj certyfikat SSL serwera LDAP na swój %s.", "Cache Time-To-Live" : "Przechowuj czas życia", diff --git a/apps/user_ldap/l10n/pt_BR.js b/apps/user_ldap/l10n/pt_BR.js index 87c78e3d2f..f2ad0ca8a3 100644 --- a/apps/user_ldap/l10n/pt_BR.js +++ b/apps/user_ldap/l10n/pt_BR.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Porta do Backup (Réplica)", "Disable Main Server" : "Desativar Servidor Principal", "Only connect to the replica server." : "Conectar-se somente ao servidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Servidor LDAP(Windows) não distigue maiúscula de minúscula", "Turn off SSL certificate validation." : "Desligar validação de certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Não recomendado, use-o somente para teste! Se a conexão só funciona com esta opção, importar o certificado SSL do servidor LDAP em seu servidor %s.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/pt_BR.json b/apps/user_ldap/l10n/pt_BR.json index 169ff1db41..752fd65388 100644 --- a/apps/user_ldap/l10n/pt_BR.json +++ b/apps/user_ldap/l10n/pt_BR.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Porta do Backup (Réplica)", "Disable Main Server" : "Desativar Servidor Principal", "Only connect to the replica server." : "Conectar-se somente ao servidor de réplica.", - "Case insensitive LDAP server (Windows)" : "Servidor LDAP(Windows) não distigue maiúscula de minúscula", "Turn off SSL certificate validation." : "Desligar validação de certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Não recomendado, use-o somente para teste! Se a conexão só funciona com esta opção, importar o certificado SSL do servidor LDAP em seu servidor %s.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/pt_PT.js b/apps/user_ldap/l10n/pt_PT.js index 0c37960e82..2170def292 100644 --- a/apps/user_ldap/l10n/pt_PT.js +++ b/apps/user_ldap/l10n/pt_PT.js @@ -82,7 +82,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Porta do servidor de backup (Replica)", "Disable Main Server" : "Desactivar servidor principal", "Only connect to the replica server." : "Ligar apenas ao servidor de réplicas.", - "Case insensitive LDAP server (Windows)" : "Servidor LDAP (Windows) não é sensível a maiúsculas.", "Turn off SSL certificate validation." : "Desligar a validação de certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Não recomendado, use-o somente para teste! ligação só funciona com esta opção, importar o certificado SSL do servidor LDAP para o seu servidor %s.", "Cache Time-To-Live" : "Cache do tempo de vida dos objetos no servidor", diff --git a/apps/user_ldap/l10n/pt_PT.json b/apps/user_ldap/l10n/pt_PT.json index b95eb4ce2c..f6fd6e4806 100644 --- a/apps/user_ldap/l10n/pt_PT.json +++ b/apps/user_ldap/l10n/pt_PT.json @@ -80,7 +80,6 @@ "Backup (Replica) Port" : "Porta do servidor de backup (Replica)", "Disable Main Server" : "Desactivar servidor principal", "Only connect to the replica server." : "Ligar apenas ao servidor de réplicas.", - "Case insensitive LDAP server (Windows)" : "Servidor LDAP (Windows) não é sensível a maiúsculas.", "Turn off SSL certificate validation." : "Desligar a validação de certificado SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Não recomendado, use-o somente para teste! ligação só funciona com esta opção, importar o certificado SSL do servidor LDAP para o seu servidor %s.", "Cache Time-To-Live" : "Cache do tempo de vida dos objetos no servidor", diff --git a/apps/user_ldap/l10n/ru.js b/apps/user_ldap/l10n/ru.js index 8ddf80841a..81078d595f 100644 --- a/apps/user_ldap/l10n/ru.js +++ b/apps/user_ldap/l10n/ru.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Порт резервного сервера", "Disable Main Server" : "Отключить главный сервер", "Only connect to the replica server." : "Подключаться только к резервному серверу", - "Case insensitive LDAP server (Windows)" : "Нечувствительный к регистру сервер LDAP (Windows)", "Turn off SSL certificate validation." : "Отключить проверку сертификата SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Не рекомендуется, используйте только в режиме тестирования! Если соединение работает только с этой опцией, импортируйте на ваш %s сервер SSL-сертификат сервера LDAP.", "Cache Time-To-Live" : "Кэш времени жизни (TTL)", diff --git a/apps/user_ldap/l10n/ru.json b/apps/user_ldap/l10n/ru.json index ede0d5357d..834a9b7c05 100644 --- a/apps/user_ldap/l10n/ru.json +++ b/apps/user_ldap/l10n/ru.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Порт резервного сервера", "Disable Main Server" : "Отключить главный сервер", "Only connect to the replica server." : "Подключаться только к резервному серверу", - "Case insensitive LDAP server (Windows)" : "Нечувствительный к регистру сервер LDAP (Windows)", "Turn off SSL certificate validation." : "Отключить проверку сертификата SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Не рекомендуется, используйте только в режиме тестирования! Если соединение работает только с этой опцией, импортируйте на ваш %s сервер SSL-сертификат сервера LDAP.", "Cache Time-To-Live" : "Кэш времени жизни (TTL)", diff --git a/apps/user_ldap/l10n/sk_SK.js b/apps/user_ldap/l10n/sk_SK.js index 654f0cfee3..4a41059ff3 100644 --- a/apps/user_ldap/l10n/sk_SK.js +++ b/apps/user_ldap/l10n/sk_SK.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Záložný server (kópia) port", "Disable Main Server" : "Zakázať hlavný server", "Only connect to the replica server." : "Pripojiť sa len k záložnému serveru.", - "Case insensitive LDAP server (Windows)" : "LDAP server je citlivý na veľkosť písmen (Windows)", "Turn off SSL certificate validation." : "Vypnúť overovanie SSL certifikátu.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Neodporúčané, použite iba pri testovaní! Pokiaľ spojenie funguje iba z daným nastavením, importujte SSL certifikát LDAP servera do vášho %s servera.", "Cache Time-To-Live" : "Životnosť objektov vo vyrovnávacej pamäti", diff --git a/apps/user_ldap/l10n/sk_SK.json b/apps/user_ldap/l10n/sk_SK.json index 441ca4fd06..126c86c8c3 100644 --- a/apps/user_ldap/l10n/sk_SK.json +++ b/apps/user_ldap/l10n/sk_SK.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Záložný server (kópia) port", "Disable Main Server" : "Zakázať hlavný server", "Only connect to the replica server." : "Pripojiť sa len k záložnému serveru.", - "Case insensitive LDAP server (Windows)" : "LDAP server je citlivý na veľkosť písmen (Windows)", "Turn off SSL certificate validation." : "Vypnúť overovanie SSL certifikátu.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Neodporúčané, použite iba pri testovaní! Pokiaľ spojenie funguje iba z daným nastavením, importujte SSL certifikát LDAP servera do vášho %s servera.", "Cache Time-To-Live" : "Životnosť objektov vo vyrovnávacej pamäti", diff --git a/apps/user_ldap/l10n/sl.js b/apps/user_ldap/l10n/sl.js index f965cf658c..86a372efd9 100644 --- a/apps/user_ldap/l10n/sl.js +++ b/apps/user_ldap/l10n/sl.js @@ -76,7 +76,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Vrata varnostne kopije (replike)", "Disable Main Server" : "Onemogoči glavni strežnik", "Only connect to the replica server." : "Poveži le s podvojenim strežnikom.", - "Case insensitive LDAP server (Windows)" : "Strežnik LDAP (brez upoštevanja velikosti črk) (Windows)", "Turn off SSL certificate validation." : "Onemogoči določanje veljavnosti potrdila SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Možnosti ni priporočljivo uporabiti; namenjena je zgolj preizkušanju! Če deluje povezava le s to možnostjo, je treba uvoziti potrdilo SSL strežnika LDAP na strežnik %s.", "Cache Time-To-Live" : "Predpomni podatke TTL", diff --git a/apps/user_ldap/l10n/sl.json b/apps/user_ldap/l10n/sl.json index efb51bad00..268d5f09c9 100644 --- a/apps/user_ldap/l10n/sl.json +++ b/apps/user_ldap/l10n/sl.json @@ -74,7 +74,6 @@ "Backup (Replica) Port" : "Vrata varnostne kopije (replike)", "Disable Main Server" : "Onemogoči glavni strežnik", "Only connect to the replica server." : "Poveži le s podvojenim strežnikom.", - "Case insensitive LDAP server (Windows)" : "Strežnik LDAP (brez upoštevanja velikosti črk) (Windows)", "Turn off SSL certificate validation." : "Onemogoči določanje veljavnosti potrdila SSL.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Možnosti ni priporočljivo uporabiti; namenjena je zgolj preizkušanju! Če deluje povezava le s to možnostjo, je treba uvoziti potrdilo SSL strežnika LDAP na strežnik %s.", "Cache Time-To-Live" : "Predpomni podatke TTL", diff --git a/apps/user_ldap/l10n/sr.js b/apps/user_ldap/l10n/sr.js index 89ec30d6af..e95d656d68 100644 --- a/apps/user_ldap/l10n/sr.js +++ b/apps/user_ldap/l10n/sr.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Порт Резервне копије (Реплике)", "Disable Main Server" : "Онемогући главни сервер", "Only connect to the replica server." : "Повезано само на сервер за копирање.", - "Case insensitive LDAP server (Windows)" : "LDAP сервер неосетљив на велика и мала слова (Windows)", "Turn off SSL certificate validation." : "Искључите потврду ССЛ сертификата.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Није препоручено, користите само за тестирање! Ако веза ради само са овом опцијом, увезите SSL сертификате LDAP сервера на ваш %s сервер.", "Cache Time-To-Live" : "Трајност кеша", diff --git a/apps/user_ldap/l10n/sr.json b/apps/user_ldap/l10n/sr.json index 20de66c500..a52d7184b3 100644 --- a/apps/user_ldap/l10n/sr.json +++ b/apps/user_ldap/l10n/sr.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "Порт Резервне копије (Реплике)", "Disable Main Server" : "Онемогући главни сервер", "Only connect to the replica server." : "Повезано само на сервер за копирање.", - "Case insensitive LDAP server (Windows)" : "LDAP сервер неосетљив на велика и мала слова (Windows)", "Turn off SSL certificate validation." : "Искључите потврду ССЛ сертификата.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Није препоручено, користите само за тестирање! Ако веза ради само са овом опцијом, увезите SSL сертификате LDAP сервера на ваш %s сервер.", "Cache Time-To-Live" : "Трајност кеша", diff --git a/apps/user_ldap/l10n/sv.js b/apps/user_ldap/l10n/sv.js index 95921f2046..dd75c83633 100644 --- a/apps/user_ldap/l10n/sv.js +++ b/apps/user_ldap/l10n/sv.js @@ -64,7 +64,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Säkerhetskopierins-port (Replika)", "Disable Main Server" : "Inaktivera huvudserver", "Only connect to the replica server." : "Anslut endast till replikaservern.", - "Case insensitive LDAP server (Windows)" : "om okänslig LDAP-server (Windows)", "Turn off SSL certificate validation." : "Stäng av verifiering av SSL-certifikat.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Rekommenderas inte, använd endast för test! Om anslutningen bara fungerar med denna inställning behöver du importera LDAP-serverns SSL-certifikat till din %s server.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/sv.json b/apps/user_ldap/l10n/sv.json index 3f2b74e8da..d71e94b305 100644 --- a/apps/user_ldap/l10n/sv.json +++ b/apps/user_ldap/l10n/sv.json @@ -62,7 +62,6 @@ "Backup (Replica) Port" : "Säkerhetskopierins-port (Replika)", "Disable Main Server" : "Inaktivera huvudserver", "Only connect to the replica server." : "Anslut endast till replikaservern.", - "Case insensitive LDAP server (Windows)" : "om okänslig LDAP-server (Windows)", "Turn off SSL certificate validation." : "Stäng av verifiering av SSL-certifikat.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Rekommenderas inte, använd endast för test! Om anslutningen bara fungerar med denna inställning behöver du importera LDAP-serverns SSL-certifikat till din %s server.", "Cache Time-To-Live" : "Cache Time-To-Live", diff --git a/apps/user_ldap/l10n/th_TH.js b/apps/user_ldap/l10n/th_TH.js index ea55c7c493..d088d01f6c 100644 --- a/apps/user_ldap/l10n/th_TH.js +++ b/apps/user_ldap/l10n/th_TH.js @@ -115,7 +115,6 @@ OC.L10N.register( "Backup (Replica) Port" : "สำรองข้อมูลพอร์ต (จำลอง) ", "Disable Main Server" : "ปิดใช้งานเซิร์ฟเวอร์หลัก", "Only connect to the replica server." : "เฉพาะเชื่อมต่อกับเซิร์ฟเวอร์แบบจำลอง", - "Case insensitive LDAP server (Windows)" : "กรณีเซิร์ฟเวอร์ LDAP ไม่ตอบสนอง (วินโดว์ส)", "Turn off SSL certificate validation." : "ปิดใช้งานการตรวจสอบความถูกต้องของใบรับรองความปลอดภัย SSL", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "ไม่แนะนำ ควรใช้สำหรับการทดสอบเท่านั้น! ถ้าการเชื่อมต่อใช้งานได้เฉพาะกับตัวเลือกนี้ นำเข้าใบรับรอง SSL เซิร์ฟเวอร์ LDAP ในเซิร์ฟเวอร์ %s ของคุณ ", "Cache Time-To-Live" : "แคช TTL", diff --git a/apps/user_ldap/l10n/th_TH.json b/apps/user_ldap/l10n/th_TH.json index ace0e5517a..87afedbeeb 100644 --- a/apps/user_ldap/l10n/th_TH.json +++ b/apps/user_ldap/l10n/th_TH.json @@ -113,7 +113,6 @@ "Backup (Replica) Port" : "สำรองข้อมูลพอร์ต (จำลอง) ", "Disable Main Server" : "ปิดใช้งานเซิร์ฟเวอร์หลัก", "Only connect to the replica server." : "เฉพาะเชื่อมต่อกับเซิร์ฟเวอร์แบบจำลอง", - "Case insensitive LDAP server (Windows)" : "กรณีเซิร์ฟเวอร์ LDAP ไม่ตอบสนอง (วินโดว์ส)", "Turn off SSL certificate validation." : "ปิดใช้งานการตรวจสอบความถูกต้องของใบรับรองความปลอดภัย SSL", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "ไม่แนะนำ ควรใช้สำหรับการทดสอบเท่านั้น! ถ้าการเชื่อมต่อใช้งานได้เฉพาะกับตัวเลือกนี้ นำเข้าใบรับรอง SSL เซิร์ฟเวอร์ LDAP ในเซิร์ฟเวอร์ %s ของคุณ ", "Cache Time-To-Live" : "แคช TTL", diff --git a/apps/user_ldap/l10n/tr.js b/apps/user_ldap/l10n/tr.js index 7f6945468f..8a4e0cad03 100644 --- a/apps/user_ldap/l10n/tr.js +++ b/apps/user_ldap/l10n/tr.js @@ -103,7 +103,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Yedek (Replica) Bağlantı Noktası", "Disable Main Server" : "Ana Sunucuyu Devre Dışı Bırak", "Only connect to the replica server." : "Sadece yedek sunucuya bağlan.", - "Case insensitive LDAP server (Windows)" : "Büyük küçük harf duyarsız LDAP sunucusu (Windows)", "Turn off SSL certificate validation." : "SSL sertifika doğrulamasını kapat.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, sadece test için kullanın! Eğer bağlantı sadece bu seçenekle çalışıyorsa %s sunucunuza LDAP sunucusunun SSL sertifikasını ekleyin.", "Cache Time-To-Live" : "Önbellek Time-To-Live Değeri", diff --git a/apps/user_ldap/l10n/tr.json b/apps/user_ldap/l10n/tr.json index 47203b4818..f3641a9a16 100644 --- a/apps/user_ldap/l10n/tr.json +++ b/apps/user_ldap/l10n/tr.json @@ -101,7 +101,6 @@ "Backup (Replica) Port" : "Yedek (Replica) Bağlantı Noktası", "Disable Main Server" : "Ana Sunucuyu Devre Dışı Bırak", "Only connect to the replica server." : "Sadece yedek sunucuya bağlan.", - "Case insensitive LDAP server (Windows)" : "Büyük küçük harf duyarsız LDAP sunucusu (Windows)", "Turn off SSL certificate validation." : "SSL sertifika doğrulamasını kapat.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Önerilmez, sadece test için kullanın! Eğer bağlantı sadece bu seçenekle çalışıyorsa %s sunucunuza LDAP sunucusunun SSL sertifikasını ekleyin.", "Cache Time-To-Live" : "Önbellek Time-To-Live Değeri", diff --git a/apps/user_ldap/l10n/uk.js b/apps/user_ldap/l10n/uk.js index de7bcf5faf..fe2b587fec 100644 --- a/apps/user_ldap/l10n/uk.js +++ b/apps/user_ldap/l10n/uk.js @@ -76,7 +76,6 @@ OC.L10N.register( "Backup (Replica) Port" : "Порт сервера для резервних копій", "Disable Main Server" : "Вимкнути Головний Сервер", "Only connect to the replica server." : "Підключити тільки до сервера реплік.", - "Case insensitive LDAP server (Windows)" : "Без урахування регістра LDAP сервер (Windows)", "Turn off SSL certificate validation." : "Вимкнути перевірку SSL сертифіката.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Не рекомендується, використовувати його тільки для тестування!\nЯкщо з'єднання працює лише з цією опцією, імпортуйте SSL сертифікат LDAP сервера у ваший %s сервер.", "Cache Time-To-Live" : "Час актуальності Кеша", diff --git a/apps/user_ldap/l10n/uk.json b/apps/user_ldap/l10n/uk.json index 6590a639df..b43de37ab3 100644 --- a/apps/user_ldap/l10n/uk.json +++ b/apps/user_ldap/l10n/uk.json @@ -74,7 +74,6 @@ "Backup (Replica) Port" : "Порт сервера для резервних копій", "Disable Main Server" : "Вимкнути Головний Сервер", "Only connect to the replica server." : "Підключити тільки до сервера реплік.", - "Case insensitive LDAP server (Windows)" : "Без урахування регістра LDAP сервер (Windows)", "Turn off SSL certificate validation." : "Вимкнути перевірку SSL сертифіката.", "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Не рекомендується, використовувати його тільки для тестування!\nЯкщо з'єднання працює лише з цією опцією, імпортуйте SSL сертифікат LDAP сервера у ваший %s сервер.", "Cache Time-To-Live" : "Час актуальності Кеша", diff --git a/apps/user_webdavauth/l10n/is.js b/apps/user_webdavauth/l10n/is.js index cc9515a945..e6935d9ec7 100644 --- a/apps/user_webdavauth/l10n/is.js +++ b/apps/user_webdavauth/l10n/is.js @@ -4,4 +4,4 @@ OC.L10N.register( "WebDAV Authentication" : "WebDAV Auðkenni", "Save" : "Vista" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/user_webdavauth/l10n/is.json b/apps/user_webdavauth/l10n/is.json index e59f045773..69ae2b559d 100644 --- a/apps/user_webdavauth/l10n/is.json +++ b/apps/user_webdavauth/l10n/is.json @@ -1,5 +1,5 @@ { "translations": { "WebDAV Authentication" : "WebDAV Auðkenni", "Save" : "Vista" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/core/l10n/af_ZA.js b/core/l10n/af_ZA.js index 43f895fce8..d96aa5cf46 100644 --- a/core/l10n/af_ZA.js +++ b/core/l10n/af_ZA.js @@ -56,13 +56,13 @@ OC.L10N.register( "Good password" : "Goeie wagwoord", "Strong password" : "Sterk wagwoord", "Shared" : "Gedeel", - "Share" : "Deel", "Error" : "Fout", "Error while sharing" : "Deel veroorsaak fout", "Error while unsharing" : "Deel terugneem veroorsaak fout", "Error while changing permissions" : "Fout met verandering van regte", "Shared with you and the group {group} by {owner}" : "Met jou en die groep {group} gedeel deur {owner}", "Shared with you by {owner}" : "Met jou gedeel deur {owner}", + "Share" : "Deel", "Password protect" : "Beskerm met Wagwoord", "Password" : "Wagwoord", "Email link to person" : "E-pos aan persoon", diff --git a/core/l10n/af_ZA.json b/core/l10n/af_ZA.json index a919524c8c..362255fe50 100644 --- a/core/l10n/af_ZA.json +++ b/core/l10n/af_ZA.json @@ -54,13 +54,13 @@ "Good password" : "Goeie wagwoord", "Strong password" : "Sterk wagwoord", "Shared" : "Gedeel", - "Share" : "Deel", "Error" : "Fout", "Error while sharing" : "Deel veroorsaak fout", "Error while unsharing" : "Deel terugneem veroorsaak fout", "Error while changing permissions" : "Fout met verandering van regte", "Shared with you and the group {group} by {owner}" : "Met jou en die groep {group} gedeel deur {owner}", "Shared with you by {owner}" : "Met jou gedeel deur {owner}", + "Share" : "Deel", "Password protect" : "Beskerm met Wagwoord", "Password" : "Wagwoord", "Email link to person" : "E-pos aan persoon", diff --git a/core/l10n/ar.js b/core/l10n/ar.js index 3fcc7002be..55d87c826e 100644 --- a/core/l10n/ar.js +++ b/core/l10n/ar.js @@ -12,6 +12,13 @@ OC.L10N.register( "Thursday" : "الخميس", "Friday" : "الجمعه", "Saturday" : "السبت", + "Sun." : "الأحد", + "Mon." : "الأثنين", + "Tue." : "الثلاثاء", + "Wed." : "الأربعاء", + "Thu." : "الخميس", + "Fri." : "الجمعة", + "Sat." : "السبت", "January" : "كانون الثاني", "February" : "شباط", "March" : "آذار", @@ -24,6 +31,18 @@ OC.L10N.register( "October" : "تشرين الاول", "November" : "تشرين الثاني", "December" : "كانون الاول", + "Jan." : "كانون الثاني", + "Feb." : "شباط", + "Mar." : "آذار", + "Apr." : "نيسان", + "May." : "أيار", + "Jun." : "حزيران", + "Jul." : "تموز", + "Aug." : "آب", + "Sep." : "أيلول", + "Oct." : "تشرين الأول", + "Nov." : "تشرين الثاني", + "Dec." : "كانون الأول", "Settings" : "إعدادات", "Saving..." : "جاري الحفظ...", "I know what I'm doing" : "أعرف ماذا أفعل", @@ -45,13 +64,13 @@ OC.L10N.register( "Good password" : "كلمة السر جيدة", "Strong password" : "كلمة السر قوية", "Shared" : "مشارك", - "Share" : "شارك", "Error" : "خطأ", "Error while sharing" : "حصل خطأ عند عملية المشاركة", "Error while unsharing" : "حصل خطأ عند عملية إزالة المشاركة", "Error while changing permissions" : "حصل خطأ عند عملية إعادة تعيين التصريح بالتوصل", "Shared with you and the group {group} by {owner}" : "شورك معك ومع المجموعة {group} من قبل {owner}", "Shared with you by {owner}" : "شورك معك من قبل {owner}", + "Share" : "شارك", "Share link" : "شارك الرابط", "Link" : "الرابط", "Password protect" : "حماية كلمة السر", diff --git a/core/l10n/ar.json b/core/l10n/ar.json index d1c70bacab..70e9525798 100644 --- a/core/l10n/ar.json +++ b/core/l10n/ar.json @@ -10,6 +10,13 @@ "Thursday" : "الخميس", "Friday" : "الجمعه", "Saturday" : "السبت", + "Sun." : "الأحد", + "Mon." : "الأثنين", + "Tue." : "الثلاثاء", + "Wed." : "الأربعاء", + "Thu." : "الخميس", + "Fri." : "الجمعة", + "Sat." : "السبت", "January" : "كانون الثاني", "February" : "شباط", "March" : "آذار", @@ -22,6 +29,18 @@ "October" : "تشرين الاول", "November" : "تشرين الثاني", "December" : "كانون الاول", + "Jan." : "كانون الثاني", + "Feb." : "شباط", + "Mar." : "آذار", + "Apr." : "نيسان", + "May." : "أيار", + "Jun." : "حزيران", + "Jul." : "تموز", + "Aug." : "آب", + "Sep." : "أيلول", + "Oct." : "تشرين الأول", + "Nov." : "تشرين الثاني", + "Dec." : "كانون الأول", "Settings" : "إعدادات", "Saving..." : "جاري الحفظ...", "I know what I'm doing" : "أعرف ماذا أفعل", @@ -43,13 +62,13 @@ "Good password" : "كلمة السر جيدة", "Strong password" : "كلمة السر قوية", "Shared" : "مشارك", - "Share" : "شارك", "Error" : "خطأ", "Error while sharing" : "حصل خطأ عند عملية المشاركة", "Error while unsharing" : "حصل خطأ عند عملية إزالة المشاركة", "Error while changing permissions" : "حصل خطأ عند عملية إعادة تعيين التصريح بالتوصل", "Shared with you and the group {group} by {owner}" : "شورك معك ومع المجموعة {group} من قبل {owner}", "Shared with you by {owner}" : "شورك معك من قبل {owner}", + "Share" : "شارك", "Share link" : "شارك الرابط", "Link" : "الرابط", "Password protect" : "حماية كلمة السر", diff --git a/core/l10n/ast.js b/core/l10n/ast.js index 0eb8951a04..22d3ad472c 100644 --- a/core/l10n/ast.js +++ b/core/l10n/ast.js @@ -20,6 +20,13 @@ OC.L10N.register( "Thursday" : "Xueves", "Friday" : "Vienres", "Saturday" : "Sábadu", + "Sun." : "Dom.", + "Mon." : "Llu.", + "Tue." : "Mar.", + "Wed." : "Mié.", + "Thu." : "Xue.", + "Fri." : "Vie.", + "Sat." : "Sáb.", "January" : "Xineru", "February" : "Febreru", "March" : "Marzu", @@ -32,6 +39,18 @@ OC.L10N.register( "October" : "Ochobre", "November" : "Payares", "December" : "Avientu", + "Jan." : "Xin.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "May.", + "Jun." : "Xun.", + "Jul." : "Xnt.", + "Aug." : "Ago.", + "Sep." : "Set.", + "Oct." : "Och.", + "Nov." : "Pay.", + "Dec." : "Avi.", "Settings" : "Axustes", "Saving..." : "Guardando...", "Couldn't send reset email. Please contact your administrator." : "Nun pudo unviase'l corréu de reaniciu. Por favor, contauta col alministrador.", @@ -63,13 +82,13 @@ OC.L10N.register( "Strong password" : "Contraseña mui bona", "Shared" : "Compartíu", "Shared with {recipients}" : "Compartío con {recipients}", - "Share" : "Compartir", "Error" : "Fallu", "Error while sharing" : "Fallu mientres la compartición", "Error while unsharing" : "Fallu mientres se dexaba de compartir", "Error while changing permissions" : "Fallu mientres camudaben los permisos", "Shared with you and the group {group} by {owner}" : "Compartíu contigo y col grupu {group} por {owner}", "Shared with you by {owner}" : "Compartíu contigo por {owner}", + "Share" : "Compartir", "Share link" : "Compartir enllaz", "The public link will expire no later than {days} days after it is created" : "L'enllaz públicu va caducar enantes de {days} díes dende la so creación", "Password protect" : "Protexer con contraseña", @@ -149,7 +168,6 @@ OC.L10N.register( "Search" : "Guetar", "Server side authentication failed!" : "Falló l'autenticación nel sirvidor!", "Please contact your administrator." : "Por favor, contauta col to alministrador", - "Forgot your password? Reset it!" : "¿Escaeciesti la to contraseña? ¡Reaníciala!", "remember" : "recordar", "Log in" : "Aniciar sesión", "Alternative Logins" : "Anicios de sesión alternativos", @@ -161,8 +179,6 @@ OC.L10N.register( "You are accessing the server from an untrusted domain." : "Tas accediendo al sirvidor dende un dominiu non confiáu.", "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Por favor, contauta col alministrador. Si yes l'alministrador, configura l'axuste \"trusted_domain\" en config/config.php. Hai un exemplu en config/config.sample.php.", "Add \"%s\" as trusted domain" : "Amestáu \"%s\" como dominiu de confianza", - "%s will be updated to version %s." : "%s anovaráse a la versión %s.", - "The following apps will be disabled:" : "Deshabilitaránse les siguientes aplicaciones:", "The theme %s has been disabled." : "Deshabilitóse'l tema %s.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enantes de siguir, asegúrate de que se fizo una copia de seguridá de la base de datos, la carpeta de configuración y la carpeta de datos.", "Start update" : "Aniciar anovamientu" diff --git a/core/l10n/ast.json b/core/l10n/ast.json index 4a6ffcbc03..e7f87e94f2 100644 --- a/core/l10n/ast.json +++ b/core/l10n/ast.json @@ -18,6 +18,13 @@ "Thursday" : "Xueves", "Friday" : "Vienres", "Saturday" : "Sábadu", + "Sun." : "Dom.", + "Mon." : "Llu.", + "Tue." : "Mar.", + "Wed." : "Mié.", + "Thu." : "Xue.", + "Fri." : "Vie.", + "Sat." : "Sáb.", "January" : "Xineru", "February" : "Febreru", "March" : "Marzu", @@ -30,6 +37,18 @@ "October" : "Ochobre", "November" : "Payares", "December" : "Avientu", + "Jan." : "Xin.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "May.", + "Jun." : "Xun.", + "Jul." : "Xnt.", + "Aug." : "Ago.", + "Sep." : "Set.", + "Oct." : "Och.", + "Nov." : "Pay.", + "Dec." : "Avi.", "Settings" : "Axustes", "Saving..." : "Guardando...", "Couldn't send reset email. Please contact your administrator." : "Nun pudo unviase'l corréu de reaniciu. Por favor, contauta col alministrador.", @@ -61,13 +80,13 @@ "Strong password" : "Contraseña mui bona", "Shared" : "Compartíu", "Shared with {recipients}" : "Compartío con {recipients}", - "Share" : "Compartir", "Error" : "Fallu", "Error while sharing" : "Fallu mientres la compartición", "Error while unsharing" : "Fallu mientres se dexaba de compartir", "Error while changing permissions" : "Fallu mientres camudaben los permisos", "Shared with you and the group {group} by {owner}" : "Compartíu contigo y col grupu {group} por {owner}", "Shared with you by {owner}" : "Compartíu contigo por {owner}", + "Share" : "Compartir", "Share link" : "Compartir enllaz", "The public link will expire no later than {days} days after it is created" : "L'enllaz públicu va caducar enantes de {days} díes dende la so creación", "Password protect" : "Protexer con contraseña", @@ -147,7 +166,6 @@ "Search" : "Guetar", "Server side authentication failed!" : "Falló l'autenticación nel sirvidor!", "Please contact your administrator." : "Por favor, contauta col to alministrador", - "Forgot your password? Reset it!" : "¿Escaeciesti la to contraseña? ¡Reaníciala!", "remember" : "recordar", "Log in" : "Aniciar sesión", "Alternative Logins" : "Anicios de sesión alternativos", @@ -159,8 +177,6 @@ "You are accessing the server from an untrusted domain." : "Tas accediendo al sirvidor dende un dominiu non confiáu.", "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Por favor, contauta col alministrador. Si yes l'alministrador, configura l'axuste \"trusted_domain\" en config/config.php. Hai un exemplu en config/config.sample.php.", "Add \"%s\" as trusted domain" : "Amestáu \"%s\" como dominiu de confianza", - "%s will be updated to version %s." : "%s anovaráse a la versión %s.", - "The following apps will be disabled:" : "Deshabilitaránse les siguientes aplicaciones:", "The theme %s has been disabled." : "Deshabilitóse'l tema %s.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enantes de siguir, asegúrate de que se fizo una copia de seguridá de la base de datos, la carpeta de configuración y la carpeta de datos.", "Start update" : "Aniciar anovamientu" diff --git a/core/l10n/az.js b/core/l10n/az.js index be8608bdec..e94203c372 100644 --- a/core/l10n/az.js +++ b/core/l10n/az.js @@ -16,6 +16,13 @@ OC.L10N.register( "Thursday" : "Cümə axşamı", "Friday" : "Cümə", "Saturday" : "Şənbə", + "Sun." : "Baz.", + "Mon." : "Ber.", + "Tue." : "Çax.", + "Wed." : "Çər.", + "Thu." : "Cax.", + "Fri." : "Cüm.", + "Sat." : "Şnb.", "January" : "Yanvar", "February" : "Fevral", "March" : "Mart", @@ -28,6 +35,18 @@ OC.L10N.register( "October" : "Oktyabr", "November" : "Noyabr.", "December" : "Dekabr", + "Jan." : "Yan.", + "Feb." : "Fev.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "May.", + "Jun." : "İyn.", + "Jul." : "İyl.", + "Aug." : "Avq.", + "Sep." : "Sen.", + "Oct." : "Okt.", + "Nov." : "Noy.", + "Dec." : "Dek.", "Settings" : "Quraşdırmalar", "Saving..." : "Saxlama...", "No" : "Xeyir", @@ -40,8 +59,8 @@ OC.L10N.register( "So-so password" : "Elə-belə şifrə", "Good password" : "Yaxşı şifrə", "Strong password" : "Çətin şifrə", - "Share" : "Yayımla", "Error" : "Səhv", + "Share" : "Yayımla", "Share link" : "Linki yayımla", "Password" : "Şifrə", "Send" : "Göndər", diff --git a/core/l10n/az.json b/core/l10n/az.json index 54987978c0..8dc93029ed 100644 --- a/core/l10n/az.json +++ b/core/l10n/az.json @@ -14,6 +14,13 @@ "Thursday" : "Cümə axşamı", "Friday" : "Cümə", "Saturday" : "Şənbə", + "Sun." : "Baz.", + "Mon." : "Ber.", + "Tue." : "Çax.", + "Wed." : "Çər.", + "Thu." : "Cax.", + "Fri." : "Cüm.", + "Sat." : "Şnb.", "January" : "Yanvar", "February" : "Fevral", "March" : "Mart", @@ -26,6 +33,18 @@ "October" : "Oktyabr", "November" : "Noyabr.", "December" : "Dekabr", + "Jan." : "Yan.", + "Feb." : "Fev.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "May.", + "Jun." : "İyn.", + "Jul." : "İyl.", + "Aug." : "Avq.", + "Sep." : "Sen.", + "Oct." : "Okt.", + "Nov." : "Noy.", + "Dec." : "Dek.", "Settings" : "Quraşdırmalar", "Saving..." : "Saxlama...", "No" : "Xeyir", @@ -38,8 +57,8 @@ "So-so password" : "Elə-belə şifrə", "Good password" : "Yaxşı şifrə", "Strong password" : "Çətin şifrə", - "Share" : "Yayımla", "Error" : "Səhv", + "Share" : "Yayımla", "Share link" : "Linki yayımla", "Password" : "Şifrə", "Send" : "Göndər", diff --git a/core/l10n/bg_BG.js b/core/l10n/bg_BG.js index e96f8e2d6b..efc40bfed2 100644 --- a/core/l10n/bg_BG.js +++ b/core/l10n/bg_BG.js @@ -24,6 +24,13 @@ OC.L10N.register( "Thursday" : "Четвъртък", "Friday" : "Петък", "Saturday" : "Събота", + "Sun." : "Нед.", + "Mon." : "Пон.", + "Tue." : "Вт.", + "Wed." : "Ср.", + "Thu." : "Чет.", + "Fri." : "Пет.", + "Sat." : "Съб.", "January" : "Януари", "February" : "Февруари", "March" : "Март", @@ -36,6 +43,18 @@ OC.L10N.register( "October" : "Октомври", "November" : "Ноември", "December" : "Декември", + "Jan." : "Яну.", + "Feb." : "Фев.", + "Mar." : "Март.", + "Apr." : "Апр.", + "May." : "Май.", + "Jun." : "Юни.", + "Jul." : "Юли.", + "Aug." : "Авг.", + "Sep." : "Сеп.", + "Oct." : "Окт.", + "Nov." : "Ное.", + "Dec." : "Дек.", "Settings" : "Настройки", "Saving..." : "Запазване...", "Couldn't send reset email. Please contact your administrator." : "Изпращането на електронна поща е неуспешно. Моля, свържете се с вашия администратор.", @@ -72,13 +91,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Настъпи грешка при проверката на настройките на сървъра.", "Shared" : "Споделено", "Shared with {recipients}" : "Споделено с {recipients}.", - "Share" : "Споделяне", "Error" : "Грешка", "Error while sharing" : "Грешка при споделяне", "Error while unsharing" : "Грешка при премахване на споделянето", "Error while changing permissions" : "Грешка при промяна на привилегиите", "Shared with you and the group {group} by {owner}" : "Споделено от {owner} с Вас и групата {group} .", "Shared with you by {owner}" : "Споделено с Вас от {owner}.", + "Share" : "Споделяне", "Share link" : "Връзка за споделяне", "The public link will expire no later than {days} days after it is created" : "Общодостъпната връзка ще изтече не по-късно от {days} дни след създаването ѝ.", "Link" : "Връзка", @@ -192,7 +211,6 @@ OC.L10N.register( "Search" : "Търсене", "Server side authentication failed!" : "Удостоверяването от страна на сървъра е неуспешно!", "Please contact your administrator." : "Моля, свържете се с администратора.", - "Forgot your password? Reset it!" : "Забравихте паролата си? Възстановете я!", "remember" : "запомняне", "Log in" : "Вписване", "Alternative Logins" : "Алтернативни методи на вписване", @@ -205,8 +223,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Моля, свържи се с администратора. Ако ти си администраторът, на този сървър, промени \"trusted_domain\" настройките в config/config.php. Примерна конфигурация е приложена в config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "В зависимост от конфигурацията ти, като администратор може натискайки бутонът по-долу да отбележиш домейнът като сигурен.", "Add \"%s\" as trusted domain" : "Добави \"%s\" като сигурен домейн", - "%s will be updated to version %s." : "%s ще бъде обновена до версия %s.", - "The following apps will be disabled:" : "Следните програми ще бъдат изключени:", "The theme %s has been disabled." : "Темата %s бе изключена.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Моля, увери се, че си направил копия на базата данни, папките с настройки и данни, преди да продължиш.", "Start update" : "Започване на обновяването", diff --git a/core/l10n/bg_BG.json b/core/l10n/bg_BG.json index 84b5a5b72a..bb9651af48 100644 --- a/core/l10n/bg_BG.json +++ b/core/l10n/bg_BG.json @@ -22,6 +22,13 @@ "Thursday" : "Четвъртък", "Friday" : "Петък", "Saturday" : "Събота", + "Sun." : "Нед.", + "Mon." : "Пон.", + "Tue." : "Вт.", + "Wed." : "Ср.", + "Thu." : "Чет.", + "Fri." : "Пет.", + "Sat." : "Съб.", "January" : "Януари", "February" : "Февруари", "March" : "Март", @@ -34,6 +41,18 @@ "October" : "Октомври", "November" : "Ноември", "December" : "Декември", + "Jan." : "Яну.", + "Feb." : "Фев.", + "Mar." : "Март.", + "Apr." : "Апр.", + "May." : "Май.", + "Jun." : "Юни.", + "Jul." : "Юли.", + "Aug." : "Авг.", + "Sep." : "Сеп.", + "Oct." : "Окт.", + "Nov." : "Ное.", + "Dec." : "Дек.", "Settings" : "Настройки", "Saving..." : "Запазване...", "Couldn't send reset email. Please contact your administrator." : "Изпращането на електронна поща е неуспешно. Моля, свържете се с вашия администратор.", @@ -70,13 +89,13 @@ "Error occurred while checking server setup" : "Настъпи грешка при проверката на настройките на сървъра.", "Shared" : "Споделено", "Shared with {recipients}" : "Споделено с {recipients}.", - "Share" : "Споделяне", "Error" : "Грешка", "Error while sharing" : "Грешка при споделяне", "Error while unsharing" : "Грешка при премахване на споделянето", "Error while changing permissions" : "Грешка при промяна на привилегиите", "Shared with you and the group {group} by {owner}" : "Споделено от {owner} с Вас и групата {group} .", "Shared with you by {owner}" : "Споделено с Вас от {owner}.", + "Share" : "Споделяне", "Share link" : "Връзка за споделяне", "The public link will expire no later than {days} days after it is created" : "Общодостъпната връзка ще изтече не по-късно от {days} дни след създаването ѝ.", "Link" : "Връзка", @@ -190,7 +209,6 @@ "Search" : "Търсене", "Server side authentication failed!" : "Удостоверяването от страна на сървъра е неуспешно!", "Please contact your administrator." : "Моля, свържете се с администратора.", - "Forgot your password? Reset it!" : "Забравихте паролата си? Възстановете я!", "remember" : "запомняне", "Log in" : "Вписване", "Alternative Logins" : "Алтернативни методи на вписване", @@ -203,8 +221,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Моля, свържи се с администратора. Ако ти си администраторът, на този сървър, промени \"trusted_domain\" настройките в config/config.php. Примерна конфигурация е приложена в config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "В зависимост от конфигурацията ти, като администратор може натискайки бутонът по-долу да отбележиш домейнът като сигурен.", "Add \"%s\" as trusted domain" : "Добави \"%s\" като сигурен домейн", - "%s will be updated to version %s." : "%s ще бъде обновена до версия %s.", - "The following apps will be disabled:" : "Следните програми ще бъдат изключени:", "The theme %s has been disabled." : "Темата %s бе изключена.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Моля, увери се, че си направил копия на базата данни, папките с настройки и данни, преди да продължиш.", "Start update" : "Започване на обновяването", diff --git a/core/l10n/bn_BD.js b/core/l10n/bn_BD.js index 92e47f1b28..a2b94ff802 100644 --- a/core/l10n/bn_BD.js +++ b/core/l10n/bn_BD.js @@ -15,6 +15,13 @@ OC.L10N.register( "Thursday" : "বৃহস্পতিবার", "Friday" : "শুক্রবার", "Saturday" : "শনিবার", + "Sun." : "রবি.", + "Mon." : "সোম.", + "Tue." : "মঙ্গল.", + "Wed." : "বুধ.", + "Thu." : "বৃহঃ.", + "Fri." : "শুক্র.", + "Sat." : "শনি.", "January" : "জানুয়ারি", "February" : "ফেব্রুয়ারি", "March" : "মার্চ", @@ -27,6 +34,18 @@ OC.L10N.register( "October" : "অক্টোবর", "November" : "নভেম্বর", "December" : "ডিসেম্বর", + "Jan." : "জানু.", + "Feb." : "ফেব্রু.", + "Mar." : "মার্চ.", + "Apr." : "এপ্রিল.", + "May." : "মে.", + "Jun." : "জুন.", + "Jul." : "জুলাই.", + "Aug." : "অগাস্ট.", + "Sep." : "সেপ্টে.", + "Oct." : "অক্টো.", + "Nov." : "নভে.", + "Dec." : "ডিসে.", "Settings" : "নিয়ামকসমূহ", "Saving..." : "সংরক্ষণ করা হচ্ছে..", "No" : "না", @@ -42,13 +61,13 @@ OC.L10N.register( "Continue" : "চালিয়ে যাও", "Strong password" : "শক্তিশালী কুটশব্দ", "Shared" : "ভাগাভাগিকৃত", - "Share" : "ভাগাভাগি কর", "Error" : "সমস্যা", "Error while sharing" : "ভাগাভাগি করতে সমস্যা দেখা দিয়েছে ", "Error while unsharing" : "ভাগাভাগি বাতিল করতে সমস্যা দেখা দিয়েছে", "Error while changing permissions" : "অনুমতিসমূহ পরিবর্তন করতে সমস্যা দেখা দিয়েছে", "Shared with you and the group {group} by {owner}" : "{owner} আপনার এবং {group} গোষ্ঠীর সাথে ভাগাভাগি করেছেন", "Shared with you by {owner}" : "{owner} আপনার সাথে ভাগাভাগি করেছেন", + "Share" : "ভাগাভাগি কর", "Share link" : "লিংক ভাগাভাগি করেন", "Password protect" : "কূটশব্দ সুরক্ষিত", "Password" : "কূটশব্দ", diff --git a/core/l10n/bn_BD.json b/core/l10n/bn_BD.json index b68c9f2841..305f1e60d1 100644 --- a/core/l10n/bn_BD.json +++ b/core/l10n/bn_BD.json @@ -13,6 +13,13 @@ "Thursday" : "বৃহস্পতিবার", "Friday" : "শুক্রবার", "Saturday" : "শনিবার", + "Sun." : "রবি.", + "Mon." : "সোম.", + "Tue." : "মঙ্গল.", + "Wed." : "বুধ.", + "Thu." : "বৃহঃ.", + "Fri." : "শুক্র.", + "Sat." : "শনি.", "January" : "জানুয়ারি", "February" : "ফেব্রুয়ারি", "March" : "মার্চ", @@ -25,6 +32,18 @@ "October" : "অক্টোবর", "November" : "নভেম্বর", "December" : "ডিসেম্বর", + "Jan." : "জানু.", + "Feb." : "ফেব্রু.", + "Mar." : "মার্চ.", + "Apr." : "এপ্রিল.", + "May." : "মে.", + "Jun." : "জুন.", + "Jul." : "জুলাই.", + "Aug." : "অগাস্ট.", + "Sep." : "সেপ্টে.", + "Oct." : "অক্টো.", + "Nov." : "নভে.", + "Dec." : "ডিসে.", "Settings" : "নিয়ামকসমূহ", "Saving..." : "সংরক্ষণ করা হচ্ছে..", "No" : "না", @@ -40,13 +59,13 @@ "Continue" : "চালিয়ে যাও", "Strong password" : "শক্তিশালী কুটশব্দ", "Shared" : "ভাগাভাগিকৃত", - "Share" : "ভাগাভাগি কর", "Error" : "সমস্যা", "Error while sharing" : "ভাগাভাগি করতে সমস্যা দেখা দিয়েছে ", "Error while unsharing" : "ভাগাভাগি বাতিল করতে সমস্যা দেখা দিয়েছে", "Error while changing permissions" : "অনুমতিসমূহ পরিবর্তন করতে সমস্যা দেখা দিয়েছে", "Shared with you and the group {group} by {owner}" : "{owner} আপনার এবং {group} গোষ্ঠীর সাথে ভাগাভাগি করেছেন", "Shared with you by {owner}" : "{owner} আপনার সাথে ভাগাভাগি করেছেন", + "Share" : "ভাগাভাগি কর", "Share link" : "লিংক ভাগাভাগি করেন", "Password protect" : "কূটশব্দ সুরক্ষিত", "Password" : "কূটশব্দ", diff --git a/core/l10n/bn_IN.js b/core/l10n/bn_IN.js index 69c51dab41..21b59beec8 100644 --- a/core/l10n/bn_IN.js +++ b/core/l10n/bn_IN.js @@ -4,8 +4,8 @@ OC.L10N.register( "Settings" : "সেটিংস", "Saving..." : "সংরক্ষণ করা হচ্ছে ...", "Cancel" : "বাতিল করা", - "Share" : "শেয়ার", "Error" : "ভুল", + "Share" : "শেয়ার", "Warning" : "সতর্কীকরণ", "Delete" : "মুছে ফেলা", "Add" : "যোগ করা", diff --git a/core/l10n/bn_IN.json b/core/l10n/bn_IN.json index f0f53afe5a..67eddf4cfb 100644 --- a/core/l10n/bn_IN.json +++ b/core/l10n/bn_IN.json @@ -2,8 +2,8 @@ "Settings" : "সেটিংস", "Saving..." : "সংরক্ষণ করা হচ্ছে ...", "Cancel" : "বাতিল করা", - "Share" : "শেয়ার", "Error" : "ভুল", + "Share" : "শেয়ার", "Warning" : "সতর্কীকরণ", "Delete" : "মুছে ফেলা", "Add" : "যোগ করা", diff --git a/core/l10n/bs.js b/core/l10n/bs.js index 819308dd66..e2c5bd8e0e 100644 --- a/core/l10n/bs.js +++ b/core/l10n/bs.js @@ -19,6 +19,13 @@ OC.L10N.register( "Thursday" : "Četvrtak", "Friday" : "Petak", "Saturday" : "Subota", + "Sun." : "Ned.", + "Mon." : "Pon.", + "Tue." : "Ut.", + "Wed." : "Sri.", + "Thu." : "Čet.", + "Fri." : "Pet.", + "Sat." : "Sub.", "January" : "Januar", "February" : "Februar", "March" : "Mart", @@ -31,6 +38,18 @@ OC.L10N.register( "October" : "Oktobar", "November" : "Novembar", "December" : "Decembar", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maj.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Avg.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Postavke", "Saving..." : "Spašavam...", "Couldn't send reset email. Please contact your administrator." : "Slanje emaila resetovanja nije moguće. Molim kontaktirajte administratora.", @@ -63,13 +82,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Došlo je do pogreške prilikom provjere serverskih postavki", "Shared" : "Podijeljen", "Shared with {recipients}" : "Podijeljen sa {recipients}", - "Share" : "Podijeli", "Error" : "Greška", "Error while sharing" : "Greška pri dijeljenju", "Error while unsharing" : "Ggreška pri prestanku dijeljenja", "Error while changing permissions" : "Greška pri mijenjanju dozvola", "Shared with you and the group {group} by {owner}" : "Dijeljeno s vama i grupom {group} vlasnika {owner}", "Shared with you by {owner}" : "Podijeljeno sa vama od {owner}", + "Share" : "Podijeli", "Share link" : "Podijelite vezu", "The public link will expire no later than {days} days after it is created" : "Javna veza ističe najkasnije {days} dana nakon što je kreirana", "Link" : "Veza", @@ -170,7 +189,6 @@ OC.L10N.register( "Search" : "Potraži", "Server side authentication failed!" : "Autentikacija na strani servera nije uspjela!", "Please contact your administrator." : "Molim kontaktirajte svog administratora.", - "Forgot your password? Reset it!" : "Zaboravili ste svoju lozinku? Resetujte ju!", "remember" : "zapamti", "Log in" : "Prijava", "Alternative Logins" : "Alternativne Prijave", @@ -183,8 +201,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Molim kontaktirajte vašeg administratora. Ako ste vi administrator ove instance, konfigurišite postavku \"trusted_domain\" u config/config.php. Primjer konfiguracije ponuđen je u config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Ovisno o vašoj konfiguraciji, kao administrator vi biste također mogli koristiti dugme ispod za povjeru toj domeni.", "Add \"%s\" as trusted domain" : "Dodajte \"%s\" kao povjerenu/pouzdanu domenu.", - "%s will be updated to version %s." : "%s će biti ažuriran u verziju %s", - "The following apps will be disabled:" : "Sljedeće aplikacije bit će onemogućene:", "The theme %s has been disabled." : "Tema %s je onemogućena", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Prije nego nastavite, molim osigurajte se da su baza podataka, direktorij konfiguracije i direktorij podataka sigurnosno kopirani.", "Start update" : "Započnite ažuriranje", diff --git a/core/l10n/bs.json b/core/l10n/bs.json index b1f860fda1..10d79cb2b4 100644 --- a/core/l10n/bs.json +++ b/core/l10n/bs.json @@ -17,6 +17,13 @@ "Thursday" : "Četvrtak", "Friday" : "Petak", "Saturday" : "Subota", + "Sun." : "Ned.", + "Mon." : "Pon.", + "Tue." : "Ut.", + "Wed." : "Sri.", + "Thu." : "Čet.", + "Fri." : "Pet.", + "Sat." : "Sub.", "January" : "Januar", "February" : "Februar", "March" : "Mart", @@ -29,6 +36,18 @@ "October" : "Oktobar", "November" : "Novembar", "December" : "Decembar", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maj.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Avg.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Postavke", "Saving..." : "Spašavam...", "Couldn't send reset email. Please contact your administrator." : "Slanje emaila resetovanja nije moguće. Molim kontaktirajte administratora.", @@ -61,13 +80,13 @@ "Error occurred while checking server setup" : "Došlo je do pogreške prilikom provjere serverskih postavki", "Shared" : "Podijeljen", "Shared with {recipients}" : "Podijeljen sa {recipients}", - "Share" : "Podijeli", "Error" : "Greška", "Error while sharing" : "Greška pri dijeljenju", "Error while unsharing" : "Ggreška pri prestanku dijeljenja", "Error while changing permissions" : "Greška pri mijenjanju dozvola", "Shared with you and the group {group} by {owner}" : "Dijeljeno s vama i grupom {group} vlasnika {owner}", "Shared with you by {owner}" : "Podijeljeno sa vama od {owner}", + "Share" : "Podijeli", "Share link" : "Podijelite vezu", "The public link will expire no later than {days} days after it is created" : "Javna veza ističe najkasnije {days} dana nakon što je kreirana", "Link" : "Veza", @@ -168,7 +187,6 @@ "Search" : "Potraži", "Server side authentication failed!" : "Autentikacija na strani servera nije uspjela!", "Please contact your administrator." : "Molim kontaktirajte svog administratora.", - "Forgot your password? Reset it!" : "Zaboravili ste svoju lozinku? Resetujte ju!", "remember" : "zapamti", "Log in" : "Prijava", "Alternative Logins" : "Alternativne Prijave", @@ -181,8 +199,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Molim kontaktirajte vašeg administratora. Ako ste vi administrator ove instance, konfigurišite postavku \"trusted_domain\" u config/config.php. Primjer konfiguracije ponuđen je u config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Ovisno o vašoj konfiguraciji, kao administrator vi biste također mogli koristiti dugme ispod za povjeru toj domeni.", "Add \"%s\" as trusted domain" : "Dodajte \"%s\" kao povjerenu/pouzdanu domenu.", - "%s will be updated to version %s." : "%s će biti ažuriran u verziju %s", - "The following apps will be disabled:" : "Sljedeće aplikacije bit će onemogućene:", "The theme %s has been disabled." : "Tema %s je onemogućena", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Prije nego nastavite, molim osigurajte se da su baza podataka, direktorij konfiguracije i direktorij podataka sigurnosno kopirani.", "Start update" : "Započnite ažuriranje", diff --git a/core/l10n/ca.js b/core/l10n/ca.js index 7ed783d68e..e2bed36c3d 100644 --- a/core/l10n/ca.js +++ b/core/l10n/ca.js @@ -4,18 +4,24 @@ OC.L10N.register( "Couldn't send mail to following users: %s " : "No s'ha pogut enviar correu als usuaris següents: %s", "Turned on maintenance mode" : "Activat el mode de manteniment", "Turned off maintenance mode" : "Desactivat el mode de manteniment", + "Maintenance mode is kept active" : "El mode de manteniment es manté activat", "Updated database" : "Actualitzada la base de dades", "Checked database schema update" : "S'ha comprobat l'actualització de l'esquema de la base de dades", "Checked database schema update for apps" : "S'ha comprobat l'actualització de l'esquema de la base de dades per les apps", "Updated \"%s\" to %s" : "Actualitzat \"%s\" a %s", "Repair warning: " : "Advertiment de reparació:", + "Repair error: " : "Error de reparació:", "Following incompatible apps have been disabled: %s" : "Les següents apps incompatibles s'han deshabilitat: %s", + "Following apps have been disabled: %s" : "Les aplicacions següents s'han deshabilitat: %s", + "File is too big" : "El fitxer és massa gran", "Invalid file provided" : "L'arxiu proporcionat no és vàlid", "No image or file provided" : "No s'han proporcionat imatges o fitxers", "Unknown filetype" : "Tipus de fitxer desconegut", "Invalid image" : "Imatge no vàlida", "No temporary profile picture available, try again" : "No hi ha imatge temporal de perfil disponible, torneu a intentar-ho", "No crop data provided" : "No heu proporcionat dades del retall", + "No valid crop data provided" : "Les dades del retall proporcionades no són vàlides", + "Crop is not square" : "El retall no és quadrat", "Sunday" : "Diumenge", "Monday" : "Dilluns", "Tuesday" : "Dimarts", @@ -23,6 +29,13 @@ OC.L10N.register( "Thursday" : "Dijous", "Friday" : "Divendres", "Saturday" : "Dissabte", + "Sun." : "Dg.", + "Mon." : "Dl.", + "Tue." : "Dm.", + "Wed." : "Dc.", + "Thu." : "Dj.", + "Fri." : "Dv.", + "Sat." : "Ds.", "January" : "Gener", "February" : "Febrer", "March" : "Març", @@ -35,6 +48,18 @@ OC.L10N.register( "October" : "Octubre", "November" : "Novembre", "December" : "Desembre", + "Jan." : "Gen.", + "Feb." : "Febr.", + "Mar." : "Març", + "Apr." : "Abr.", + "May." : "Maig", + "Jun." : "Juny", + "Jul." : "Jul.", + "Aug." : "Ag.", + "Sep." : "Set.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Des.", "Settings" : "Configuració", "Saving..." : "Desant...", "Couldn't send reset email. Please contact your administrator." : "No s'ha pogut restablir el correu. Contacteu amb l'administrador.", @@ -68,7 +93,6 @@ OC.L10N.register( "Error occurred while checking server setup" : "Hi ha hagut un error en comprovar la configuració del servidor", "Shared" : "Compartit", "Shared with {recipients}" : "Compartit amb {recipients}", - "Share" : "Comparteix", "Error" : "Error", "Error while sharing" : "Error en compartir", "Error while unsharing" : "Error en deixar de compartir", @@ -77,6 +101,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Compartit amb vos per {owner}", "Share with users or groups …" : "Comparteix amb usuaris o grups ...", "Share with users, groups or remote users …" : "Comparteix amb usuaris, grups o usuaris remots ...", + "Share" : "Comparteix", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Compartir amb la gent en altres ownClouds utilitzant la sintaxi username@example.com/owncloud", "Share link" : "Enllaç de compartició", "The public link will expire no later than {days} days after it is created" : "L'enllaç públic tindrà venciment abans de {days} dies després de crear-lo", @@ -123,9 +148,11 @@ OC.L10N.register( "Hello {name}, the weather is {weather}" : "Hola {name}, el temps és {weather}", "Hello {name}" : "Hola {name}", "_download %n file_::_download %n files_" : ["descarregar l'arxiu %n","descarregar arxius %n "], + "{version} is available. Get more information on how to update." : "Hi ha disponible la versió {version}. Obtingueu més informació sobre com actualitzar.", "Updating {productName} to version {version}, this may take a while." : "Actualitzant {productName} a la versió {version}. Pot trigar una estona.", "Please reload the page." : "Carregueu la pàgina de nou.", "The update was unsuccessful. " : "La actualització no ha tingut èxit", + "The update was successful. There were warnings." : "La actualització ha estat exitosa. Hi ha alertes.", "The update was successful. Redirecting you to ownCloud now." : "L'actualització ha estat correcte. Ara us redirigim a ownCloud.", "Couldn't reset password because the token is invalid" : "No es pot restablir la contrasenya perquè el testimoni no és vàlid", "Couldn't send reset email. Please make sure your username is correct." : "No s'ha pogut enviar el correu de restabliment. Assegureu-vos que el vostre nom d'usuari és correcte.", @@ -136,6 +163,7 @@ OC.L10N.register( "New Password" : "Contrasenya nova", "Reset password" : "Reinicialitza la contrasenya", "Searching other places" : "Buscant altres ubicacions", + "No search results in other places" : "No hi ha resultats de cerques a altres llocs", "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultat de cerca en altres ubicacions","{count} resultats de cerca en altres ubicacions"], "Personal" : "Personal", "Users" : "Usuaris", @@ -177,11 +205,13 @@ OC.L10N.register( "Data folder" : "Carpeta de dades", "Configure the database" : "Configura la base de dades", "Only %s is available." : "Només hi ha disponible %s", + "For more details check out the documentation." : "Per més detalls consulteu la documentació.", "Database user" : "Usuari de la base de dades", "Database password" : "Contrasenya de la base de dades", "Database name" : "Nom de la base de dades", "Database tablespace" : "Espai de taula de la base de dades", "Database host" : "Ordinador central de la base de dades", + "Performance warning" : "Alerta de rendiment", "SQLite will be used as database." : "SQLite s'utilitzarà com a base de dades.", "For larger installations we recommend to choose a different database backend." : "Per a instal·lacions més grans es recomana triar una base de dades diferent.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "L'ús de SQLite està desaconsellat especialment quan s'usa el client d'escriptori per sincronitzar els fitxers.", @@ -196,7 +226,7 @@ OC.L10N.register( "Please contact your administrator." : "Contacteu amb l'administrador.", "An internal error occured." : "S'ha produït un error intern.", "Please try again or contact your administrator." : "Intenti-ho de nou o posi's en contacte amb el seu administrador.", - "Forgot your password? Reset it!" : "Heu oblidat la contrasenya? Restabliu-la!", + "Wrong password. Reset it?" : "Contrasenya incorrecta. Voleu restablir-la?", "remember" : "recorda'm", "Log in" : "Inici de sessió", "Alternative Logins" : "Acreditacions alternatives", @@ -209,8 +239,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contacteu amb l'administrador. Si sou un administrador d'aquesta instància, configureu el paràmetre \"trusted_domain\" a config/config.php. Hi ha un exemple de configuració a config/config.sampe.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "En funció de la teva configuració, com a administrador podries utilitzar el botó d'abaix per confiar en aquest domini.", "Add \"%s\" as trusted domain" : "Afegeix \"%s\" com a domini de confiança", - "%s will be updated to version %s." : "%s s'actualitzarà a la versió %s.", - "The following apps will be disabled:" : "Les següents aplicacions es desactivaran:", "The theme %s has been disabled." : "S'ha desactivat el tema %s", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Assegureu-vos que heu fet una còpia de seguretat de la base de dades, del fitxer de configuració i de la carpeta de dades abans de continuar.", "Start update" : "Inicia l'actualització", diff --git a/core/l10n/ca.json b/core/l10n/ca.json index fc855c2e7b..8afd382603 100644 --- a/core/l10n/ca.json +++ b/core/l10n/ca.json @@ -2,18 +2,24 @@ "Couldn't send mail to following users: %s " : "No s'ha pogut enviar correu als usuaris següents: %s", "Turned on maintenance mode" : "Activat el mode de manteniment", "Turned off maintenance mode" : "Desactivat el mode de manteniment", + "Maintenance mode is kept active" : "El mode de manteniment es manté activat", "Updated database" : "Actualitzada la base de dades", "Checked database schema update" : "S'ha comprobat l'actualització de l'esquema de la base de dades", "Checked database schema update for apps" : "S'ha comprobat l'actualització de l'esquema de la base de dades per les apps", "Updated \"%s\" to %s" : "Actualitzat \"%s\" a %s", "Repair warning: " : "Advertiment de reparació:", + "Repair error: " : "Error de reparació:", "Following incompatible apps have been disabled: %s" : "Les següents apps incompatibles s'han deshabilitat: %s", + "Following apps have been disabled: %s" : "Les aplicacions següents s'han deshabilitat: %s", + "File is too big" : "El fitxer és massa gran", "Invalid file provided" : "L'arxiu proporcionat no és vàlid", "No image or file provided" : "No s'han proporcionat imatges o fitxers", "Unknown filetype" : "Tipus de fitxer desconegut", "Invalid image" : "Imatge no vàlida", "No temporary profile picture available, try again" : "No hi ha imatge temporal de perfil disponible, torneu a intentar-ho", "No crop data provided" : "No heu proporcionat dades del retall", + "No valid crop data provided" : "Les dades del retall proporcionades no són vàlides", + "Crop is not square" : "El retall no és quadrat", "Sunday" : "Diumenge", "Monday" : "Dilluns", "Tuesday" : "Dimarts", @@ -21,6 +27,13 @@ "Thursday" : "Dijous", "Friday" : "Divendres", "Saturday" : "Dissabte", + "Sun." : "Dg.", + "Mon." : "Dl.", + "Tue." : "Dm.", + "Wed." : "Dc.", + "Thu." : "Dj.", + "Fri." : "Dv.", + "Sat." : "Ds.", "January" : "Gener", "February" : "Febrer", "March" : "Març", @@ -33,6 +46,18 @@ "October" : "Octubre", "November" : "Novembre", "December" : "Desembre", + "Jan." : "Gen.", + "Feb." : "Febr.", + "Mar." : "Març", + "Apr." : "Abr.", + "May." : "Maig", + "Jun." : "Juny", + "Jul." : "Jul.", + "Aug." : "Ag.", + "Sep." : "Set.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Des.", "Settings" : "Configuració", "Saving..." : "Desant...", "Couldn't send reset email. Please contact your administrator." : "No s'ha pogut restablir el correu. Contacteu amb l'administrador.", @@ -66,7 +91,6 @@ "Error occurred while checking server setup" : "Hi ha hagut un error en comprovar la configuració del servidor", "Shared" : "Compartit", "Shared with {recipients}" : "Compartit amb {recipients}", - "Share" : "Comparteix", "Error" : "Error", "Error while sharing" : "Error en compartir", "Error while unsharing" : "Error en deixar de compartir", @@ -75,6 +99,7 @@ "Shared with you by {owner}" : "Compartit amb vos per {owner}", "Share with users or groups …" : "Comparteix amb usuaris o grups ...", "Share with users, groups or remote users …" : "Comparteix amb usuaris, grups o usuaris remots ...", + "Share" : "Comparteix", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Compartir amb la gent en altres ownClouds utilitzant la sintaxi username@example.com/owncloud", "Share link" : "Enllaç de compartició", "The public link will expire no later than {days} days after it is created" : "L'enllaç públic tindrà venciment abans de {days} dies després de crear-lo", @@ -121,9 +146,11 @@ "Hello {name}, the weather is {weather}" : "Hola {name}, el temps és {weather}", "Hello {name}" : "Hola {name}", "_download %n file_::_download %n files_" : ["descarregar l'arxiu %n","descarregar arxius %n "], + "{version} is available. Get more information on how to update." : "Hi ha disponible la versió {version}. Obtingueu més informació sobre com actualitzar.", "Updating {productName} to version {version}, this may take a while." : "Actualitzant {productName} a la versió {version}. Pot trigar una estona.", "Please reload the page." : "Carregueu la pàgina de nou.", "The update was unsuccessful. " : "La actualització no ha tingut èxit", + "The update was successful. There were warnings." : "La actualització ha estat exitosa. Hi ha alertes.", "The update was successful. Redirecting you to ownCloud now." : "L'actualització ha estat correcte. Ara us redirigim a ownCloud.", "Couldn't reset password because the token is invalid" : "No es pot restablir la contrasenya perquè el testimoni no és vàlid", "Couldn't send reset email. Please make sure your username is correct." : "No s'ha pogut enviar el correu de restabliment. Assegureu-vos que el vostre nom d'usuari és correcte.", @@ -134,6 +161,7 @@ "New Password" : "Contrasenya nova", "Reset password" : "Reinicialitza la contrasenya", "Searching other places" : "Buscant altres ubicacions", + "No search results in other places" : "No hi ha resultats de cerques a altres llocs", "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultat de cerca en altres ubicacions","{count} resultats de cerca en altres ubicacions"], "Personal" : "Personal", "Users" : "Usuaris", @@ -175,11 +203,13 @@ "Data folder" : "Carpeta de dades", "Configure the database" : "Configura la base de dades", "Only %s is available." : "Només hi ha disponible %s", + "For more details check out the documentation." : "Per més detalls consulteu la documentació.", "Database user" : "Usuari de la base de dades", "Database password" : "Contrasenya de la base de dades", "Database name" : "Nom de la base de dades", "Database tablespace" : "Espai de taula de la base de dades", "Database host" : "Ordinador central de la base de dades", + "Performance warning" : "Alerta de rendiment", "SQLite will be used as database." : "SQLite s'utilitzarà com a base de dades.", "For larger installations we recommend to choose a different database backend." : "Per a instal·lacions més grans es recomana triar una base de dades diferent.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "L'ús de SQLite està desaconsellat especialment quan s'usa el client d'escriptori per sincronitzar els fitxers.", @@ -194,7 +224,7 @@ "Please contact your administrator." : "Contacteu amb l'administrador.", "An internal error occured." : "S'ha produït un error intern.", "Please try again or contact your administrator." : "Intenti-ho de nou o posi's en contacte amb el seu administrador.", - "Forgot your password? Reset it!" : "Heu oblidat la contrasenya? Restabliu-la!", + "Wrong password. Reset it?" : "Contrasenya incorrecta. Voleu restablir-la?", "remember" : "recorda'm", "Log in" : "Inici de sessió", "Alternative Logins" : "Acreditacions alternatives", @@ -207,8 +237,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contacteu amb l'administrador. Si sou un administrador d'aquesta instància, configureu el paràmetre \"trusted_domain\" a config/config.php. Hi ha un exemple de configuració a config/config.sampe.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "En funció de la teva configuració, com a administrador podries utilitzar el botó d'abaix per confiar en aquest domini.", "Add \"%s\" as trusted domain" : "Afegeix \"%s\" com a domini de confiança", - "%s will be updated to version %s." : "%s s'actualitzarà a la versió %s.", - "The following apps will be disabled:" : "Les següents aplicacions es desactivaran:", "The theme %s has been disabled." : "S'ha desactivat el tema %s", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Assegureu-vos que heu fet una còpia de seguretat de la base de dades, del fitxer de configuració i de la carpeta de dades abans de continuar.", "Start update" : "Inicia l'actualització", diff --git a/core/l10n/cs_CZ.js b/core/l10n/cs_CZ.js index 3e24ec2633..845ea68b0f 100644 --- a/core/l10n/cs_CZ.js +++ b/core/l10n/cs_CZ.js @@ -29,6 +29,20 @@ OC.L10N.register( "Thursday" : "Čtvrtek", "Friday" : "Pátek", "Saturday" : "Sobota", + "Sun." : "Ne", + "Mon." : "Po", + "Tue." : "Út", + "Wed." : "St", + "Thu." : "Čt", + "Fri." : "Pá", + "Sat." : "So", + "Su" : "Ne", + "Mo" : "Po", + "Tu" : "Út", + "We" : "St", + "Th" : "Čt", + "Fr" : "Pá", + "Sa" : "So", "January" : "Leden", "February" : "Únor", "March" : "Březen", @@ -41,6 +55,18 @@ OC.L10N.register( "October" : "Říjen", "November" : "Listopad", "December" : "Prosinec", + "Jan." : "leden", + "Feb." : "únor", + "Mar." : "březen", + "Apr." : "duben", + "May." : "květen", + "Jun." : "červen", + "Jul." : "červenec", + "Aug." : "srpen", + "Sep." : "září", + "Oct." : "íjen", + "Nov." : "listopad", + "Dec." : "prosinec", "Settings" : "Nastavení", "Saving..." : "Ukládám...", "Couldn't send reset email. Please contact your administrator." : "Nepodařilo se odeslat email pro změnu hesla. Kontaktujte svého správce systému.", @@ -76,13 +102,13 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Váš datový adresář i vaše soubory jsou pravděpodobně přístupné z Internetu. Soubor .htaccess nefunguje. Důrazně doporučujeme nakonfigurovat webový server tak, aby datový adresář nebyl nadále přístupný, nebo přesunout datový adresář mimo prostor zpřístupňovaný webovým serverem.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nebyla nakonfigurována paměťová cache. Pro zlepšení výkonu a dostupnosti ji prosím nakonfigurujte. Další informace lze nalézt v naší dokumentaci.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "PHP nemá práva pro čtení v /dev/urandom, to je ale z bezpečnostních důvodů velmi doporučováno. Více informací lze nalézt v dokumentaci.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Vaše verze PHP ({version}) již není podporována. Doporučujeme aktualizovat na poslední verzi PHP pro využití vylepšení výkonu a bezpečnosti.", "Error occurred while checking server setup" : "Při ověřování nastavení serveru došlo k chybě", "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." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich bezpečnostních tipech.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS jak je popsáno v našich bezpečnostních tipech.", "Shared" : "Sdílené", "Shared with {recipients}" : "Sdíleno s {recipients}", - "Share" : "Sdílet", "Error" : "Chyba", "Error while sharing" : "Chyba při sdílení", "Error while unsharing" : "Chyba při rušení sdílení", @@ -91,6 +117,7 @@ OC.L10N.register( "Shared with you by {owner}" : "S Vámi sdílí {owner}", "Share with users or groups …" : "Sdílet s uživateli nebo skupinami", "Share with users, groups or remote users …" : "Sdílet s uživateli, skupinami nebo vzdálenými uživateli", + "Share" : "Sdílet", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Sdílejte s lidmi na ownClouds použitím syntaxe username@example.com/owncloud", "Share link" : "Sdílet odkaz", "The public link will expire no later than {days} days after it is created" : "Veřejný odkaz vyprší nejpozději {days} dní od svého vytvoření", @@ -217,7 +244,7 @@ OC.L10N.register( "Please contact your administrator." : "Kontaktujte prosím svého správce systému.", "An internal error occured." : "Nastala vnitřní chyba.", "Please try again or contact your administrator." : "Prosím zkuste to znovu nebo kontaktujte vašeho správce.", - "Forgot your password? Reset it!" : "Zapomenuté heslo? Nastavte si nové!", + "Wrong password. Reset it?" : "Nesprávné heslo. Resetovat?", "remember" : "zapamatovat", "Log in" : "Přihlásit", "Alternative Logins" : "Alternativní přihlášení", @@ -230,8 +257,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kontaktujte prosím správce. Pokud jste správce této instalace, nastavte \"trusted_domain\" v souboru config/config.php. Příklad konfigurace najdete v souboru config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "V závislosti na vaší konfiguraci vám může být, jako správci, umožněno použití tlačítka níže k označení této domény jako důvěryhodné.", "Add \"%s\" as trusted domain" : "Přidat \"%s\" jako důvěryhodnou doménu", - "%s will be updated to version %s." : "%s bude aktualizován na verzi %s.", - "The following apps will be disabled:" : "Následující aplikace budou zakázány:", + "App update required" : "Vyžadována aktualizace aplikace", + "%s will be updated to version %s" : "%s bude aktualizován na verzi %s", + "These apps will be updated:" : "Následující aplikace budou aktualizovány:", + "These incompatible apps will be disabled:" : "Následující nekompatibilní aplikace budou zakázány:", "The theme %s has been disabled." : "Vzhled %s byl zakázán.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Před provedením dalšího kroku se prosím ujistěte, že databáze a konfigurační a datový adresář byly zazálohovány. ", "Start update" : "Spustit aktualizaci", diff --git a/core/l10n/cs_CZ.json b/core/l10n/cs_CZ.json index 4069b611b5..57e8d974e4 100644 --- a/core/l10n/cs_CZ.json +++ b/core/l10n/cs_CZ.json @@ -27,6 +27,20 @@ "Thursday" : "Čtvrtek", "Friday" : "Pátek", "Saturday" : "Sobota", + "Sun." : "Ne", + "Mon." : "Po", + "Tue." : "Út", + "Wed." : "St", + "Thu." : "Čt", + "Fri." : "Pá", + "Sat." : "So", + "Su" : "Ne", + "Mo" : "Po", + "Tu" : "Út", + "We" : "St", + "Th" : "Čt", + "Fr" : "Pá", + "Sa" : "So", "January" : "Leden", "February" : "Únor", "March" : "Březen", @@ -39,6 +53,18 @@ "October" : "Říjen", "November" : "Listopad", "December" : "Prosinec", + "Jan." : "leden", + "Feb." : "únor", + "Mar." : "březen", + "Apr." : "duben", + "May." : "květen", + "Jun." : "červen", + "Jul." : "červenec", + "Aug." : "srpen", + "Sep." : "září", + "Oct." : "íjen", + "Nov." : "listopad", + "Dec." : "prosinec", "Settings" : "Nastavení", "Saving..." : "Ukládám...", "Couldn't send reset email. Please contact your administrator." : "Nepodařilo se odeslat email pro změnu hesla. Kontaktujte svého správce systému.", @@ -74,13 +100,13 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Váš datový adresář i vaše soubory jsou pravděpodobně přístupné z Internetu. Soubor .htaccess nefunguje. Důrazně doporučujeme nakonfigurovat webový server tak, aby datový adresář nebyl nadále přístupný, nebo přesunout datový adresář mimo prostor zpřístupňovaný webovým serverem.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nebyla nakonfigurována paměťová cache. Pro zlepšení výkonu a dostupnosti ji prosím nakonfigurujte. Další informace lze nalézt v naší dokumentaci.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "PHP nemá práva pro čtení v /dev/urandom, to je ale z bezpečnostních důvodů velmi doporučováno. Více informací lze nalézt v dokumentaci.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Vaše verze PHP ({version}) již není podporována. Doporučujeme aktualizovat na poslední verzi PHP pro využití vylepšení výkonu a bezpečnosti.", "Error occurred while checking server setup" : "Při ověřování nastavení serveru došlo k chybě", "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." : "HTTP hlavička \"{header}\" není nakonfigurována ve shodě s \"{expected}\". To značí možné ohrožení bezpečnosti a soukromí a je doporučeno toto nastavení upravit.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP hlavička \"Strict-Transport-Security\" není nakonfigurována na minimum \"{seconds}\" sekund. Pro vylepšení bezpečnosti doporučujeme povolit HSTS dle popisu v našich bezpečnostních tipech.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Přistupujete na tuto stránku přes protokol HTTP. Důrazně doporučujeme nakonfigurovat server tak, aby vyžadoval použití HTTPS jak je popsáno v našich bezpečnostních tipech.", "Shared" : "Sdílené", "Shared with {recipients}" : "Sdíleno s {recipients}", - "Share" : "Sdílet", "Error" : "Chyba", "Error while sharing" : "Chyba při sdílení", "Error while unsharing" : "Chyba při rušení sdílení", @@ -89,6 +115,7 @@ "Shared with you by {owner}" : "S Vámi sdílí {owner}", "Share with users or groups …" : "Sdílet s uživateli nebo skupinami", "Share with users, groups or remote users …" : "Sdílet s uživateli, skupinami nebo vzdálenými uživateli", + "Share" : "Sdílet", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Sdílejte s lidmi na ownClouds použitím syntaxe username@example.com/owncloud", "Share link" : "Sdílet odkaz", "The public link will expire no later than {days} days after it is created" : "Veřejný odkaz vyprší nejpozději {days} dní od svého vytvoření", @@ -215,7 +242,7 @@ "Please contact your administrator." : "Kontaktujte prosím svého správce systému.", "An internal error occured." : "Nastala vnitřní chyba.", "Please try again or contact your administrator." : "Prosím zkuste to znovu nebo kontaktujte vašeho správce.", - "Forgot your password? Reset it!" : "Zapomenuté heslo? Nastavte si nové!", + "Wrong password. Reset it?" : "Nesprávné heslo. Resetovat?", "remember" : "zapamatovat", "Log in" : "Přihlásit", "Alternative Logins" : "Alternativní přihlášení", @@ -228,8 +255,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kontaktujte prosím správce. Pokud jste správce této instalace, nastavte \"trusted_domain\" v souboru config/config.php. Příklad konfigurace najdete v souboru config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "V závislosti na vaší konfiguraci vám může být, jako správci, umožněno použití tlačítka níže k označení této domény jako důvěryhodné.", "Add \"%s\" as trusted domain" : "Přidat \"%s\" jako důvěryhodnou doménu", - "%s will be updated to version %s." : "%s bude aktualizován na verzi %s.", - "The following apps will be disabled:" : "Následující aplikace budou zakázány:", + "App update required" : "Vyžadována aktualizace aplikace", + "%s will be updated to version %s" : "%s bude aktualizován na verzi %s", + "These apps will be updated:" : "Následující aplikace budou aktualizovány:", + "These incompatible apps will be disabled:" : "Následující nekompatibilní aplikace budou zakázány:", "The theme %s has been disabled." : "Vzhled %s byl zakázán.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Před provedením dalšího kroku se prosím ujistěte, že databáze a konfigurační a datový adresář byly zazálohovány. ", "Start update" : "Spustit aktualizaci", diff --git a/core/l10n/cy_GB.js b/core/l10n/cy_GB.js index f72771889d..efc9aaa10c 100644 --- a/core/l10n/cy_GB.js +++ b/core/l10n/cy_GB.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "Iau", "Friday" : "Gwener", "Saturday" : "Sadwrn", + "Sun." : "Sul.", + "Mon." : "Llun.", + "Tue." : "Maw.", + "Wed." : "Mer.", + "Thu." : "Iau.", + "Fri." : "Gwe.", + "Sat." : "Sad.", "January" : "Ionawr", "February" : "Chwefror", "March" : "Mawrth", @@ -20,6 +27,18 @@ OC.L10N.register( "October" : "Hydref", "November" : "Tachwedd", "December" : "Rhagfyr", + "Jan." : "Ion.", + "Feb." : "Chwe.", + "Mar." : "Maw.", + "Apr." : "Ebr.", + "May." : "Mai.", + "Jun." : "Meh.", + "Jul." : "Gor.", + "Aug." : "Aws.", + "Sep." : "Med.", + "Oct." : "Hyd.", + "Nov." : "Tach.", + "Dec." : "Rhag.", "Settings" : "Gosodiadau", "Saving..." : "Yn cadw...", "No" : "Na", @@ -28,13 +47,13 @@ OC.L10N.register( "Ok" : "Iawn", "Cancel" : "Diddymu", "Shared" : "Rhannwyd", - "Share" : "Rhannu", "Error" : "Gwall", "Error while sharing" : "Gwall wrth rannu", "Error while unsharing" : "Gwall wrth ddad-rannu", "Error while changing permissions" : "Gwall wrth newid caniatâd", "Shared with you and the group {group} by {owner}" : "Rhannwyd â chi a'r grŵp {group} gan {owner}", "Shared with you by {owner}" : "Rhannwyd â chi gan {owner}", + "Share" : "Rhannu", "Password protect" : "Diogelu cyfrinair", "Password" : "Cyfrinair", "Email link to person" : "E-bostio dolen at berson", diff --git a/core/l10n/cy_GB.json b/core/l10n/cy_GB.json index a8cac06d4f..b873c9d84a 100644 --- a/core/l10n/cy_GB.json +++ b/core/l10n/cy_GB.json @@ -6,6 +6,13 @@ "Thursday" : "Iau", "Friday" : "Gwener", "Saturday" : "Sadwrn", + "Sun." : "Sul.", + "Mon." : "Llun.", + "Tue." : "Maw.", + "Wed." : "Mer.", + "Thu." : "Iau.", + "Fri." : "Gwe.", + "Sat." : "Sad.", "January" : "Ionawr", "February" : "Chwefror", "March" : "Mawrth", @@ -18,6 +25,18 @@ "October" : "Hydref", "November" : "Tachwedd", "December" : "Rhagfyr", + "Jan." : "Ion.", + "Feb." : "Chwe.", + "Mar." : "Maw.", + "Apr." : "Ebr.", + "May." : "Mai.", + "Jun." : "Meh.", + "Jul." : "Gor.", + "Aug." : "Aws.", + "Sep." : "Med.", + "Oct." : "Hyd.", + "Nov." : "Tach.", + "Dec." : "Rhag.", "Settings" : "Gosodiadau", "Saving..." : "Yn cadw...", "No" : "Na", @@ -26,13 +45,13 @@ "Ok" : "Iawn", "Cancel" : "Diddymu", "Shared" : "Rhannwyd", - "Share" : "Rhannu", "Error" : "Gwall", "Error while sharing" : "Gwall wrth rannu", "Error while unsharing" : "Gwall wrth ddad-rannu", "Error while changing permissions" : "Gwall wrth newid caniatâd", "Shared with you and the group {group} by {owner}" : "Rhannwyd â chi a'r grŵp {group} gan {owner}", "Shared with you by {owner}" : "Rhannwyd â chi gan {owner}", + "Share" : "Rhannu", "Password protect" : "Diogelu cyfrinair", "Password" : "Cyfrinair", "Email link to person" : "E-bostio dolen at berson", diff --git a/core/l10n/da.js b/core/l10n/da.js index 8c244641c3..841b61a674 100644 --- a/core/l10n/da.js +++ b/core/l10n/da.js @@ -29,6 +29,20 @@ OC.L10N.register( "Thursday" : "Torsdag", "Friday" : "Fredag", "Saturday" : "Lørdag", + "Sun." : "Søn.", + "Mon." : "Man.", + "Tue." : "Tir.", + "Wed." : "Ons.", + "Thu." : "Tor.", + "Fri." : "Fre.", + "Sat." : "Lør.", + "Su" : "Sø", + "Mo" : "Ma", + "Tu" : "Ti", + "We" : "On", + "Th" : "To", + "Fr" : "Fr", + "Sa" : "Lø", "January" : "Januar", "February" : "Februar", "March" : "Marts", @@ -41,6 +55,18 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "December", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maj", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Indstillinger", "Saving..." : "Gemmer...", "Couldn't send reset email. Please contact your administrator." : "Der opstod et problem under afsending af e-mailen til nulstilling. Kontakt venligst systemadministratoren.", @@ -76,13 +102,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Din data mappe og dine filer er muligvis tilgængelige fra internettet. Filen .htaccess fungerer ikke. Vi anbefaler på det kraftigste, at du konfigurerer din webserver således at datamappen ikke længere er tilgængelig, eller at du flytter datamappen uden for webserverens dokumentrod. ", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Der er ikke konfigureret et hukommelsesmellemlager. For at forbedre din ydelse, skal du konfigurere et mellemlager, hvis den er tilgængelig. Du finder mere information i din dokumentation.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsmæssige årsager. Der fås mere information i vores dokumentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Din version af PHP ({version}) bliver ikke længere understøttet af PHP. Vi opfordrer dig til at opgradere din PHP-version, for at opnå fordelene i ydelse og sikkerhed gennem opdateringerne som fås fra PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Den omvendte konnfiguration af proxyen er ikke korrekt, eller også tilgår du ownCloud fra en proxy som der er tillid til. Hvis ikke tilgår ownCloud fra en proxy som der er tillid til, så er der er et sikkerhedsproblem, hvilket kan tillade at en angriber kan forfalske deres IP-adresse som synlig for ownCloud. Mere information fås i vores dokumentation.", "Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen", "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." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP-hovedet \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For udvidet sikkerhed anbefaler vi at aktivere HSTS, som foreskrevet i vores sikkerhedstips.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores sikkerhedstips.", "Shared" : "Delt", "Shared with {recipients}" : "Delt med {recipients}", - "Share" : "Del", "Error" : "Fejl", "Error while sharing" : "Fejl under deling", "Error while unsharing" : "Fejl under annullering af deling", @@ -91,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Delt med dig af {owner}", "Share with users or groups …" : "Del med brugere eller grupper", "Share with users, groups or remote users …" : "Del med brugere, grupper eller eksterne brugere...", + "Share" : "Del", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Del med andre på ownCloud ved hjælp af syntaxen username@example.com/owncloud", "Share link" : "Del link", "The public link will expire no later than {days} days after it is created" : "Det offentlige link udløber senest {days} dage efter det blev oprettet", @@ -217,7 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "Kontakt venligst din administrator", "An internal error occured." : "Der skete en intern fejl.", "Please try again or contact your administrator." : "Kontakt venligst din administrator.", - "Forgot your password? Reset it!" : "Glemt din adgangskode? Nulstil det!", + "Wrong password. Reset it?" : "Forkert kodeord. Skal det nulstilles?", "remember" : "husk", "Log in" : "Log ind", "Alternative Logins" : "Alternative logins", @@ -230,8 +258,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kontakt venligst din administrator. Hvis du er administrator, konfigurer \"trusted_domain\" indstillingen i config/config.php. Et eksempel kan ses i config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Afhænger af din konfiguration, da du som administrator eventuelt også er i stand til at gøre brug af knappen nedenfor til at tildele tillid til dette domæne.", "Add \"%s\" as trusted domain" : "Tilføj \"%s\" som et troværdigt domæne", - "%s will be updated to version %s." : "%s vil blive opdateret til version %s.", - "The following apps will be disabled:" : "Følgende apps bliver deaktiveret:", + "App update required" : "Opdatering af app påkræves", + "%s will be updated to version %s" : "%s vil blive opdateret til version %s", + "These apps will be updated:" : "Følgende apps vil blive opdateret:", + "These incompatible apps will be disabled:" : "Følgende inkompatible apps vil blive slået fra:", "The theme %s has been disabled." : "Temaet, %s, er blevet deaktiveret.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Sørg venligst for at sikre, at databasen, config-mappen og data-mappen er blevet sikkerhedskopieret inden vi fortsætter.", "Start update" : "Begynd opdatering", diff --git a/core/l10n/da.json b/core/l10n/da.json index 0b79a2731b..6b8286bd8e 100644 --- a/core/l10n/da.json +++ b/core/l10n/da.json @@ -27,6 +27,20 @@ "Thursday" : "Torsdag", "Friday" : "Fredag", "Saturday" : "Lørdag", + "Sun." : "Søn.", + "Mon." : "Man.", + "Tue." : "Tir.", + "Wed." : "Ons.", + "Thu." : "Tor.", + "Fri." : "Fre.", + "Sat." : "Lør.", + "Su" : "Sø", + "Mo" : "Ma", + "Tu" : "Ti", + "We" : "On", + "Th" : "To", + "Fr" : "Fr", + "Sa" : "Lø", "January" : "Januar", "February" : "Februar", "March" : "Marts", @@ -39,6 +53,18 @@ "October" : "Oktober", "November" : "November", "December" : "December", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maj", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Indstillinger", "Saving..." : "Gemmer...", "Couldn't send reset email. Please contact your administrator." : "Der opstod et problem under afsending af e-mailen til nulstilling. Kontakt venligst systemadministratoren.", @@ -74,13 +100,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Din data mappe og dine filer er muligvis tilgængelige fra internettet. Filen .htaccess fungerer ikke. Vi anbefaler på det kraftigste, at du konfigurerer din webserver således at datamappen ikke længere er tilgængelig, eller at du flytter datamappen uden for webserverens dokumentrod. ", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Der er ikke konfigureret et hukommelsesmellemlager. For at forbedre din ydelse, skal du konfigurere et mellemlager, hvis den er tilgængelig. Du finder mere information i din dokumentation.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom kan ikke læses af PHP, hvilket stærkt frarådes af sikkerhedsmæssige årsager. Der fås mere information i vores dokumentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Din version af PHP ({version}) bliver ikke længere understøttet af PHP. Vi opfordrer dig til at opgradere din PHP-version, for at opnå fordelene i ydelse og sikkerhed gennem opdateringerne som fås fra PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Den omvendte konnfiguration af proxyen er ikke korrekt, eller også tilgår du ownCloud fra en proxy som der er tillid til. Hvis ikke tilgår ownCloud fra en proxy som der er tillid til, så er der er et sikkerhedsproblem, hvilket kan tillade at en angriber kan forfalske deres IP-adresse som synlig for ownCloud. Mere information fås i vores dokumentation.", "Error occurred while checking server setup" : "Der opstod fejl under tjek af serveropsætningen", "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." : "HTTP-hovedet \"{header}\" er ikke konfigureret til at være lig med \"{expected}\". Dette er en potentiel sikkerhedsrisiko, og vi anbefaler at du justerer denne indstilling.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP-hovedet \"Strict-Transport-Security\" er ikke konfigureret til mindst \"{seconds}\" sekunder. For udvidet sikkerhed anbefaler vi at aktivere HSTS, som foreskrevet i vores sikkerhedstips.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Du tilgår dette sted gennem HTTP. Vi anbefaler kraftigt at du konfigurerer din server, så der kræves brug af HTTPS i stedet for, som foreskrevet i vores sikkerhedstips.", "Shared" : "Delt", "Shared with {recipients}" : "Delt med {recipients}", - "Share" : "Del", "Error" : "Fejl", "Error while sharing" : "Fejl under deling", "Error while unsharing" : "Fejl under annullering af deling", @@ -89,6 +116,7 @@ "Shared with you by {owner}" : "Delt med dig af {owner}", "Share with users or groups …" : "Del med brugere eller grupper", "Share with users, groups or remote users …" : "Del med brugere, grupper eller eksterne brugere...", + "Share" : "Del", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Del med andre på ownCloud ved hjælp af syntaxen username@example.com/owncloud", "Share link" : "Del link", "The public link will expire no later than {days} days after it is created" : "Det offentlige link udløber senest {days} dage efter det blev oprettet", @@ -215,7 +243,7 @@ "Please contact your administrator." : "Kontakt venligst din administrator", "An internal error occured." : "Der skete en intern fejl.", "Please try again or contact your administrator." : "Kontakt venligst din administrator.", - "Forgot your password? Reset it!" : "Glemt din adgangskode? Nulstil det!", + "Wrong password. Reset it?" : "Forkert kodeord. Skal det nulstilles?", "remember" : "husk", "Log in" : "Log ind", "Alternative Logins" : "Alternative logins", @@ -228,8 +256,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kontakt venligst din administrator. Hvis du er administrator, konfigurer \"trusted_domain\" indstillingen i config/config.php. Et eksempel kan ses i config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Afhænger af din konfiguration, da du som administrator eventuelt også er i stand til at gøre brug af knappen nedenfor til at tildele tillid til dette domæne.", "Add \"%s\" as trusted domain" : "Tilføj \"%s\" som et troværdigt domæne", - "%s will be updated to version %s." : "%s vil blive opdateret til version %s.", - "The following apps will be disabled:" : "Følgende apps bliver deaktiveret:", + "App update required" : "Opdatering af app påkræves", + "%s will be updated to version %s" : "%s vil blive opdateret til version %s", + "These apps will be updated:" : "Følgende apps vil blive opdateret:", + "These incompatible apps will be disabled:" : "Følgende inkompatible apps vil blive slået fra:", "The theme %s has been disabled." : "Temaet, %s, er blevet deaktiveret.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Sørg venligst for at sikre, at databasen, config-mappen og data-mappen er blevet sikkerhedskopieret inden vi fortsætter.", "Start update" : "Begynd opdatering", diff --git a/core/l10n/de.js b/core/l10n/de.js index 6764ac18bd..f8d4f47ee3 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "Reperaturfehler:", "Following incompatible apps have been disabled: %s" : "Die folgenden inkompatiblen Apps sind deaktiviert worden: %s", "Following apps have been disabled: %s" : "Die folgenden Apps sind deaktiviert worden: %s", + "File is too big" : "Datei ist zu groß", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "No image or file provided" : "Es wurde weder ein Bild noch eine Datei zur Verfügung gestellt", "Unknown filetype" : "Unbekannter Dateityp", @@ -28,6 +29,13 @@ OC.L10N.register( "Thursday" : "Donnerstag", "Friday" : "Freitag", "Saturday" : "Samstag", + "Sun." : "So", + "Mon." : "Mo", + "Tue." : "Di", + "Wed." : "Mi", + "Thu." : "Do", + "Fri." : "Fr", + "Sat." : "Sa", "January" : "Januar", "February" : "Februar", "March" : "März", @@ -40,6 +48,18 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "Dezember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mär.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Einstellungen", "Saving..." : "Speichern…", "Couldn't send reset email. Please contact your administrator." : "Die E-Mail zum Zurücksetzen konnte nicht versendet werden. Bitte kontaktiere Deinen Administrator.", @@ -75,13 +95,13 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Du es aus dem Document-Root-Verzeichnis des Webservers herausverschiebst.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer Dokumentation.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ist für PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest Du in unserer Dokumentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Deine PHP Version ({version}) ist nicht länger supported. Wir empfehlen ein Upgrade deiner PHP Version, um die volle Performance und Sicherheit zu gewährleisten.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "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." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „{seconds}“ Sekunden eingestellt. Für umfassende Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren Sicherheitshinweisen erläutert ist.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Du greifst auf diese Site über HTTP zu. Wir raten dringend dazu, Deinen Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in unseren Sicherheitshinweisen beschrieben ist.", "Shared" : "Geteilt", "Shared with {recipients}" : "Geteilt mit {recipients}", - "Share" : "Teilen", "Error" : "Fehler", "Error while sharing" : "Fehler beim Teilen", "Error while unsharing" : "Fehler beim Aufheben der Freigabe", @@ -90,6 +110,7 @@ OC.L10N.register( "Shared with you by {owner}" : "{owner} hat dies mit Dir geteilt", "Share with users or groups …" : "Mit Benutzern oder Gruppen teilen…", "Share with users, groups or remote users …" : "Mit Benutzern, Gruppen oder entfernten Benutzern teilen…", + "Share" : "Teilen", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Mit Benutzern anderer ownClouds unter Verwendung der Syntax benutzername@beispiel.com/owncloud teilen", "Share link" : "Link teilen", "The public link will expire no later than {days} days after it is created" : "Der öffentliche Link wird spätestens {days} Tage nach seiner Erstellung ablaufen", @@ -216,7 +237,7 @@ OC.L10N.register( "Please contact your administrator." : "Bitte kontaktiere Deinen Administrator.", "An internal error occured." : "Es ist ein interner Fehler aufgetreten.", "Please try again or contact your administrator." : "Bitte versuche es noch einmal oder kontaktiere Deinen Administrator.", - "Forgot your password? Reset it!" : "Du hast Dein Passwort vergessen? Setze es zurück!", + "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", "Log in" : "Einloggen", "Alternative Logins" : "Alternative Logins", @@ -229,8 +250,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Bitte kontaktiere Deinen Administrator. Wenn Du Administrator dieser Instanz bist, konfiguriere bitte die „trusted_domain“-Einstellung in config/config.php. Eine Beispielkonfiguration wird unter config/config.sample.php bereitgestellt.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Wenn es Deine Konfiguration zulässt, kannst Du als Administrator gegebenenfalls den Button unten benutzen, um diese Domain als vertrauenswürdig einzustufen.", "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", - "%s will be updated to version %s." : "%s wird auf Version %s aktualisiert.", - "The following apps will be disabled:" : "Die folgenden Apps werden deaktiviert:", "The theme %s has been disabled." : "Das Theme %s wurde deaktiviert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Bitte stelle vor dem Fortsetzen sicher, dass die Datenbank, der Konfigurationsordner und der Datenordner gesichert wurden.", "Start update" : "Aktualisierung starten", diff --git a/core/l10n/de.json b/core/l10n/de.json index ee41ef1810..60a5fb1e28 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -11,6 +11,7 @@ "Repair error: " : "Reperaturfehler:", "Following incompatible apps have been disabled: %s" : "Die folgenden inkompatiblen Apps sind deaktiviert worden: %s", "Following apps have been disabled: %s" : "Die folgenden Apps sind deaktiviert worden: %s", + "File is too big" : "Datei ist zu groß", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "No image or file provided" : "Es wurde weder ein Bild noch eine Datei zur Verfügung gestellt", "Unknown filetype" : "Unbekannter Dateityp", @@ -26,6 +27,13 @@ "Thursday" : "Donnerstag", "Friday" : "Freitag", "Saturday" : "Samstag", + "Sun." : "So", + "Mon." : "Mo", + "Tue." : "Di", + "Wed." : "Mi", + "Thu." : "Do", + "Fri." : "Fr", + "Sat." : "Sa", "January" : "Januar", "February" : "Februar", "March" : "März", @@ -38,6 +46,18 @@ "October" : "Oktober", "November" : "November", "December" : "Dezember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mär.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Einstellungen", "Saving..." : "Speichern…", "Couldn't send reset email. Please contact your administrator." : "Die E-Mail zum Zurücksetzen konnte nicht versendet werden. Bitte kontaktiere Deinen Administrator.", @@ -73,13 +93,13 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Dein Datenverzeichnis und Deine Dateien sind wahrscheinlich vom Internet aus erreichbar. Die .htaccess-Datei funktioniert nicht. Es wird dringend empfohlen, Deinen Webserver dahingehend zu konfigurieren, dass das Datenverzeichnis nicht mehr vom Internet aus erreichbar ist oder dass Du es aus dem Document-Root-Verzeichnis des Webservers herausverschiebst.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer Dokumentation.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ist für PHP nicht lesbar, wovon aus Sicherheitsgründen dringend abgeraten wird. Weitere Informationen hierzu findest Du in unserer Dokumentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Deine PHP Version ({version}) ist nicht länger supported. Wir empfehlen ein Upgrade deiner PHP Version, um die volle Performance und Sicherheit zu gewährleisten.", "Error occurred while checking server setup" : "Fehler beim Überprüfen der Servereinrichtung", "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." : "Der „{header}“-HTTP-Header ist nicht so konfiguriert, dass er „{expected}“ entspricht. Dies ist ein potentielles Sicherheitsrisiko und es wird empfohlen, diese Einstellung zu ändern.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „{seconds}“ Sekunden eingestellt. Für umfassende Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren Sicherheitshinweisen erläutert ist.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Du greifst auf diese Site über HTTP zu. Wir raten dringend dazu, Deinen Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in unseren Sicherheitshinweisen beschrieben ist.", "Shared" : "Geteilt", "Shared with {recipients}" : "Geteilt mit {recipients}", - "Share" : "Teilen", "Error" : "Fehler", "Error while sharing" : "Fehler beim Teilen", "Error while unsharing" : "Fehler beim Aufheben der Freigabe", @@ -88,6 +108,7 @@ "Shared with you by {owner}" : "{owner} hat dies mit Dir geteilt", "Share with users or groups …" : "Mit Benutzern oder Gruppen teilen…", "Share with users, groups or remote users …" : "Mit Benutzern, Gruppen oder entfernten Benutzern teilen…", + "Share" : "Teilen", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Mit Benutzern anderer ownClouds unter Verwendung der Syntax benutzername@beispiel.com/owncloud teilen", "Share link" : "Link teilen", "The public link will expire no later than {days} days after it is created" : "Der öffentliche Link wird spätestens {days} Tage nach seiner Erstellung ablaufen", @@ -214,7 +235,7 @@ "Please contact your administrator." : "Bitte kontaktiere Deinen Administrator.", "An internal error occured." : "Es ist ein interner Fehler aufgetreten.", "Please try again or contact your administrator." : "Bitte versuche es noch einmal oder kontaktiere Deinen Administrator.", - "Forgot your password? Reset it!" : "Du hast Dein Passwort vergessen? Setze es zurück!", + "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", "Log in" : "Einloggen", "Alternative Logins" : "Alternative Logins", @@ -227,8 +248,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Bitte kontaktiere Deinen Administrator. Wenn Du Administrator dieser Instanz bist, konfiguriere bitte die „trusted_domain“-Einstellung in config/config.php. Eine Beispielkonfiguration wird unter config/config.sample.php bereitgestellt.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Wenn es Deine Konfiguration zulässt, kannst Du als Administrator gegebenenfalls den Button unten benutzen, um diese Domain als vertrauenswürdig einzustufen.", "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", - "%s will be updated to version %s." : "%s wird auf Version %s aktualisiert.", - "The following apps will be disabled:" : "Die folgenden Apps werden deaktiviert:", "The theme %s has been disabled." : "Das Theme %s wurde deaktiviert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Bitte stelle vor dem Fortsetzen sicher, dass die Datenbank, der Konfigurationsordner und der Datenordner gesichert wurden.", "Start update" : "Aktualisierung starten", diff --git a/core/l10n/de_AT.js b/core/l10n/de_AT.js index 7fafeb4020..716851f53b 100644 --- a/core/l10n/de_AT.js +++ b/core/l10n/de_AT.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "Donnerstag", "Friday" : "Freitag", "Saturday" : "Samstag", + "Sun." : "So", + "Mon." : "Mo", + "Tue." : "Di", + "Wed." : "Mi", + "Thu." : "Do", + "Fri." : "Fr", + "Sat." : "Sa", "January" : "Januar", "February" : "Februar", "March" : "März", @@ -20,13 +27,25 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "Dezember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mär.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Einstellungen", "No" : "Nein", "Yes" : "Ja", "Cancel" : "Abbrechen", "Continue" : "Weiter", - "Share" : "Freigeben", "Error" : "Fehler", + "Share" : "Freigeben", "Share link" : "Link teilen", "Password" : "Passwort", "Send" : "Senden", diff --git a/core/l10n/de_AT.json b/core/l10n/de_AT.json index 56557d96d9..a0798f9a82 100644 --- a/core/l10n/de_AT.json +++ b/core/l10n/de_AT.json @@ -6,6 +6,13 @@ "Thursday" : "Donnerstag", "Friday" : "Freitag", "Saturday" : "Samstag", + "Sun." : "So", + "Mon." : "Mo", + "Tue." : "Di", + "Wed." : "Mi", + "Thu." : "Do", + "Fri." : "Fr", + "Sat." : "Sa", "January" : "Januar", "February" : "Februar", "March" : "März", @@ -18,13 +25,25 @@ "October" : "Oktober", "November" : "November", "December" : "Dezember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mär.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Einstellungen", "No" : "Nein", "Yes" : "Ja", "Cancel" : "Abbrechen", "Continue" : "Weiter", - "Share" : "Freigeben", "Error" : "Fehler", + "Share" : "Freigeben", "Share link" : "Link teilen", "Password" : "Passwort", "Send" : "Senden", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 82026f4fab..0feca899f9 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "Reperaturfehler:", "Following incompatible apps have been disabled: %s" : "Die folgenden inkompatiblen Apps sind deaktiviert worden: %s", "Following apps have been disabled: %s" : "Die folgenden Apps sind deaktiviert worden: %s", + "File is too big" : "Datei ist zu groß", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "No image or file provided" : "Es wurde weder ein Bild noch eine Datei zur Verfügung gestellt", "Unknown filetype" : "Unbekannter Dateityp", @@ -28,6 +29,13 @@ OC.L10N.register( "Thursday" : "Donnerstag", "Friday" : "Freitag", "Saturday" : "Samstag", + "Sun." : "So", + "Mon." : "Mo", + "Tue." : "Di", + "Wed." : "Mi", + "Thu." : "Do", + "Fri." : "Fr", + "Sat." : "Sa", "January" : "Januar", "February" : "Februar", "March" : "März", @@ -40,6 +48,18 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "Dezember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mär.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Einstellungen", "Saving..." : "Speichervorgang…", "Couldn't send reset email. Please contact your administrator." : "Die E-Mail zum Zurücksetzen konnte nicht versendet werden. Bitte kontaktieren Sie Ihren Administrator.", @@ -81,7 +101,6 @@ OC.L10N.register( "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Sie greifen auf diese Site über HTTP zu. Wir raten dringend dazu, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in unseren Sicherheitshinweisen beschrieben ist.", "Shared" : "Geteilt", "Shared with {recipients}" : "Geteilt mit {recipients}", - "Share" : "Teilen", "Error" : "Fehler", "Error while sharing" : "Fehler beim Teilen", "Error while unsharing" : "Fehler beim Aufheben der Freigabe", @@ -90,6 +109,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Von {owner} mit Ihnen geteilt.", "Share with users or groups …" : "Mit Benutzern oder Gruppen teilen…", "Share with users, groups or remote users …" : "Mit Benutzern, Gruppen oder entfernten Benutzern teilen…", + "Share" : "Teilen", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Mit Benutzern anderer ownClouds unter Verwendung der Syntax benutzername@beispiel.com/owncloud teilen", "Share link" : "Link teilen", "The public link will expire no later than {days} days after it is created" : "Der öffentliche Link wird spätestens {days} Tage nach seiner Erstellung ablaufen", @@ -216,7 +236,7 @@ OC.L10N.register( "Please contact your administrator." : "Bitte kontaktieren Sie Ihren Administrator.", "An internal error occured." : "Es ist ein interner Fehler aufgetreten.", "Please try again or contact your administrator." : "Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.", - "Forgot your password? Reset it!" : "Sie haben Ihr Passwort vergessen? Setzen Sie es zurück!", + "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", "Log in" : "Einloggen", "Alternative Logins" : "Alternative Logins", @@ -229,8 +249,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Bitte kontaktieren Sie Ihren Administrator. Wenn Sie Administrator dieser Instanz sind, konfigurieren Sie bitte die „trusted_domain“-Einstellung in config/config.php. Eine Beispielkonfiguration wird unter config/config.sample.php bereitgestellt.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Wenn es Ihre Konfiguration zulässt, können Sie als Administrator gegebenenfalls den Button unten benutzen, um diese Domain als vertrauenswürdig einzustufen.", "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", - "%s will be updated to version %s." : "%s wird auf Version %s aktualisiert.", - "The following apps will be disabled:" : "Die folgenden Apps werden deaktiviert:", "The theme %s has been disabled." : "Das Thema %s wurde deaktiviert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Stellen Sie vor dem Fortsetzen bitte sicher, dass die Datenbank, der Konfigurationsordner und der Datenordner gesichert wurden.", "Start update" : "Aktualisierung starten", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 7b15799a10..8335946392 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -11,6 +11,7 @@ "Repair error: " : "Reperaturfehler:", "Following incompatible apps have been disabled: %s" : "Die folgenden inkompatiblen Apps sind deaktiviert worden: %s", "Following apps have been disabled: %s" : "Die folgenden Apps sind deaktiviert worden: %s", + "File is too big" : "Datei ist zu groß", "Invalid file provided" : "Ungültige Datei zur Verfügung gestellt", "No image or file provided" : "Es wurde weder ein Bild noch eine Datei zur Verfügung gestellt", "Unknown filetype" : "Unbekannter Dateityp", @@ -26,6 +27,13 @@ "Thursday" : "Donnerstag", "Friday" : "Freitag", "Saturday" : "Samstag", + "Sun." : "So", + "Mon." : "Mo", + "Tue." : "Di", + "Wed." : "Mi", + "Thu." : "Do", + "Fri." : "Fr", + "Sat." : "Sa", "January" : "Januar", "February" : "Februar", "March" : "März", @@ -38,6 +46,18 @@ "October" : "Oktober", "November" : "November", "December" : "Dezember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mär.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Einstellungen", "Saving..." : "Speichervorgang…", "Couldn't send reset email. Please contact your administrator." : "Die E-Mail zum Zurücksetzen konnte nicht versendet werden. Bitte kontaktieren Sie Ihren Administrator.", @@ -79,7 +99,6 @@ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Sie greifen auf diese Site über HTTP zu. Wir raten dringend dazu, Ihren Server so zu konfigurieren, dass er stattdessen nur HTTPS akzeptiert, wie es in unseren Sicherheitshinweisen beschrieben ist.", "Shared" : "Geteilt", "Shared with {recipients}" : "Geteilt mit {recipients}", - "Share" : "Teilen", "Error" : "Fehler", "Error while sharing" : "Fehler beim Teilen", "Error while unsharing" : "Fehler beim Aufheben der Freigabe", @@ -88,6 +107,7 @@ "Shared with you by {owner}" : "Von {owner} mit Ihnen geteilt.", "Share with users or groups …" : "Mit Benutzern oder Gruppen teilen…", "Share with users, groups or remote users …" : "Mit Benutzern, Gruppen oder entfernten Benutzern teilen…", + "Share" : "Teilen", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Mit Benutzern anderer ownClouds unter Verwendung der Syntax benutzername@beispiel.com/owncloud teilen", "Share link" : "Link teilen", "The public link will expire no later than {days} days after it is created" : "Der öffentliche Link wird spätestens {days} Tage nach seiner Erstellung ablaufen", @@ -214,7 +234,7 @@ "Please contact your administrator." : "Bitte kontaktieren Sie Ihren Administrator.", "An internal error occured." : "Es ist ein interner Fehler aufgetreten.", "Please try again or contact your administrator." : "Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.", - "Forgot your password? Reset it!" : "Sie haben Ihr Passwort vergessen? Setzen Sie es zurück!", + "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", "Log in" : "Einloggen", "Alternative Logins" : "Alternative Logins", @@ -227,8 +247,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Bitte kontaktieren Sie Ihren Administrator. Wenn Sie Administrator dieser Instanz sind, konfigurieren Sie bitte die „trusted_domain“-Einstellung in config/config.php. Eine Beispielkonfiguration wird unter config/config.sample.php bereitgestellt.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Wenn es Ihre Konfiguration zulässt, können Sie als Administrator gegebenenfalls den Button unten benutzen, um diese Domain als vertrauenswürdig einzustufen.", "Add \"%s\" as trusted domain" : "„%s“ als vertrauenswürdige Domain hinzufügen", - "%s will be updated to version %s." : "%s wird auf Version %s aktualisiert.", - "The following apps will be disabled:" : "Die folgenden Apps werden deaktiviert:", "The theme %s has been disabled." : "Das Thema %s wurde deaktiviert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Stellen Sie vor dem Fortsetzen bitte sicher, dass die Datenbank, der Konfigurationsordner und der Datenordner gesichert wurden.", "Start update" : "Aktualisierung starten", diff --git a/core/l10n/el.js b/core/l10n/el.js index ad5a1310e6..0eb6298130 100644 --- a/core/l10n/el.js +++ b/core/l10n/el.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "Σφάλμα διόρθωσης:", "Following incompatible apps have been disabled: %s" : "Οι παρακάτω εφαρμογές έχουν απενεργοποιηθεί: %s", "Following apps have been disabled: %s" : "Οι ακόλουθες εφαρμογές έχουν απενεργοποιηθεί: %s", + "File is too big" : "Το αρχείο είναι πολύ μεγάλο", "Invalid file provided" : "Έχει δοθεί μη έγκυρο αρχείο", "No image or file provided" : "Δεν δόθηκε εικόνα ή αρχείο", "Unknown filetype" : "Άγνωστος τύπος αρχείου", @@ -28,6 +29,20 @@ OC.L10N.register( "Thursday" : "Πέμπτη", "Friday" : "Παρασκευή", "Saturday" : "Σάββατο", + "Sun." : "Κυρ.", + "Mon." : "Δευ.", + "Tue." : "Τρί.", + "Wed." : "Τετ.", + "Thu." : "Πέμ.", + "Fri." : "Παρ.", + "Sat." : "Σαβ.", + "Su" : "Κυ", + "Mo" : "Δε", + "Tu" : "Τρ", + "We" : "Τε", + "Th" : "Πε", + "Fr" : "Πα", + "Sa" : "Σα", "January" : "Ιανουάριος", "February" : "Φεβρουάριος", "March" : "Μάρτιος", @@ -40,6 +55,18 @@ OC.L10N.register( "October" : "Οκτώβριος", "November" : "Νοέμβριος", "December" : "Δεκέμβριος", + "Jan." : "Ιαν.", + "Feb." : "Φεβ.", + "Mar." : "Μαρ.", + "Apr." : "Απρ.", + "May." : "Μαι.", + "Jun." : "Ιουν.", + "Jul." : "Ιουλ.", + "Aug." : "Αυγ.", + "Sep." : "Σεπ.", + "Oct." : "Οκτ.", + "Nov." : "Νοε.", + "Dec." : "Δεκ.", "Settings" : "Ρυθμίσεις", "Saving..." : "Γίνεται αποθήκευση...", "Couldn't send reset email. Please contact your administrator." : "Αδυναμία αποστολής ηλ. μηνύματος επαναφοράς. Παρακαλώ επικοινωνήστε με το διαχειριστή σας.", @@ -75,13 +102,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 δεν λειτουργεί. Σας προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος δεδομένων να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο δεδομένων εκτός του καταλόγου της ρίζας εγγράφων-document root του διακομιστή.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Δεν έχει οριστεί προσωρινή μνήμη. Για να βελτιώσετε την απόδοσή σας παρακαλούμε να διαμορφώσετε ένα χώρο προσωρινής αποθήκευσης εάν υπάρχει διαθέσιμος. Περαιτέρω πληροφορίες μπορείτε να βρείτε στην τεκμηρίωση.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "Το /dev/urandom δεν είναι αναγνώσιμο από την PHP, το οποίο δεν συνίσταται για λόγους ασφαλείας. Περισσότερες πληροφορίες υπάρχουν στην τεκμηρίωσή μας.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Η έκδοσή σας της PHP ({version}) δεν υποστηρίζεται πια από την PHP. Σας παροτρύνουμε να αναβαθμίσετε την PHP για να επωφεληθείτε από την απόδοση και την ασφάλεια που παρέχει η PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Η διαμόρφωση των reverse proxy headers δεν είναι σωστή ή συνδέεστε στο ownCloud από ένα έμπιστο διαμεσολαβητή. Αν δεν συνδέεστε στο ownCloud από έμπιστο διαμεσολαβητή, αυτό είναι ένα θέμα ασφαλείας και μπορεί να επιτρέψει σε έναν επιτιθέμενο να μασκαρέψει τη διεύθυνση IP του ως ορατή στο ownCloud. Περισσότερες πληροφορίες υπάρχουν στην τεκμηρίωση.", "Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο της εγκατάστασης με το διακομιστή", "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." : "H \"{header}\" κεφαλίδα HTTP δεν έχει ρυθμιστεί ώστε να ισούται με \"{expected}\". Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας ή ιδιωτικότητας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Η «Strict-Transport-Security\" κεφαλίδα HTTP δεν έχει ρυθμιστεί για τουλάχιστον \"{seconds}\" δευτερόλεπτα. Για αυξημένη ασφάλεια συστήνουμε την ενεργοποίηση του HSTS όπως περιγράφεται στις προτάσεις ασφαλείας μας.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Έχετε πρόσβαση σε αυτό τον ιστότοπο μέσω HTTP. Προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας ώστε να απαιτεί τη χρήση HTTPS όπως περιγράφεται στις προτάσεις ασφαλείας μας.", "Shared" : "Κοινόχρηστα", "Shared with {recipients}" : "Διαμοιράστηκε με {recipients}", - "Share" : "Διαμοιρασμός", "Error" : "Σφάλμα", "Error while sharing" : "Σφάλμα κατά τον διαμοιρασμό", "Error while unsharing" : "Σφάλμα κατά το σταμάτημα του διαμοιρασμού", @@ -90,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Διαμοιράστηκε με σας από τον {owner}", "Share with users or groups …" : "Διαμοιρασμός με χρήστες ή ομάδες ...", "Share with users, groups or remote users …" : "Διαμοιρασμός με χρήστες, ομάδες ή απομακρυσμένους χρήστες ...", + "Share" : "Διαμοιρασμός", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Διαμοιρασμός με άτομα σε άλλα ownClouds χρησιμοποιώντας την σύνταξη username@example.com/owncloud", "Share link" : "Διαμοιρασμός συνδέσμου", "The public link will expire no later than {days} days after it is created" : "Ο δημόσιος σύνδεσμος θα απενεργοποιηθεί το πολύ {days} ημέρες μετά την δημιουργία του", @@ -143,6 +172,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "Η ενημέρωση ήταν επιτυχής. Υπήρχαν προειδοποιήσεις.", "The update was successful. Redirecting you to ownCloud now." : "Η ενημέρωση ήταν επιτυχής. Μετάβαση στο ownCloud.", "Couldn't reset password because the token is invalid" : "Αδυναμία επαναφοράς κωδικού πρόσβασης καθώς το τεκμήριο είναι άκυρο", + "Couldn't reset password because the token is expired" : "Αδυναμία επαναφοράς κωδικού πρόσβασης επειδή το token έχει λήξει", "Couldn't send reset email. Please make sure your username is correct." : "Αδυναμία αποστολής ηλ. μηνύματος επαναφοράς. Παρακαλώ ελέγξτε ότι το όνομα χρήστη σας είναι ορθό.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Αδυναμία αποστολής ηλ. μηνύματος επαναφοράς καθώς δεν αντιστοιχεί καμμία διεύθυνση ηλ. ταχυδρομείου σε αυτό το όνομα χρήστη. Παρακαλώ επικοινωνήστε με το διαχειριστή σας.", "%s password reset" : "%s επαναφορά κωδικού πρόσβασης", @@ -216,7 +246,7 @@ OC.L10N.register( "Please contact your administrator." : "Παρακαλώ επικοινωνήστε με τον διαχειριστή.", "An internal error occured." : "Παρουσιάστηκε εσωτερικό σφάλμα.", "Please try again or contact your administrator." : "Παρακαλώ δοκιμάστε ξανά ή επικοινωνήστε με τον διαχειριστή σας.", - "Forgot your password? Reset it!" : "Ξεχάσατε τον κωδικό πρόσβασής σας; Επαναφέρετέ τον!", + "Wrong password. Reset it?" : "Λάθος Κωδικός. Επαναφορά;", "remember" : "απομνημόνευση", "Log in" : "Είσοδος", "Alternative Logins" : "Εναλλακτικές Συνδέσεις", @@ -229,8 +259,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Παρακαλώ επικοινωνήστε με τον διαχειριστή συστημάτων σας. Αν είστε διαχειριστής αυτού του στιγμιοτύπο, ρυθμίστε το κλειδί \"trusted_domain\" στο αρχείο config/config.php. Ένα παράδειγμα παρέχεται στο αρχείο config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Ανάλογα με τις ρυθμίσεις σας, σαν διαχειριστής θα μπορούσατε επίσης να χρησιμοποιήσετε το παρακάτω κουμπί για να εμπιστευθείτε αυτή την περιοχή.", "Add \"%s\" as trusted domain" : "Προσθήκη \"%s\" ως αξιόπιστη περιοχή", - "%s will be updated to version %s." : "Το %s θα ενημερωθεί στην έκδοση %s.", - "The following apps will be disabled:" : "Οι παρακάτω εφαρμογές θα απενεργοποιηθούν:", + "App update required" : "Απαιτείται ενημέρωση εφαρμογής", + "%s will be updated to version %s" : "%s θα αναβαθμιστεί σε έκδοση %s", + "These apps will be updated:" : "Αυτές οι εφαρμογές θα αναβαθμιστούν:", + "These incompatible apps will be disabled:" : "Αυτές οι μη συμβατές εφαρμογές θα απενεργοποιηθούν:", "The theme %s has been disabled." : "Το θέμα %s έχει απενεργοποιηθεί.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Παρακαλώ βεβαιωθείτε ότι έχουν ληψθεί αντίγραφα ασφαλείας της βάσης δεδομένων, του φακέλου ρυθμίσεων και του φακέλου δεδομένων πριν προχωρήσετε.", "Start update" : "Έναρξη ενημέρωσης", diff --git a/core/l10n/el.json b/core/l10n/el.json index e604d813f2..507da1690e 100644 --- a/core/l10n/el.json +++ b/core/l10n/el.json @@ -11,6 +11,7 @@ "Repair error: " : "Σφάλμα διόρθωσης:", "Following incompatible apps have been disabled: %s" : "Οι παρακάτω εφαρμογές έχουν απενεργοποιηθεί: %s", "Following apps have been disabled: %s" : "Οι ακόλουθες εφαρμογές έχουν απενεργοποιηθεί: %s", + "File is too big" : "Το αρχείο είναι πολύ μεγάλο", "Invalid file provided" : "Έχει δοθεί μη έγκυρο αρχείο", "No image or file provided" : "Δεν δόθηκε εικόνα ή αρχείο", "Unknown filetype" : "Άγνωστος τύπος αρχείου", @@ -26,6 +27,20 @@ "Thursday" : "Πέμπτη", "Friday" : "Παρασκευή", "Saturday" : "Σάββατο", + "Sun." : "Κυρ.", + "Mon." : "Δευ.", + "Tue." : "Τρί.", + "Wed." : "Τετ.", + "Thu." : "Πέμ.", + "Fri." : "Παρ.", + "Sat." : "Σαβ.", + "Su" : "Κυ", + "Mo" : "Δε", + "Tu" : "Τρ", + "We" : "Τε", + "Th" : "Πε", + "Fr" : "Πα", + "Sa" : "Σα", "January" : "Ιανουάριος", "February" : "Φεβρουάριος", "March" : "Μάρτιος", @@ -38,6 +53,18 @@ "October" : "Οκτώβριος", "November" : "Νοέμβριος", "December" : "Δεκέμβριος", + "Jan." : "Ιαν.", + "Feb." : "Φεβ.", + "Mar." : "Μαρ.", + "Apr." : "Απρ.", + "May." : "Μαι.", + "Jun." : "Ιουν.", + "Jul." : "Ιουλ.", + "Aug." : "Αυγ.", + "Sep." : "Σεπ.", + "Oct." : "Οκτ.", + "Nov." : "Νοε.", + "Dec." : "Δεκ.", "Settings" : "Ρυθμίσεις", "Saving..." : "Γίνεται αποθήκευση...", "Couldn't send reset email. Please contact your administrator." : "Αδυναμία αποστολής ηλ. μηνύματος επαναφοράς. Παρακαλώ επικοινωνήστε με το διαχειριστή σας.", @@ -73,13 +100,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 δεν λειτουργεί. Σας προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας με τέτοιο τρόπο ώστε ο κατάλογος δεδομένων να μην είναι πλέον προσβάσιμος ή να μετακινήσετε τον κατάλογο δεδομένων εκτός του καταλόγου της ρίζας εγγράφων-document root του διακομιστή.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Δεν έχει οριστεί προσωρινή μνήμη. Για να βελτιώσετε την απόδοσή σας παρακαλούμε να διαμορφώσετε ένα χώρο προσωρινής αποθήκευσης εάν υπάρχει διαθέσιμος. Περαιτέρω πληροφορίες μπορείτε να βρείτε στην τεκμηρίωση.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "Το /dev/urandom δεν είναι αναγνώσιμο από την PHP, το οποίο δεν συνίσταται για λόγους ασφαλείας. Περισσότερες πληροφορίες υπάρχουν στην τεκμηρίωσή μας.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Η έκδοσή σας της PHP ({version}) δεν υποστηρίζεται πια από την PHP. Σας παροτρύνουμε να αναβαθμίσετε την PHP για να επωφεληθείτε από την απόδοση και την ασφάλεια που παρέχει η PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Η διαμόρφωση των reverse proxy headers δεν είναι σωστή ή συνδέεστε στο ownCloud από ένα έμπιστο διαμεσολαβητή. Αν δεν συνδέεστε στο ownCloud από έμπιστο διαμεσολαβητή, αυτό είναι ένα θέμα ασφαλείας και μπορεί να επιτρέψει σε έναν επιτιθέμενο να μασκαρέψει τη διεύθυνση IP του ως ορατή στο ownCloud. Περισσότερες πληροφορίες υπάρχουν στην τεκμηρίωση.", "Error occurred while checking server setup" : "Παρουσιάστηκε σφάλμα κατά τον έλεγχο της εγκατάστασης με το διακομιστή", "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." : "H \"{header}\" κεφαλίδα HTTP δεν έχει ρυθμιστεί ώστε να ισούται με \"{expected}\". Αυτό αποτελεί ενδεχόμενο κίνδυνο ασφάλειας ή ιδιωτικότητας και συστήνουμε τη διόρθωση αυτής της ρύθμισης.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Η «Strict-Transport-Security\" κεφαλίδα HTTP δεν έχει ρυθμιστεί για τουλάχιστον \"{seconds}\" δευτερόλεπτα. Για αυξημένη ασφάλεια συστήνουμε την ενεργοποίηση του HSTS όπως περιγράφεται στις προτάσεις ασφαλείας μας.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Έχετε πρόσβαση σε αυτό τον ιστότοπο μέσω HTTP. Προτείνουμε ανεπιφύλακτα να ρυθμίσετε το διακομιστή σας ώστε να απαιτεί τη χρήση HTTPS όπως περιγράφεται στις προτάσεις ασφαλείας μας.", "Shared" : "Κοινόχρηστα", "Shared with {recipients}" : "Διαμοιράστηκε με {recipients}", - "Share" : "Διαμοιρασμός", "Error" : "Σφάλμα", "Error while sharing" : "Σφάλμα κατά τον διαμοιρασμό", "Error while unsharing" : "Σφάλμα κατά το σταμάτημα του διαμοιρασμού", @@ -88,6 +116,7 @@ "Shared with you by {owner}" : "Διαμοιράστηκε με σας από τον {owner}", "Share with users or groups …" : "Διαμοιρασμός με χρήστες ή ομάδες ...", "Share with users, groups or remote users …" : "Διαμοιρασμός με χρήστες, ομάδες ή απομακρυσμένους χρήστες ...", + "Share" : "Διαμοιρασμός", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Διαμοιρασμός με άτομα σε άλλα ownClouds χρησιμοποιώντας την σύνταξη username@example.com/owncloud", "Share link" : "Διαμοιρασμός συνδέσμου", "The public link will expire no later than {days} days after it is created" : "Ο δημόσιος σύνδεσμος θα απενεργοποιηθεί το πολύ {days} ημέρες μετά την δημιουργία του", @@ -141,6 +170,7 @@ "The update was successful. There were warnings." : "Η ενημέρωση ήταν επιτυχής. Υπήρχαν προειδοποιήσεις.", "The update was successful. Redirecting you to ownCloud now." : "Η ενημέρωση ήταν επιτυχής. Μετάβαση στο ownCloud.", "Couldn't reset password because the token is invalid" : "Αδυναμία επαναφοράς κωδικού πρόσβασης καθώς το τεκμήριο είναι άκυρο", + "Couldn't reset password because the token is expired" : "Αδυναμία επαναφοράς κωδικού πρόσβασης επειδή το token έχει λήξει", "Couldn't send reset email. Please make sure your username is correct." : "Αδυναμία αποστολής ηλ. μηνύματος επαναφοράς. Παρακαλώ ελέγξτε ότι το όνομα χρήστη σας είναι ορθό.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Αδυναμία αποστολής ηλ. μηνύματος επαναφοράς καθώς δεν αντιστοιχεί καμμία διεύθυνση ηλ. ταχυδρομείου σε αυτό το όνομα χρήστη. Παρακαλώ επικοινωνήστε με το διαχειριστή σας.", "%s password reset" : "%s επαναφορά κωδικού πρόσβασης", @@ -214,7 +244,7 @@ "Please contact your administrator." : "Παρακαλώ επικοινωνήστε με τον διαχειριστή.", "An internal error occured." : "Παρουσιάστηκε εσωτερικό σφάλμα.", "Please try again or contact your administrator." : "Παρακαλώ δοκιμάστε ξανά ή επικοινωνήστε με τον διαχειριστή σας.", - "Forgot your password? Reset it!" : "Ξεχάσατε τον κωδικό πρόσβασής σας; Επαναφέρετέ τον!", + "Wrong password. Reset it?" : "Λάθος Κωδικός. Επαναφορά;", "remember" : "απομνημόνευση", "Log in" : "Είσοδος", "Alternative Logins" : "Εναλλακτικές Συνδέσεις", @@ -227,8 +257,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Παρακαλώ επικοινωνήστε με τον διαχειριστή συστημάτων σας. Αν είστε διαχειριστής αυτού του στιγμιοτύπο, ρυθμίστε το κλειδί \"trusted_domain\" στο αρχείο config/config.php. Ένα παράδειγμα παρέχεται στο αρχείο config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Ανάλογα με τις ρυθμίσεις σας, σαν διαχειριστής θα μπορούσατε επίσης να χρησιμοποιήσετε το παρακάτω κουμπί για να εμπιστευθείτε αυτή την περιοχή.", "Add \"%s\" as trusted domain" : "Προσθήκη \"%s\" ως αξιόπιστη περιοχή", - "%s will be updated to version %s." : "Το %s θα ενημερωθεί στην έκδοση %s.", - "The following apps will be disabled:" : "Οι παρακάτω εφαρμογές θα απενεργοποιηθούν:", + "App update required" : "Απαιτείται ενημέρωση εφαρμογής", + "%s will be updated to version %s" : "%s θα αναβαθμιστεί σε έκδοση %s", + "These apps will be updated:" : "Αυτές οι εφαρμογές θα αναβαθμιστούν:", + "These incompatible apps will be disabled:" : "Αυτές οι μη συμβατές εφαρμογές θα απενεργοποιηθούν:", "The theme %s has been disabled." : "Το θέμα %s έχει απενεργοποιηθεί.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Παρακαλώ βεβαιωθείτε ότι έχουν ληψθεί αντίγραφα ασφαλείας της βάσης δεδομένων, του φακέλου ρυθμίσεων και του φακέλου δεδομένων πριν προχωρήσετε.", "Start update" : "Έναρξη ενημέρωσης", diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js index 4eb6b35426..7730ff8a53 100644 --- a/core/l10n/en_GB.js +++ b/core/l10n/en_GB.js @@ -26,6 +26,13 @@ OC.L10N.register( "Thursday" : "Thursday", "Friday" : "Friday", "Saturday" : "Saturday", + "Sun." : "Sun.", + "Mon." : "Mon.", + "Tue." : "Tue.", + "Wed." : "Wed.", + "Thu." : "Thu.", + "Fri." : "Fri.", + "Sat." : "Sat.", "January" : "January", "February" : "February", "March" : "March", @@ -38,6 +45,18 @@ OC.L10N.register( "October" : "October", "November" : "November", "December" : "December", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "May.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Settings", "Saving..." : "Saving...", "Couldn't send reset email. Please contact your administrator." : "Couldn't send reset email. Please contact your administrator.", @@ -77,7 +96,6 @@ OC.L10N.register( "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." : "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.", "Shared" : "Shared", "Shared with {recipients}" : "Shared with {recipients}", - "Share" : "Share", "Error" : "Error", "Error while sharing" : "Error whilst sharing", "Error while unsharing" : "Error whilst unsharing", @@ -86,6 +104,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Shared with you by {owner}", "Share with users or groups …" : "Share with users or groups …", "Share with users, groups or remote users …" : "Share with users, groups or remote users …", + "Share" : "Share", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Share with people on other ownClouds using the syntax username@example.com/owncloud", "Share link" : "Share link", "The public link will expire no later than {days} days after it is created" : "The public link will expire no later than {days} days after it is created", @@ -211,7 +230,6 @@ OC.L10N.register( "Please contact your administrator." : "Please contact your administrator.", "An internal error occured." : "An internal error occured.", "Please try again or contact your administrator." : "Please try again or contact your administrator.", - "Forgot your password? Reset it!" : "Forgot your password? Reset it!", "remember" : "remember", "Log in" : "Log in", "Alternative Logins" : "Alternative Logins", @@ -224,8 +242,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain.", "Add \"%s\" as trusted domain" : "Add \"%s\" as a trusted domain", - "%s will be updated to version %s." : "%s will be updated to version %s.", - "The following apps will be disabled:" : "The following apps will be disabled:", "The theme %s has been disabled." : "The theme %s has been disabled.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Please make sure that the database, the config folder and the data folder have been backed up before proceeding.", "Start update" : "Start update", diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json index e05bd7c73f..a2bd71be34 100644 --- a/core/l10n/en_GB.json +++ b/core/l10n/en_GB.json @@ -24,6 +24,13 @@ "Thursday" : "Thursday", "Friday" : "Friday", "Saturday" : "Saturday", + "Sun." : "Sun.", + "Mon." : "Mon.", + "Tue." : "Tue.", + "Wed." : "Wed.", + "Thu." : "Thu.", + "Fri." : "Fri.", + "Sat." : "Sat.", "January" : "January", "February" : "February", "March" : "March", @@ -36,6 +43,18 @@ "October" : "October", "November" : "November", "December" : "December", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "May.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Settings", "Saving..." : "Saving...", "Couldn't send reset email. Please contact your administrator." : "Couldn't send reset email. Please contact your administrator.", @@ -75,7 +94,6 @@ "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." : "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.", "Shared" : "Shared", "Shared with {recipients}" : "Shared with {recipients}", - "Share" : "Share", "Error" : "Error", "Error while sharing" : "Error whilst sharing", "Error while unsharing" : "Error whilst unsharing", @@ -84,6 +102,7 @@ "Shared with you by {owner}" : "Shared with you by {owner}", "Share with users or groups …" : "Share with users or groups …", "Share with users, groups or remote users …" : "Share with users, groups or remote users …", + "Share" : "Share", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Share with people on other ownClouds using the syntax username@example.com/owncloud", "Share link" : "Share link", "The public link will expire no later than {days} days after it is created" : "The public link will expire no later than {days} days after it is created", @@ -209,7 +228,6 @@ "Please contact your administrator." : "Please contact your administrator.", "An internal error occured." : "An internal error occured.", "Please try again or contact your administrator." : "Please try again or contact your administrator.", - "Forgot your password? Reset it!" : "Forgot your password? Reset it!", "remember" : "remember", "Log in" : "Log in", "Alternative Logins" : "Alternative Logins", @@ -222,8 +240,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain.", "Add \"%s\" as trusted domain" : "Add \"%s\" as a trusted domain", - "%s will be updated to version %s." : "%s will be updated to version %s.", - "The following apps will be disabled:" : "The following apps will be disabled:", "The theme %s has been disabled." : "The theme %s has been disabled.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Please make sure that the database, the config folder and the data folder have been backed up before proceeding.", "Start update" : "Start update", diff --git a/core/l10n/eo.js b/core/l10n/eo.js index 1b80409126..0b32ad7339 100644 --- a/core/l10n/eo.js +++ b/core/l10n/eo.js @@ -11,6 +11,13 @@ OC.L10N.register( "Thursday" : "ĵaŭdo", "Friday" : "vendredo", "Saturday" : "sabato", + "Sun." : "dim.", + "Mon." : "lun.", + "Tue." : "mar.", + "Wed." : "mer.", + "Thu." : "ĵaŭ.", + "Fri." : "ven.", + "Sat." : "sab.", "January" : "Januaro", "February" : "Februaro", "March" : "Marto", @@ -23,6 +30,18 @@ OC.L10N.register( "October" : "Oktobro", "November" : "Novembro", "December" : "Decembro", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maj.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aŭg.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Agordo", "Saving..." : "Konservante...", "No" : "Ne", @@ -43,13 +62,13 @@ OC.L10N.register( "Good password" : "Bona pasvorto", "Strong password" : "Forta pasvorto", "Shared" : "Kunhavata", - "Share" : "Kunhavigi", "Error" : "Eraro", "Error while sharing" : "Eraro dum kunhavigo", "Error while unsharing" : "Eraro dum malkunhavigo", "Error while changing permissions" : "Eraro dum ŝanĝo de permesoj", "Shared with you and the group {group} by {owner}" : "Kunhavigita kun vi kaj la grupo {group} de {owner}", "Shared with you by {owner}" : "Kunhavigita kun vi de {owner}", + "Share" : "Kunhavigi", "Share link" : "Konhavigi ligilon", "Password protect" : "Protekti per pasvorto", "Password" : "Pasvorto", diff --git a/core/l10n/eo.json b/core/l10n/eo.json index 8bd13d5cd3..383e50a010 100644 --- a/core/l10n/eo.json +++ b/core/l10n/eo.json @@ -9,6 +9,13 @@ "Thursday" : "ĵaŭdo", "Friday" : "vendredo", "Saturday" : "sabato", + "Sun." : "dim.", + "Mon." : "lun.", + "Tue." : "mar.", + "Wed." : "mer.", + "Thu." : "ĵaŭ.", + "Fri." : "ven.", + "Sat." : "sab.", "January" : "Januaro", "February" : "Februaro", "March" : "Marto", @@ -21,6 +28,18 @@ "October" : "Oktobro", "November" : "Novembro", "December" : "Decembro", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maj.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aŭg.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Agordo", "Saving..." : "Konservante...", "No" : "Ne", @@ -41,13 +60,13 @@ "Good password" : "Bona pasvorto", "Strong password" : "Forta pasvorto", "Shared" : "Kunhavata", - "Share" : "Kunhavigi", "Error" : "Eraro", "Error while sharing" : "Eraro dum kunhavigo", "Error while unsharing" : "Eraro dum malkunhavigo", "Error while changing permissions" : "Eraro dum ŝanĝo de permesoj", "Shared with you and the group {group} by {owner}" : "Kunhavigita kun vi kaj la grupo {group} de {owner}", "Shared with you by {owner}" : "Kunhavigita kun vi de {owner}", + "Share" : "Kunhavigi", "Share link" : "Konhavigi ligilon", "Password protect" : "Protekti per pasvorto", "Password" : "Pasvorto", diff --git a/core/l10n/es.js b/core/l10n/es.js index 982e5383f0..a8933a7a0d 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -29,6 +29,13 @@ OC.L10N.register( "Thursday" : "Jueves", "Friday" : "Viernes", "Saturday" : "Sábado", + "Sun." : "Dom.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mier.", + "Thu." : "Jue.", + "Fri." : "Vie.", + "Sat." : "Sab.", "January" : "Enero", "February" : "Febrero", "March" : "Marzo", @@ -41,6 +48,18 @@ OC.L10N.register( "October" : "Octubre", "November" : "Noviembre", "December" : "Diciembre", + "Jan." : "Ene.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "May.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dic.", "Settings" : "Ajustes", "Saving..." : "Guardando...", "Couldn't send reset email. Please contact your administrator." : "No pudo enviarse el correo para restablecer la contraseña. Por favor, contacte con su administrador.", @@ -82,7 +101,6 @@ OC.L10N.register( "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Esta ingresando a este sitio de internet vía HTTP. Sugerimos fuertemente que configure su servidor que utilice HTTPS como es descripto en nuestros consejos de seguridad.", "Shared" : "Compartido", "Shared with {recipients}" : "Compartido con {recipients}", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Error al compartir", "Error while unsharing" : "Error al dejar de compartir", @@ -91,6 +109,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Compartido contigo por {owner}", "Share with users or groups …" : "Compartir con usuarios o grupos ...", "Share with users, groups or remote users …" : "Comparte con usuarios, grupos o usuarios remotos ...", + "Share" : "Compartir", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Comparta con personas en otros ownClouds utilizando la sintáxis username@example.com/owncloud", "Share link" : "Enlace compartido", "The public link will expire no later than {days} days after it is created" : "El vínculo público no expirará antes de {days} desde que se creó", @@ -217,7 +236,6 @@ OC.L10N.register( "Please contact your administrator." : "Por favor, contacte con el administrador.", "An internal error occured." : "Un error interno ocurrió.", "Please try again or contact your administrator." : "Por favor reintente nuevamente o contáctese con su administrador.", - "Forgot your password? Reset it!" : "¿Olvidó su contraseña? ¡Restablézcala!", "remember" : "recordar", "Log in" : "Entrar", "Alternative Logins" : "Inicios de sesión alternativos", @@ -230,8 +248,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contacte con su administrador. Si usted es el administrador, configure \"trusted_domain\" en config/config.php. En config/config.sample.php se encuentra un ejemplo para la configuración.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependiendo de su configuración, como administrador, debería poder usar el botón de abajo para confiar en este dominio.", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como dominio de confianza", - "%s will be updated to version %s." : "%s será actualizado a la versión %s.", - "The following apps will be disabled:" : "Las siguientes aplicaciones serán desactivadas:", "The theme %s has been disabled." : "El tema %s ha sido desactivado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Antes de proceder, asegúrese de que se haya hecho un respaldo de la base de datos, la carpeta de configuración y la carpeta de datos.", "Start update" : "Iniciar actualización", diff --git a/core/l10n/es.json b/core/l10n/es.json index bf73857e4e..a50eafc43d 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -27,6 +27,13 @@ "Thursday" : "Jueves", "Friday" : "Viernes", "Saturday" : "Sábado", + "Sun." : "Dom.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mier.", + "Thu." : "Jue.", + "Fri." : "Vie.", + "Sat." : "Sab.", "January" : "Enero", "February" : "Febrero", "March" : "Marzo", @@ -39,6 +46,18 @@ "October" : "Octubre", "November" : "Noviembre", "December" : "Diciembre", + "Jan." : "Ene.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "May.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dic.", "Settings" : "Ajustes", "Saving..." : "Guardando...", "Couldn't send reset email. Please contact your administrator." : "No pudo enviarse el correo para restablecer la contraseña. Por favor, contacte con su administrador.", @@ -80,7 +99,6 @@ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Esta ingresando a este sitio de internet vía HTTP. Sugerimos fuertemente que configure su servidor que utilice HTTPS como es descripto en nuestros consejos de seguridad.", "Shared" : "Compartido", "Shared with {recipients}" : "Compartido con {recipients}", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Error al compartir", "Error while unsharing" : "Error al dejar de compartir", @@ -89,6 +107,7 @@ "Shared with you by {owner}" : "Compartido contigo por {owner}", "Share with users or groups …" : "Compartir con usuarios o grupos ...", "Share with users, groups or remote users …" : "Comparte con usuarios, grupos o usuarios remotos ...", + "Share" : "Compartir", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Comparta con personas en otros ownClouds utilizando la sintáxis username@example.com/owncloud", "Share link" : "Enlace compartido", "The public link will expire no later than {days} days after it is created" : "El vínculo público no expirará antes de {days} desde que se creó", @@ -215,7 +234,6 @@ "Please contact your administrator." : "Por favor, contacte con el administrador.", "An internal error occured." : "Un error interno ocurrió.", "Please try again or contact your administrator." : "Por favor reintente nuevamente o contáctese con su administrador.", - "Forgot your password? Reset it!" : "¿Olvidó su contraseña? ¡Restablézcala!", "remember" : "recordar", "Log in" : "Entrar", "Alternative Logins" : "Inicios de sesión alternativos", @@ -228,8 +246,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contacte con su administrador. Si usted es el administrador, configure \"trusted_domain\" en config/config.php. En config/config.sample.php se encuentra un ejemplo para la configuración.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependiendo de su configuración, como administrador, debería poder usar el botón de abajo para confiar en este dominio.", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como dominio de confianza", - "%s will be updated to version %s." : "%s será actualizado a la versión %s.", - "The following apps will be disabled:" : "Las siguientes aplicaciones serán desactivadas:", "The theme %s has been disabled." : "El tema %s ha sido desactivado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Antes de proceder, asegúrese de que se haya hecho un respaldo de la base de datos, la carpeta de configuración y la carpeta de datos.", "Start update" : "Iniciar actualización", diff --git a/core/l10n/es_AR.js b/core/l10n/es_AR.js index 5ab12bd93f..43ef513c43 100644 --- a/core/l10n/es_AR.js +++ b/core/l10n/es_AR.js @@ -17,6 +17,13 @@ OC.L10N.register( "Thursday" : "Jueves", "Friday" : "Viernes", "Saturday" : "Sábado", + "Sun." : "dom.", + "Mon." : "lun.", + "Tue." : "mar.", + "Wed." : "miér.", + "Thu." : "jue.", + "Fri." : "vie.", + "Sat." : "sáb.", "January" : "enero", "February" : "febrero", "March" : "marzo", @@ -29,6 +36,18 @@ OC.L10N.register( "October" : "octubre", "November" : "noviembre", "December" : "diciembre", + "Jan." : "ene.", + "Feb." : "feb.", + "Mar." : "mar.", + "Apr." : "abr.", + "May." : "may.", + "Jun." : "jun.", + "Jul." : "jul.", + "Aug." : "ago.", + "Sep." : "sep.", + "Oct." : "oct.", + "Nov." : "nov.", + "Dec." : "dic.", "Settings" : "Configuración", "Saving..." : "Guardando...", "No" : "No", @@ -53,13 +72,13 @@ OC.L10N.register( "Good password" : "Buena contraseña. ", "Strong password" : "Contraseña fuerte.", "Shared" : "Compartido", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Error al compartir", "Error while unsharing" : "Error en al dejar de compartir", "Error while changing permissions" : "Error al cambiar permisos", "Shared with you and the group {group} by {owner}" : "Compartido con vos y el grupo {group} por {owner}", "Shared with you by {owner}" : "Compartido con vos por {owner}", + "Share" : "Compartir", "Share link" : "Compartir vínculo", "Password protect" : "Proteger con contraseña ", "Password" : "Contraseña", diff --git a/core/l10n/es_AR.json b/core/l10n/es_AR.json index 69c7732c43..09b42de22b 100644 --- a/core/l10n/es_AR.json +++ b/core/l10n/es_AR.json @@ -15,6 +15,13 @@ "Thursday" : "Jueves", "Friday" : "Viernes", "Saturday" : "Sábado", + "Sun." : "dom.", + "Mon." : "lun.", + "Tue." : "mar.", + "Wed." : "miér.", + "Thu." : "jue.", + "Fri." : "vie.", + "Sat." : "sáb.", "January" : "enero", "February" : "febrero", "March" : "marzo", @@ -27,6 +34,18 @@ "October" : "octubre", "November" : "noviembre", "December" : "diciembre", + "Jan." : "ene.", + "Feb." : "feb.", + "Mar." : "mar.", + "Apr." : "abr.", + "May." : "may.", + "Jun." : "jun.", + "Jul." : "jul.", + "Aug." : "ago.", + "Sep." : "sep.", + "Oct." : "oct.", + "Nov." : "nov.", + "Dec." : "dic.", "Settings" : "Configuración", "Saving..." : "Guardando...", "No" : "No", @@ -51,13 +70,13 @@ "Good password" : "Buena contraseña. ", "Strong password" : "Contraseña fuerte.", "Shared" : "Compartido", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Error al compartir", "Error while unsharing" : "Error en al dejar de compartir", "Error while changing permissions" : "Error al cambiar permisos", "Shared with you and the group {group} by {owner}" : "Compartido con vos y el grupo {group} por {owner}", "Shared with you by {owner}" : "Compartido con vos por {owner}", + "Share" : "Compartir", "Share link" : "Compartir vínculo", "Password protect" : "Proteger con contraseña ", "Password" : "Contraseña", diff --git a/core/l10n/es_CL.js b/core/l10n/es_CL.js index e143b3cb08..3558448c96 100644 --- a/core/l10n/es_CL.js +++ b/core/l10n/es_CL.js @@ -29,11 +29,11 @@ OC.L10N.register( "Ok" : "Ok", "Cancel" : "Cancelar", "Shared" : "Compartido", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Ocurrió un error mientras compartía", "Error while unsharing" : "Ocurrió un error mientras dejaba de compartir", "Error while changing permissions" : "Ocurrió un error mientras se cambiaban los permisos", + "Share" : "Compartir", "Password" : "Clave", "The object type is not specified." : "El tipo de objeto no está especificado.", "Personal" : "Personal", diff --git a/core/l10n/es_CL.json b/core/l10n/es_CL.json index 996aeb75ac..d1fc84c7e3 100644 --- a/core/l10n/es_CL.json +++ b/core/l10n/es_CL.json @@ -27,11 +27,11 @@ "Ok" : "Ok", "Cancel" : "Cancelar", "Shared" : "Compartido", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Ocurrió un error mientras compartía", "Error while unsharing" : "Ocurrió un error mientras dejaba de compartir", "Error while changing permissions" : "Ocurrió un error mientras se cambiaban los permisos", + "Share" : "Compartir", "Password" : "Clave", "The object type is not specified." : "El tipo de objeto no está especificado.", "Personal" : "Personal", diff --git a/core/l10n/es_MX.js b/core/l10n/es_MX.js index cc01b07c8c..9b71d4a5aa 100644 --- a/core/l10n/es_MX.js +++ b/core/l10n/es_MX.js @@ -17,6 +17,13 @@ OC.L10N.register( "Thursday" : "Jueves", "Friday" : "Viernes", "Saturday" : "Sábado", + "Sun." : "Dom.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mier.", + "Thu." : "Jue.", + "Fri." : "Vie.", + "Sat." : "Sab.", "January" : "Enero", "February" : "Febrero", "March" : "Marzo", @@ -29,6 +36,18 @@ OC.L10N.register( "October" : "Octubre", "November" : "Noviembre", "December" : "Diciembre", + "Jan." : "Ene.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "May.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dic.", "Settings" : "Ajustes", "Saving..." : "Guardando...", "No" : "No", @@ -47,13 +66,13 @@ OC.L10N.register( "({count} selected)" : "({count} seleccionados)", "Error loading file exists template" : "Error cargando plantilla de archivo existente", "Shared" : "Compartido", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Error al compartir", "Error while unsharing" : "Error al dejar de compartir", "Error while changing permissions" : "Error al cambiar permisos", "Shared with you and the group {group} by {owner}" : "Compartido contigo y el grupo {group} por {owner}", "Shared with you by {owner}" : "Compartido contigo por {owner}", + "Share" : "Compartir", "Share link" : "Enlace compartido", "Password protect" : "Protección con contraseña", "Password" : "Contraseña", diff --git a/core/l10n/es_MX.json b/core/l10n/es_MX.json index 265788ee9a..8d95cef6c2 100644 --- a/core/l10n/es_MX.json +++ b/core/l10n/es_MX.json @@ -15,6 +15,13 @@ "Thursday" : "Jueves", "Friday" : "Viernes", "Saturday" : "Sábado", + "Sun." : "Dom.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mier.", + "Thu." : "Jue.", + "Fri." : "Vie.", + "Sat." : "Sab.", "January" : "Enero", "February" : "Febrero", "March" : "Marzo", @@ -27,6 +34,18 @@ "October" : "Octubre", "November" : "Noviembre", "December" : "Diciembre", + "Jan." : "Ene.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "May.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dic.", "Settings" : "Ajustes", "Saving..." : "Guardando...", "No" : "No", @@ -45,13 +64,13 @@ "({count} selected)" : "({count} seleccionados)", "Error loading file exists template" : "Error cargando plantilla de archivo existente", "Shared" : "Compartido", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Error al compartir", "Error while unsharing" : "Error al dejar de compartir", "Error while changing permissions" : "Error al cambiar permisos", "Shared with you and the group {group} by {owner}" : "Compartido contigo y el grupo {group} por {owner}", "Shared with you by {owner}" : "Compartido contigo por {owner}", + "Share" : "Compartir", "Share link" : "Enlace compartido", "Password protect" : "Protección con contraseña", "Password" : "Contraseña", diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js index b08139a1f3..1cff2557cb 100644 --- a/core/l10n/et_EE.js +++ b/core/l10n/et_EE.js @@ -24,6 +24,13 @@ OC.L10N.register( "Thursday" : "Neljapäev", "Friday" : "Reede", "Saturday" : "Laupäev", + "Sun." : "P", + "Mon." : "E", + "Tue." : "T", + "Wed." : "K", + "Thu." : "N", + "Fri." : "R", + "Sat." : "L", "January" : "Jaanuar", "February" : "Veebruar", "March" : "Märts", @@ -36,6 +43,18 @@ OC.L10N.register( "October" : "Oktoober", "November" : "November", "December" : "Detsember", + "Jan." : "Jaan.", + "Feb." : "Veebr.", + "Mar." : "Mär.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sept.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dets.", "Settings" : "Seaded", "Saving..." : "Salvestamine...", "Couldn't send reset email. Please contact your administrator." : "Ei suutnud lähtestada e-maili. Palun kontakteeru süsteemihalduriga.", @@ -69,7 +88,6 @@ OC.L10N.register( "Error occurred while checking server setup" : "Serveri seadete kontrolimisel tekkis viga", "Shared" : "Jagatud", "Shared with {recipients}" : "Jagatud {recipients}", - "Share" : "Jaga", "Error" : "Viga", "Error while sharing" : "Viga jagamisel", "Error while unsharing" : "Viga jagamise lõpetamisel", @@ -78,6 +96,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Sinuga jagas {owner}", "Share with users or groups …" : "Jaga kasutajate või gruppidega ...", "Share with users, groups or remote users …" : "Jaga kasutajate, gruppide või eemal olevate kasutajatega ...", + "Share" : "Jaga", "Share link" : "Jaga linki", "The public link will expire no later than {days} days after it is created" : "Avalik link aegub mitte hiljem kui pärast {days} päeva selle loomist", "Link" : "Link", @@ -198,7 +217,6 @@ OC.L10N.register( "Please contact your administrator." : "Palun kontakteeru oma süsteemihalduriga.", "An internal error occured." : "Tekkis sisemine tõrge.", "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.", - "Forgot your password? Reset it!" : "Unustasid parooli? Taasta see!", "remember" : "pea meeles", "Log in" : "Logi sisse", "Alternative Logins" : "Alternatiivsed sisselogimisviisid", @@ -211,8 +229,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Palun võta ühendust oma saidi administraatoriga. Kui sa oled ise administraator, siis seadista failis config/config.php sätet \"trusted_domain\". Näidis seadistused leiad failist config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Sõltuvalt sinu seadetest võib ka administraator kasutada allolevat nuppu, et seda domeeni usaldusväärseks märkida.", "Add \"%s\" as trusted domain" : "Lisa \"%s\" usaldusväärse domeenina", - "%s will be updated to version %s." : "%s uuendatakse versioonile %s.", - "The following apps will be disabled:" : "Järgnevad rakendid keelatakse:", "The theme %s has been disabled." : "Teema %s on keelatud.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enne jätkamist veendu, et andmebaas, seadete ning andmete kataloog on varundatud.", "Start update" : "Käivita uuendus", diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json index 35494783a6..94ebd08dec 100644 --- a/core/l10n/et_EE.json +++ b/core/l10n/et_EE.json @@ -22,6 +22,13 @@ "Thursday" : "Neljapäev", "Friday" : "Reede", "Saturday" : "Laupäev", + "Sun." : "P", + "Mon." : "E", + "Tue." : "T", + "Wed." : "K", + "Thu." : "N", + "Fri." : "R", + "Sat." : "L", "January" : "Jaanuar", "February" : "Veebruar", "March" : "Märts", @@ -34,6 +41,18 @@ "October" : "Oktoober", "November" : "November", "December" : "Detsember", + "Jan." : "Jaan.", + "Feb." : "Veebr.", + "Mar." : "Mär.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sept.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dets.", "Settings" : "Seaded", "Saving..." : "Salvestamine...", "Couldn't send reset email. Please contact your administrator." : "Ei suutnud lähtestada e-maili. Palun kontakteeru süsteemihalduriga.", @@ -67,7 +86,6 @@ "Error occurred while checking server setup" : "Serveri seadete kontrolimisel tekkis viga", "Shared" : "Jagatud", "Shared with {recipients}" : "Jagatud {recipients}", - "Share" : "Jaga", "Error" : "Viga", "Error while sharing" : "Viga jagamisel", "Error while unsharing" : "Viga jagamise lõpetamisel", @@ -76,6 +94,7 @@ "Shared with you by {owner}" : "Sinuga jagas {owner}", "Share with users or groups …" : "Jaga kasutajate või gruppidega ...", "Share with users, groups or remote users …" : "Jaga kasutajate, gruppide või eemal olevate kasutajatega ...", + "Share" : "Jaga", "Share link" : "Jaga linki", "The public link will expire no later than {days} days after it is created" : "Avalik link aegub mitte hiljem kui pärast {days} päeva selle loomist", "Link" : "Link", @@ -196,7 +215,6 @@ "Please contact your administrator." : "Palun kontakteeru oma süsteemihalduriga.", "An internal error occured." : "Tekkis sisemine tõrge.", "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.", - "Forgot your password? Reset it!" : "Unustasid parooli? Taasta see!", "remember" : "pea meeles", "Log in" : "Logi sisse", "Alternative Logins" : "Alternatiivsed sisselogimisviisid", @@ -209,8 +227,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Palun võta ühendust oma saidi administraatoriga. Kui sa oled ise administraator, siis seadista failis config/config.php sätet \"trusted_domain\". Näidis seadistused leiad failist config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Sõltuvalt sinu seadetest võib ka administraator kasutada allolevat nuppu, et seda domeeni usaldusväärseks märkida.", "Add \"%s\" as trusted domain" : "Lisa \"%s\" usaldusväärse domeenina", - "%s will be updated to version %s." : "%s uuendatakse versioonile %s.", - "The following apps will be disabled:" : "Järgnevad rakendid keelatakse:", "The theme %s has been disabled." : "Teema %s on keelatud.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Enne jätkamist veendu, et andmebaas, seadete ning andmete kataloog on varundatud.", "Start update" : "Käivita uuendus", diff --git a/core/l10n/eu.js b/core/l10n/eu.js index 9b96a760d4..0d96575977 100644 --- a/core/l10n/eu.js +++ b/core/l10n/eu.js @@ -20,6 +20,13 @@ OC.L10N.register( "Thursday" : "Osteguna", "Friday" : "Ostirala", "Saturday" : "Larunbata", + "Sun." : "ig.", + "Mon." : "al.", + "Tue." : "ar.", + "Wed." : "az.", + "Thu." : "og.", + "Fri." : "ol.", + "Sat." : "lr.", "January" : "Urtarrila", "February" : "Otsaila", "March" : "Martxoa", @@ -32,6 +39,18 @@ OC.L10N.register( "October" : "Urria", "November" : "Azaroa", "December" : "Abendua", + "Jan." : "urt.", + "Feb." : "ots.", + "Mar." : "mar.", + "Apr." : "api.", + "May." : "mai.", + "Jun." : "eka.", + "Jul." : "uzt.", + "Aug." : "abu.", + "Sep." : "ira.", + "Oct." : "urr.", + "Nov." : "aza.", + "Dec." : "abe.", "Settings" : "Ezarpenak", "Saving..." : "Gordetzen...", "Couldn't send reset email. Please contact your administrator." : "Ezin da berrezartzeko eposta bidali. Mesedez jarri harremetan zure administradorearekin.", @@ -65,13 +84,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Errore bat gertatu da zerbitzariaren konfigurazioa egiaztatzerakoan.", "Shared" : "Elkarbanatuta", "Shared with {recipients}" : "{recipients}-rekin partekatua.", - "Share" : "Elkarbanatu", "Error" : "Errorea", "Error while sharing" : "Errore bat egon da elkarbanatzean", "Error while unsharing" : "Errore bat egon da elkarbanaketa desegitean", "Error while changing permissions" : "Errore bat egon da baimenak aldatzean", "Shared with you and the group {group} by {owner}" : "{owner}-k zu eta {group} taldearekin elkarbanatuta", "Shared with you by {owner}" : "{owner}-k zurekin elkarbanatuta", + "Share" : "Elkarbanatu", "Share link" : "Elkarbanatu lotura", "The public link will expire no later than {days} days after it is created" : "Esteka publikoak iraungi egingo du, askoz jota, sortu eta {days} egunetara.", "Link" : "Esteka", @@ -180,7 +199,6 @@ OC.L10N.register( "Search" : "Bilatu", "Server side authentication failed!" : "Zerbitzari aldeko autentifikazioak huts egin du!", "Please contact your administrator." : "Mesedez jarri harremetan zure administradorearekin.", - "Forgot your password? Reset it!" : "Pasahitza ahaztu duzu? Berrezarri!", "remember" : "gogoratu", "Log in" : "Hasi saioa", "Alternative Logins" : "Beste erabiltzaile izenak", @@ -193,8 +211,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Mesedez harremanetan jarri kudeatzailearekin. Zu kudeatzailea bazara, konfiguratu \"trusted_domain\" ezarpena config/config.php fitxategian. Adibidezko konfigurazko bat config/config.sample.php fitxategian dago.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Zure ezarpenen gorabehera, administratzaile bezala posible duzu ere azpiko botoia erabiltzea fidatzeko domeinu horrekin.", "Add \"%s\" as trusted domain" : "Gehitu \"%s\" domeinu fidagarri gisa", - "%s will be updated to version %s." : "%s %s bertsiora eguneratuko da.", - "The following apps will be disabled:" : "Ondorengo aplikazioak desgaituko dira:", "The theme %s has been disabled." : "%s gaia desgaitu da.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Ekin aurretik egiazta ezazu datu basearen, ezarpenen karpetaren eta datuen karpetaren babeskopia duzula.", "Start update" : "Hasi eguneraketa", diff --git a/core/l10n/eu.json b/core/l10n/eu.json index 35e252a7a7..9206ed66d7 100644 --- a/core/l10n/eu.json +++ b/core/l10n/eu.json @@ -18,6 +18,13 @@ "Thursday" : "Osteguna", "Friday" : "Ostirala", "Saturday" : "Larunbata", + "Sun." : "ig.", + "Mon." : "al.", + "Tue." : "ar.", + "Wed." : "az.", + "Thu." : "og.", + "Fri." : "ol.", + "Sat." : "lr.", "January" : "Urtarrila", "February" : "Otsaila", "March" : "Martxoa", @@ -30,6 +37,18 @@ "October" : "Urria", "November" : "Azaroa", "December" : "Abendua", + "Jan." : "urt.", + "Feb." : "ots.", + "Mar." : "mar.", + "Apr." : "api.", + "May." : "mai.", + "Jun." : "eka.", + "Jul." : "uzt.", + "Aug." : "abu.", + "Sep." : "ira.", + "Oct." : "urr.", + "Nov." : "aza.", + "Dec." : "abe.", "Settings" : "Ezarpenak", "Saving..." : "Gordetzen...", "Couldn't send reset email. Please contact your administrator." : "Ezin da berrezartzeko eposta bidali. Mesedez jarri harremetan zure administradorearekin.", @@ -63,13 +82,13 @@ "Error occurred while checking server setup" : "Errore bat gertatu da zerbitzariaren konfigurazioa egiaztatzerakoan.", "Shared" : "Elkarbanatuta", "Shared with {recipients}" : "{recipients}-rekin partekatua.", - "Share" : "Elkarbanatu", "Error" : "Errorea", "Error while sharing" : "Errore bat egon da elkarbanatzean", "Error while unsharing" : "Errore bat egon da elkarbanaketa desegitean", "Error while changing permissions" : "Errore bat egon da baimenak aldatzean", "Shared with you and the group {group} by {owner}" : "{owner}-k zu eta {group} taldearekin elkarbanatuta", "Shared with you by {owner}" : "{owner}-k zurekin elkarbanatuta", + "Share" : "Elkarbanatu", "Share link" : "Elkarbanatu lotura", "The public link will expire no later than {days} days after it is created" : "Esteka publikoak iraungi egingo du, askoz jota, sortu eta {days} egunetara.", "Link" : "Esteka", @@ -178,7 +197,6 @@ "Search" : "Bilatu", "Server side authentication failed!" : "Zerbitzari aldeko autentifikazioak huts egin du!", "Please contact your administrator." : "Mesedez jarri harremetan zure administradorearekin.", - "Forgot your password? Reset it!" : "Pasahitza ahaztu duzu? Berrezarri!", "remember" : "gogoratu", "Log in" : "Hasi saioa", "Alternative Logins" : "Beste erabiltzaile izenak", @@ -191,8 +209,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Mesedez harremanetan jarri kudeatzailearekin. Zu kudeatzailea bazara, konfiguratu \"trusted_domain\" ezarpena config/config.php fitxategian. Adibidezko konfigurazko bat config/config.sample.php fitxategian dago.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Zure ezarpenen gorabehera, administratzaile bezala posible duzu ere azpiko botoia erabiltzea fidatzeko domeinu horrekin.", "Add \"%s\" as trusted domain" : "Gehitu \"%s\" domeinu fidagarri gisa", - "%s will be updated to version %s." : "%s %s bertsiora eguneratuko da.", - "The following apps will be disabled:" : "Ondorengo aplikazioak desgaituko dira:", "The theme %s has been disabled." : "%s gaia desgaitu da.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Ekin aurretik egiazta ezazu datu basearen, ezarpenen karpetaren eta datuen karpetaren babeskopia duzula.", "Start update" : "Hasi eguneraketa", diff --git a/core/l10n/fa.js b/core/l10n/fa.js index 7263c05da8..bfb7650698 100644 --- a/core/l10n/fa.js +++ b/core/l10n/fa.js @@ -16,6 +16,13 @@ OC.L10N.register( "Thursday" : "پنجشنبه", "Friday" : "جمعه", "Saturday" : "شنبه", + "Sun." : "یکشنبه", + "Mon." : "دوشنبه", + "Tue." : "سه شنبه", + "Wed." : "چهارشنبه", + "Thu." : "پنج شنبه", + "Fri." : "جمعه", + "Sat." : "شنبه", "January" : "ژانویه", "February" : "فبریه", "March" : "مارس", @@ -28,6 +35,18 @@ OC.L10N.register( "October" : "اکتبر", "November" : "نوامبر", "December" : "دسامبر", + "Jan." : "ژانویه", + "Feb." : "فوریه", + "Mar." : "مارچ", + "Apr." : "آوریل", + "May." : "می", + "Jun." : "ژوئن", + "Jul." : "جولای", + "Aug." : "آگوست", + "Sep." : "سپتامبر", + "Oct." : "اکتبر", + "Nov." : "نوامبر", + "Dec." : "دسامبر", "Settings" : "تنظیمات", "Saving..." : "در حال ذخیره سازی...", "Couldn't send reset email. Please contact your administrator." : "ارسال ایمیل مجدد با مشکل مواجه شد . لطفا با مدیر سیستم تماس بگیرید .", @@ -56,13 +75,13 @@ OC.L10N.register( "Strong password" : "رمز عبور قوی", "Shared" : "اشتراک گذاشته شده", "Shared with {recipients}" : "به اشتراک گذاشته شده با {recipients}", - "Share" : "اشتراک‌گذاری", "Error" : "خطا", "Error while sharing" : "خطا درحال به اشتراک گذاشتن", "Error while unsharing" : "خطا درحال لغو اشتراک", "Error while changing permissions" : "خطا در حال تغییر مجوز", "Shared with you and the group {group} by {owner}" : "به اشتراک گذاشته شده با شما و گروه {گروه} توسط {دارنده}", "Shared with you by {owner}" : "به اشتراک گذاشته شده با شما توسط { دارنده}", + "Share" : "اشتراک‌گذاری", "Share link" : "اشتراک گذاشتن لینک", "Password protect" : "نگهداری کردن رمز عبور", "Password" : "گذرواژه", diff --git a/core/l10n/fa.json b/core/l10n/fa.json index 804a8a66fa..a1af42495a 100644 --- a/core/l10n/fa.json +++ b/core/l10n/fa.json @@ -14,6 +14,13 @@ "Thursday" : "پنجشنبه", "Friday" : "جمعه", "Saturday" : "شنبه", + "Sun." : "یکشنبه", + "Mon." : "دوشنبه", + "Tue." : "سه شنبه", + "Wed." : "چهارشنبه", + "Thu." : "پنج شنبه", + "Fri." : "جمعه", + "Sat." : "شنبه", "January" : "ژانویه", "February" : "فبریه", "March" : "مارس", @@ -26,6 +33,18 @@ "October" : "اکتبر", "November" : "نوامبر", "December" : "دسامبر", + "Jan." : "ژانویه", + "Feb." : "فوریه", + "Mar." : "مارچ", + "Apr." : "آوریل", + "May." : "می", + "Jun." : "ژوئن", + "Jul." : "جولای", + "Aug." : "آگوست", + "Sep." : "سپتامبر", + "Oct." : "اکتبر", + "Nov." : "نوامبر", + "Dec." : "دسامبر", "Settings" : "تنظیمات", "Saving..." : "در حال ذخیره سازی...", "Couldn't send reset email. Please contact your administrator." : "ارسال ایمیل مجدد با مشکل مواجه شد . لطفا با مدیر سیستم تماس بگیرید .", @@ -54,13 +73,13 @@ "Strong password" : "رمز عبور قوی", "Shared" : "اشتراک گذاشته شده", "Shared with {recipients}" : "به اشتراک گذاشته شده با {recipients}", - "Share" : "اشتراک‌گذاری", "Error" : "خطا", "Error while sharing" : "خطا درحال به اشتراک گذاشتن", "Error while unsharing" : "خطا درحال لغو اشتراک", "Error while changing permissions" : "خطا در حال تغییر مجوز", "Shared with you and the group {group} by {owner}" : "به اشتراک گذاشته شده با شما و گروه {گروه} توسط {دارنده}", "Shared with you by {owner}" : "به اشتراک گذاشته شده با شما توسط { دارنده}", + "Share" : "اشتراک‌گذاری", "Share link" : "اشتراک گذاشتن لینک", "Password protect" : "نگهداری کردن رمز عبور", "Password" : "گذرواژه", diff --git a/core/l10n/fi_FI.js b/core/l10n/fi_FI.js index fbb7098a9c..29839e4d3f 100644 --- a/core/l10n/fi_FI.js +++ b/core/l10n/fi_FI.js @@ -29,6 +29,20 @@ OC.L10N.register( "Thursday" : "torstai", "Friday" : "perjantai", "Saturday" : "lauantai", + "Sun." : "Su", + "Mon." : "Ma", + "Tue." : "Ti", + "Wed." : "Ke", + "Thu." : "To", + "Fri." : "Pe", + "Sat." : "La", + "Su" : "Su", + "Mo" : "Ma", + "Tu" : "Ti", + "We" : "Ke", + "Th" : "To", + "Fr" : "Pe", + "Sa" : "La", "January" : "tammikuu", "February" : "helmikuu", "March" : "maaliskuu", @@ -41,6 +55,18 @@ OC.L10N.register( "October" : "lokakuu", "November" : "marraskuu", "December" : "joulukuu", + "Jan." : "Tammi", + "Feb." : "Helmi", + "Mar." : "Maalis", + "Apr." : "Huhti", + "May." : "Touko", + "Jun." : "Kesä", + "Jul." : "Heinä", + "Aug." : "Elo", + "Sep." : "Syys", + "Oct." : "Loka", + "Nov." : "Marras", + "Dec." : "Joulu", "Settings" : "Asetukset", "Saving..." : "Tallennetaan...", "Couldn't send reset email. Please contact your administrator." : "Palautussähköpostin lähettäminen ei onnistunut. Ota yhteys ylläpitäjään.", @@ -76,13 +102,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Datahakemistosi ja tiedostosi ovat luultavasti käytettävissä suoraan internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään http-palvelimen asetukset siten, ettei datahakemisto ole suoraan käytettävissä internetistä, tai siirtämään datahakemiston http-palvelimen juurihakemiston ulkopuolelle.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Muistissa toimivaa cachea ei ole määritetty. Paranna suorituskykyä ottamalla memcache käyttöön. Lisätietoja on saatavilla dokumentaatiosta.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ei ole luettavissa PHP:n toimesta. Turvallisuussyistä tämä ei ole suositeltava asetus. Lisätietoja on tarjolla dokumentaatiossa.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Käytössäsi oleva PHP-versio ({version}) ei ole enää PHP:n tukema. Päivitä PHP:n versio, jotta hyödyt suorituskykyyn ja tietoturvaan vaikuttavista päivityksistä.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Käänteisen välityspalvelimen otsakkaiden asetukset ovat väärin, tai vaihtoehtoisesti käytät ownCloudia luotetun välityspalvelimen kautta. Jos et käytä ownCloudia luotetun välityspalvelimen kautta, kyseessä on tietoturvaongelma, joka mahdollistaa hyökkääjän väärentää ownCloudille näkyvän IP-osoitteen. Lisätietoja on saatavilla dokumentaatiosta.", "Error occurred while checking server setup" : "Virhe palvelimen määrityksiä tarkistaessa", "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." : "HTTP-otsaketta \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten suosittelemme muuttamaan asetuksen arvoa.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP-otsaketta \"Strict-Transport-Security\" ei ole määritetty vähintään \"{seconds}\" sekuntiin. Suosittelemme HSTS:n käyttöä paremman tietoturvan vuoksi, kuten tietoturvavinkeissä neuvotaan.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Käytät sivustoa HTTP-yhteydellä. Suosittelemme asettamaan palvelimen vaatimaan HTTPS-yhteyden, kuten tietoturvavinkeissä neuvotaan.", "Shared" : "Jaettu", "Shared with {recipients}" : "Jaettu henkilöiden {recipients} kanssa", - "Share" : "Jaa", "Error" : "Virhe", "Error while sharing" : "Virhe jaettaessa", "Error while unsharing" : "Virhe jakoa peruttaessa", @@ -91,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Jaettu kanssasi käyttäjän {owner} toimesta", "Share with users or groups …" : "Jaa käyttäjien tai ryhmien kanssa…", "Share with users, groups or remote users …" : "Jaa käyttäjien, ryhmien tai etäkäyttäjien kanssa…", + "Share" : "Jaa", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Jaa toisia ownCloud-järjestelmiä käyttävien kesken käyttäen syntaksia käyttäjätunnus@esimerkki.fi/owncloud", "Share link" : "Jaa linkki", "The public link will expire no later than {days} days after it is created" : "Julkinen linkki vanhenee {days} päivän jälkeen sen luomisesta", @@ -144,6 +172,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "Päivitys onnistui, tosin ilmeni varoituksia.", "The update was successful. Redirecting you to ownCloud now." : "Päivitys onnistui. Selain ohjautuu nyt ownCloudiisi.", "Couldn't reset password because the token is invalid" : "Salasanaa ei voitu palauttaa koska valtuutus on virheellinen", + "Couldn't reset password because the token is expired" : "Salasanan nollaaminen ei onnistunut, koska valtuutus on vanhentunut", "Couldn't send reset email. Please make sure your username is correct." : "Palautussähköpostin lähettäminen ei onnistunut. Varmista, että käyttäjätunnuksesi on oikein.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Palautussähköpostin lähettäminen ei onnistunut, koska tälle käyttäjätunnukselle ei ole määritelty sähköpostiosoitetta. Ota yhteys ylläpitäjään.", "%s password reset" : "%s salasanan palautus", @@ -217,7 +246,7 @@ OC.L10N.register( "Please contact your administrator." : "Ota yhteys ylläpitäjään.", "An internal error occured." : "Tapahtui sisäinen virhe.", "Please try again or contact your administrator." : "Yritä uudestaan tai ota yhteys ylläpitäjään.", - "Forgot your password? Reset it!" : "Unohditko salasanasi? Palauta se!", + "Wrong password. Reset it?" : "Väärä salasana. Haluatko palauttaa salasanan?", "remember" : "muista", "Log in" : "Kirjaudu sisään", "Alternative Logins" : "Vaihtoehtoiset kirjautumiset", @@ -230,8 +259,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Ota yhteys ylläpitäjään. Jos olet tämän ownCloudin ylläpitäjä, määritä \"trusted_domain\"-asetus tiedostossa config/config.php. Esimerkkimääritys on nähtävillä tiedostossa config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Riippuen määrityksistä, ylläpitäjänä saatat kyetä käyttämään alla olevaa painiketta luodaksesi luottamussuhteen tähän toimialueeseen.", "Add \"%s\" as trusted domain" : "Lisää \"%s\" luotetuksi toimialueeksi", - "%s will be updated to version %s." : "%s päivitetään versioon %s.", - "The following apps will be disabled:" : "Seuraavat sovellukset poistetaan käytöstä:", + "App update required" : "Sovelluksen päivittäminen vaaditaan", + "%s will be updated to version %s" : "%s päivitetään versioon %s", + "These apps will be updated:" : "Nämä sovellukset päivitetään:", + "These incompatible apps will be disabled:" : "Nämä yhteensopimattomat sovellukset poistetaan käytöstä:", "The theme %s has been disabled." : "Teema %s on poistettu käytöstä.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Varmista ennen jatkamista, että tietokanta, asetuskansio ja datakansio on varmuuskopioitu.", "Start update" : "Käynnistä päivitys", diff --git a/core/l10n/fi_FI.json b/core/l10n/fi_FI.json index 4dc72a9bef..01e11ab7e4 100644 --- a/core/l10n/fi_FI.json +++ b/core/l10n/fi_FI.json @@ -27,6 +27,20 @@ "Thursday" : "torstai", "Friday" : "perjantai", "Saturday" : "lauantai", + "Sun." : "Su", + "Mon." : "Ma", + "Tue." : "Ti", + "Wed." : "Ke", + "Thu." : "To", + "Fri." : "Pe", + "Sat." : "La", + "Su" : "Su", + "Mo" : "Ma", + "Tu" : "Ti", + "We" : "Ke", + "Th" : "To", + "Fr" : "Pe", + "Sa" : "La", "January" : "tammikuu", "February" : "helmikuu", "March" : "maaliskuu", @@ -39,6 +53,18 @@ "October" : "lokakuu", "November" : "marraskuu", "December" : "joulukuu", + "Jan." : "Tammi", + "Feb." : "Helmi", + "Mar." : "Maalis", + "Apr." : "Huhti", + "May." : "Touko", + "Jun." : "Kesä", + "Jul." : "Heinä", + "Aug." : "Elo", + "Sep." : "Syys", + "Oct." : "Loka", + "Nov." : "Marras", + "Dec." : "Joulu", "Settings" : "Asetukset", "Saving..." : "Tallennetaan...", "Couldn't send reset email. Please contact your administrator." : "Palautussähköpostin lähettäminen ei onnistunut. Ota yhteys ylläpitäjään.", @@ -74,13 +100,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Datahakemistosi ja tiedostosi ovat luultavasti käytettävissä suoraan internetistä. .htaccess-tiedosto ei toimi oikein. Suosittelemme määrittämään http-palvelimen asetukset siten, ettei datahakemisto ole suoraan käytettävissä internetistä, tai siirtämään datahakemiston http-palvelimen juurihakemiston ulkopuolelle.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Muistissa toimivaa cachea ei ole määritetty. Paranna suorituskykyä ottamalla memcache käyttöön. Lisätietoja on saatavilla dokumentaatiosta.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ei ole luettavissa PHP:n toimesta. Turvallisuussyistä tämä ei ole suositeltava asetus. Lisätietoja on tarjolla dokumentaatiossa.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Käytössäsi oleva PHP-versio ({version}) ei ole enää PHP:n tukema. Päivitä PHP:n versio, jotta hyödyt suorituskykyyn ja tietoturvaan vaikuttavista päivityksistä.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Käänteisen välityspalvelimen otsakkaiden asetukset ovat väärin, tai vaihtoehtoisesti käytät ownCloudia luotetun välityspalvelimen kautta. Jos et käytä ownCloudia luotetun välityspalvelimen kautta, kyseessä on tietoturvaongelma, joka mahdollistaa hyökkääjän väärentää ownCloudille näkyvän IP-osoitteen. Lisätietoja on saatavilla dokumentaatiosta.", "Error occurred while checking server setup" : "Virhe palvelimen määrityksiä tarkistaessa", "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." : "HTTP-otsaketta \"{header}\" ei ole määritetty vastaamaan arvoa \"{expected}\". Kyseessä on mahdollinen tietoturvaan tai -suojaan liittyvä riski, joten suosittelemme muuttamaan asetuksen arvoa.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP-otsaketta \"Strict-Transport-Security\" ei ole määritetty vähintään \"{seconds}\" sekuntiin. Suosittelemme HSTS:n käyttöä paremman tietoturvan vuoksi, kuten tietoturvavinkeissä neuvotaan.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Käytät sivustoa HTTP-yhteydellä. Suosittelemme asettamaan palvelimen vaatimaan HTTPS-yhteyden, kuten tietoturvavinkeissä neuvotaan.", "Shared" : "Jaettu", "Shared with {recipients}" : "Jaettu henkilöiden {recipients} kanssa", - "Share" : "Jaa", "Error" : "Virhe", "Error while sharing" : "Virhe jaettaessa", "Error while unsharing" : "Virhe jakoa peruttaessa", @@ -89,6 +116,7 @@ "Shared with you by {owner}" : "Jaettu kanssasi käyttäjän {owner} toimesta", "Share with users or groups …" : "Jaa käyttäjien tai ryhmien kanssa…", "Share with users, groups or remote users …" : "Jaa käyttäjien, ryhmien tai etäkäyttäjien kanssa…", + "Share" : "Jaa", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Jaa toisia ownCloud-järjestelmiä käyttävien kesken käyttäen syntaksia käyttäjätunnus@esimerkki.fi/owncloud", "Share link" : "Jaa linkki", "The public link will expire no later than {days} days after it is created" : "Julkinen linkki vanhenee {days} päivän jälkeen sen luomisesta", @@ -142,6 +170,7 @@ "The update was successful. There were warnings." : "Päivitys onnistui, tosin ilmeni varoituksia.", "The update was successful. Redirecting you to ownCloud now." : "Päivitys onnistui. Selain ohjautuu nyt ownCloudiisi.", "Couldn't reset password because the token is invalid" : "Salasanaa ei voitu palauttaa koska valtuutus on virheellinen", + "Couldn't reset password because the token is expired" : "Salasanan nollaaminen ei onnistunut, koska valtuutus on vanhentunut", "Couldn't send reset email. Please make sure your username is correct." : "Palautussähköpostin lähettäminen ei onnistunut. Varmista, että käyttäjätunnuksesi on oikein.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Palautussähköpostin lähettäminen ei onnistunut, koska tälle käyttäjätunnukselle ei ole määritelty sähköpostiosoitetta. Ota yhteys ylläpitäjään.", "%s password reset" : "%s salasanan palautus", @@ -215,7 +244,7 @@ "Please contact your administrator." : "Ota yhteys ylläpitäjään.", "An internal error occured." : "Tapahtui sisäinen virhe.", "Please try again or contact your administrator." : "Yritä uudestaan tai ota yhteys ylläpitäjään.", - "Forgot your password? Reset it!" : "Unohditko salasanasi? Palauta se!", + "Wrong password. Reset it?" : "Väärä salasana. Haluatko palauttaa salasanan?", "remember" : "muista", "Log in" : "Kirjaudu sisään", "Alternative Logins" : "Vaihtoehtoiset kirjautumiset", @@ -228,8 +257,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Ota yhteys ylläpitäjään. Jos olet tämän ownCloudin ylläpitäjä, määritä \"trusted_domain\"-asetus tiedostossa config/config.php. Esimerkkimääritys on nähtävillä tiedostossa config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Riippuen määrityksistä, ylläpitäjänä saatat kyetä käyttämään alla olevaa painiketta luodaksesi luottamussuhteen tähän toimialueeseen.", "Add \"%s\" as trusted domain" : "Lisää \"%s\" luotetuksi toimialueeksi", - "%s will be updated to version %s." : "%s päivitetään versioon %s.", - "The following apps will be disabled:" : "Seuraavat sovellukset poistetaan käytöstä:", + "App update required" : "Sovelluksen päivittäminen vaaditaan", + "%s will be updated to version %s" : "%s päivitetään versioon %s", + "These apps will be updated:" : "Nämä sovellukset päivitetään:", + "These incompatible apps will be disabled:" : "Nämä yhteensopimattomat sovellukset poistetaan käytöstä:", "The theme %s has been disabled." : "Teema %s on poistettu käytöstä.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Varmista ennen jatkamista, että tietokanta, asetuskansio ja datakansio on varmuuskopioitu.", "Start update" : "Käynnistä päivitys", diff --git a/core/l10n/fr.js b/core/l10n/fr.js index 12dcee2569..fc5881d83f 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "Erreur de réparation :", "Following incompatible apps have been disabled: %s" : "Les applications incompatibles suivantes ont été désactivées : %s", "Following apps have been disabled: %s" : "Les applications suivantes ont été désactivées : %s", + "File is too big" : "Fichier trop volumineux", "Invalid file provided" : "Fichier non valide", "No image or file provided" : "Aucun fichier fourni", "Unknown filetype" : "Type de fichier inconnu", @@ -28,6 +29,20 @@ OC.L10N.register( "Thursday" : "Jeudi", "Friday" : "Vendredi", "Saturday" : "Samedi", + "Sun." : "Dim.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mer.", + "Thu." : "Jeu.", + "Fri." : "Ven.", + "Sat." : "Sam.", + "Su" : "Di", + "Mo" : "Lu", + "Tu" : "Ma", + "We" : "Me", + "Th" : "Je", + "Fr" : "Ve", + "Sa" : "Sa", "January" : "janvier", "February" : "février", "March" : "mars", @@ -40,6 +55,18 @@ OC.L10N.register( "October" : "octobre", "November" : "novembre", "December" : "décembre", + "Jan." : "Jan.", + "Feb." : "Fév.", + "Mar." : "Mars", + "Apr." : "Avr.", + "May." : "Mai", + "Jun." : "Juin", + "Jul." : "Juil.", + "Aug." : "Août", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Déc.", "Settings" : "Paramètres", "Saving..." : "Enregistrement…", "Couldn't send reset email. Please contact your administrator." : "Impossible d'envoyer le courriel de réinitialisation. Veuillez contacter votre administrateur.", @@ -75,13 +102,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Aucun cache de la mémoire n'est configuré. Si possible, configurez un \"memcache\" pour augmenter les performances. Pour plus d'information consultez la documentation.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Plus d'informations peuvent être trouvées dans notre documentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "La version de PHP utilisée ({version}) n'est plus prise en charge par les créateurs de PHP. Nous vous recommandons de mettre à niveau votre installation de PHP pour bénéficier de meilleures performances et des mises à jour de sécurité fournies par PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "L'entête du fichier de configuration du reverse proxy est incorrect, ou vous accédez ownCloud depuis un proxy de confiance. Si vous n'êtes pas en train d’accédé ownCloud depuis un proxy de confiance, ceci est un problème de sécurité and peut permettre à un attaquant de parodier son adresse IP visible par ownCloud. Plus d'information est accessible dans notre documentation.", "Error occurred while checking server setup" : "Une erreur s'est produite lors de la vérification de la configuration du serveur", "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." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\" créant potentiellement un risque relié à la sécurité et à la vie privée. Il est donc recommandé d'ajuster ce paramètre.", - "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à \"{seconds}\" secondes. Pour renforcer la sécurité nous recommandons d'activer HSTS comme décrit dans notre aide à la sécurité.", - "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans notre aide à la sécurité.", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à \"{seconds}\" secondes. Pour renforcer la sécurité nous recommandons d'activer HSTS comme décrit dans notre Guide pour le renforcement et la sécurité.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans notre Guide pour le renforcement et la sécurité.", "Shared" : "Partagé", "Shared with {recipients}" : "Partagé avec {recipients}", - "Share" : "Partager", "Error" : "Erreur", "Error while sharing" : "Erreur lors de la mise en partage", "Error while unsharing" : "Erreur lors de l'annulation du partage", @@ -90,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Partagé avec vous par {owner}", "Share with users or groups …" : "Partager avec des utilisateurs ou groupes...", "Share with users, groups or remote users …" : "Partager avec des utilisateurs, groupes, ou utilisateurs distants", + "Share" : "Partager", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Partagez avec des personnes sur d'autres ownClouds en utilisant la syntaxe utilisateur@exemple.com/owncloud", "Share link" : "Partager par lien public", "The public link will expire no later than {days} days after it is created" : "Ce lien public expirera au plus tard {days} jours après sa création.", @@ -136,7 +165,7 @@ OC.L10N.register( "Hello {name}, the weather is {weather}" : "Bonjour {name}, le temps est {weather}", "Hello {name}" : "Hello {name}", "_download %n file_::_download %n files_" : ["Télécharger %n fichier","Télécharger %n fichiers"], - "{version} is available. Get more information on how to update." : "La version {version} est disponible. Obtenez plus d'informations à propos de cette mise à jour.", + "{version} is available. Get more information on how to update." : "La version {version} est disponible. Cliquez ici pour plus d'informations à propos de cette mise à jour.", "Updating {productName} to version {version}, this may take a while." : "La mise à jour de {productName} vers la version {version} est en cours. Cela peut prendre un certain temps.", "Please reload the page." : "Veuillez recharger la page.", "The update was unsuccessful. " : "La mise à jour a échoué.", @@ -216,7 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "Veuillez contacter votre administrateur.", "An internal error occured." : "Une erreur interne est survenue.", "Please try again or contact your administrator." : "Veuillez réessayer ou contacter votre administrateur.", - "Forgot your password? Reset it!" : "Mot de passe oublié ? Réinitialisez-le !", + "Wrong password. Reset it?" : "Mot de passe incorrect. Réinitialiser ?", "remember" : "se souvenir de moi", "Log in" : "Connexion", "Alternative Logins" : "Identifiants alternatifs", @@ -229,8 +258,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Veuillez contacter votre administrateur. Si vous êtes administrateur de cette instance, configurez le paramètre « trusted_domain » dans le fichier config/config.php. Un exemple de configuration est fourni dans le fichier config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "En fonction de votre configuration, en tant qu'administrateur vous pouvez également utiliser le bouton ci-dessous pour approuver ce domaine.", "Add \"%s\" as trusted domain" : "Ajouter \"%s\" à la liste des domaines approuvés", - "%s will be updated to version %s." : "%s sera mis à jour vers la version %s.", - "The following apps will be disabled:" : "Les applications suivantes seront désactivées :", + "App update required" : "Mise à jour de l'application nécessaire", + "%s will be updated to version %s" : "%s sera mis à jour vers la version %s.", + "These apps will be updated:" : "Les applications suivantes seront mises à jour:", + "These incompatible apps will be disabled:" : "Ces applications incompatibles ont été désactivés:", "The theme %s has been disabled." : "Le thème %s a été désactivé.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Veuillez vous assurer qu'une copie de sauvegarde de la base de données, du dossier de configuration (config) et du dossier de données (data) a été réalisée avant de commencer.", "Start update" : "Démarrer la mise à jour", diff --git a/core/l10n/fr.json b/core/l10n/fr.json index dc45f141b1..7ee6a35ae2 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -11,6 +11,7 @@ "Repair error: " : "Erreur de réparation :", "Following incompatible apps have been disabled: %s" : "Les applications incompatibles suivantes ont été désactivées : %s", "Following apps have been disabled: %s" : "Les applications suivantes ont été désactivées : %s", + "File is too big" : "Fichier trop volumineux", "Invalid file provided" : "Fichier non valide", "No image or file provided" : "Aucun fichier fourni", "Unknown filetype" : "Type de fichier inconnu", @@ -26,6 +27,20 @@ "Thursday" : "Jeudi", "Friday" : "Vendredi", "Saturday" : "Samedi", + "Sun." : "Dim.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mer.", + "Thu." : "Jeu.", + "Fri." : "Ven.", + "Sat." : "Sam.", + "Su" : "Di", + "Mo" : "Lu", + "Tu" : "Ma", + "We" : "Me", + "Th" : "Je", + "Fr" : "Ve", + "Sa" : "Sa", "January" : "janvier", "February" : "février", "March" : "mars", @@ -38,6 +53,18 @@ "October" : "octobre", "November" : "novembre", "December" : "décembre", + "Jan." : "Jan.", + "Feb." : "Fév.", + "Mar." : "Mars", + "Apr." : "Avr.", + "May." : "Mai", + "Jun." : "Juin", + "Jul." : "Juil.", + "Aug." : "Août", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Déc.", "Settings" : "Paramètres", "Saving..." : "Enregistrement…", "Couldn't send reset email. Please contact your administrator." : "Impossible d'envoyer le courriel de réinitialisation. Veuillez contacter votre administrateur.", @@ -73,13 +100,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Votre dossier de données et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de façon à ce que ce dossier de données ne soit plus accessible, ou de le déplacer hors de la racine du serveur web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Aucun cache de la mémoire n'est configuré. Si possible, configurez un \"memcache\" pour augmenter les performances. Pour plus d'information consultez la documentation.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom n'est pas lisible par PHP, ce qui est fortement déconseillé pour des raisons de sécurité. Plus d'informations peuvent être trouvées dans notre documentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "La version de PHP utilisée ({version}) n'est plus prise en charge par les créateurs de PHP. Nous vous recommandons de mettre à niveau votre installation de PHP pour bénéficier de meilleures performances et des mises à jour de sécurité fournies par PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "L'entête du fichier de configuration du reverse proxy est incorrect, ou vous accédez ownCloud depuis un proxy de confiance. Si vous n'êtes pas en train d’accédé ownCloud depuis un proxy de confiance, ceci est un problème de sécurité and peut permettre à un attaquant de parodier son adresse IP visible par ownCloud. Plus d'information est accessible dans notre documentation.", "Error occurred while checking server setup" : "Une erreur s'est produite lors de la vérification de la configuration du serveur", "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." : "L'en-tête HTTP \"{header}\" n'est pas configurée pour être égale à \"{expected}\" créant potentiellement un risque relié à la sécurité et à la vie privée. Il est donc recommandé d'ajuster ce paramètre.", - "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à \"{seconds}\" secondes. Pour renforcer la sécurité nous recommandons d'activer HSTS comme décrit dans notre aide à la sécurité.", - "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans notre aide à la sécurité.", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "L'en-tête HTTP \"Strict-Transport-Security\" n'est pas configurée à \"{seconds}\" secondes. Pour renforcer la sécurité nous recommandons d'activer HSTS comme décrit dans notre Guide pour le renforcement et la sécurité.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Vous accédez à ce site via HTTP. Nous vous recommandons fortement de configurer votre serveur pour forcer l'utilisation de HTTPS, comme expliqué dans notre Guide pour le renforcement et la sécurité.", "Shared" : "Partagé", "Shared with {recipients}" : "Partagé avec {recipients}", - "Share" : "Partager", "Error" : "Erreur", "Error while sharing" : "Erreur lors de la mise en partage", "Error while unsharing" : "Erreur lors de l'annulation du partage", @@ -88,6 +116,7 @@ "Shared with you by {owner}" : "Partagé avec vous par {owner}", "Share with users or groups …" : "Partager avec des utilisateurs ou groupes...", "Share with users, groups or remote users …" : "Partager avec des utilisateurs, groupes, ou utilisateurs distants", + "Share" : "Partager", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Partagez avec des personnes sur d'autres ownClouds en utilisant la syntaxe utilisateur@exemple.com/owncloud", "Share link" : "Partager par lien public", "The public link will expire no later than {days} days after it is created" : "Ce lien public expirera au plus tard {days} jours après sa création.", @@ -134,7 +163,7 @@ "Hello {name}, the weather is {weather}" : "Bonjour {name}, le temps est {weather}", "Hello {name}" : "Hello {name}", "_download %n file_::_download %n files_" : ["Télécharger %n fichier","Télécharger %n fichiers"], - "{version} is available. Get more information on how to update." : "La version {version} est disponible. Obtenez plus d'informations à propos de cette mise à jour.", + "{version} is available. Get more information on how to update." : "La version {version} est disponible. Cliquez ici pour plus d'informations à propos de cette mise à jour.", "Updating {productName} to version {version}, this may take a while." : "La mise à jour de {productName} vers la version {version} est en cours. Cela peut prendre un certain temps.", "Please reload the page." : "Veuillez recharger la page.", "The update was unsuccessful. " : "La mise à jour a échoué.", @@ -214,7 +243,7 @@ "Please contact your administrator." : "Veuillez contacter votre administrateur.", "An internal error occured." : "Une erreur interne est survenue.", "Please try again or contact your administrator." : "Veuillez réessayer ou contacter votre administrateur.", - "Forgot your password? Reset it!" : "Mot de passe oublié ? Réinitialisez-le !", + "Wrong password. Reset it?" : "Mot de passe incorrect. Réinitialiser ?", "remember" : "se souvenir de moi", "Log in" : "Connexion", "Alternative Logins" : "Identifiants alternatifs", @@ -227,8 +256,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Veuillez contacter votre administrateur. Si vous êtes administrateur de cette instance, configurez le paramètre « trusted_domain » dans le fichier config/config.php. Un exemple de configuration est fourni dans le fichier config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "En fonction de votre configuration, en tant qu'administrateur vous pouvez également utiliser le bouton ci-dessous pour approuver ce domaine.", "Add \"%s\" as trusted domain" : "Ajouter \"%s\" à la liste des domaines approuvés", - "%s will be updated to version %s." : "%s sera mis à jour vers la version %s.", - "The following apps will be disabled:" : "Les applications suivantes seront désactivées :", + "App update required" : "Mise à jour de l'application nécessaire", + "%s will be updated to version %s" : "%s sera mis à jour vers la version %s.", + "These apps will be updated:" : "Les applications suivantes seront mises à jour:", + "These incompatible apps will be disabled:" : "Ces applications incompatibles ont été désactivés:", "The theme %s has been disabled." : "Le thème %s a été désactivé.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Veuillez vous assurer qu'une copie de sauvegarde de la base de données, du dossier de configuration (config) et du dossier de données (data) a été réalisée avant de commencer.", "Start update" : "Démarrer la mise à jour", diff --git a/core/l10n/gl.js b/core/l10n/gl.js index 5bf08ff861..c3cd630363 100644 --- a/core/l10n/gl.js +++ b/core/l10n/gl.js @@ -29,6 +29,20 @@ OC.L10N.register( "Thursday" : "xoves", "Friday" : "venres", "Saturday" : "sábado", + "Sun." : "dom.", + "Mon." : "lun.", + "Tue." : "mar.", + "Wed." : "mér.", + "Thu." : "xov.", + "Fri." : "ven.", + "Sat." : "sáb.", + "Su" : "do", + "Mo" : "lu", + "Tu" : "ma", + "We" : "mé", + "Th" : "xo", + "Fr" : "ve", + "Sa" : "sá", "January" : "xaneiro", "February" : "febreiro", "March" : "marzo", @@ -41,6 +55,18 @@ OC.L10N.register( "October" : "outubro", "November" : "novembro", "December" : "decembro", + "Jan." : "xan.", + "Feb." : "feb.", + "Mar." : "mar.", + "Apr." : "abr.", + "May." : "mai.", + "Jun." : "xuñ.", + "Jul." : "xul.", + "Aug." : "ago.", + "Sep." : "set.", + "Oct." : "out.", + "Nov." : "nov.", + "Dec." : "dec.", "Settings" : "Axustes", "Saving..." : "Gardando...", "Couldn't send reset email. Please contact your administrator." : "Non foi posíbel enviar o correo do restabelecemento. Póñase en contacto co administrador.", @@ -82,7 +108,6 @@ OC.L10N.register( "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Está accedendo a este sitio a través de HTTP. Suxerímoslle que configure o seu servidor para requirir, no seu canto, o uso de HTTPS, tal e como se descrine nosconsellos de seguridade.", "Shared" : "Compartido", "Shared with {recipients}" : "Compartido con {recipients}", - "Share" : "Compartir", "Error" : "Erro", "Error while sharing" : "Produciuse un erro ao compartir", "Error while unsharing" : "Produciuse un erro ao deixar de compartir", @@ -91,6 +116,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Compartido con vostede por {owner}", "Share with users or groups …" : "Compartir con usuarios ou grupos ...", "Share with users, groups or remote users …" : "Compartir con usuarios, grupos ou usuarios remotos ...", + "Share" : "Compartir", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Comparta con outra xente ou con outros ownClouds empregando a sintaxe «nomeusuario@exemplo.com/ouwncloud»", "Share link" : "Ligazón para compartir", "The public link will expire no later than {days} days after it is created" : "A ligazón pública caducará, a máis tardar, {days} días após a súa creación", @@ -217,7 +243,6 @@ OC.L10N.register( "Please contact your administrator." : "Contacte co administrador.", "An internal error occured." : "Produciuse un erro interno.", "Please try again or contact your administrator." : "Ténteo de novo ou póñase en contacto co administrador.", - "Forgot your password? Reset it!" : "Esqueceu o contrasinal? Restabelézao!", "remember" : "lembrar", "Log in" : "Conectar", "Alternative Logins" : "Accesos alternativos", @@ -230,8 +255,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Póñase en contacto co administrador. Se vostede é administrador desta instancia, configure o parámetro «trusted_domain» en config/config.php. Dispón dun exemplo de configuración en config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependendo da súa configuración, como administrador vostede podería utilizar o botón de embaixo para confiar neste dominio.", "Add \"%s\" as trusted domain" : "Engadir «%s» como dominio de confianza", - "%s will be updated to version %s." : "%s actualizarase á versión %s.", - "The following apps will be disabled:" : "Van desactivarse as seguintes aplicacións:", + "App update required" : "É necesario actualizar a aplicación", + "%s will be updated to version %s" : "%s actualizarase á versión %s", + "These apps will be updated:" : "Actualizaranse estas aplicacións:", + "These incompatible apps will be disabled:" : "Desactivaranse estas aplicacións incompatíbeis:", "The theme %s has been disabled." : "O tema %s foi desactivado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Asegúrese de ter feito unha copia de seguranza da base de datos, do cartafol de configuración e do cartafol de datos, antes de proceder.", "Start update" : "Iniciar a actualización", diff --git a/core/l10n/gl.json b/core/l10n/gl.json index fc30376190..72bb146e0e 100644 --- a/core/l10n/gl.json +++ b/core/l10n/gl.json @@ -27,6 +27,20 @@ "Thursday" : "xoves", "Friday" : "venres", "Saturday" : "sábado", + "Sun." : "dom.", + "Mon." : "lun.", + "Tue." : "mar.", + "Wed." : "mér.", + "Thu." : "xov.", + "Fri." : "ven.", + "Sat." : "sáb.", + "Su" : "do", + "Mo" : "lu", + "Tu" : "ma", + "We" : "mé", + "Th" : "xo", + "Fr" : "ve", + "Sa" : "sá", "January" : "xaneiro", "February" : "febreiro", "March" : "marzo", @@ -39,6 +53,18 @@ "October" : "outubro", "November" : "novembro", "December" : "decembro", + "Jan." : "xan.", + "Feb." : "feb.", + "Mar." : "mar.", + "Apr." : "abr.", + "May." : "mai.", + "Jun." : "xuñ.", + "Jul." : "xul.", + "Aug." : "ago.", + "Sep." : "set.", + "Oct." : "out.", + "Nov." : "nov.", + "Dec." : "dec.", "Settings" : "Axustes", "Saving..." : "Gardando...", "Couldn't send reset email. Please contact your administrator." : "Non foi posíbel enviar o correo do restabelecemento. Póñase en contacto co administrador.", @@ -80,7 +106,6 @@ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Está accedendo a este sitio a través de HTTP. Suxerímoslle que configure o seu servidor para requirir, no seu canto, o uso de HTTPS, tal e como se descrine nosconsellos de seguridade.", "Shared" : "Compartido", "Shared with {recipients}" : "Compartido con {recipients}", - "Share" : "Compartir", "Error" : "Erro", "Error while sharing" : "Produciuse un erro ao compartir", "Error while unsharing" : "Produciuse un erro ao deixar de compartir", @@ -89,6 +114,7 @@ "Shared with you by {owner}" : "Compartido con vostede por {owner}", "Share with users or groups …" : "Compartir con usuarios ou grupos ...", "Share with users, groups or remote users …" : "Compartir con usuarios, grupos ou usuarios remotos ...", + "Share" : "Compartir", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Comparta con outra xente ou con outros ownClouds empregando a sintaxe «nomeusuario@exemplo.com/ouwncloud»", "Share link" : "Ligazón para compartir", "The public link will expire no later than {days} days after it is created" : "A ligazón pública caducará, a máis tardar, {days} días após a súa creación", @@ -215,7 +241,6 @@ "Please contact your administrator." : "Contacte co administrador.", "An internal error occured." : "Produciuse un erro interno.", "Please try again or contact your administrator." : "Ténteo de novo ou póñase en contacto co administrador.", - "Forgot your password? Reset it!" : "Esqueceu o contrasinal? Restabelézao!", "remember" : "lembrar", "Log in" : "Conectar", "Alternative Logins" : "Accesos alternativos", @@ -228,8 +253,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Póñase en contacto co administrador. Se vostede é administrador desta instancia, configure o parámetro «trusted_domain» en config/config.php. Dispón dun exemplo de configuración en config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependendo da súa configuración, como administrador vostede podería utilizar o botón de embaixo para confiar neste dominio.", "Add \"%s\" as trusted domain" : "Engadir «%s» como dominio de confianza", - "%s will be updated to version %s." : "%s actualizarase á versión %s.", - "The following apps will be disabled:" : "Van desactivarse as seguintes aplicacións:", + "App update required" : "É necesario actualizar a aplicación", + "%s will be updated to version %s" : "%s actualizarase á versión %s", + "These apps will be updated:" : "Actualizaranse estas aplicacións:", + "These incompatible apps will be disabled:" : "Desactivaranse estas aplicacións incompatíbeis:", "The theme %s has been disabled." : "O tema %s foi desactivado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Asegúrese de ter feito unha copia de seguranza da base de datos, do cartafol de configuración e do cartafol de datos, antes de proceder.", "Start update" : "Iniciar a actualización", diff --git a/core/l10n/he.js b/core/l10n/he.js index e53e3f37b2..4ca06adfc5 100644 --- a/core/l10n/he.js +++ b/core/l10n/he.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "יום חמישי", "Friday" : "יום שישי", "Saturday" : "שבת", + "Sun." : "ראשון", + "Mon." : "שני", + "Tue." : "שלישי", + "Wed." : "רביעי", + "Thu." : "חמישי", + "Fri." : "שישי", + "Sat." : "שבת", "January" : "ינואר", "February" : "פברואר", "March" : "מרץ", @@ -20,6 +27,18 @@ OC.L10N.register( "October" : "אוקטובר", "November" : "נובמבר", "December" : "דצמבר", + "Jan." : "ינו׳", + "Feb." : "פבר׳", + "Mar." : "מרץ", + "Apr." : "אפר׳", + "May." : "מאי", + "Jun." : "יונ׳", + "Jul." : "יול׳", + "Aug." : "אוג׳", + "Sep." : "ספט׳", + "Oct." : "אוק׳", + "Nov." : "נוב׳", + "Dec." : "דצמ׳", "Settings" : "הגדרות", "Saving..." : "שמירה…", "No" : "לא", @@ -29,13 +48,13 @@ OC.L10N.register( "New Files" : "קבצים חדשים", "Cancel" : "ביטול", "Shared" : "שותף", - "Share" : "שתף", "Error" : "שגיאה", "Error while sharing" : "שגיאה במהלך השיתוף", "Error while unsharing" : "שגיאה במהלך ביטול השיתוף", "Error while changing permissions" : "שגיאה במהלך שינוי ההגדרות", "Shared with you and the group {group} by {owner}" : "שותף אתך ועם הקבוצה {group} שבבעלות {owner}", "Shared with you by {owner}" : "שותף אתך על ידי {owner}", + "Share" : "שתף", "Share link" : "קישור לשיתוף", "Password protect" : "הגנה בססמה", "Password" : "סיסמא", diff --git a/core/l10n/he.json b/core/l10n/he.json index 6f6686240e..f2013f1f62 100644 --- a/core/l10n/he.json +++ b/core/l10n/he.json @@ -6,6 +6,13 @@ "Thursday" : "יום חמישי", "Friday" : "יום שישי", "Saturday" : "שבת", + "Sun." : "ראשון", + "Mon." : "שני", + "Tue." : "שלישי", + "Wed." : "רביעי", + "Thu." : "חמישי", + "Fri." : "שישי", + "Sat." : "שבת", "January" : "ינואר", "February" : "פברואר", "March" : "מרץ", @@ -18,6 +25,18 @@ "October" : "אוקטובר", "November" : "נובמבר", "December" : "דצמבר", + "Jan." : "ינו׳", + "Feb." : "פבר׳", + "Mar." : "מרץ", + "Apr." : "אפר׳", + "May." : "מאי", + "Jun." : "יונ׳", + "Jul." : "יול׳", + "Aug." : "אוג׳", + "Sep." : "ספט׳", + "Oct." : "אוק׳", + "Nov." : "נוב׳", + "Dec." : "דצמ׳", "Settings" : "הגדרות", "Saving..." : "שמירה…", "No" : "לא", @@ -27,13 +46,13 @@ "New Files" : "קבצים חדשים", "Cancel" : "ביטול", "Shared" : "שותף", - "Share" : "שתף", "Error" : "שגיאה", "Error while sharing" : "שגיאה במהלך השיתוף", "Error while unsharing" : "שגיאה במהלך ביטול השיתוף", "Error while changing permissions" : "שגיאה במהלך שינוי ההגדרות", "Shared with you and the group {group} by {owner}" : "שותף אתך ועם הקבוצה {group} שבבעלות {owner}", "Shared with you by {owner}" : "שותף אתך על ידי {owner}", + "Share" : "שתף", "Share link" : "קישור לשיתוף", "Password protect" : "הגנה בססמה", "Password" : "סיסמא", diff --git a/core/l10n/hi.js b/core/l10n/hi.js index 4edc0dbeb3..48b726945a 100644 --- a/core/l10n/hi.js +++ b/core/l10n/hi.js @@ -23,8 +23,8 @@ OC.L10N.register( "Settings" : "सेटिंग्स", "Saving..." : "सहेज रहे हैं...", "Cancel" : "रद्द करें ", - "Share" : "साझा करें", "Error" : "त्रुटि", + "Share" : "साझा करें", "Password" : "पासवर्ड", "Send" : "भेजें", "Sending ..." : "भेजा जा रहा है", diff --git a/core/l10n/hi.json b/core/l10n/hi.json index cf6b6bb477..68a5ec96d2 100644 --- a/core/l10n/hi.json +++ b/core/l10n/hi.json @@ -21,8 +21,8 @@ "Settings" : "सेटिंग्स", "Saving..." : "सहेज रहे हैं...", "Cancel" : "रद्द करें ", - "Share" : "साझा करें", "Error" : "त्रुटि", + "Share" : "साझा करें", "Password" : "पासवर्ड", "Send" : "भेजें", "Sending ..." : "भेजा जा रहा है", diff --git a/core/l10n/hr.js b/core/l10n/hr.js index 487a85ae1d..d79d0a2e45 100644 --- a/core/l10n/hr.js +++ b/core/l10n/hr.js @@ -20,6 +20,13 @@ OC.L10N.register( "Thursday" : "Četvrtak", "Friday" : "Petak", "Saturday" : "Subota", + "Sun." : "ned.", + "Mon." : "pon.", + "Tue." : "ut.", + "Wed." : "sri.", + "Thu." : "čet.", + "Fri." : "pet.", + "Sat." : "sub.", "January" : "Siječanj", "February" : "Veljača", "March" : "Ožujak", @@ -32,6 +39,18 @@ OC.L10N.register( "October" : "Listopad", "November" : "Studeni", "December" : "Prosinac", + "Jan." : "sij.", + "Feb." : "velj.", + "Mar." : "ož.", + "Apr." : "trav.", + "May." : "svib.", + "Jun." : "lip.", + "Jul." : "srp.", + "Aug." : "kol.", + "Sep." : "ruj.", + "Oct." : "list.", + "Nov." : "stud.", + "Dec." : "pros.", "Settings" : "Postavke", "Saving..." : "Spremanje...", "Couldn't send reset email. Please contact your administrator." : "Nije mogće poslati resetiranu poštu. MOlimo kontaktirajte svog administratora.", @@ -65,13 +84,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Greška prilikom provjeri postavki servera", "Shared" : "Resurs podijeljen", "Shared with {recipients}" : "Resurs podijeljen s {recipients}", - "Share" : "Podijelite", "Error" : "Pogreška", "Error while sharing" : "Pogreška pri dijeljenju", "Error while unsharing" : "Pogreška pri prestanku dijeljenja", "Error while changing permissions" : "POgreška pri mijenjanju dozvola", "Shared with you and the group {group} by {owner}" : "Dijeljeno s vama i grupom {group} vlasnika {owner}", "Shared with you by {owner}" : "S vama podijelio {owner}", + "Share" : "Podijelite", "Share link" : "Podijelite vezu", "The public link will expire no later than {days} days after it is created" : " Javna veza ističe najkasnije {days} dana nakon što je kreirana", "Link" : "Poveznica", @@ -180,7 +199,6 @@ OC.L10N.register( "Search" : "pretraži", "Server side authentication failed!" : "Autentikacija na strani poslužitelja nije uspjela!", "Please contact your administrator." : "Molimo kontaktirajte svog administratora.", - "Forgot your password? Reset it!" : "Zaboravili ste svoju lozinku? Resetirajte ju!", "remember" : "Sjetite se", "Log in" : "Prijavite se", "Alternative Logins" : "Alternativne prijave", @@ -193,8 +211,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Molimo kontaktirajte svog administratora. Ako ste vi administrator ove instance,konfigurirajte postavku \"trusted_domain\" config/config.php.Primjer konfiguracije ponuđen je u config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Ovisno o vašoj konfiguraciji, kao administrator vi biste također mogli koristitigumb dolje za pristup toj domeni.", "Add \"%s\" as trusted domain" : "Dodajte \"%s\" kao pouzdanu domenu.", - "%s will be updated to version %s." : "%s će biti ažuriran u verziju %s", - "The following apps will be disabled:" : "Sljedeće aplikacije bit će onemogućene", "The theme %s has been disabled." : "Tema %s je onemogućena", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Prije nego li nastavite, molimo osigurajte da su baza podataka, mapa konfiguracije i mapaza podatke sigurnosno kopirani.", "Start update" : "Započnite ažuriranje", diff --git a/core/l10n/hr.json b/core/l10n/hr.json index 2f9877df2c..19637fb27a 100644 --- a/core/l10n/hr.json +++ b/core/l10n/hr.json @@ -18,6 +18,13 @@ "Thursday" : "Četvrtak", "Friday" : "Petak", "Saturday" : "Subota", + "Sun." : "ned.", + "Mon." : "pon.", + "Tue." : "ut.", + "Wed." : "sri.", + "Thu." : "čet.", + "Fri." : "pet.", + "Sat." : "sub.", "January" : "Siječanj", "February" : "Veljača", "March" : "Ožujak", @@ -30,6 +37,18 @@ "October" : "Listopad", "November" : "Studeni", "December" : "Prosinac", + "Jan." : "sij.", + "Feb." : "velj.", + "Mar." : "ož.", + "Apr." : "trav.", + "May." : "svib.", + "Jun." : "lip.", + "Jul." : "srp.", + "Aug." : "kol.", + "Sep." : "ruj.", + "Oct." : "list.", + "Nov." : "stud.", + "Dec." : "pros.", "Settings" : "Postavke", "Saving..." : "Spremanje...", "Couldn't send reset email. Please contact your administrator." : "Nije mogće poslati resetiranu poštu. MOlimo kontaktirajte svog administratora.", @@ -63,13 +82,13 @@ "Error occurred while checking server setup" : "Greška prilikom provjeri postavki servera", "Shared" : "Resurs podijeljen", "Shared with {recipients}" : "Resurs podijeljen s {recipients}", - "Share" : "Podijelite", "Error" : "Pogreška", "Error while sharing" : "Pogreška pri dijeljenju", "Error while unsharing" : "Pogreška pri prestanku dijeljenja", "Error while changing permissions" : "POgreška pri mijenjanju dozvola", "Shared with you and the group {group} by {owner}" : "Dijeljeno s vama i grupom {group} vlasnika {owner}", "Shared with you by {owner}" : "S vama podijelio {owner}", + "Share" : "Podijelite", "Share link" : "Podijelite vezu", "The public link will expire no later than {days} days after it is created" : " Javna veza ističe najkasnije {days} dana nakon što je kreirana", "Link" : "Poveznica", @@ -178,7 +197,6 @@ "Search" : "pretraži", "Server side authentication failed!" : "Autentikacija na strani poslužitelja nije uspjela!", "Please contact your administrator." : "Molimo kontaktirajte svog administratora.", - "Forgot your password? Reset it!" : "Zaboravili ste svoju lozinku? Resetirajte ju!", "remember" : "Sjetite se", "Log in" : "Prijavite se", "Alternative Logins" : "Alternativne prijave", @@ -191,8 +209,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Molimo kontaktirajte svog administratora. Ako ste vi administrator ove instance,konfigurirajte postavku \"trusted_domain\" config/config.php.Primjer konfiguracije ponuđen je u config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Ovisno o vašoj konfiguraciji, kao administrator vi biste također mogli koristitigumb dolje za pristup toj domeni.", "Add \"%s\" as trusted domain" : "Dodajte \"%s\" kao pouzdanu domenu.", - "%s will be updated to version %s." : "%s će biti ažuriran u verziju %s", - "The following apps will be disabled:" : "Sljedeće aplikacije bit će onemogućene", "The theme %s has been disabled." : "Tema %s je onemogućena", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Prije nego li nastavite, molimo osigurajte da su baza podataka, mapa konfiguracije i mapaza podatke sigurnosno kopirani.", "Start update" : "Započnite ažuriranje", diff --git a/core/l10n/hu_HU.js b/core/l10n/hu_HU.js index 54a327fe04..25a0caad57 100644 --- a/core/l10n/hu_HU.js +++ b/core/l10n/hu_HU.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "Javítás hiba:", "Following incompatible apps have been disabled: %s" : "A következő nem kompatibilis applikációk lettek tiltva: %s", "Following apps have been disabled: %s" : "A következő applikációk lettek tiltva: %s", + "File is too big" : "A fájl túl nagy", "Invalid file provided" : "Érvénytelen fájl van megadva", "No image or file provided" : "Nincs kép vagy fájl megadva", "Unknown filetype" : "Ismeretlen fájltípus", @@ -28,6 +29,20 @@ OC.L10N.register( "Thursday" : "csütörtök", "Friday" : "péntek", "Saturday" : "szombat", + "Sun." : "V.", + "Mon." : "H.", + "Tue." : "K.", + "Wed." : "Sze.", + "Thu." : "Cs.", + "Fri." : "P.", + "Sat." : "Szo.", + "Su" : "Va", + "Mo" : "Hé", + "Tu" : "Ke", + "We" : "Sze", + "Th" : "Cs", + "Fr" : "Pé", + "Sa" : "Szo", "January" : "január", "February" : "február", "March" : "március", @@ -40,6 +55,18 @@ OC.L10N.register( "October" : "október", "November" : "november", "December" : "december", + "Jan." : "jan.", + "Feb." : "feb.", + "Mar." : "márc.", + "Apr." : "ápr.", + "May." : "máj.", + "Jun." : "jún.", + "Jul." : "júl.", + "Aug." : "aug.", + "Sep." : "szept.", + "Oct." : "okt.", + "Nov." : "nov.", + "Dec." : "dec.", "Settings" : "Beállítások", "Saving..." : "Mentés...", "Couldn't send reset email. Please contact your administrator." : "Visszaállítási e-mail nem küldhető. Kérjük, lépjen kapcsolatba a rendszergazdával.", @@ -75,13 +102,13 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Az adat könyvtára és a fáljai valószínűleg elérhetőek az internetről. A .htaccess fájl nem működik. Erősen ajánlott, hogy úgy állítsa be a webszerverét, hogy az adatkönyvtár ne legyen elérhető az internetről, vagy mogassa ki az adatokat a webszerver gyökérkönyvtárából.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nem lett gyorsítótár memória beállítva. A teljesítmény növeléséhez kérem állítson be gyorsítótárat, ha lehetséges. További információ található az alábbi dokumentációban.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "a /dev/urandom eszköz nem elérhető PHP-ből, ami nagyon nagy biztonsági problémát jelent. További információ található az alábbi dokumentációban.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "A PHP verziód ({version}) már nem támogatott a PHP által. Javasoljuk, hogy frissítsd a PHP verziót, hogy kihasználd a teljesítménybeli és biztonsági javításokat.", "Error occurred while checking server setup" : "Hiba történt a szerver beállítások ellenőrzése közben", "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." : "A \"{header}\" HTTP fejléc nincs beállítva, hogy megegyezzen az elvárttal \"{expected}\". Ez egy potenciális biztonsági kockázat és kérjük, hogy változtassa meg a beállításokat.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "A \"Strict-Transport-Security\" HTTP fejléc nincs beállítva hogy \"{seconds}\" másodpercig tartson. Biztonsági okokból ajánljuk, hogy engedélyezze a HSTS, ahogyan ezt részletezzük a biztonsági tippek dokumentációban.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Jelenleg HTTP-vel éri el a weboldalt. Nagyon ajánlott a HTTPS konfiguráció használata ehelyett, ahogyan ezt részleteztük a biztonsági tippek dokumentációban", "Shared" : "Megosztott", "Shared with {recipients}" : "Megosztva ővelük: {recipients}", - "Share" : "Megosztás", "Error" : "Hiba", "Error while sharing" : "Nem sikerült létrehozni a megosztást", "Error while unsharing" : "Nem sikerült visszavonni a megosztást", @@ -90,6 +117,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Megosztotta Önnel: {owner}", "Share with users or groups …" : "Megosztás felhasználókkal vagy csoportokkal ...", "Share with users, groups or remote users …" : "Megosztás felhasználókkal, csoportokkal vagy távoli felhasználókkal ...", + "Share" : "Megosztás", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Megosztás más ownCloud szerverekkel, a következő formátum használatával felhasznalo@példa.com/owncloud", "Share link" : "Megosztás hivatkozással", "The public link will expire no later than {days} days after it is created" : "A nyilvános link érvényessége legkorábban {days} nappal a létrehozása után jár csak le", @@ -143,6 +171,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "A frissítés sikerült. Figyelmeztetések találhatók.", "The update was successful. Redirecting you to ownCloud now." : "A frissítés sikeres volt. Visszairányítjuk az ownCloud szolgáltatáshoz.", "Couldn't reset password because the token is invalid" : "Nem lehet a jelszót törölni, mert a token érvénytelen.", + "Couldn't reset password because the token is expired" : "Nem lehet a jelszót törölni, mert a token lejárt.", "Couldn't send reset email. Please make sure your username is correct." : "Visszaállítási e-mail nem küldhető. Kérjük, lépjen kapcsolatba a rendszergazdával. ", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Visszaállítási e-mail nem küldhető, mert nem tartozik e-mail cím ehhez a felhasználóhoz. Kérjük, lépjen kapcsolatba a rendszergazdával.", "%s password reset" : "%s jelszó visszaállítás", @@ -216,7 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "Kérjük, lépjen kapcsolatba a rendszergazdával.", "An internal error occured." : "Belső hiba történt.", "Please try again or contact your administrator." : "Kérem próbálja újra, vagy vegye fel a kapcsolatot a rendszergazdával.", - "Forgot your password? Reset it!" : "Elfelejtette a jelszavát? Állítsa vissza!", + "Wrong password. Reset it?" : "Hibás jelszó. Visszaállítja?", "remember" : "emlékezzen", "Log in" : "Bejelentkezés", "Alternative Logins" : "Alternatív bejelentkezés", @@ -229,8 +258,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kérjük keresse fel a rendszergazdát! Ha ennek a telepítésnek Ön a rendszergazdája, akkor állítsa be a config/config.php állományban a \"trusted_domain\" paramétert! A config/config.sample.php állományban talál példát a beállításra.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "A beállításoktól függően, rendszergazdaként lehetséges, hogy az alábbi gombot is használhatja a tartomány megbízhatóvá tételéhez.", "Add \"%s\" as trusted domain" : "Adjuk hozzá \"%s\"-t a megbízható tartományokhoz!", - "%s will be updated to version %s." : "%s frissítődni fog erre a verzióra: %s.", - "The following apps will be disabled:" : "A következő alkalmazások lesznek letiltva:", + "App update required" : "Alkalmazás frissítés szükséges", + "%s will be updated to version %s" : "%s frissítve lesz erre a verzióra: %s", + "These apps will be updated:" : "Ezek az alkalmazások lesznek frissítve:", + "These incompatible apps will be disabled:" : "Ezek az inkompatibilis alkalmazásik tiltva lesznek:", "The theme %s has been disabled." : "Ez a smink: %s letiltásra került.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Kérjük gondoskodjon róla, hogy elmentse az adatbázist, a konfigurációs mappa és az adatamappa tartalmát, mielőtt folytatja.", "Start update" : "A frissítés megkezdése", diff --git a/core/l10n/hu_HU.json b/core/l10n/hu_HU.json index 15e476cf28..9fe7b6e5d2 100644 --- a/core/l10n/hu_HU.json +++ b/core/l10n/hu_HU.json @@ -11,6 +11,7 @@ "Repair error: " : "Javítás hiba:", "Following incompatible apps have been disabled: %s" : "A következő nem kompatibilis applikációk lettek tiltva: %s", "Following apps have been disabled: %s" : "A következő applikációk lettek tiltva: %s", + "File is too big" : "A fájl túl nagy", "Invalid file provided" : "Érvénytelen fájl van megadva", "No image or file provided" : "Nincs kép vagy fájl megadva", "Unknown filetype" : "Ismeretlen fájltípus", @@ -26,6 +27,20 @@ "Thursday" : "csütörtök", "Friday" : "péntek", "Saturday" : "szombat", + "Sun." : "V.", + "Mon." : "H.", + "Tue." : "K.", + "Wed." : "Sze.", + "Thu." : "Cs.", + "Fri." : "P.", + "Sat." : "Szo.", + "Su" : "Va", + "Mo" : "Hé", + "Tu" : "Ke", + "We" : "Sze", + "Th" : "Cs", + "Fr" : "Pé", + "Sa" : "Szo", "January" : "január", "February" : "február", "March" : "március", @@ -38,6 +53,18 @@ "October" : "október", "November" : "november", "December" : "december", + "Jan." : "jan.", + "Feb." : "feb.", + "Mar." : "márc.", + "Apr." : "ápr.", + "May." : "máj.", + "Jun." : "jún.", + "Jul." : "júl.", + "Aug." : "aug.", + "Sep." : "szept.", + "Oct." : "okt.", + "Nov." : "nov.", + "Dec." : "dec.", "Settings" : "Beállítások", "Saving..." : "Mentés...", "Couldn't send reset email. Please contact your administrator." : "Visszaállítási e-mail nem küldhető. Kérjük, lépjen kapcsolatba a rendszergazdával.", @@ -73,13 +100,13 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Az adat könyvtára és a fáljai valószínűleg elérhetőek az internetről. A .htaccess fájl nem működik. Erősen ajánlott, hogy úgy állítsa be a webszerverét, hogy az adatkönyvtár ne legyen elérhető az internetről, vagy mogassa ki az adatokat a webszerver gyökérkönyvtárából.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nem lett gyorsítótár memória beállítva. A teljesítmény növeléséhez kérem állítson be gyorsítótárat, ha lehetséges. További információ található az alábbi dokumentációban.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "a /dev/urandom eszköz nem elérhető PHP-ből, ami nagyon nagy biztonsági problémát jelent. További információ található az alábbi dokumentációban.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "A PHP verziód ({version}) már nem támogatott a PHP által. Javasoljuk, hogy frissítsd a PHP verziót, hogy kihasználd a teljesítménybeli és biztonsági javításokat.", "Error occurred while checking server setup" : "Hiba történt a szerver beállítások ellenőrzése közben", "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." : "A \"{header}\" HTTP fejléc nincs beállítva, hogy megegyezzen az elvárttal \"{expected}\". Ez egy potenciális biztonsági kockázat és kérjük, hogy változtassa meg a beállításokat.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "A \"Strict-Transport-Security\" HTTP fejléc nincs beállítva hogy \"{seconds}\" másodpercig tartson. Biztonsági okokból ajánljuk, hogy engedélyezze a HSTS, ahogyan ezt részletezzük a biztonsági tippek dokumentációban.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Jelenleg HTTP-vel éri el a weboldalt. Nagyon ajánlott a HTTPS konfiguráció használata ehelyett, ahogyan ezt részleteztük a biztonsági tippek dokumentációban", "Shared" : "Megosztott", "Shared with {recipients}" : "Megosztva ővelük: {recipients}", - "Share" : "Megosztás", "Error" : "Hiba", "Error while sharing" : "Nem sikerült létrehozni a megosztást", "Error while unsharing" : "Nem sikerült visszavonni a megosztást", @@ -88,6 +115,7 @@ "Shared with you by {owner}" : "Megosztotta Önnel: {owner}", "Share with users or groups …" : "Megosztás felhasználókkal vagy csoportokkal ...", "Share with users, groups or remote users …" : "Megosztás felhasználókkal, csoportokkal vagy távoli felhasználókkal ...", + "Share" : "Megosztás", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Megosztás más ownCloud szerverekkel, a következő formátum használatával felhasznalo@példa.com/owncloud", "Share link" : "Megosztás hivatkozással", "The public link will expire no later than {days} days after it is created" : "A nyilvános link érvényessége legkorábban {days} nappal a létrehozása után jár csak le", @@ -141,6 +169,7 @@ "The update was successful. There were warnings." : "A frissítés sikerült. Figyelmeztetések találhatók.", "The update was successful. Redirecting you to ownCloud now." : "A frissítés sikeres volt. Visszairányítjuk az ownCloud szolgáltatáshoz.", "Couldn't reset password because the token is invalid" : "Nem lehet a jelszót törölni, mert a token érvénytelen.", + "Couldn't reset password because the token is expired" : "Nem lehet a jelszót törölni, mert a token lejárt.", "Couldn't send reset email. Please make sure your username is correct." : "Visszaállítási e-mail nem küldhető. Kérjük, lépjen kapcsolatba a rendszergazdával. ", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Visszaállítási e-mail nem küldhető, mert nem tartozik e-mail cím ehhez a felhasználóhoz. Kérjük, lépjen kapcsolatba a rendszergazdával.", "%s password reset" : "%s jelszó visszaállítás", @@ -214,7 +243,7 @@ "Please contact your administrator." : "Kérjük, lépjen kapcsolatba a rendszergazdával.", "An internal error occured." : "Belső hiba történt.", "Please try again or contact your administrator." : "Kérem próbálja újra, vagy vegye fel a kapcsolatot a rendszergazdával.", - "Forgot your password? Reset it!" : "Elfelejtette a jelszavát? Állítsa vissza!", + "Wrong password. Reset it?" : "Hibás jelszó. Visszaállítja?", "remember" : "emlékezzen", "Log in" : "Bejelentkezés", "Alternative Logins" : "Alternatív bejelentkezés", @@ -227,8 +256,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kérjük keresse fel a rendszergazdát! Ha ennek a telepítésnek Ön a rendszergazdája, akkor állítsa be a config/config.php állományban a \"trusted_domain\" paramétert! A config/config.sample.php állományban talál példát a beállításra.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "A beállításoktól függően, rendszergazdaként lehetséges, hogy az alábbi gombot is használhatja a tartomány megbízhatóvá tételéhez.", "Add \"%s\" as trusted domain" : "Adjuk hozzá \"%s\"-t a megbízható tartományokhoz!", - "%s will be updated to version %s." : "%s frissítődni fog erre a verzióra: %s.", - "The following apps will be disabled:" : "A következő alkalmazások lesznek letiltva:", + "App update required" : "Alkalmazás frissítés szükséges", + "%s will be updated to version %s" : "%s frissítve lesz erre a verzióra: %s", + "These apps will be updated:" : "Ezek az alkalmazások lesznek frissítve:", + "These incompatible apps will be disabled:" : "Ezek az inkompatibilis alkalmazásik tiltva lesznek:", "The theme %s has been disabled." : "Ez a smink: %s letiltásra került.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Kérjük gondoskodjon róla, hogy elmentse az adatbázist, a konfigurációs mappa és az adatamappa tartalmát, mielőtt folytatja.", "Start update" : "A frissítés megkezdése", diff --git a/core/l10n/hy.js b/core/l10n/hy.js index 26250b0c55..e0a9e3060f 100644 --- a/core/l10n/hy.js +++ b/core/l10n/hy.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "Հինգշաբթի", "Friday" : "Ուրբաթ", "Saturday" : "Շաբաթ", + "Sun." : "Կիր.", + "Mon." : "Երկ.", + "Tue." : "Երք.", + "Wed." : "Չոր.", + "Thu." : "Հնգ.", + "Fri." : "Ուրբ.", + "Sat." : "Շաբ.", "January" : "Հունվար", "February" : "Փետրվար", "March" : "Մարտ", diff --git a/core/l10n/hy.json b/core/l10n/hy.json index 76a0da8ccd..89a76b1626 100644 --- a/core/l10n/hy.json +++ b/core/l10n/hy.json @@ -6,6 +6,13 @@ "Thursday" : "Հինգշաբթի", "Friday" : "Ուրբաթ", "Saturday" : "Շաբաթ", + "Sun." : "Կիր.", + "Mon." : "Երկ.", + "Tue." : "Երք.", + "Wed." : "Չոր.", + "Thu." : "Հնգ.", + "Fri." : "Ուրբ.", + "Sat." : "Շաբ.", "January" : "Հունվար", "February" : "Փետրվար", "March" : "Մարտ", diff --git a/core/l10n/ia.js b/core/l10n/ia.js index fdadf0c984..201585e989 100644 --- a/core/l10n/ia.js +++ b/core/l10n/ia.js @@ -19,6 +19,13 @@ OC.L10N.register( "Thursday" : "Jovedi", "Friday" : "Venerdi", "Saturday" : "Sabbato", + "Sun." : "Dom.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mer.", + "Thu." : "Jov.", + "Fri." : "Ven.", + "Sat." : "Sab.", "January" : "januario", "February" : "Februario", "March" : "Martio", @@ -31,6 +38,18 @@ OC.L10N.register( "October" : "Octobre", "November" : "Novembre", "December" : "Decembre", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Configurationes", "Saving..." : "Salveguardante...", "Couldn't send reset email. Please contact your administrator." : "On non pote inviar message de configurar ex novo. Pro favor continge tu administrator.", @@ -56,13 +75,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Un error occurreva quando on verificava le configuration de le servitor.", "Shared" : "Compartite", "Shared with {recipients}" : "Compatite con {recipients}", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Error quando on compartiva", "Error while unsharing" : "Error quando on levava le compartir", "Error while changing permissions" : "Error quando on modificava permissiones", "Shared with you and the group {group} by {owner}" : "Compartite con te e le gruppo {group} per {owner}", "Shared with you by {owner}" : "Compartite con te per {owner} ", + "Share" : "Compartir", "Share link" : "Compartir ligamine", "Password protect" : "Protegite per contrasigno", "Password" : "Contrasigno", @@ -137,7 +156,6 @@ OC.L10N.register( "Search" : "Cercar", "Server side authentication failed!" : "Il falleva authentication de latere servitor!", "Please contact your administrator." : "Pro favor continge tu administrator.", - "Forgot your password? Reset it!" : "Tu oblidava tu contrasigno? Re-configura lo!", "remember" : "memora", "Log in" : "Aperir session", "Alternative Logins" : "Accessos de autorisation alternative", diff --git a/core/l10n/ia.json b/core/l10n/ia.json index f00f484482..2f4d11bfcf 100644 --- a/core/l10n/ia.json +++ b/core/l10n/ia.json @@ -17,6 +17,13 @@ "Thursday" : "Jovedi", "Friday" : "Venerdi", "Saturday" : "Sabbato", + "Sun." : "Dom.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mer.", + "Thu." : "Jov.", + "Fri." : "Ven.", + "Sat." : "Sab.", "January" : "januario", "February" : "Februario", "March" : "Martio", @@ -29,6 +36,18 @@ "October" : "Octobre", "November" : "Novembre", "December" : "Decembre", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Configurationes", "Saving..." : "Salveguardante...", "Couldn't send reset email. Please contact your administrator." : "On non pote inviar message de configurar ex novo. Pro favor continge tu administrator.", @@ -54,13 +73,13 @@ "Error occurred while checking server setup" : "Un error occurreva quando on verificava le configuration de le servitor.", "Shared" : "Compartite", "Shared with {recipients}" : "Compatite con {recipients}", - "Share" : "Compartir", "Error" : "Error", "Error while sharing" : "Error quando on compartiva", "Error while unsharing" : "Error quando on levava le compartir", "Error while changing permissions" : "Error quando on modificava permissiones", "Shared with you and the group {group} by {owner}" : "Compartite con te e le gruppo {group} per {owner}", "Shared with you by {owner}" : "Compartite con te per {owner} ", + "Share" : "Compartir", "Share link" : "Compartir ligamine", "Password protect" : "Protegite per contrasigno", "Password" : "Contrasigno", @@ -135,7 +154,6 @@ "Search" : "Cercar", "Server side authentication failed!" : "Il falleva authentication de latere servitor!", "Please contact your administrator." : "Pro favor continge tu administrator.", - "Forgot your password? Reset it!" : "Tu oblidava tu contrasigno? Re-configura lo!", "remember" : "memora", "Log in" : "Aperir session", "Alternative Logins" : "Accessos de autorisation alternative", diff --git a/core/l10n/id.js b/core/l10n/id.js index b9ea68320a..ea5f96015d 100644 --- a/core/l10n/id.js +++ b/core/l10n/id.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "Kesalahan perbaikan:", "Following incompatible apps have been disabled: %s" : "Aplikasi tidak kompatibel berikut telah dinonaktifkan: %s", "Following apps have been disabled: %s" : "Aplikasi berikut telah dinonaktifkan: %s", + "File is too big" : "Berkas terlalu besar", "Invalid file provided" : "Berkas yang diberikan tidak sah", "No image or file provided" : "Tidak ada gambar atau berkas yang disediakan", "Unknown filetype" : "Tipe berkas tidak dikenal", @@ -28,6 +29,20 @@ OC.L10N.register( "Thursday" : "Kamis", "Friday" : "Jumat", "Saturday" : "Sabtu", + "Sun." : "Min.", + "Mon." : "Sen.", + "Tue." : "Sel.", + "Wed." : "Rab.", + "Thu." : "Kam.", + "Fri." : "Jum.", + "Sat." : "Sab.", + "Su" : "Min", + "Mo" : "Sen", + "Tu" : "Sel", + "We" : "Rab", + "Th" : "Kam", + "Fr" : "Jum", + "Sa" : "Sab", "January" : "Januari", "February" : "Februari", "March" : "Maret", @@ -40,6 +55,18 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "Desember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mei", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Agu.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Des.", "Settings" : "Pengaturan", "Saving..." : "Menyimpan...", "Couldn't send reset email. Please contact your administrator." : "Tidak dapat mengirim email setel ulang. Silakan hubungi administrator Anda.", @@ -75,13 +102,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Direktori data dan berkas Anda kemungkinan dapat diakses dari Internet. Berkas .htaccess tidak bekerja. Kami sangat menyarankan Anda untuk mengkonfigurasi server web agar direktori data tidak lagi dapat diakses atau pindahkan direktori data Anda di luar root dokumen server web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Tembolok memori tidak dikonfigurasi. Untuk meningkatkan kinerja, mohon konfigurasi memcache jika tersedia. Informasi lebih lanjut dapat ditemukan di dokumentasi kami.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom tidak terbaca oleh PHP sangat disarankan untuk alasan keamanan. Informasi lebih lanjut dapat ditemukan di dokumentasi kami.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Versi PHP Anda ({version}) tidak lagi didukung oleh PHP. Kami menyarankan Anda untuk meningkatkan versi PHP Anda agar mendapatkan keuntungan pembaruan kinerja dan keamanan yang disediakan oleh PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Konfigurasi header reverse proxy tidak benar atau Anda mengakses ownCloud dari proxy yang tidak terpercaya. Jika Anda tidak mengakses ownCloud dari proxy yang terpercaya, ini merupakan masalah keamanan dan memungkinkan peretas dapat memalsukan alamat IP mereka yang terlihat pada ownCloud. Informasi lebih lanjut dapat ditemukan pada dokumentasi kami.", "Error occurred while checking server setup" : "Kesalahan tidak terduga saat memeriksa setelan server", "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 \"{header}\" tidak dikonfigurasi sama dengan \"{expected}\". Hal ini berpotensi pada resiko keamanan dan privasi. Kami sarankan untuk menyesuaikan pengaturan ini.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP header \"Strict-Transport-Security\" tidak diatur kurang dari \"{seconds}\" detik. Untuk peningkatan keamanan, kami menyarankan untuk mengaktifkan HSTS seperti yang dijelaskan di tips keamanan.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Anda mengakses situs ini via HTTP. Kami sangat menyarankan Anda untuk mengatur server Anda menggunakan HTTPS yang dibahas di tips keamanan kami.", "Shared" : "Dibagikan", "Shared with {recipients}" : "Dibagikan dengan {recipients}", - "Share" : "Bagikan", "Error" : "Kesalahan", "Error while sharing" : "Kesalahan saat membagikan", "Error while unsharing" : "Kesalahan saat membatalkan pembagian", @@ -90,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Dibagikan dengan anda oleh {owner}", "Share with users or groups …" : "Bagikan dengan pengguna atau grup ...", "Share with users, groups or remote users …" : "Bagikan dengan pengguna, grup atau pengguna remote ...", + "Share" : "Bagikan", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Bagikan dengan orang lain di ownCloud menggunakan sintaks username@example.com/owncloud", "Share link" : "Bagikan tautan", "The public link will expire no later than {days} days after it is created" : "Tautan publik akan kadaluarsa tidak lebih dari {days} hari setelah ini dibuat", @@ -216,7 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "Silahkan hubungi administrator anda.", "An internal error occured." : "Terjadi kesalahan internal.", "Please try again or contact your administrator." : "Mohon coba lagi atau hubungi administrator Anda.", - "Forgot your password? Reset it!" : "Lupa sandi Anda? Setel ulang!", + "Wrong password. Reset it?" : "Sandi salah. Atur ulang?", "remember" : "selalu masuk", "Log in" : "Masuk", "Alternative Logins" : "Cara Alternatif untuk Masuk", @@ -229,8 +258,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Mohon hubungi administrator Anda. Jika Anda seorang administrator dari instansi ini, konfigurasikan pengaturan \"trusted_domain\" didalam config/config.php. Contoh konfigurasi talah disediakan didalam config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Tergantung pada konfigurasi Anda, sebagai seorang administrator Anda kemungkinan dapat menggunakan tombol bawah untuk mempercayai domain ini.", "Add \"%s\" as trusted domain" : "tambahkan \"%s\" sebagai domain terpercaya", - "%s will be updated to version %s." : "%s akan diperbarui ke versi %s.", - "The following apps will be disabled:" : "Aplikasi berikut akan dinonaktifkan:", + "App update required" : "Diperlukan perbarui aplikasi", + "%s will be updated to version %s" : "%s akan diperbaarui ke versi %s", + "These apps will be updated:" : "Aplikasi berikut akan diperbarui:", + "These incompatible apps will be disabled:" : "Aplikasi yang tidak kompatibel berikut akan dinonaktifkan:", "The theme %s has been disabled." : "Tema %s telah dinonaktfkan.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Pastikan bahwa basis data, folder konfig, dan folder data telah dicadangkan sebelum melanjutkan.", "Start update" : "Jalankan pembaruan", diff --git a/core/l10n/id.json b/core/l10n/id.json index 0fa7b8134a..606cdb063a 100644 --- a/core/l10n/id.json +++ b/core/l10n/id.json @@ -11,6 +11,7 @@ "Repair error: " : "Kesalahan perbaikan:", "Following incompatible apps have been disabled: %s" : "Aplikasi tidak kompatibel berikut telah dinonaktifkan: %s", "Following apps have been disabled: %s" : "Aplikasi berikut telah dinonaktifkan: %s", + "File is too big" : "Berkas terlalu besar", "Invalid file provided" : "Berkas yang diberikan tidak sah", "No image or file provided" : "Tidak ada gambar atau berkas yang disediakan", "Unknown filetype" : "Tipe berkas tidak dikenal", @@ -26,6 +27,20 @@ "Thursday" : "Kamis", "Friday" : "Jumat", "Saturday" : "Sabtu", + "Sun." : "Min.", + "Mon." : "Sen.", + "Tue." : "Sel.", + "Wed." : "Rab.", + "Thu." : "Kam.", + "Fri." : "Jum.", + "Sat." : "Sab.", + "Su" : "Min", + "Mo" : "Sen", + "Tu" : "Sel", + "We" : "Rab", + "Th" : "Kam", + "Fr" : "Jum", + "Sa" : "Sab", "January" : "Januari", "February" : "Februari", "March" : "Maret", @@ -38,6 +53,18 @@ "October" : "Oktober", "November" : "November", "December" : "Desember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mei", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Agu.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Des.", "Settings" : "Pengaturan", "Saving..." : "Menyimpan...", "Couldn't send reset email. Please contact your administrator." : "Tidak dapat mengirim email setel ulang. Silakan hubungi administrator Anda.", @@ -73,13 +100,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Direktori data dan berkas Anda kemungkinan dapat diakses dari Internet. Berkas .htaccess tidak bekerja. Kami sangat menyarankan Anda untuk mengkonfigurasi server web agar direktori data tidak lagi dapat diakses atau pindahkan direktori data Anda di luar root dokumen server web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Tembolok memori tidak dikonfigurasi. Untuk meningkatkan kinerja, mohon konfigurasi memcache jika tersedia. Informasi lebih lanjut dapat ditemukan di dokumentasi kami.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom tidak terbaca oleh PHP sangat disarankan untuk alasan keamanan. Informasi lebih lanjut dapat ditemukan di dokumentasi kami.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Versi PHP Anda ({version}) tidak lagi didukung oleh PHP. Kami menyarankan Anda untuk meningkatkan versi PHP Anda agar mendapatkan keuntungan pembaruan kinerja dan keamanan yang disediakan oleh PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Konfigurasi header reverse proxy tidak benar atau Anda mengakses ownCloud dari proxy yang tidak terpercaya. Jika Anda tidak mengakses ownCloud dari proxy yang terpercaya, ini merupakan masalah keamanan dan memungkinkan peretas dapat memalsukan alamat IP mereka yang terlihat pada ownCloud. Informasi lebih lanjut dapat ditemukan pada dokumentasi kami.", "Error occurred while checking server setup" : "Kesalahan tidak terduga saat memeriksa setelan server", "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 \"{header}\" tidak dikonfigurasi sama dengan \"{expected}\". Hal ini berpotensi pada resiko keamanan dan privasi. Kami sarankan untuk menyesuaikan pengaturan ini.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "HTTP header \"Strict-Transport-Security\" tidak diatur kurang dari \"{seconds}\" detik. Untuk peningkatan keamanan, kami menyarankan untuk mengaktifkan HSTS seperti yang dijelaskan di tips keamanan.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Anda mengakses situs ini via HTTP. Kami sangat menyarankan Anda untuk mengatur server Anda menggunakan HTTPS yang dibahas di tips keamanan kami.", "Shared" : "Dibagikan", "Shared with {recipients}" : "Dibagikan dengan {recipients}", - "Share" : "Bagikan", "Error" : "Kesalahan", "Error while sharing" : "Kesalahan saat membagikan", "Error while unsharing" : "Kesalahan saat membatalkan pembagian", @@ -88,6 +116,7 @@ "Shared with you by {owner}" : "Dibagikan dengan anda oleh {owner}", "Share with users or groups …" : "Bagikan dengan pengguna atau grup ...", "Share with users, groups or remote users …" : "Bagikan dengan pengguna, grup atau pengguna remote ...", + "Share" : "Bagikan", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Bagikan dengan orang lain di ownCloud menggunakan sintaks username@example.com/owncloud", "Share link" : "Bagikan tautan", "The public link will expire no later than {days} days after it is created" : "Tautan publik akan kadaluarsa tidak lebih dari {days} hari setelah ini dibuat", @@ -214,7 +243,7 @@ "Please contact your administrator." : "Silahkan hubungi administrator anda.", "An internal error occured." : "Terjadi kesalahan internal.", "Please try again or contact your administrator." : "Mohon coba lagi atau hubungi administrator Anda.", - "Forgot your password? Reset it!" : "Lupa sandi Anda? Setel ulang!", + "Wrong password. Reset it?" : "Sandi salah. Atur ulang?", "remember" : "selalu masuk", "Log in" : "Masuk", "Alternative Logins" : "Cara Alternatif untuk Masuk", @@ -227,8 +256,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Mohon hubungi administrator Anda. Jika Anda seorang administrator dari instansi ini, konfigurasikan pengaturan \"trusted_domain\" didalam config/config.php. Contoh konfigurasi talah disediakan didalam config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Tergantung pada konfigurasi Anda, sebagai seorang administrator Anda kemungkinan dapat menggunakan tombol bawah untuk mempercayai domain ini.", "Add \"%s\" as trusted domain" : "tambahkan \"%s\" sebagai domain terpercaya", - "%s will be updated to version %s." : "%s akan diperbarui ke versi %s.", - "The following apps will be disabled:" : "Aplikasi berikut akan dinonaktifkan:", + "App update required" : "Diperlukan perbarui aplikasi", + "%s will be updated to version %s" : "%s akan diperbaarui ke versi %s", + "These apps will be updated:" : "Aplikasi berikut akan diperbarui:", + "These incompatible apps will be disabled:" : "Aplikasi yang tidak kompatibel berikut akan dinonaktifkan:", "The theme %s has been disabled." : "Tema %s telah dinonaktfkan.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Pastikan bahwa basis data, folder konfig, dan folder data telah dicadangkan sebelum melanjutkan.", "Start update" : "Jalankan pembaruan", diff --git a/core/l10n/is.js b/core/l10n/is.js index 6b99bff9c0..8c766a2950 100644 --- a/core/l10n/is.js +++ b/core/l10n/is.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "Fimmtudagur", "Friday" : "Föstudagur", "Saturday" : "Laugardagur", + "Sun." : "Sun.", + "Mon." : "Mán.", + "Tue." : "Þri.", + "Wed." : "Mið.", + "Thu." : "Fim.", + "Fri." : "Fös.", + "Sat." : "Lau.", "January" : "Janúar", "February" : "Febrúar", "March" : "Mars", @@ -20,6 +27,18 @@ OC.L10N.register( "October" : "Október", "November" : "Nóvember", "December" : "Desember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maí.", + "Jun." : "Jún.", + "Jul." : "Júl.", + "Aug." : "Ágú.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nóv.", + "Dec." : "Des.", "Settings" : "Stillingar", "Saving..." : "Er að vista ...", "No" : "Nei", @@ -28,13 +47,13 @@ OC.L10N.register( "Ok" : "Í lagi", "Cancel" : "Hætta við", "Shared" : "Deilt", - "Share" : "Deila", "Error" : "Villa", "Error while sharing" : "Villa við deilingu", "Error while unsharing" : "Villa við að hætta deilingu", "Error while changing permissions" : "Villa við að breyta aðgangsheimildum", "Shared with you and the group {group} by {owner}" : "Deilt með þér og hópnum {group} af {owner}", "Shared with you by {owner}" : "Deilt með þér af {owner}", + "Share" : "Deila", "Password protect" : "Verja með lykilorði", "Password" : "Lykilorð", "Email link to person" : "Senda vefhlekk í tölvupóstu til notenda", @@ -78,7 +97,8 @@ OC.L10N.register( "Database host" : "Netþjónn gagnagrunns", "Finish setup" : "Virkja uppsetningu", "Log out" : "Útskrá", + "Search" : "Leita", "remember" : "muna eftir mér", "Log in" : "Skrá inn" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/core/l10n/is.json b/core/l10n/is.json index 75958bafa5..9d31cea8c9 100644 --- a/core/l10n/is.json +++ b/core/l10n/is.json @@ -6,6 +6,13 @@ "Thursday" : "Fimmtudagur", "Friday" : "Föstudagur", "Saturday" : "Laugardagur", + "Sun." : "Sun.", + "Mon." : "Mán.", + "Tue." : "Þri.", + "Wed." : "Mið.", + "Thu." : "Fim.", + "Fri." : "Fös.", + "Sat." : "Lau.", "January" : "Janúar", "February" : "Febrúar", "March" : "Mars", @@ -18,6 +25,18 @@ "October" : "Október", "November" : "Nóvember", "December" : "Desember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maí.", + "Jun." : "Jún.", + "Jul." : "Júl.", + "Aug." : "Ágú.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nóv.", + "Dec." : "Des.", "Settings" : "Stillingar", "Saving..." : "Er að vista ...", "No" : "Nei", @@ -26,13 +45,13 @@ "Ok" : "Í lagi", "Cancel" : "Hætta við", "Shared" : "Deilt", - "Share" : "Deila", "Error" : "Villa", "Error while sharing" : "Villa við deilingu", "Error while unsharing" : "Villa við að hætta deilingu", "Error while changing permissions" : "Villa við að breyta aðgangsheimildum", "Shared with you and the group {group} by {owner}" : "Deilt með þér og hópnum {group} af {owner}", "Shared with you by {owner}" : "Deilt með þér af {owner}", + "Share" : "Deila", "Password protect" : "Verja með lykilorði", "Password" : "Lykilorð", "Email link to person" : "Senda vefhlekk í tölvupóstu til notenda", @@ -76,7 +95,8 @@ "Database host" : "Netþjónn gagnagrunns", "Finish setup" : "Virkja uppsetningu", "Log out" : "Útskrá", + "Search" : "Leita", "remember" : "muna eftir mér", "Log in" : "Skrá inn" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/core/l10n/it.js b/core/l10n/it.js index 67438dc4c9..40db606eea 100644 --- a/core/l10n/it.js +++ b/core/l10n/it.js @@ -29,6 +29,20 @@ OC.L10N.register( "Thursday" : "Giovedì", "Friday" : "Venerdì", "Saturday" : "Sabato", + "Sun." : "Dom.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mer.", + "Thu." : "Gio.", + "Fri." : "Ven.", + "Sat." : "Sab.", + "Su" : "Do", + "Mo" : "Lu", + "Tu" : "Ma", + "We" : "Me", + "Th" : "Gi", + "Fr" : "Ve", + "Sa" : "Sa", "January" : "Gennaio", "February" : "Febbraio", "March" : "Marzo", @@ -41,6 +55,18 @@ OC.L10N.register( "October" : "Ottobre", "November" : "Novembre", "December" : "Dicembre", + "Jan." : "Gen.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mag.", + "Jun." : "Giu.", + "Jul." : "Lug.", + "Aug." : "Ago.", + "Sep." : "Set.", + "Oct." : "Ott.", + "Nov." : "Nov.", + "Dec." : "Dic.", "Settings" : "Impostazioni", "Saving..." : "Salvataggio in corso...", "Couldn't send reset email. Please contact your administrator." : "Impossibile inviare l'email di reimpostazione. Contatta il tuo amministratore.", @@ -76,13 +102,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet.\nIl file .htaccess non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o di spostare la cartella fuori dalla radice del server web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Non è stata configurata alcuna cache di memoria. Per migliorare le prestazioni configura memcache, se disponibile. Ulteriori informazioni sono disponibili nella nostra documentazione.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella nostra documentazione.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "La tua versione ({version}) di PHP non è più supportata da PHP. Ti esortiamo ad aggiornare la versione di PHP per trarre vantaggio dagli aggiornamenti in termini di prestazioni e sicurezza forniti da PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "La configurazione delle intestazioni del proxy inverso non è corretta, o stai effettuando l'accesso a ownCloud da un proxy affidabile. Se non stai effettuando l'accesso da un proxy affidabile, questo è un problema di sicurezza e può consentire a un attaccante di falsificare il suo indirizzo IP, rendendo visibile a ownCloud. Ulteriori informazioni sono disponibili nella nostra documentazione.", "Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server", "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." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". \nQuesto è un potenziale rischio di sicurezza o di riservatezza dei dati e noi consigliamo di modificare questa impostazione.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore almeno di \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei nostri consigli sulla sicurezza.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece l'utilizzo del protocollo HTTPS, come descritto nei nostri consigli sulla sicurezza.", "Shared" : "Condiviso", "Shared with {recipients}" : "Condiviso con {recipients}", - "Share" : "Condividi", "Error" : "Errore", "Error while sharing" : "Errore durante la condivisione", "Error while unsharing" : "Errore durante la rimozione della condivisione", @@ -91,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Condiviso con te da {owner}", "Share with users or groups …" : "Condividi con utenti o gruppi...", "Share with users, groups or remote users …" : "Condividi con utenti, gruppi o utenti remoti...", + "Share" : "Condividi", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Condividi con persone su altri ownCloud utilizzando la sintassi nomeutente@esempio.com/owncloud", "Share link" : "Condividi collegamento", "The public link will expire no later than {days} days after it is created" : "Il collegamento pubblico scadrà non più tardi di {days} giorni dopo la sua creazione", @@ -217,7 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "Contatta il tuo amministratore di sistema.", "An internal error occured." : "Si è verificato un errore interno.", "Please try again or contact your administrator." : "Prova ancora o contatta il tuo amministratore.", - "Forgot your password? Reset it!" : "Hai dimenticato la password? Reimpostala!", + "Wrong password. Reset it?" : "Password errata. Vuoi reimpostarla?", "remember" : "ricorda", "Log in" : "Accedi", "Alternative Logins" : "Accessi alternativi", @@ -230,8 +258,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contatta il tuo amministratore di sistema. Se sei un amministratore di questa istanza, configura l'impostazione \"trusted_domain\" in config/config.php. Un esempio di configurazione è disponibile in config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "In base alla tua configurazione, come amministratore potrai utilizzare anche il pulsante in basso per rendere attendibile questo dominio.", "Add \"%s\" as trusted domain" : "Aggiungi \"%s\" come dominio attendibile", - "%s will be updated to version %s." : "%s sarà aggiornato alla versione %s.", - "The following apps will be disabled:" : "Le seguenti applicazioni saranno disabilitate:", + "App update required" : "Aggiornamento dell'applicazione richiesto", + "%s will be updated to version %s" : "%s sarà aggiornato alla versione %s", + "These apps will be updated:" : "Queste applicazioni saranno aggiornate:", + "These incompatible apps will be disabled:" : "Queste applicazioni incompatibili saranno disabilitate:", "The theme %s has been disabled." : "Il tema %s è stato disabilitato.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Assicurati di aver creato una copia di sicurezza del database, della cartella config e della cartella data prima di procedere. ", "Start update" : "Avvia l'aggiornamento", diff --git a/core/l10n/it.json b/core/l10n/it.json index 05f260041d..f603577e47 100644 --- a/core/l10n/it.json +++ b/core/l10n/it.json @@ -27,6 +27,20 @@ "Thursday" : "Giovedì", "Friday" : "Venerdì", "Saturday" : "Sabato", + "Sun." : "Dom.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mer.", + "Thu." : "Gio.", + "Fri." : "Ven.", + "Sat." : "Sab.", + "Su" : "Do", + "Mo" : "Lu", + "Tu" : "Ma", + "We" : "Me", + "Th" : "Gi", + "Fr" : "Ve", + "Sa" : "Sa", "January" : "Gennaio", "February" : "Febbraio", "March" : "Marzo", @@ -39,6 +53,18 @@ "October" : "Ottobre", "November" : "Novembre", "December" : "Dicembre", + "Jan." : "Gen.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mag.", + "Jun." : "Giu.", + "Jul." : "Lug.", + "Aug." : "Ago.", + "Sep." : "Set.", + "Oct." : "Ott.", + "Nov." : "Nov.", + "Dec." : "Dic.", "Settings" : "Impostazioni", "Saving..." : "Salvataggio in corso...", "Couldn't send reset email. Please contact your administrator." : "Impossibile inviare l'email di reimpostazione. Contatta il tuo amministratore.", @@ -74,13 +100,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "La cartella dei dati e i tuoi file sono probabilmente accessibili da Internet.\nIl file .htaccess non funziona. Ti consigliamo vivamente di configurare il server web in modo che la cartella dei dati non sia più accessibile o di spostare la cartella fuori dalla radice del server web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Non è stata configurata alcuna cache di memoria. Per migliorare le prestazioni configura memcache, se disponibile. Ulteriori informazioni sono disponibili nella nostra documentazione.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom non è leggibile da PHP e ciò è vivamente sconsigliato per motivi di sicurezza. Ulteriori informazioni sono disponibili nella nostra documentazione.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "La tua versione ({version}) di PHP non è più supportata da PHP. Ti esortiamo ad aggiornare la versione di PHP per trarre vantaggio dagli aggiornamenti in termini di prestazioni e sicurezza forniti da PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "La configurazione delle intestazioni del proxy inverso non è corretta, o stai effettuando l'accesso a ownCloud da un proxy affidabile. Se non stai effettuando l'accesso da un proxy affidabile, questo è un problema di sicurezza e può consentire a un attaccante di falsificare il suo indirizzo IP, rendendo visibile a ownCloud. Ulteriori informazioni sono disponibili nella nostra documentazione.", "Error occurred while checking server setup" : "Si è verificato un errore durante il controllo della configurazione del server", "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." : "L'intestazione HTTP \"{header}\" non è configurata come \"{expected}\". \nQuesto è un potenziale rischio di sicurezza o di riservatezza dei dati e noi consigliamo di modificare questa impostazione.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "L'intestazione HTTP \"Strict-Transport-Security\" non è configurata con un valore almeno di \"{seconds}\" secondi. Per migliorare la sicurezza, consigliamo di abilitare HSTS come descritto nei nostri consigli sulla sicurezza.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Sei connesso a questo sito tramite HTTP. Ti suggeriamo vivamente di configurare il tuo server per richiedere invece l'utilizzo del protocollo HTTPS, come descritto nei nostri consigli sulla sicurezza.", "Shared" : "Condiviso", "Shared with {recipients}" : "Condiviso con {recipients}", - "Share" : "Condividi", "Error" : "Errore", "Error while sharing" : "Errore durante la condivisione", "Error while unsharing" : "Errore durante la rimozione della condivisione", @@ -89,6 +116,7 @@ "Shared with you by {owner}" : "Condiviso con te da {owner}", "Share with users or groups …" : "Condividi con utenti o gruppi...", "Share with users, groups or remote users …" : "Condividi con utenti, gruppi o utenti remoti...", + "Share" : "Condividi", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Condividi con persone su altri ownCloud utilizzando la sintassi nomeutente@esempio.com/owncloud", "Share link" : "Condividi collegamento", "The public link will expire no later than {days} days after it is created" : "Il collegamento pubblico scadrà non più tardi di {days} giorni dopo la sua creazione", @@ -215,7 +243,7 @@ "Please contact your administrator." : "Contatta il tuo amministratore di sistema.", "An internal error occured." : "Si è verificato un errore interno.", "Please try again or contact your administrator." : "Prova ancora o contatta il tuo amministratore.", - "Forgot your password? Reset it!" : "Hai dimenticato la password? Reimpostala!", + "Wrong password. Reset it?" : "Password errata. Vuoi reimpostarla?", "remember" : "ricorda", "Log in" : "Accedi", "Alternative Logins" : "Accessi alternativi", @@ -228,8 +256,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contatta il tuo amministratore di sistema. Se sei un amministratore di questa istanza, configura l'impostazione \"trusted_domain\" in config/config.php. Un esempio di configurazione è disponibile in config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "In base alla tua configurazione, come amministratore potrai utilizzare anche il pulsante in basso per rendere attendibile questo dominio.", "Add \"%s\" as trusted domain" : "Aggiungi \"%s\" come dominio attendibile", - "%s will be updated to version %s." : "%s sarà aggiornato alla versione %s.", - "The following apps will be disabled:" : "Le seguenti applicazioni saranno disabilitate:", + "App update required" : "Aggiornamento dell'applicazione richiesto", + "%s will be updated to version %s" : "%s sarà aggiornato alla versione %s", + "These apps will be updated:" : "Queste applicazioni saranno aggiornate:", + "These incompatible apps will be disabled:" : "Queste applicazioni incompatibili saranno disabilitate:", "The theme %s has been disabled." : "Il tema %s è stato disabilitato.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Assicurati di aver creato una copia di sicurezza del database, della cartella config e della cartella data prima di procedere. ", "Start update" : "Avvia l'aggiornamento", diff --git a/core/l10n/ja.js b/core/l10n/ja.js index 8d059e4b65..6d8ad2362a 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "修復エラー:", "Following incompatible apps have been disabled: %s" : "次の互換性のないアプリは無効にされています: %s", "Following apps have been disabled: %s" : "以下のアプリが無効にされています: %s", + "File is too big" : "ファイルが大きすぎます", "Invalid file provided" : "無効なファイルが提供されました", "No image or file provided" : "画像もしくはファイルが提供されていません", "Unknown filetype" : "不明なファイルタイプ", @@ -28,6 +29,20 @@ OC.L10N.register( "Thursday" : "木", "Friday" : "金", "Saturday" : "土", + "Sun." : "日", + "Mon." : "月", + "Tue." : "火", + "Wed." : "水", + "Thu." : "木", + "Fri." : "金", + "Sat." : "土", + "Su" : "日", + "Mo" : "月", + "Tu" : "火", + "We" : "水", + "Th" : "木", + "Fr" : "金", + "Sa" : "土", "January" : "1月", "February" : "2月", "March" : "3月", @@ -40,6 +55,18 @@ OC.L10N.register( "October" : "10月", "November" : "11月", "December" : "12月", + "Jan." : "1月", + "Feb." : "2月", + "Mar." : "3月", + "Apr." : "4月", + "May." : "5月", + "Jun." : "6月", + "Jul." : "7月", + "Aug." : "8月", + "Sep." : "9月", + "Oct." : "10月", + "Nov." : "11月", + "Dec." : "12月", "Settings" : "設定", "Saving..." : "保存中...", "Couldn't send reset email. Please contact your administrator." : "リセットメールを送信できませんでした。管理者に問い合わせてください。", @@ -71,17 +98,18 @@ OC.L10N.register( "Good password" : "良好なパスワード", "Strong password" : "強いパスワード", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "WebDAVインターフェースが動作していないようです。Webサーバーは、ファイルの同期を許可するよう適切に設定されていません。", - "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "このサーバーはインターネットに接続されていません。この場合、外部ストレージのマウント、更新の通知やサードパーティ製のアプリ、といったいくつかの機能が使えません。また、リモート接続でのファイルアクセス、通知メールの送信のような機能も利用できない可能性があります。全ての機能を利用するためには、このサーバーからインターネットに接続できるようにすることをお勧めします。", + "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "このサーバーはインターネットに接続していません。この場合、外部ストレージのマウント、更新の通知やサードパーティ製のアプリ、といった一部の機能が利用できません。また、リモート接続でのファイルアクセス、通知メールの送信のような機能も利用できないことがあります。すべての機能を利用するには、このサーバーのインターネット接続を有効にすることをお勧めします。", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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サーバーを設定するか、Webサーバーのドキュメントルートからデータディレクトリを移動するように強くお勧めします。", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "メモリキャッシュが設定されていません。パフォーマンスを向上するために、可能であれば memcache を設定してください。 より詳しい情報については、documentation を参照してください。", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom は PHP から読み取ることができず、この状態はセキュリティの観点からおすすめできません。より詳しい情報については、documentation を参照ください。", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "ご利用のPHPのバージョン ({version}) は、PHPでサポート されていません。 我々は、PHPから提供されている新しいバージョンにアップグレードし、それによるセキュリティの確保とパフォーマンスのメリットを受けられることを強くお勧めします。", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "リバースプロキシーのヘッダー設定が間違っているか、または信頼されたプロキシーからownCloudにアクセスしていません。もし、信頼されたプロキシーからアクセスしているのでないなら、セキュリティに問題があり、ownCloudを詐称したIPアドレスから攻撃者に対して見えるよう許可していることになります。詳細な情報は、ドキュメントを確認してください。", "Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました", "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 least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "\"Strict-Transport-Security\" HTTP ヘッダは最小値の \"{seconds}\" 秒に設定されていません。 セキュリティーを強化するため、security tipsを参照して HSTS を有効にすることをおすすめします。", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "\"Strict-Transport-Security\" HTTP ヘッダが最小値の \"{seconds}\" 秒に設定されていません。 セキュリティを強化するため、security tipsを参照して、HSTS を有効にすることをおすすめします。", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "HTTP経由でアクセスしています。security tipsを参照して、代わりにHTTPSを使用するようサーバーを設定することを強くおすすめします。 instead as described in our .", "Shared" : "共有中", "Shared with {recipients}" : "{recipients} と共有", - "Share" : "共有", "Error" : "エラー", "Error while sharing" : "共有でエラー発生", "Error while unsharing" : "共有解除でエラー発生", @@ -90,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "{owner} と共有中", "Share with users or groups …" : "ユーザーもしくはグループと共有 ...", "Share with users, groups or remote users …" : "ユーザー、グループもしくはリモートユーザーと共有 ...", + "Share" : "共有", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "次の形式で指定して他のownCloudのユーザーと、共有", "Share link" : "URLで共有", "The public link will expire no later than {days} days after it is created" : "URLによる共有は、作成してから {days} 日以内に有効期限切れになります", @@ -216,7 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "管理者に問い合わせてください。", "An internal error occured." : "内部エラーが発生しました。", "Please try again or contact your administrator." : "もう一度試してみるか、管理者に問い合わせてください。", - "Forgot your password? Reset it!" : "パスワードを忘れましたか?リセットします!", + "Wrong password. Reset it?" : "パスワードが間違っています。リセットしますか?", "remember" : "パスワードを保存", "Log in" : "ログイン", "Alternative Logins" : "代替ログイン", @@ -229,12 +258,14 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "管理者に問い合わせてください。このサーバーの管理者の場合は、\"trusted_domain\" の設定を config/config.php に設定してください。config/config.sample.php にサンプルの設定方法が記載してあります。", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "環境により、下のボタンで信頼するドメインに追加する必要があるかもしれません。", "Add \"%s\" as trusted domain" : "\"%s\" を信頼するドメイン名に追加", - "%s will be updated to version %s." : "%s はバージョン %s にアップデートされました。", - "The following apps will be disabled:" : "以下のアプリは無効です:", + "App update required" : "アプリの更新が必要", + "%s will be updated to version %s" : "%s が %s バーションへ更新される", + "These apps will be updated:" : "次のアプリは更新される:", + "These incompatible apps will be disabled:" : "次の非互換のないアプリは無効になる:", "The theme %s has been disabled." : "テーマ %s が無効になっています。", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "データベースを確認してください。実行前にconfigフォルダーとdataフォルダーをバックアップします。", "Start update" : "アップデートを開始", - "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "大規模なサイトの場合、ブラウザーがタイムアウトする可能性があるため、インストールディレクトリで次のコマンドを実行しても構いません。", + "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "大規模なサイトの場合、ブラウザーがタイムアウトする可能性があるため、インストールディレクトリで以下のコマンドを実行することもできます。", "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.json b/core/l10n/ja.json index fbf2d611ec..a849a4e58f 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -11,6 +11,7 @@ "Repair error: " : "修復エラー:", "Following incompatible apps have been disabled: %s" : "次の互換性のないアプリは無効にされています: %s", "Following apps have been disabled: %s" : "以下のアプリが無効にされています: %s", + "File is too big" : "ファイルが大きすぎます", "Invalid file provided" : "無効なファイルが提供されました", "No image or file provided" : "画像もしくはファイルが提供されていません", "Unknown filetype" : "不明なファイルタイプ", @@ -26,6 +27,20 @@ "Thursday" : "木", "Friday" : "金", "Saturday" : "土", + "Sun." : "日", + "Mon." : "月", + "Tue." : "火", + "Wed." : "水", + "Thu." : "木", + "Fri." : "金", + "Sat." : "土", + "Su" : "日", + "Mo" : "月", + "Tu" : "火", + "We" : "水", + "Th" : "木", + "Fr" : "金", + "Sa" : "土", "January" : "1月", "February" : "2月", "March" : "3月", @@ -38,6 +53,18 @@ "October" : "10月", "November" : "11月", "December" : "12月", + "Jan." : "1月", + "Feb." : "2月", + "Mar." : "3月", + "Apr." : "4月", + "May." : "5月", + "Jun." : "6月", + "Jul." : "7月", + "Aug." : "8月", + "Sep." : "9月", + "Oct." : "10月", + "Nov." : "11月", + "Dec." : "12月", "Settings" : "設定", "Saving..." : "保存中...", "Couldn't send reset email. Please contact your administrator." : "リセットメールを送信できませんでした。管理者に問い合わせてください。", @@ -69,17 +96,18 @@ "Good password" : "良好なパスワード", "Strong password" : "強いパスワード", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "WebDAVインターフェースが動作していないようです。Webサーバーは、ファイルの同期を許可するよう適切に設定されていません。", - "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "このサーバーはインターネットに接続されていません。この場合、外部ストレージのマウント、更新の通知やサードパーティ製のアプリ、といったいくつかの機能が使えません。また、リモート接続でのファイルアクセス、通知メールの送信のような機能も利用できない可能性があります。全ての機能を利用するためには、このサーバーからインターネットに接続できるようにすることをお勧めします。", + "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "このサーバーはインターネットに接続していません。この場合、外部ストレージのマウント、更新の通知やサードパーティ製のアプリ、といった一部の機能が利用できません。また、リモート接続でのファイルアクセス、通知メールの送信のような機能も利用できないことがあります。すべての機能を利用するには、このサーバーのインターネット接続を有効にすることをお勧めします。", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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サーバーを設定するか、Webサーバーのドキュメントルートからデータディレクトリを移動するように強くお勧めします。", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "メモリキャッシュが設定されていません。パフォーマンスを向上するために、可能であれば memcache を設定してください。 より詳しい情報については、documentation を参照してください。", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom は PHP から読み取ることができず、この状態はセキュリティの観点からおすすめできません。より詳しい情報については、documentation を参照ください。", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "ご利用のPHPのバージョン ({version}) は、PHPでサポート されていません。 我々は、PHPから提供されている新しいバージョンにアップグレードし、それによるセキュリティの確保とパフォーマンスのメリットを受けられることを強くお勧めします。", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "リバースプロキシーのヘッダー設定が間違っているか、または信頼されたプロキシーからownCloudにアクセスしていません。もし、信頼されたプロキシーからアクセスしているのでないなら、セキュリティに問題があり、ownCloudを詐称したIPアドレスから攻撃者に対して見えるよう許可していることになります。詳細な情報は、ドキュメントを確認してください。", "Error occurred while checking server setup" : "サーバー設定のチェック中にエラーが発生しました", "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 least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "\"Strict-Transport-Security\" HTTP ヘッダは最小値の \"{seconds}\" 秒に設定されていません。 セキュリティーを強化するため、security tipsを参照して HSTS を有効にすることをおすすめします。", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "\"Strict-Transport-Security\" HTTP ヘッダが最小値の \"{seconds}\" 秒に設定されていません。 セキュリティを強化するため、security tipsを参照して、HSTS を有効にすることをおすすめします。", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "HTTP経由でアクセスしています。security tipsを参照して、代わりにHTTPSを使用するようサーバーを設定することを強くおすすめします。 instead as described in our .", "Shared" : "共有中", "Shared with {recipients}" : "{recipients} と共有", - "Share" : "共有", "Error" : "エラー", "Error while sharing" : "共有でエラー発生", "Error while unsharing" : "共有解除でエラー発生", @@ -88,6 +116,7 @@ "Shared with you by {owner}" : "{owner} と共有中", "Share with users or groups …" : "ユーザーもしくはグループと共有 ...", "Share with users, groups or remote users …" : "ユーザー、グループもしくはリモートユーザーと共有 ...", + "Share" : "共有", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "次の形式で指定して他のownCloudのユーザーと、共有", "Share link" : "URLで共有", "The public link will expire no later than {days} days after it is created" : "URLによる共有は、作成してから {days} 日以内に有効期限切れになります", @@ -214,7 +243,7 @@ "Please contact your administrator." : "管理者に問い合わせてください。", "An internal error occured." : "内部エラーが発生しました。", "Please try again or contact your administrator." : "もう一度試してみるか、管理者に問い合わせてください。", - "Forgot your password? Reset it!" : "パスワードを忘れましたか?リセットします!", + "Wrong password. Reset it?" : "パスワードが間違っています。リセットしますか?", "remember" : "パスワードを保存", "Log in" : "ログイン", "Alternative Logins" : "代替ログイン", @@ -227,12 +256,14 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "管理者に問い合わせてください。このサーバーの管理者の場合は、\"trusted_domain\" の設定を config/config.php に設定してください。config/config.sample.php にサンプルの設定方法が記載してあります。", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "環境により、下のボタンで信頼するドメインに追加する必要があるかもしれません。", "Add \"%s\" as trusted domain" : "\"%s\" を信頼するドメイン名に追加", - "%s will be updated to version %s." : "%s はバージョン %s にアップデートされました。", - "The following apps will be disabled:" : "以下のアプリは無効です:", + "App update required" : "アプリの更新が必要", + "%s will be updated to version %s" : "%s が %s バーションへ更新される", + "These apps will be updated:" : "次のアプリは更新される:", + "These incompatible apps will be disabled:" : "次の非互換のないアプリは無効になる:", "The theme %s has been disabled." : "テーマ %s が無効になっています。", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "データベースを確認してください。実行前にconfigフォルダーとdataフォルダーをバックアップします。", "Start update" : "アップデートを開始", - "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "大規模なサイトの場合、ブラウザーがタイムアウトする可能性があるため、インストールディレクトリで次のコマンドを実行しても構いません。", + "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "大規模なサイトの場合、ブラウザーがタイムアウトする可能性があるため、インストールディレクトリで以下のコマンドを実行することもできます。", "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 の再起動後に自動的に更新されます。" },"pluralForm" :"nplurals=1; plural=0;" diff --git a/core/l10n/ka_GE.js b/core/l10n/ka_GE.js index ed9ab2bbd7..43e86870ff 100644 --- a/core/l10n/ka_GE.js +++ b/core/l10n/ka_GE.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "ხუთშაბათი", "Friday" : "პარასკევი", "Saturday" : "შაბათი", + "Sun." : "კვ.", + "Mon." : "ორშ.", + "Tue." : "სამ.", + "Wed." : "ოთხ.", + "Thu." : "ხუთ.", + "Fri." : "პარ.", + "Sat." : "შაბ.", "January" : "იანვარი", "February" : "თებერვალი", "March" : "მარტი", @@ -20,6 +27,18 @@ OC.L10N.register( "October" : "ოქტომბერი", "November" : "ნოემბერი", "December" : "დეკემბერი", + "Jan." : "იან.", + "Feb." : "თებ.", + "Mar." : "მარ.", + "Apr." : "აპრ.", + "May." : "მაი.", + "Jun." : "ივნ.", + "Jul." : "ივლ.", + "Aug." : "აგვ.", + "Sep." : "სექ.", + "Oct." : "ოქტ.", + "Nov." : "ნოე.", + "Dec." : "დეკ.", "Settings" : "პარამეტრები", "Saving..." : "შენახვა...", "No" : "არა", @@ -29,13 +48,13 @@ OC.L10N.register( "New Files" : "ახალი ფაილები", "Cancel" : "უარყოფა", "Shared" : "გაზიარებული", - "Share" : "გაზიარება", "Error" : "შეცდომა", "Error while sharing" : "შეცდომა გაზიარების დროს", "Error while unsharing" : "შეცდომა გაზიარების გაუქმების დროს", "Error while changing permissions" : "შეცდომა დაშვების ცვლილების დროს", "Shared with you and the group {group} by {owner}" : "გაზიარდა თქვენთვის და ჯგუფისთვის {group}, {owner}–ის მიერ", "Shared with you by {owner}" : "გაზიარდა თქვენთვის {owner}–ის მიერ", + "Share" : "გაზიარება", "Password protect" : "პაროლით დაცვა", "Password" : "პაროლი", "Email link to person" : "ლინკის პიროვნების იმეილზე გაგზავნა", diff --git a/core/l10n/ka_GE.json b/core/l10n/ka_GE.json index 3d5a85a99f..26b7073a72 100644 --- a/core/l10n/ka_GE.json +++ b/core/l10n/ka_GE.json @@ -6,6 +6,13 @@ "Thursday" : "ხუთშაბათი", "Friday" : "პარასკევი", "Saturday" : "შაბათი", + "Sun." : "კვ.", + "Mon." : "ორშ.", + "Tue." : "სამ.", + "Wed." : "ოთხ.", + "Thu." : "ხუთ.", + "Fri." : "პარ.", + "Sat." : "შაბ.", "January" : "იანვარი", "February" : "თებერვალი", "March" : "მარტი", @@ -18,6 +25,18 @@ "October" : "ოქტომბერი", "November" : "ნოემბერი", "December" : "დეკემბერი", + "Jan." : "იან.", + "Feb." : "თებ.", + "Mar." : "მარ.", + "Apr." : "აპრ.", + "May." : "მაი.", + "Jun." : "ივნ.", + "Jul." : "ივლ.", + "Aug." : "აგვ.", + "Sep." : "სექ.", + "Oct." : "ოქტ.", + "Nov." : "ნოე.", + "Dec." : "დეკ.", "Settings" : "პარამეტრები", "Saving..." : "შენახვა...", "No" : "არა", @@ -27,13 +46,13 @@ "New Files" : "ახალი ფაილები", "Cancel" : "უარყოფა", "Shared" : "გაზიარებული", - "Share" : "გაზიარება", "Error" : "შეცდომა", "Error while sharing" : "შეცდომა გაზიარების დროს", "Error while unsharing" : "შეცდომა გაზიარების გაუქმების დროს", "Error while changing permissions" : "შეცდომა დაშვების ცვლილების დროს", "Shared with you and the group {group} by {owner}" : "გაზიარდა თქვენთვის და ჯგუფისთვის {group}, {owner}–ის მიერ", "Shared with you by {owner}" : "გაზიარდა თქვენთვის {owner}–ის მიერ", + "Share" : "გაზიარება", "Password protect" : "პაროლით დაცვა", "Password" : "პაროლი", "Email link to person" : "ლინკის პიროვნების იმეილზე გაგზავნა", diff --git a/core/l10n/km.js b/core/l10n/km.js index b3332580e2..28fb959d4e 100644 --- a/core/l10n/km.js +++ b/core/l10n/km.js @@ -10,6 +10,13 @@ OC.L10N.register( "Thursday" : "ថ្ងៃព្រហស្បតិ៍", "Friday" : "ថ្ងៃសុក្រ", "Saturday" : "ថ្ងៃសៅរ៍", + "Sun." : "អាទិត្យ", + "Mon." : "ចន្ទ", + "Tue." : "អង្គារ", + "Wed." : "ពុធ", + "Thu." : "ព្រហ.", + "Fri." : "សុក្រ", + "Sat." : "សៅរ៍", "January" : "ខែមករា", "February" : "ខែកុម្ភៈ", "March" : "ខែមីនា", @@ -22,6 +29,18 @@ OC.L10N.register( "October" : "ខែតុលា", "November" : "ខែវិច្ឆិកា", "December" : "ខែធ្នូ", + "Jan." : "មករា", + "Feb." : "កុម្ភៈ", + "Mar." : "មីនា", + "Apr." : "មេសា", + "May." : "ឧសភា", + "Jun." : "មិថុនា", + "Jul." : "កក្កដា", + "Aug." : "សីហា", + "Sep." : "កញ្ញា", + "Oct." : "តុលា", + "Nov." : "វិច្ឆិកា", + "Dec." : "ធ្នូ", "Settings" : "ការកំណត់", "Saving..." : "កំពុង​រក្សាទុក", "No" : "ទេ", @@ -40,13 +59,13 @@ OC.L10N.register( "Good password" : "ពាក្យ​សម្ងាត់​ល្អ", "Strong password" : "ពាក្យ​សម្ងាត់​ខ្លាំង", "Shared" : "បាន​ចែក​រំលែក", - "Share" : "ចែក​រំលែក", "Error" : "កំហុស", "Error while sharing" : "កំហុស​ពេល​ចែក​រំលែក", "Error while unsharing" : "កំពុង​ពេល​លែង​ចែក​រំលែក", "Error while changing permissions" : "មាន​កំហុស​នៅ​ពេល​ប្ដូរ​សិទ្ធិ", "Shared with you and the group {group} by {owner}" : "បាន​ចែក​រំលែក​ជាមួយ​អ្នក និង​ក្រុម {group} ដោយ {owner}", "Shared with you by {owner}" : "បាន​ចែក​រំលែក​ជាមួយ​អ្នក​ដោយ {owner}", + "Share" : "ចែក​រំលែក", "Password protect" : "ការ​ពារ​ដោយ​ពាក្យ​សម្ងាត់", "Password" : "ពាក្យសម្ងាត់", "Send" : "ផ្ញើ", diff --git a/core/l10n/km.json b/core/l10n/km.json index fceb9e6872..ba7e82ff63 100644 --- a/core/l10n/km.json +++ b/core/l10n/km.json @@ -8,6 +8,13 @@ "Thursday" : "ថ្ងៃព្រហស្បតិ៍", "Friday" : "ថ្ងៃសុក្រ", "Saturday" : "ថ្ងៃសៅរ៍", + "Sun." : "អាទិត្យ", + "Mon." : "ចន្ទ", + "Tue." : "អង្គារ", + "Wed." : "ពុធ", + "Thu." : "ព្រហ.", + "Fri." : "សុក្រ", + "Sat." : "សៅរ៍", "January" : "ខែមករា", "February" : "ខែកុម្ភៈ", "March" : "ខែមីនា", @@ -20,6 +27,18 @@ "October" : "ខែតុលា", "November" : "ខែវិច្ឆិកា", "December" : "ខែធ្នូ", + "Jan." : "មករា", + "Feb." : "កុម្ភៈ", + "Mar." : "មីនា", + "Apr." : "មេសា", + "May." : "ឧសភា", + "Jun." : "មិថុនា", + "Jul." : "កក្កដា", + "Aug." : "សីហា", + "Sep." : "កញ្ញា", + "Oct." : "តុលា", + "Nov." : "វិច្ឆិកា", + "Dec." : "ធ្នូ", "Settings" : "ការកំណត់", "Saving..." : "កំពុង​រក្សាទុក", "No" : "ទេ", @@ -38,13 +57,13 @@ "Good password" : "ពាក្យ​សម្ងាត់​ល្អ", "Strong password" : "ពាក្យ​សម្ងាត់​ខ្លាំង", "Shared" : "បាន​ចែក​រំលែក", - "Share" : "ចែក​រំលែក", "Error" : "កំហុស", "Error while sharing" : "កំហុស​ពេល​ចែក​រំលែក", "Error while unsharing" : "កំពុង​ពេល​លែង​ចែក​រំលែក", "Error while changing permissions" : "មាន​កំហុស​នៅ​ពេល​ប្ដូរ​សិទ្ធិ", "Shared with you and the group {group} by {owner}" : "បាន​ចែក​រំលែក​ជាមួយ​អ្នក និង​ក្រុម {group} ដោយ {owner}", "Shared with you by {owner}" : "បាន​ចែក​រំលែក​ជាមួយ​អ្នក​ដោយ {owner}", + "Share" : "ចែក​រំលែក", "Password protect" : "ការ​ពារ​ដោយ​ពាក្យ​សម្ងាត់", "Password" : "ពាក្យសម្ងាត់", "Send" : "ផ្ញើ", diff --git a/core/l10n/kn.js b/core/l10n/kn.js index 365a7ddb3f..d4743271ae 100644 --- a/core/l10n/kn.js +++ b/core/l10n/kn.js @@ -61,13 +61,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "ಪರಿಚಾರಿಕ ಗಣಕವನ್ನು ಪರಿಶೀಲಿಸುವಾಗ ದೋಷವುಂಟಾಗಿದೆ", "Shared" : "ಹಂಚಿಕೆಯ", "Shared with {recipients}" : "ಹಂಚಿಕೆಯನ್ನು ಪಡೆದವರು {recipients}", - "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", "Error" : "ತಪ್ಪಾಗಿದೆ", "Error while sharing" : "ಹಂಚುವಾಗ ಏನೊ ಲೋಪವಾಗಿದೆ", "Error while unsharing" : " ಹಂಚಿಕೆಯನ್ನು ಹಿಂದೆರುಗಿಸು ಸಂದರ್ಭದಲ್ಲಿ ಲೋಪವಾಗಿದೆ", "Error while changing permissions" : "ಅನುಮತಿಗಳನ್ನು ಬದಲಾವಣೆ ಮಾಡುವಾಗ ದೋಷವಾಗಿದೆ", "Shared with you and the group {group} by {owner}" : "ನಿಮಗೆ ಮತ್ತು {group} ಗುಂಪಿನೂಂದಿಗೆ {owner} ಹಂಚಿಕೊಂಡಿದ್ದಾರೆ", "Shared with you by {owner}" : "ನಿಮ್ಮೊಂದಿಗೆ {owner} ಹಂಚಿಕೊಂಡಿದ್ದಾರೆ", + "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", "Share link" : "ಸಂಪರ್ಕ ಕೊಂಡಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು", "The public link will expire no later than {days} days after it is created" : "ರಚನೆಯಾದ {days} ದಿನಗಳ ನಂತರ ಈ ಸಾರ್ವಜನಿಕ ಸಂಪರ್ಕ ಕೊಂಡಿ ಅಂತ್ಯಗೊಳ್ಳಲಿದೆ", "Link" : "ಸಂಪರ್ಕ ಕೊಂಡಿ", @@ -160,13 +160,10 @@ OC.L10N.register( "Log out" : "ಈ ಆವೃತ್ತಿ ಇಂದ ನಿರ್ಗಮಿಸಿ", "Search" : "ಹುಡುಕು", "Please contact your administrator." : "ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಲು ಕೋರಲಾಗಿದೆ.", - "Forgot your password? Reset it!" : "ನಿಮ್ಮ ಗುಪ್ತಪದವನ್ನು ಮರೆತಿರಾ? ಮರುಹೊಂದಿಸಿ!", "remember" : "ನೆನಪಿಡಿ", "This ownCloud instance is currently in single user mode." : "ಪ್ರಸ್ತುತ ಕ್ರಮದಲ್ಲಿ, ಈ OwnCloud ನ್ನು ಕೇವಲ ಒಬ್ಬನೇ ಬಳಕೆದಾರ ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ.", "This means only administrators can use the instance." : "ಇದರ ಅರ್ಥ, ಸದ್ಯದ ನಿದರ್ಶನದಲ್ಲಿ ನಿರ್ವಾಹಕರು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ.", "Thank you for your patience." : "ನಿಮ್ಮ ತಾಳ್ಮೆಗೆ ಧನ್ಯವಾದಗಳು.", - "%s will be updated to version %s." : "%s ರ ಆವೃತ್ತಿ %s ನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತದೆ.", - "The following apps will be disabled:" : "ಈ ಕೆಳಗಿನ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ:", "Start update" : "ನವೀಕರಿಣವನ್ನು ಆರಂಭಿಸಿ" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/kn.json b/core/l10n/kn.json index 9e03ebd496..0522fbd957 100644 --- a/core/l10n/kn.json +++ b/core/l10n/kn.json @@ -59,13 +59,13 @@ "Error occurred while checking server setup" : "ಪರಿಚಾರಿಕ ಗಣಕವನ್ನು ಪರಿಶೀಲಿಸುವಾಗ ದೋಷವುಂಟಾಗಿದೆ", "Shared" : "ಹಂಚಿಕೆಯ", "Shared with {recipients}" : "ಹಂಚಿಕೆಯನ್ನು ಪಡೆದವರು {recipients}", - "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", "Error" : "ತಪ್ಪಾಗಿದೆ", "Error while sharing" : "ಹಂಚುವಾಗ ಏನೊ ಲೋಪವಾಗಿದೆ", "Error while unsharing" : " ಹಂಚಿಕೆಯನ್ನು ಹಿಂದೆರುಗಿಸು ಸಂದರ್ಭದಲ್ಲಿ ಲೋಪವಾಗಿದೆ", "Error while changing permissions" : "ಅನುಮತಿಗಳನ್ನು ಬದಲಾವಣೆ ಮಾಡುವಾಗ ದೋಷವಾಗಿದೆ", "Shared with you and the group {group} by {owner}" : "ನಿಮಗೆ ಮತ್ತು {group} ಗುಂಪಿನೂಂದಿಗೆ {owner} ಹಂಚಿಕೊಂಡಿದ್ದಾರೆ", "Shared with you by {owner}" : "ನಿಮ್ಮೊಂದಿಗೆ {owner} ಹಂಚಿಕೊಂಡಿದ್ದಾರೆ", + "Share" : "ಹಂಚಿಕೊಳ್ಳಿ", "Share link" : "ಸಂಪರ್ಕ ಕೊಂಡಿಯನ್ನು ಹಂಚಿಕೊಳ್ಳಬಹುದು", "The public link will expire no later than {days} days after it is created" : "ರಚನೆಯಾದ {days} ದಿನಗಳ ನಂತರ ಈ ಸಾರ್ವಜನಿಕ ಸಂಪರ್ಕ ಕೊಂಡಿ ಅಂತ್ಯಗೊಳ್ಳಲಿದೆ", "Link" : "ಸಂಪರ್ಕ ಕೊಂಡಿ", @@ -158,13 +158,10 @@ "Log out" : "ಈ ಆವೃತ್ತಿ ಇಂದ ನಿರ್ಗಮಿಸಿ", "Search" : "ಹುಡುಕು", "Please contact your administrator." : "ನಿಮ್ಮ ನಿರ್ವಾಹಕರನ್ನು ಸಂಪರ್ಕಿಸಲು ಕೋರಲಾಗಿದೆ.", - "Forgot your password? Reset it!" : "ನಿಮ್ಮ ಗುಪ್ತಪದವನ್ನು ಮರೆತಿರಾ? ಮರುಹೊಂದಿಸಿ!", "remember" : "ನೆನಪಿಡಿ", "This ownCloud instance is currently in single user mode." : "ಪ್ರಸ್ತುತ ಕ್ರಮದಲ್ಲಿ, ಈ OwnCloud ನ್ನು ಕೇವಲ ಒಬ್ಬನೇ ಬಳಕೆದಾರ ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ.", "This means only administrators can use the instance." : "ಇದರ ಅರ್ಥ, ಸದ್ಯದ ನಿದರ್ಶನದಲ್ಲಿ ನಿರ್ವಾಹಕರು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ.", "Thank you for your patience." : "ನಿಮ್ಮ ತಾಳ್ಮೆಗೆ ಧನ್ಯವಾದಗಳು.", - "%s will be updated to version %s." : "%s ರ ಆವೃತ್ತಿ %s ನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತದೆ.", - "The following apps will be disabled:" : "ಈ ಕೆಳಗಿನ ಕಾರ್ಯಕ್ರಮಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ:", "Start update" : "ನವೀಕರಿಣವನ್ನು ಆರಂಭಿಸಿ" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/ko.js b/core/l10n/ko.js index c5e4197590..98a86efe54 100644 --- a/core/l10n/ko.js +++ b/core/l10n/ko.js @@ -28,6 +28,13 @@ OC.L10N.register( "Thursday" : "목요일", "Friday" : "금요일", "Saturday" : "토요일", + "Sun." : "일", + "Mon." : "월", + "Tue." : "화", + "Wed." : "수", + "Thu." : "목", + "Fri." : "금", + "Sat." : "토", "January" : "1월", "February" : "2월", "March" : "3월", @@ -40,6 +47,18 @@ OC.L10N.register( "October" : "10월", "November" : "11월", "December" : "12월", + "Jan." : "1월", + "Feb." : "2월", + "Mar." : "3월", + "Apr." : "4월", + "May." : "5월", + "Jun." : "6월", + "Jul." : "7월", + "Aug." : "8월", + "Sep." : "9월", + "Oct." : "10월", + "Nov." : "11월", + "Dec." : "12월", "Settings" : "설정", "Saving..." : "저장 중...", "Couldn't send reset email. Please contact your administrator." : "재설정 메일을 보낼수 없습니다. 관리자에게 문의하십시오.", @@ -81,7 +100,6 @@ OC.L10N.register( "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "이 사이트를 HTTP로 접근하고 있습니다. 보안 팁에 나타난 것처럼 서버 설정을 변경하여 HTTPS를 사용하는 것을 강력히 추천합니다.", "Shared" : "공유됨", "Shared with {recipients}" : "{recipients} 님과 공유됨", - "Share" : "공유", "Error" : "오류", "Error while sharing" : "공유하는 중 오류 발생", "Error while unsharing" : "공유 해제하는 중 오류 발생", @@ -90,6 +108,7 @@ OC.L10N.register( "Shared with you by {owner}" : "{owner} 님이 공유 중", "Share with users or groups …" : "사용자 및 그룹과 공유...", "Share with users, groups or remote users …" : "사용자, 그룹 및 원격 사용자와 공유...", + "Share" : "공유", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "username@example.com/owncloud 형식으로 다른 ownCloud 사용자와 공유할 수 있습니다", "Share link" : "링크 공유", "The public link will expire no later than {days} days after it is created" : "공개 링크를 만든 후 최대 {days}일까지 유지됩니다", @@ -216,7 +235,6 @@ OC.L10N.register( "Please contact your administrator." : "관리자에게 문의하십시오.", "An internal error occured." : "내부 오류가 발생하였습니다.", "Please try again or contact your administrator." : "다시 시도하거나 관리자에게 연락하십시오.", - "Forgot your password? Reset it!" : "암호를 잊으셨나요? 재설정하세요!", "remember" : "기억하기", "Log in" : "로그인", "Alternative Logins" : "대체 로그인", @@ -229,8 +247,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "관리자에게 연락해 주십시오. 만약 이 인스턴스 관리자라면 config/config.php에서 \"trusted_domain\" 설정을 편집하십시오. 예제 설정 파일은 config/config.sample.php에 있습니다.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "설정에 따라서 관리자 권한으로 아래 단추를 눌러서 이 도메인을 신뢰하도록 설정할 수 있습니다.", "Add \"%s\" as trusted domain" : "\"%s\"을(를) 신뢰할 수 있는 도메인으로 추가", - "%s will be updated to version %s." : "%s이(가) 버전 %s(으)로 업데이트될 것입니다.", - "The following apps will be disabled:" : "다음 앱이 비활성화됩니다:", "The theme %s has been disabled." : "%s 테마가 비활성화되었습니다.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "계속하기 전에 데이터베이스, 설정 폴더, 데이터 폴더가 백업되어 있는지 확인하십시오.", "Start update" : "업데이트 시작", diff --git a/core/l10n/ko.json b/core/l10n/ko.json index 2a96b77b81..5b3ddabc16 100644 --- a/core/l10n/ko.json +++ b/core/l10n/ko.json @@ -26,6 +26,13 @@ "Thursday" : "목요일", "Friday" : "금요일", "Saturday" : "토요일", + "Sun." : "일", + "Mon." : "월", + "Tue." : "화", + "Wed." : "수", + "Thu." : "목", + "Fri." : "금", + "Sat." : "토", "January" : "1월", "February" : "2월", "March" : "3월", @@ -38,6 +45,18 @@ "October" : "10월", "November" : "11월", "December" : "12월", + "Jan." : "1월", + "Feb." : "2월", + "Mar." : "3월", + "Apr." : "4월", + "May." : "5월", + "Jun." : "6월", + "Jul." : "7월", + "Aug." : "8월", + "Sep." : "9월", + "Oct." : "10월", + "Nov." : "11월", + "Dec." : "12월", "Settings" : "설정", "Saving..." : "저장 중...", "Couldn't send reset email. Please contact your administrator." : "재설정 메일을 보낼수 없습니다. 관리자에게 문의하십시오.", @@ -79,7 +98,6 @@ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "이 사이트를 HTTP로 접근하고 있습니다. 보안 팁에 나타난 것처럼 서버 설정을 변경하여 HTTPS를 사용하는 것을 강력히 추천합니다.", "Shared" : "공유됨", "Shared with {recipients}" : "{recipients} 님과 공유됨", - "Share" : "공유", "Error" : "오류", "Error while sharing" : "공유하는 중 오류 발생", "Error while unsharing" : "공유 해제하는 중 오류 발생", @@ -88,6 +106,7 @@ "Shared with you by {owner}" : "{owner} 님이 공유 중", "Share with users or groups …" : "사용자 및 그룹과 공유...", "Share with users, groups or remote users …" : "사용자, 그룹 및 원격 사용자와 공유...", + "Share" : "공유", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "username@example.com/owncloud 형식으로 다른 ownCloud 사용자와 공유할 수 있습니다", "Share link" : "링크 공유", "The public link will expire no later than {days} days after it is created" : "공개 링크를 만든 후 최대 {days}일까지 유지됩니다", @@ -214,7 +233,6 @@ "Please contact your administrator." : "관리자에게 문의하십시오.", "An internal error occured." : "내부 오류가 발생하였습니다.", "Please try again or contact your administrator." : "다시 시도하거나 관리자에게 연락하십시오.", - "Forgot your password? Reset it!" : "암호를 잊으셨나요? 재설정하세요!", "remember" : "기억하기", "Log in" : "로그인", "Alternative Logins" : "대체 로그인", @@ -227,8 +245,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "관리자에게 연락해 주십시오. 만약 이 인스턴스 관리자라면 config/config.php에서 \"trusted_domain\" 설정을 편집하십시오. 예제 설정 파일은 config/config.sample.php에 있습니다.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "설정에 따라서 관리자 권한으로 아래 단추를 눌러서 이 도메인을 신뢰하도록 설정할 수 있습니다.", "Add \"%s\" as trusted domain" : "\"%s\"을(를) 신뢰할 수 있는 도메인으로 추가", - "%s will be updated to version %s." : "%s이(가) 버전 %s(으)로 업데이트될 것입니다.", - "The following apps will be disabled:" : "다음 앱이 비활성화됩니다:", "The theme %s has been disabled." : "%s 테마가 비활성화되었습니다.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "계속하기 전에 데이터베이스, 설정 폴더, 데이터 폴더가 백업되어 있는지 확인하십시오.", "Start update" : "업데이트 시작", diff --git a/core/l10n/ku_IQ.js b/core/l10n/ku_IQ.js index e68c31a1f3..033c0952f0 100644 --- a/core/l10n/ku_IQ.js +++ b/core/l10n/ku_IQ.js @@ -7,8 +7,8 @@ OC.L10N.register( "Yes" : "بەڵێ", "Ok" : "باشە", "Cancel" : "لابردن", - "Share" : "هاوبەشی کردن", "Error" : "هه‌ڵه", + "Share" : "هاوبەشی کردن", "Password" : "وشەی تێپەربو", "Warning" : "ئاگاداری", "Add" : "زیادکردن", diff --git a/core/l10n/ku_IQ.json b/core/l10n/ku_IQ.json index 587d2cd018..3acb06de04 100644 --- a/core/l10n/ku_IQ.json +++ b/core/l10n/ku_IQ.json @@ -5,8 +5,8 @@ "Yes" : "بەڵێ", "Ok" : "باشە", "Cancel" : "لابردن", - "Share" : "هاوبەشی کردن", "Error" : "هه‌ڵه", + "Share" : "هاوبەشی کردن", "Password" : "وشەی تێپەربو", "Warning" : "ئاگاداری", "Add" : "زیادکردن", diff --git a/core/l10n/lb.js b/core/l10n/lb.js index 2f383be349..a24c350a92 100644 --- a/core/l10n/lb.js +++ b/core/l10n/lb.js @@ -14,6 +14,13 @@ OC.L10N.register( "Thursday" : "Donneschdeg", "Friday" : "Freideg", "Saturday" : "Samschdeg", + "Sun." : "So. ", + "Mon." : "Méi.", + "Tue." : "Dë.", + "Wed." : "Më.", + "Thu." : "Do.", + "Fri." : "Fr.", + "Sat." : "Sa.", "January" : "Januar", "February" : "Februar", "March" : "Mäerz", @@ -26,6 +33,18 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "Dezember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mäe.", + "Apr." : "Abr.", + "May." : "Mee", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Astellungen", "Saving..." : "Speicheren...", "No" : "Nee", @@ -38,13 +57,13 @@ OC.L10N.register( "(all selected)" : "(all ausgewielt)", "({count} selected)" : "({count} ausgewielt)", "Shared" : "Gedeelt", - "Share" : "Deelen", "Error" : "Feeler", "Error while sharing" : "Feeler beim Deelen", "Error while unsharing" : "Feeler beim Annuléiere vum Deelen", "Error while changing permissions" : "Feeler beim Ännere vun de Rechter", "Shared with you and the group {group} by {owner}" : "Gedeelt mat dir an der Grupp {group} vum {owner}", "Shared with you by {owner}" : "Gedeelt mat dir vum {owner}", + "Share" : "Deelen", "Share link" : "Link deelen", "Password protect" : "Passwuertgeschützt", "Password" : "Passwuert", diff --git a/core/l10n/lb.json b/core/l10n/lb.json index 44445e3bda..699ee25fd2 100644 --- a/core/l10n/lb.json +++ b/core/l10n/lb.json @@ -12,6 +12,13 @@ "Thursday" : "Donneschdeg", "Friday" : "Freideg", "Saturday" : "Samschdeg", + "Sun." : "So. ", + "Mon." : "Méi.", + "Tue." : "Dë.", + "Wed." : "Më.", + "Thu." : "Do.", + "Fri." : "Fr.", + "Sat." : "Sa.", "January" : "Januar", "February" : "Februar", "March" : "Mäerz", @@ -24,6 +31,18 @@ "October" : "Oktober", "November" : "November", "December" : "Dezember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mäe.", + "Apr." : "Abr.", + "May." : "Mee", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Astellungen", "Saving..." : "Speicheren...", "No" : "Nee", @@ -36,13 +55,13 @@ "(all selected)" : "(all ausgewielt)", "({count} selected)" : "({count} ausgewielt)", "Shared" : "Gedeelt", - "Share" : "Deelen", "Error" : "Feeler", "Error while sharing" : "Feeler beim Deelen", "Error while unsharing" : "Feeler beim Annuléiere vum Deelen", "Error while changing permissions" : "Feeler beim Ännere vun de Rechter", "Shared with you and the group {group} by {owner}" : "Gedeelt mat dir an der Grupp {group} vum {owner}", "Shared with you by {owner}" : "Gedeelt mat dir vum {owner}", + "Share" : "Deelen", "Share link" : "Link deelen", "Password protect" : "Passwuertgeschützt", "Password" : "Passwuert", diff --git a/core/l10n/lt_LT.js b/core/l10n/lt_LT.js index 64f62a8762..f444d28b43 100644 --- a/core/l10n/lt_LT.js +++ b/core/l10n/lt_LT.js @@ -18,6 +18,13 @@ OC.L10N.register( "Thursday" : "Ketvirtadienis", "Friday" : "Penktadienis", "Saturday" : "Šeštadienis", + "Sun." : "Sk.", + "Mon." : "Pr.", + "Tue." : "An.", + "Wed." : "Tr.", + "Thu." : "Kt.", + "Fri." : "Pn.", + "Sat." : "Št.", "January" : "Sausis", "February" : "Vasaris", "March" : "Kovas", @@ -30,6 +37,18 @@ OC.L10N.register( "October" : "Spalis", "November" : "Lapkritis", "December" : "Gruodis", + "Jan." : "Sau.", + "Feb." : "Vas.", + "Mar." : "Kov.", + "Apr." : "Bal.", + "May." : "Geg.", + "Jun." : "Bir.", + "Jul." : "Lie.", + "Aug." : "Rugp.", + "Sep." : "Rugs.", + "Oct." : "Spa.", + "Nov." : "Lap.", + "Dec." : "Groud.", "Settings" : "Nustatymai", "Saving..." : "Saugoma...", "No" : "Ne", @@ -49,13 +68,13 @@ OC.L10N.register( "({count} selected)" : "({count} pažymėtų)", "Error loading file exists template" : "Klaida įkeliant esančių failų ruošinį", "Shared" : "Dalinamasi", - "Share" : "Dalintis", "Error" : "Klaida", "Error while sharing" : "Klaida, dalijimosi metu", "Error while unsharing" : "Klaida, kai atšaukiamas dalijimasis", "Error while changing permissions" : "Klaida, keičiant privilegijas", "Shared with you and the group {group} by {owner}" : "Pasidalino su Jumis ir {group} grupe {owner}", "Shared with you by {owner}" : "Pasidalino su Jumis {owner}", + "Share" : "Dalintis", "Share link" : "Dalintis nuoroda", "Link" : "Nuoroda", "Password protect" : "Apsaugotas slaptažodžiu", diff --git a/core/l10n/lt_LT.json b/core/l10n/lt_LT.json index 0dae47445c..dc915cb05f 100644 --- a/core/l10n/lt_LT.json +++ b/core/l10n/lt_LT.json @@ -16,6 +16,13 @@ "Thursday" : "Ketvirtadienis", "Friday" : "Penktadienis", "Saturday" : "Šeštadienis", + "Sun." : "Sk.", + "Mon." : "Pr.", + "Tue." : "An.", + "Wed." : "Tr.", + "Thu." : "Kt.", + "Fri." : "Pn.", + "Sat." : "Št.", "January" : "Sausis", "February" : "Vasaris", "March" : "Kovas", @@ -28,6 +35,18 @@ "October" : "Spalis", "November" : "Lapkritis", "December" : "Gruodis", + "Jan." : "Sau.", + "Feb." : "Vas.", + "Mar." : "Kov.", + "Apr." : "Bal.", + "May." : "Geg.", + "Jun." : "Bir.", + "Jul." : "Lie.", + "Aug." : "Rugp.", + "Sep." : "Rugs.", + "Oct." : "Spa.", + "Nov." : "Lap.", + "Dec." : "Groud.", "Settings" : "Nustatymai", "Saving..." : "Saugoma...", "No" : "Ne", @@ -47,13 +66,13 @@ "({count} selected)" : "({count} pažymėtų)", "Error loading file exists template" : "Klaida įkeliant esančių failų ruošinį", "Shared" : "Dalinamasi", - "Share" : "Dalintis", "Error" : "Klaida", "Error while sharing" : "Klaida, dalijimosi metu", "Error while unsharing" : "Klaida, kai atšaukiamas dalijimasis", "Error while changing permissions" : "Klaida, keičiant privilegijas", "Shared with you and the group {group} by {owner}" : "Pasidalino su Jumis ir {group} grupe {owner}", "Shared with you by {owner}" : "Pasidalino su Jumis {owner}", + "Share" : "Dalintis", "Share link" : "Dalintis nuoroda", "Link" : "Nuoroda", "Password protect" : "Apsaugotas slaptažodžiu", diff --git a/core/l10n/lv.js b/core/l10n/lv.js index 1abec29f5b..3f63ab03ed 100644 --- a/core/l10n/lv.js +++ b/core/l10n/lv.js @@ -14,6 +14,13 @@ OC.L10N.register( "Thursday" : "Ceturtdiena", "Friday" : "Piektdiena", "Saturday" : "Sestdiena", + "Sun." : "Sv.", + "Mon." : "Pr.", + "Tue." : "Ot.", + "Wed." : "Tr.", + "Thu." : "Ce.", + "Fri." : "Pk.", + "Sat." : "Se.", "January" : "Janvāris", "February" : "Februāris", "March" : "Marts", @@ -26,6 +33,18 @@ OC.L10N.register( "October" : "Oktobris", "November" : "Novembris", "December" : "Decembris", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mai.", + "Jun." : "Jūn.", + "Jul." : "Jūl.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Iestatījumi", "Saving..." : "Saglabā...", "I know what I'm doing" : "Es zinu ko es daru", @@ -44,13 +63,13 @@ OC.L10N.register( "Good password" : "Laba parole", "Strong password" : "Lieliska parole", "Shared" : "Kopīgs", - "Share" : "Dalīties", "Error" : "Kļūda", "Error while sharing" : "Kļūda, daloties", "Error while unsharing" : "Kļūda, beidzot dalīties", "Error while changing permissions" : "Kļūda, mainot atļaujas", "Shared with you and the group {group} by {owner}" : "{owner} dalījās ar jums un grupu {group}", "Shared with you by {owner}" : "{owner} dalījās ar jums", + "Share" : "Dalīties", "Password protect" : "Aizsargāt ar paroli", "Password" : "Parole", "Email link to person" : "Sūtīt saiti personai pa e-pastu", diff --git a/core/l10n/lv.json b/core/l10n/lv.json index acbb677e86..15b9bd5f75 100644 --- a/core/l10n/lv.json +++ b/core/l10n/lv.json @@ -12,6 +12,13 @@ "Thursday" : "Ceturtdiena", "Friday" : "Piektdiena", "Saturday" : "Sestdiena", + "Sun." : "Sv.", + "Mon." : "Pr.", + "Tue." : "Ot.", + "Wed." : "Tr.", + "Thu." : "Ce.", + "Fri." : "Pk.", + "Sat." : "Se.", "January" : "Janvāris", "February" : "Februāris", "March" : "Marts", @@ -24,6 +31,18 @@ "October" : "Oktobris", "November" : "Novembris", "December" : "Decembris", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mai.", + "Jun." : "Jūn.", + "Jul." : "Jūl.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Iestatījumi", "Saving..." : "Saglabā...", "I know what I'm doing" : "Es zinu ko es daru", @@ -42,13 +61,13 @@ "Good password" : "Laba parole", "Strong password" : "Lieliska parole", "Shared" : "Kopīgs", - "Share" : "Dalīties", "Error" : "Kļūda", "Error while sharing" : "Kļūda, daloties", "Error while unsharing" : "Kļūda, beidzot dalīties", "Error while changing permissions" : "Kļūda, mainot atļaujas", "Shared with you and the group {group} by {owner}" : "{owner} dalījās ar jums un grupu {group}", "Shared with you by {owner}" : "{owner} dalījās ar jums", + "Share" : "Dalīties", "Password protect" : "Aizsargāt ar paroli", "Password" : "Parole", "Email link to person" : "Sūtīt saiti personai pa e-pastu", diff --git a/core/l10n/mk.js b/core/l10n/mk.js index a023e7a676..7c132dec81 100644 --- a/core/l10n/mk.js +++ b/core/l10n/mk.js @@ -26,6 +26,13 @@ OC.L10N.register( "Thursday" : "Четврток", "Friday" : "Петок", "Saturday" : "Сабота", + "Sun." : "Нед.", + "Mon." : "Пон.", + "Tue." : "Вто.", + "Wed." : "Сре.", + "Thu." : "Чет.", + "Fri." : "Пет.", + "Sat." : "Саб.", "January" : "Јануари", "February" : "Февруари", "March" : "Март", @@ -38,6 +45,18 @@ OC.L10N.register( "October" : "Октомври", "November" : "Ноември", "December" : "Декември", + "Jan." : "Јан.", + "Feb." : "Фев.", + "Mar." : "Мар.", + "Apr." : "Апр.", + "May." : "Мај.", + "Jun." : "Јун.", + "Jul." : "Јул.", + "Aug." : "Авг.", + "Sep." : "Сеп.", + "Oct." : "Окт.", + "Nov." : "Ное.", + "Dec." : "Дек.", "Settings" : "Подесувања", "Saving..." : "Снимам...", "Couldn't send reset email. Please contact your administrator." : "Не можам да истпратам порака за ресетирање. Ве молам контактирајте го вашиот администратор.", @@ -75,7 +94,6 @@ OC.L10N.register( "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." : "HTTP заглавието \"{header}\" не е конфигурирано да биде еднакво на \"{expected}\". Ова е потенцијално сигурносен ризик и препорачуваме да прилагодат подесувањата.", "Shared" : "Споделен", "Shared with {recipients}" : "Споделено со {recipients}", - "Share" : "Сподели", "Error" : "Грешка", "Error while sharing" : "Грешка при споделување", "Error while unsharing" : "Грешка при прекин на споделување", @@ -84,6 +102,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Споделено со Вас од {owner}", "Share with users or groups …" : "Сподели со корисници или групи ...", "Share with users, groups or remote users …" : "Споделено со корисници, групи или оддалечени корисници ...", + "Share" : "Сподели", "Share link" : "Сподели ја врската", "Password protect" : "Заштити со лозинка", "Password" : "Лозинка", diff --git a/core/l10n/mk.json b/core/l10n/mk.json index 419083daf4..1056ad0b21 100644 --- a/core/l10n/mk.json +++ b/core/l10n/mk.json @@ -24,6 +24,13 @@ "Thursday" : "Четврток", "Friday" : "Петок", "Saturday" : "Сабота", + "Sun." : "Нед.", + "Mon." : "Пон.", + "Tue." : "Вто.", + "Wed." : "Сре.", + "Thu." : "Чет.", + "Fri." : "Пет.", + "Sat." : "Саб.", "January" : "Јануари", "February" : "Февруари", "March" : "Март", @@ -36,6 +43,18 @@ "October" : "Октомври", "November" : "Ноември", "December" : "Декември", + "Jan." : "Јан.", + "Feb." : "Фев.", + "Mar." : "Мар.", + "Apr." : "Апр.", + "May." : "Мај.", + "Jun." : "Јун.", + "Jul." : "Јул.", + "Aug." : "Авг.", + "Sep." : "Сеп.", + "Oct." : "Окт.", + "Nov." : "Ное.", + "Dec." : "Дек.", "Settings" : "Подесувања", "Saving..." : "Снимам...", "Couldn't send reset email. Please contact your administrator." : "Не можам да истпратам порака за ресетирање. Ве молам контактирајте го вашиот администратор.", @@ -73,7 +92,6 @@ "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." : "HTTP заглавието \"{header}\" не е конфигурирано да биде еднакво на \"{expected}\". Ова е потенцијално сигурносен ризик и препорачуваме да прилагодат подесувањата.", "Shared" : "Споделен", "Shared with {recipients}" : "Споделено со {recipients}", - "Share" : "Сподели", "Error" : "Грешка", "Error while sharing" : "Грешка при споделување", "Error while unsharing" : "Грешка при прекин на споделување", @@ -82,6 +100,7 @@ "Shared with you by {owner}" : "Споделено со Вас од {owner}", "Share with users or groups …" : "Сподели со корисници или групи ...", "Share with users, groups or remote users …" : "Споделено со корисници, групи или оддалечени корисници ...", + "Share" : "Сподели", "Share link" : "Сподели ја врската", "Password protect" : "Заштити со лозинка", "Password" : "Лозинка", diff --git a/core/l10n/ms_MY.js b/core/l10n/ms_MY.js index a6c70c3211..1cdb18d72b 100644 --- a/core/l10n/ms_MY.js +++ b/core/l10n/ms_MY.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "Khamis", "Friday" : "Jumaat", "Saturday" : "Sabtu", + "Sun." : "Ahad", + "Mon." : "Isnin", + "Tue." : "Selasa", + "Wed." : "Rabu ", + "Thu." : "Khamis", + "Fri." : "Jumaat", + "Sat." : "Sabtu", "January" : "Januari", "February" : "Februari", "March" : "Mac", @@ -20,14 +27,26 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "Disember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mac.", + "Apr." : "Apr.", + "May." : "Mei", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ogos.", + "Sep." : "Sept.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dis.", "Settings" : "Tetapan", "Saving..." : "Simpan...", "No" : "Tidak", "Yes" : "Ya", "Ok" : "Ok", "Cancel" : "Batal", - "Share" : "Kongsi", "Error" : "Ralat", + "Share" : "Kongsi", "Password" : "Kata laluan", "Send" : "Hantar", "group" : "kumpulan", diff --git a/core/l10n/ms_MY.json b/core/l10n/ms_MY.json index 2e41332f77..3de546e03c 100644 --- a/core/l10n/ms_MY.json +++ b/core/l10n/ms_MY.json @@ -6,6 +6,13 @@ "Thursday" : "Khamis", "Friday" : "Jumaat", "Saturday" : "Sabtu", + "Sun." : "Ahad", + "Mon." : "Isnin", + "Tue." : "Selasa", + "Wed." : "Rabu ", + "Thu." : "Khamis", + "Fri." : "Jumaat", + "Sat." : "Sabtu", "January" : "Januari", "February" : "Februari", "March" : "Mac", @@ -18,14 +25,26 @@ "October" : "Oktober", "November" : "November", "December" : "Disember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mac.", + "Apr." : "Apr.", + "May." : "Mei", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ogos.", + "Sep." : "Sept.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dis.", "Settings" : "Tetapan", "Saving..." : "Simpan...", "No" : "Tidak", "Yes" : "Ya", "Ok" : "Ok", "Cancel" : "Batal", - "Share" : "Kongsi", "Error" : "Ralat", + "Share" : "Kongsi", "Password" : "Kata laluan", "Send" : "Hantar", "group" : "kumpulan", diff --git a/core/l10n/nb_NO.js b/core/l10n/nb_NO.js index c01e230ac7..1c1e7a2458 100644 --- a/core/l10n/nb_NO.js +++ b/core/l10n/nb_NO.js @@ -28,6 +28,13 @@ OC.L10N.register( "Thursday" : "Torsdag", "Friday" : "Fredag", "Saturday" : "Lørdag", + "Sun." : "Sø.", + "Mon." : "Ma.", + "Tue." : "Ti.", + "Wed." : "On.", + "Thu." : "To.", + "Fri." : "Fr.", + "Sat." : "Lø.", "January" : "Januar", "February" : "Februar", "March" : "Mars", @@ -40,6 +47,18 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "Desember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Des.", "Settings" : "Innstillinger", "Saving..." : "Lagrer...", "Couldn't send reset email. Please contact your administrator." : "Klarte ikke å sende e-post for tilbakestilling. Kontakt administratoren.", @@ -81,7 +100,6 @@ OC.L10N.register( "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Du aksesserer denne nettsiden via HTTP. Vi anbefaler på det sterkeste at du konfigurerer serveren til å kreve HTTPS i stedet, som beskrevet i sikkerhetstips.", "Shared" : "Delt", "Shared with {recipients}" : "Delt med {recipients}", - "Share" : "Del", "Error" : "Feil", "Error while sharing" : "Feil under deling", "Error while unsharing" : "Feil ved oppheving av deling", @@ -90,6 +108,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Delt med deg av {owner}", "Share with users or groups …" : "Del med brukere eller grupper ...", "Share with users, groups or remote users …" : "Del med brukere, grupper eller eksterne brukere ...", + "Share" : "Del", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Del med personer på andre ownCloud-installasjoner med syntaksen brukernavn@example.com/owncloud", "Share link" : "Del lenke", "The public link will expire no later than {days} days after it is created" : "Den offentlige lenken vil utløpe senest {days} dager etter at den lages", @@ -216,7 +235,6 @@ OC.L10N.register( "Please contact your administrator." : "Vennligst kontakt administratoren din.", "An internal error occured." : "Det oppstod en intern feil.", "Please try again or contact your administrator." : "Prøv igjen eller kontakt en administrator.", - "Forgot your password? Reset it!" : "Glemt passordet ditt? Tilbakestill det!", "remember" : "husk", "Log in" : "Logg inn", "Alternative Logins" : "Alternative innlogginger", @@ -229,8 +247,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Vennligst kontakt administratoren. Hvis du er administrator for denne instansen, konfigurer innstillingen \"trusted_domain\" i config/config.php. En eksempelkonfigurasjon er gitt i config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Avhengig av konfigurasjonen kan du, som administrator, kanskje også bruke kanppen nedenfor til å stole på dette domenet.", "Add \"%s\" as trusted domain" : "Legg til \"%s\" som et tiltrodd domene", - "%s will be updated to version %s." : "%s vil bli oppdatert til versjon %s.", - "The following apps will be disabled:" : "Følgende apper vil bli deaktivert:", "The theme %s has been disabled." : "Temaet %s har blitt deaktivert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Forsikre deg om at databasen, config-mappen og datamappen er blitt sikkerhetskopiert før du fortsetter.", "Start update" : "Start oppdatering", diff --git a/core/l10n/nb_NO.json b/core/l10n/nb_NO.json index 16828a6427..d2ee6c14a7 100644 --- a/core/l10n/nb_NO.json +++ b/core/l10n/nb_NO.json @@ -26,6 +26,13 @@ "Thursday" : "Torsdag", "Friday" : "Fredag", "Saturday" : "Lørdag", + "Sun." : "Sø.", + "Mon." : "Ma.", + "Tue." : "Ti.", + "Wed." : "On.", + "Thu." : "To.", + "Fri." : "Fr.", + "Sat." : "Lø.", "January" : "Januar", "February" : "Februar", "March" : "Mars", @@ -38,6 +45,18 @@ "October" : "Oktober", "November" : "November", "December" : "Desember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Des.", "Settings" : "Innstillinger", "Saving..." : "Lagrer...", "Couldn't send reset email. Please contact your administrator." : "Klarte ikke å sende e-post for tilbakestilling. Kontakt administratoren.", @@ -79,7 +98,6 @@ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Du aksesserer denne nettsiden via HTTP. Vi anbefaler på det sterkeste at du konfigurerer serveren til å kreve HTTPS i stedet, som beskrevet i sikkerhetstips.", "Shared" : "Delt", "Shared with {recipients}" : "Delt med {recipients}", - "Share" : "Del", "Error" : "Feil", "Error while sharing" : "Feil under deling", "Error while unsharing" : "Feil ved oppheving av deling", @@ -88,6 +106,7 @@ "Shared with you by {owner}" : "Delt med deg av {owner}", "Share with users or groups …" : "Del med brukere eller grupper ...", "Share with users, groups or remote users …" : "Del med brukere, grupper eller eksterne brukere ...", + "Share" : "Del", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Del med personer på andre ownCloud-installasjoner med syntaksen brukernavn@example.com/owncloud", "Share link" : "Del lenke", "The public link will expire no later than {days} days after it is created" : "Den offentlige lenken vil utløpe senest {days} dager etter at den lages", @@ -214,7 +233,6 @@ "Please contact your administrator." : "Vennligst kontakt administratoren din.", "An internal error occured." : "Det oppstod en intern feil.", "Please try again or contact your administrator." : "Prøv igjen eller kontakt en administrator.", - "Forgot your password? Reset it!" : "Glemt passordet ditt? Tilbakestill det!", "remember" : "husk", "Log in" : "Logg inn", "Alternative Logins" : "Alternative innlogginger", @@ -227,8 +245,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Vennligst kontakt administratoren. Hvis du er administrator for denne instansen, konfigurer innstillingen \"trusted_domain\" i config/config.php. En eksempelkonfigurasjon er gitt i config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Avhengig av konfigurasjonen kan du, som administrator, kanskje også bruke kanppen nedenfor til å stole på dette domenet.", "Add \"%s\" as trusted domain" : "Legg til \"%s\" som et tiltrodd domene", - "%s will be updated to version %s." : "%s vil bli oppdatert til versjon %s.", - "The following apps will be disabled:" : "Følgende apper vil bli deaktivert:", "The theme %s has been disabled." : "Temaet %s har blitt deaktivert.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Forsikre deg om at databasen, config-mappen og datamappen er blitt sikkerhetskopiert før du fortsetter.", "Start update" : "Start oppdatering", diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 5634cf0069..80e0ef332f 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "Reparatiefout:", "Following incompatible apps have been disabled: %s" : "De volgende incompatibele apps zijn uitgeschakeld: %s", "Following apps have been disabled: %s" : "De volgende apps zijn gedeactiveerd: %s", + "File is too big" : "Bestand te groot", "Invalid file provided" : "Ongeldig bestand opgegeven", "No image or file provided" : "Geen afbeelding of bestand opgegeven", "Unknown filetype" : "Onbekend bestandsformaat", @@ -28,6 +29,20 @@ OC.L10N.register( "Thursday" : "donderdag", "Friday" : "vrijdag", "Saturday" : "zaterdag", + "Sun." : "Zon.", + "Mon." : "Maa.", + "Tue." : "Din.", + "Wed." : "Woe.", + "Thu." : "Do.", + "Fri." : "Vri.", + "Sat." : "Zat.", + "Su" : "Zo", + "Mo" : "Ma", + "Tu" : "Di", + "We" : "Wo", + "Th" : "Do", + "Fr" : "Vr", + "Sa" : "Za", "January" : "januari", "February" : "februari", "March" : "maart", @@ -40,6 +55,18 @@ OC.L10N.register( "October" : "oktober", "November" : "november", "December" : "december", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Maa.", + "Apr." : "Apr.", + "May." : "Mei.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Instellingen", "Saving..." : "Opslaan", "Couldn't send reset email. Please contact your administrator." : "Kon herstel e-mail niet versturen. Neem contact op met uw beheerder.", @@ -75,13 +102,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Uw data folder en uw bestanden zijn waarschijnlijk vanaf het internet bereikbaar. Het .htaccess-bestand werkt niet. We raden ten zeerste aan aan om uw webserver zodanig te configureren, dat de datadirectory niet bereikbaar is vanaf het internet of om uw datadirectory te verplaatsen naar een locatie buiten de document root van de webserver.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Er is geen geheugencache geconfigureerd. Om de prestaties te verhogen kunt u de memcache configureren als die beschikbaar is. Meer informatie vind u in onze documentatie.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom is niet leesbaar door PHP, hetgeen wordt afgeraden wegens beveiligingsredenen. Meer informatie in onze documentatie.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "UwPHP versie ({version}) wordt niet langer ondersteund door PHP. We adviseren u om uw PHP versie te upgraden voor betere prestaties en security updates geleverd door PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "De reverse proxy headerconfiguratie is onjuist, of u hebt toegang tot ownCloud via een vertrouwde proxy. Als u ownCloud niet via een vertrouwde proxy benadert, dan levert dan een beveiligingsrisico op, waardoor een aanvaller het IP-adres dat ownCloud ziet kan spoofen. Meer informatie is te vinden in onze documentatie.", "Error occurred while checking server setup" : "Een fout trad op bij checken serverconfiguratie", "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." : "De \"{header}\" HTTP header is niet overeenkomstig met \"{expected}\" geconfigureerd. Dit is een potentieel security of privacy risico en we adviseren om deze instelling te wijzigen.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "De \"Strict-Transport-Security\" HTTP header is niet geconfigureerd als minimaal \"{seconds}\" seconden. Voor verbeterde beveiliging adviseren we HSTS in te schakelen zoals beschreven in onze security tips.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "U bent met deze site verbonden over HTTP. We adviseren met klem uw server zo te configureren dat HTTPS wordt vereist, zoals beschreven in onze security tips.", "Shared" : "Gedeeld", "Shared with {recipients}" : "Gedeeld met {recipients}", - "Share" : "Delen", "Error" : "Fout", "Error while sharing" : "Fout tijdens het delen", "Error while unsharing" : "Fout tijdens het stoppen met delen", @@ -90,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Gedeeld met u door {owner}", "Share with users or groups …" : "Delen met gebruikers of groepen ...", "Share with users, groups or remote users …" : "Delen met gebruikers, groepen of externe gebruikers ...", + "Share" : "Delen", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Delen met mensen op andere ownClouds via de syntax gebruikersnaam@voorbeeld.org/owncloud", "Share link" : "Deel link", "The public link will expire no later than {days} days after it is created" : "De openbare link vervalt niet eerder dan {days} dagen na het aanmaken", @@ -169,7 +198,7 @@ OC.L10N.register( "File not found" : "Bestand niet gevonden", "The specified document has not been found on the server." : "Het opgegeven document is niet gevonden op deze server.", "You can click here to return to %s." : "Klik hier om terug te keren naar %s.", - "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hallo,\n\n%s deelt %s met u.\nBekijk het hier: %s\n\n", + "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hallo,\n\n%s deelt %s met u.\nBekijk hier: %s\n\n", "The share will expire on %s." : "De share vervalt op %s.", "Cheers!" : "Proficiat!", "Internal Server Error" : "Interne serverfout", @@ -216,11 +245,11 @@ OC.L10N.register( "Please contact your administrator." : "Neem contact op met uw systeembeheerder.", "An internal error occured." : "Er heeft zich een interne fout voorgedaan.", "Please try again or contact your administrator." : "Probeer het opnieuw of neem contact op met uw beheerder.", - "Forgot your password? Reset it!" : "Wachtwoord vergeten? Herstel het!", + "Wrong password. Reset it?" : "Onjuist wachtwoord. Resetten?", "remember" : "onthoud gegevens", "Log in" : "Meld u aan", "Alternative Logins" : "Alternatieve inlogs", - "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

%s deelt %s met u.
Bekijk het!

", + "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

%s deelt %s met u.
Bekijk hier!

", "This ownCloud instance is currently in single user mode." : "Deze ownCloud werkt momenteel in enkele gebruiker modus.", "This means only administrators can use the instance." : "Dat betekent dat alleen beheerders deze installatie kunnen gebruiken.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Neem contact op met uw systeembeheerder als deze melding aanhoudt of onverwacht verscheen.", @@ -229,8 +258,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Neem contact op met uw beheerder. Als u de beheerder van deze service bent, configureer dan de \"trusted_domain\" instelling in config/config.php. Een voorbeeldconfiguratie is gegeven in config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Afhankelijk van uw configuratie zou u als beheerder ook de onderstaande knop kunnen gebruiken om dit domein te vertrouwen.", "Add \"%s\" as trusted domain" : "\"%s\" toevoegen als vertrouwd domein", - "%s will be updated to version %s." : "%s wordt bijgewerkt naar versie %s.", - "The following apps will be disabled:" : "De volgende apps worden uitgeschakeld:", + "App update required" : "Bijwerken App vereist", + "%s will be updated to version %s" : "%s wordt bijgewerkt naar versie %s", + "These apps will be updated:" : "Deze apps worden bijgewerkt:", + "These incompatible apps will be disabled:" : "De volgende incompatibele apps worden uitgeschakeld:", "The theme %s has been disabled." : "Het thema %s is uitgeschakeld.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Let erop dat de database, de config map en de data map zijn gebackupped voordat u verder gaat.", "Start update" : "Begin de update", diff --git a/core/l10n/nl.json b/core/l10n/nl.json index d106e938bd..828d78bb4c 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -11,6 +11,7 @@ "Repair error: " : "Reparatiefout:", "Following incompatible apps have been disabled: %s" : "De volgende incompatibele apps zijn uitgeschakeld: %s", "Following apps have been disabled: %s" : "De volgende apps zijn gedeactiveerd: %s", + "File is too big" : "Bestand te groot", "Invalid file provided" : "Ongeldig bestand opgegeven", "No image or file provided" : "Geen afbeelding of bestand opgegeven", "Unknown filetype" : "Onbekend bestandsformaat", @@ -26,6 +27,20 @@ "Thursday" : "donderdag", "Friday" : "vrijdag", "Saturday" : "zaterdag", + "Sun." : "Zon.", + "Mon." : "Maa.", + "Tue." : "Din.", + "Wed." : "Woe.", + "Thu." : "Do.", + "Fri." : "Vri.", + "Sat." : "Zat.", + "Su" : "Zo", + "Mo" : "Ma", + "Tu" : "Di", + "We" : "Wo", + "Th" : "Do", + "Fr" : "Vr", + "Sa" : "Za", "January" : "januari", "February" : "februari", "March" : "maart", @@ -38,6 +53,18 @@ "October" : "oktober", "November" : "november", "December" : "december", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Maa.", + "Apr." : "Apr.", + "May." : "Mei.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Instellingen", "Saving..." : "Opslaan", "Couldn't send reset email. Please contact your administrator." : "Kon herstel e-mail niet versturen. Neem contact op met uw beheerder.", @@ -73,13 +100,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Uw data folder en uw bestanden zijn waarschijnlijk vanaf het internet bereikbaar. Het .htaccess-bestand werkt niet. We raden ten zeerste aan aan om uw webserver zodanig te configureren, dat de datadirectory niet bereikbaar is vanaf het internet of om uw datadirectory te verplaatsen naar een locatie buiten de document root van de webserver.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Er is geen geheugencache geconfigureerd. Om de prestaties te verhogen kunt u de memcache configureren als die beschikbaar is. Meer informatie vind u in onze documentatie.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom is niet leesbaar door PHP, hetgeen wordt afgeraden wegens beveiligingsredenen. Meer informatie in onze documentatie.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "UwPHP versie ({version}) wordt niet langer ondersteund door PHP. We adviseren u om uw PHP versie te upgraden voor betere prestaties en security updates geleverd door PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "De reverse proxy headerconfiguratie is onjuist, of u hebt toegang tot ownCloud via een vertrouwde proxy. Als u ownCloud niet via een vertrouwde proxy benadert, dan levert dan een beveiligingsrisico op, waardoor een aanvaller het IP-adres dat ownCloud ziet kan spoofen. Meer informatie is te vinden in onze documentatie.", "Error occurred while checking server setup" : "Een fout trad op bij checken serverconfiguratie", "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." : "De \"{header}\" HTTP header is niet overeenkomstig met \"{expected}\" geconfigureerd. Dit is een potentieel security of privacy risico en we adviseren om deze instelling te wijzigen.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "De \"Strict-Transport-Security\" HTTP header is niet geconfigureerd als minimaal \"{seconds}\" seconden. Voor verbeterde beveiliging adviseren we HSTS in te schakelen zoals beschreven in onze security tips.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "U bent met deze site verbonden over HTTP. We adviseren met klem uw server zo te configureren dat HTTPS wordt vereist, zoals beschreven in onze security tips.", "Shared" : "Gedeeld", "Shared with {recipients}" : "Gedeeld met {recipients}", - "Share" : "Delen", "Error" : "Fout", "Error while sharing" : "Fout tijdens het delen", "Error while unsharing" : "Fout tijdens het stoppen met delen", @@ -88,6 +116,7 @@ "Shared with you by {owner}" : "Gedeeld met u door {owner}", "Share with users or groups …" : "Delen met gebruikers of groepen ...", "Share with users, groups or remote users …" : "Delen met gebruikers, groepen of externe gebruikers ...", + "Share" : "Delen", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Delen met mensen op andere ownClouds via de syntax gebruikersnaam@voorbeeld.org/owncloud", "Share link" : "Deel link", "The public link will expire no later than {days} days after it is created" : "De openbare link vervalt niet eerder dan {days} dagen na het aanmaken", @@ -167,7 +196,7 @@ "File not found" : "Bestand niet gevonden", "The specified document has not been found on the server." : "Het opgegeven document is niet gevonden op deze server.", "You can click here to return to %s." : "Klik hier om terug te keren naar %s.", - "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hallo,\n\n%s deelt %s met u.\nBekijk het hier: %s\n\n", + "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hallo,\n\n%s deelt %s met u.\nBekijk hier: %s\n\n", "The share will expire on %s." : "De share vervalt op %s.", "Cheers!" : "Proficiat!", "Internal Server Error" : "Interne serverfout", @@ -214,11 +243,11 @@ "Please contact your administrator." : "Neem contact op met uw systeembeheerder.", "An internal error occured." : "Er heeft zich een interne fout voorgedaan.", "Please try again or contact your administrator." : "Probeer het opnieuw of neem contact op met uw beheerder.", - "Forgot your password? Reset it!" : "Wachtwoord vergeten? Herstel het!", + "Wrong password. Reset it?" : "Onjuist wachtwoord. Resetten?", "remember" : "onthoud gegevens", "Log in" : "Meld u aan", "Alternative Logins" : "Alternatieve inlogs", - "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

%s deelt %s met u.
Bekijk het!

", + "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

%s deelt %s met u.
Bekijk hier!

", "This ownCloud instance is currently in single user mode." : "Deze ownCloud werkt momenteel in enkele gebruiker modus.", "This means only administrators can use the instance." : "Dat betekent dat alleen beheerders deze installatie kunnen gebruiken.", "Contact your system administrator if this message persists or appeared unexpectedly." : "Neem contact op met uw systeembeheerder als deze melding aanhoudt of onverwacht verscheen.", @@ -227,8 +256,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Neem contact op met uw beheerder. Als u de beheerder van deze service bent, configureer dan de \"trusted_domain\" instelling in config/config.php. Een voorbeeldconfiguratie is gegeven in config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Afhankelijk van uw configuratie zou u als beheerder ook de onderstaande knop kunnen gebruiken om dit domein te vertrouwen.", "Add \"%s\" as trusted domain" : "\"%s\" toevoegen als vertrouwd domein", - "%s will be updated to version %s." : "%s wordt bijgewerkt naar versie %s.", - "The following apps will be disabled:" : "De volgende apps worden uitgeschakeld:", + "App update required" : "Bijwerken App vereist", + "%s will be updated to version %s" : "%s wordt bijgewerkt naar versie %s", + "These apps will be updated:" : "Deze apps worden bijgewerkt:", + "These incompatible apps will be disabled:" : "De volgende incompatibele apps worden uitgeschakeld:", "The theme %s has been disabled." : "Het thema %s is uitgeschakeld.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Let erop dat de database, de config map en de data map zijn gebackupped voordat u verder gaat.", "Start update" : "Begin de update", diff --git a/core/l10n/nn_NO.js b/core/l10n/nn_NO.js index 21ec7302c7..bcc8592e02 100644 --- a/core/l10n/nn_NO.js +++ b/core/l10n/nn_NO.js @@ -17,6 +17,13 @@ OC.L10N.register( "Thursday" : "Torsdag", "Friday" : "Fredag", "Saturday" : "Laurdag", + "Sun." : "Søn.", + "Mon." : "Mån.", + "Tue." : "Tys.", + "Wed." : "Ons.", + "Thu." : "Tor.", + "Fri." : "Fre.", + "Sat." : "Lau.", "January" : "Januar", "February" : "Februar", "March" : "Mars", @@ -29,6 +36,18 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "Desember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar,", + "Apr." : "Apr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Des.", "Settings" : "Innstillingar", "Saving..." : "Lagrar …", "I know what I'm doing" : "Eg veit kva eg gjer", @@ -50,13 +69,13 @@ OC.L10N.register( "Very weak password" : "Veldig svakt passord", "Weak password" : "Svakt passord", "Shared" : "Delt", - "Share" : "Del", "Error" : "Feil", "Error while sharing" : "Feil ved deling", "Error while unsharing" : "Feil ved udeling", "Error while changing permissions" : "Feil ved endring av tillatingar", "Shared with you and the group {group} by {owner}" : "Delt med deg og gruppa {group} av {owner}", "Shared with you by {owner}" : "Delt med deg av {owner}", + "Share" : "Del", "Share link" : "Del lenkje", "Password protect" : "Passordvern", "Password" : "Passord", diff --git a/core/l10n/nn_NO.json b/core/l10n/nn_NO.json index d2b7abbe39..7505fb8528 100644 --- a/core/l10n/nn_NO.json +++ b/core/l10n/nn_NO.json @@ -15,6 +15,13 @@ "Thursday" : "Torsdag", "Friday" : "Fredag", "Saturday" : "Laurdag", + "Sun." : "Søn.", + "Mon." : "Mån.", + "Tue." : "Tys.", + "Wed." : "Ons.", + "Thu." : "Tor.", + "Fri." : "Fre.", + "Sat." : "Lau.", "January" : "Januar", "February" : "Februar", "March" : "Mars", @@ -27,6 +34,18 @@ "October" : "Oktober", "November" : "November", "December" : "Desember", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar,", + "Apr." : "Apr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Des.", "Settings" : "Innstillingar", "Saving..." : "Lagrar …", "I know what I'm doing" : "Eg veit kva eg gjer", @@ -48,13 +67,13 @@ "Very weak password" : "Veldig svakt passord", "Weak password" : "Svakt passord", "Shared" : "Delt", - "Share" : "Del", "Error" : "Feil", "Error while sharing" : "Feil ved deling", "Error while unsharing" : "Feil ved udeling", "Error while changing permissions" : "Feil ved endring av tillatingar", "Shared with you and the group {group} by {owner}" : "Delt med deg og gruppa {group} av {owner}", "Shared with you by {owner}" : "Delt med deg av {owner}", + "Share" : "Del", "Share link" : "Del lenkje", "Password protect" : "Passordvern", "Password" : "Passord", diff --git a/core/l10n/oc.js b/core/l10n/oc.js index 0c7d99c8f4..f1448aa9de 100644 --- a/core/l10n/oc.js +++ b/core/l10n/oc.js @@ -26,6 +26,13 @@ OC.L10N.register( "Thursday" : "Dijòus", "Friday" : "Divendres", "Saturday" : "Dissabte", + "Sun." : "Dim.", + "Mon." : "Luns.", + "Tue." : "Març.", + "Wed." : "Mec.", + "Thu." : "Jòu.", + "Fri." : "Ven.", + "Sat." : "Sab.", "January" : "genièr", "February" : "febrièr", "March" : "març", @@ -38,6 +45,18 @@ OC.L10N.register( "October" : "octobre", "November" : "novembre", "December" : "decembre", + "Jan." : "Gen.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Paramètres", "Saving..." : "Enregistrament…", "Couldn't send reset email. Please contact your administrator." : "Impossible de mandar lo corrièl de reïnicializacion. Contactatz vòstre administrator.", @@ -77,7 +96,6 @@ OC.L10N.register( "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." : "L'entèsta HTTP \"{header}\" es pas configurada per èsser egala a \"{expected}\" en creant potencialament un risc religat a la seguretat e a la vida privada. Es doncas recomandat d'ajustar aqueste paramètre.", "Shared" : "Partejat", "Shared with {recipients}" : "Partejat amb {recipients}", - "Share" : "Partejar", "Error" : "Error", "Error while sharing" : "Error al moment de la mesa en partiment", "Error while unsharing" : "Error al moment de l'anullacion del partiment", @@ -86,6 +104,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Partejat amb vos per {owner}", "Share with users or groups …" : "Partejar amb d'utilizaires o gropes...", "Share with users, groups or remote users …" : "Partejar amb d'utilizaires, gropes, o utilizaires distants", + "Share" : "Partejar", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Partejatz amb de personas sus d'autres ownClouds en utilizant la sintaxi utilizaire@exemple.com/owncloud", "Share link" : "Partejar per ligam public", "The public link will expire no later than {days} days after it is created" : "Aqueste ligam public expirarà al mai tard {days} jorns aprèp sa creacion.", @@ -210,7 +229,6 @@ OC.L10N.register( "Please contact your administrator." : "Contactatz vòstre administrator.", "An internal error occured." : "Una error intèrna s'es produsida.", "Please try again or contact your administrator." : "Reensajatz o contactatz vòstre administrator.", - "Forgot your password? Reset it!" : "Senhal doblidat ? Reïnicializatz-lo !", "remember" : "se remembrar de ieu", "Log in" : "Connexion", "Alternative Logins" : "Identificants alternatius", @@ -223,8 +241,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contactatz vòstre administrator. Se sètz administrator d'aquesta instància, configuratz lo paramètre « trusted_domain » dins lo fichièr config/config.php. Un exemple de configuracion es provesit dins lo fichièr config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "En foncion de vòstra configuracion, en tant qu'administrator podètz tanben utilizar lo boton çaijós per aprovar aqueste domeni.", "Add \"%s\" as trusted domain" : "Apondre \"%s\" a la lista dels domenis aprovats", - "%s will be updated to version %s." : "%s serà mes a jorn cap a la version %s.", - "The following apps will be disabled:" : "Las aplicacions seguentas seràn desactivadas :", "The theme %s has been disabled." : "Lo tèma %s es estat desactivat.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Asseguratz-vos qu'una còpia de salvament de la banca de donadas, del dorsièr de configuracion (config) e del dorsièr de donadas (data) es estat realizada abans de començar.", "Start update" : "Aviar la mesa a jorn", diff --git a/core/l10n/oc.json b/core/l10n/oc.json index 2f8433d0db..fedd7ec6c8 100644 --- a/core/l10n/oc.json +++ b/core/l10n/oc.json @@ -24,6 +24,13 @@ "Thursday" : "Dijòus", "Friday" : "Divendres", "Saturday" : "Dissabte", + "Sun." : "Dim.", + "Mon." : "Luns.", + "Tue." : "Març.", + "Wed." : "Mec.", + "Thu." : "Jòu.", + "Fri." : "Ven.", + "Sat." : "Sab.", "January" : "genièr", "February" : "febrièr", "March" : "març", @@ -36,6 +43,18 @@ "October" : "octobre", "November" : "novembre", "December" : "decembre", + "Jan." : "Gen.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Paramètres", "Saving..." : "Enregistrament…", "Couldn't send reset email. Please contact your administrator." : "Impossible de mandar lo corrièl de reïnicializacion. Contactatz vòstre administrator.", @@ -75,7 +94,6 @@ "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." : "L'entèsta HTTP \"{header}\" es pas configurada per èsser egala a \"{expected}\" en creant potencialament un risc religat a la seguretat e a la vida privada. Es doncas recomandat d'ajustar aqueste paramètre.", "Shared" : "Partejat", "Shared with {recipients}" : "Partejat amb {recipients}", - "Share" : "Partejar", "Error" : "Error", "Error while sharing" : "Error al moment de la mesa en partiment", "Error while unsharing" : "Error al moment de l'anullacion del partiment", @@ -84,6 +102,7 @@ "Shared with you by {owner}" : "Partejat amb vos per {owner}", "Share with users or groups …" : "Partejar amb d'utilizaires o gropes...", "Share with users, groups or remote users …" : "Partejar amb d'utilizaires, gropes, o utilizaires distants", + "Share" : "Partejar", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Partejatz amb de personas sus d'autres ownClouds en utilizant la sintaxi utilizaire@exemple.com/owncloud", "Share link" : "Partejar per ligam public", "The public link will expire no later than {days} days after it is created" : "Aqueste ligam public expirarà al mai tard {days} jorns aprèp sa creacion.", @@ -208,7 +227,6 @@ "Please contact your administrator." : "Contactatz vòstre administrator.", "An internal error occured." : "Una error intèrna s'es produsida.", "Please try again or contact your administrator." : "Reensajatz o contactatz vòstre administrator.", - "Forgot your password? Reset it!" : "Senhal doblidat ? Reïnicializatz-lo !", "remember" : "se remembrar de ieu", "Log in" : "Connexion", "Alternative Logins" : "Identificants alternatius", @@ -221,8 +239,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contactatz vòstre administrator. Se sètz administrator d'aquesta instància, configuratz lo paramètre « trusted_domain » dins lo fichièr config/config.php. Un exemple de configuracion es provesit dins lo fichièr config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "En foncion de vòstra configuracion, en tant qu'administrator podètz tanben utilizar lo boton çaijós per aprovar aqueste domeni.", "Add \"%s\" as trusted domain" : "Apondre \"%s\" a la lista dels domenis aprovats", - "%s will be updated to version %s." : "%s serà mes a jorn cap a la version %s.", - "The following apps will be disabled:" : "Las aplicacions seguentas seràn desactivadas :", "The theme %s has been disabled." : "Lo tèma %s es estat desactivat.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Asseguratz-vos qu'una còpia de salvament de la banca de donadas, del dorsièr de configuracion (config) e del dorsièr de donadas (data) es estat realizada abans de començar.", "Start update" : "Aviar la mesa a jorn", diff --git a/core/l10n/pa.js b/core/l10n/pa.js index 49a40a64ed..2fbfabce1b 100644 --- a/core/l10n/pa.js +++ b/core/l10n/pa.js @@ -27,8 +27,8 @@ OC.L10N.register( "Choose" : "ਚੁਣੋ", "Ok" : "ਠੀਕ ਹੈ", "Cancel" : "ਰੱਦ ਕਰੋ", - "Share" : "ਸਾਂਝਾ ਕਰੋ", "Error" : "ਗਲ", + "Share" : "ਸਾਂਝਾ ਕਰੋ", "Password" : "ਪਾਸਵਰ", "Send" : "ਭੇਜੋ", "Warning" : "ਚੇਤਾਵਨੀ", diff --git a/core/l10n/pa.json b/core/l10n/pa.json index ef4e2e2327..037c1d9482 100644 --- a/core/l10n/pa.json +++ b/core/l10n/pa.json @@ -25,8 +25,8 @@ "Choose" : "ਚੁਣੋ", "Ok" : "ਠੀਕ ਹੈ", "Cancel" : "ਰੱਦ ਕਰੋ", - "Share" : "ਸਾਂਝਾ ਕਰੋ", "Error" : "ਗਲ", + "Share" : "ਸਾਂਝਾ ਕਰੋ", "Password" : "ਪਾਸਵਰ", "Send" : "ਭੇਜੋ", "Warning" : "ਚੇਤਾਵਨੀ", diff --git a/core/l10n/pl.js b/core/l10n/pl.js index 7bc447bffc..61ce937889 100644 --- a/core/l10n/pl.js +++ b/core/l10n/pl.js @@ -24,6 +24,13 @@ OC.L10N.register( "Thursday" : "Czwartek", "Friday" : "Piątek", "Saturday" : "Sobota", + "Sun." : "N.", + "Mon." : "Pn.", + "Tue." : "Wt.", + "Wed." : "Śr.", + "Thu." : "Cz.", + "Fri." : "Pt.", + "Sat." : "S.", "January" : "Styczeń", "February" : "Luty", "March" : "Marzec", @@ -36,6 +43,18 @@ OC.L10N.register( "October" : "Październik", "November" : "Listopad", "December" : "Grudzień", + "Jan." : "Sty.", + "Feb." : "Lut.", + "Mar." : "Mar.", + "Apr." : "Kwi.", + "May." : "Maj.", + "Jun." : "Cze.", + "Jul." : "Lip.", + "Aug." : "Sie.", + "Sep." : "Wrz.", + "Oct." : "Paź.", + "Nov." : "Lis.", + "Dec." : "Gru.", "Settings" : "Ustawienia", "Saving..." : "Zapisywanie...", "Couldn't send reset email. Please contact your administrator." : "Nie mogę wysłać maila resetującego. Skontaktuj się z administratorem.", @@ -69,7 +88,6 @@ OC.L10N.register( "Error occurred while checking server setup" : "Pojawił się błąd podczas sprawdzania ustawień serwera", "Shared" : "Udostępniono", "Shared with {recipients}" : "Współdzielony z {recipients}", - "Share" : "Udostępnij", "Error" : "Błąd", "Error while sharing" : "Błąd podczas współdzielenia", "Error while unsharing" : "Błąd podczas zatrzymywania współdzielenia", @@ -77,6 +95,7 @@ OC.L10N.register( "Shared with you and the group {group} by {owner}" : "Udostępnione tobie i grupie {group} przez {owner}", "Shared with you by {owner}" : "Udostępnione tobie przez {owner}", "Share with users or groups …" : "Współdziel z użytkownikami lub grupami", + "Share" : "Udostępnij", "Share link" : "Udostępnij link", "The public link will expire no later than {days} days after it is created" : "Link publiczny wygaśnie nie później niż po {days} dniach od utworzenia", "Link" : "Odnośnik", @@ -187,7 +206,6 @@ OC.L10N.register( "Server side authentication failed!" : "Uwierzytelnianie po stronie serwera nie powiodło się!", "Please contact your administrator." : "Skontaktuj się z administratorem", "Please try again or contact your administrator." : "Spróbuj ponownie lub skontaktuj się z administratorem.", - "Forgot your password? Reset it!" : "Nie pamiętasz hasła? Zresetuj je!", "remember" : "pamiętaj", "Log in" : "Zaloguj", "Alternative Logins" : "Alternatywne loginy", @@ -200,8 +218,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Proszę skontaktuj się z administratorem. Jeśli jesteś administratorem tej instancji, skonfiguruj parametr \"trusted_domain\" w pliku config/config.php. Przykładowa konfiguracja jest dostępna w pliku config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "W zależności od konfiguracji, jako administrator możesz także użyć poniższego przycisku aby zaufać tej domenie.", "Add \"%s\" as trusted domain" : "Dodaj \"%s\" jako domenę zaufaną", - "%s will be updated to version %s." : "%s zostanie zaktualizowane do wersji %s.", - "The following apps will be disabled:" : "Następujące aplikacje zostaną zablokowane:", "The theme %s has been disabled." : "Motyw %s został wyłączony.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Proszę się upewnić, że baza danych, folder konfiguracji oraz folder danych zostały zarchiwizowane przed przejściem dalej.", "Start update" : "Rozpocznij aktualizację", diff --git a/core/l10n/pl.json b/core/l10n/pl.json index 66f3c36921..0ad9d09142 100644 --- a/core/l10n/pl.json +++ b/core/l10n/pl.json @@ -22,6 +22,13 @@ "Thursday" : "Czwartek", "Friday" : "Piątek", "Saturday" : "Sobota", + "Sun." : "N.", + "Mon." : "Pn.", + "Tue." : "Wt.", + "Wed." : "Śr.", + "Thu." : "Cz.", + "Fri." : "Pt.", + "Sat." : "S.", "January" : "Styczeń", "February" : "Luty", "March" : "Marzec", @@ -34,6 +41,18 @@ "October" : "Październik", "November" : "Listopad", "December" : "Grudzień", + "Jan." : "Sty.", + "Feb." : "Lut.", + "Mar." : "Mar.", + "Apr." : "Kwi.", + "May." : "Maj.", + "Jun." : "Cze.", + "Jul." : "Lip.", + "Aug." : "Sie.", + "Sep." : "Wrz.", + "Oct." : "Paź.", + "Nov." : "Lis.", + "Dec." : "Gru.", "Settings" : "Ustawienia", "Saving..." : "Zapisywanie...", "Couldn't send reset email. Please contact your administrator." : "Nie mogę wysłać maila resetującego. Skontaktuj się z administratorem.", @@ -67,7 +86,6 @@ "Error occurred while checking server setup" : "Pojawił się błąd podczas sprawdzania ustawień serwera", "Shared" : "Udostępniono", "Shared with {recipients}" : "Współdzielony z {recipients}", - "Share" : "Udostępnij", "Error" : "Błąd", "Error while sharing" : "Błąd podczas współdzielenia", "Error while unsharing" : "Błąd podczas zatrzymywania współdzielenia", @@ -75,6 +93,7 @@ "Shared with you and the group {group} by {owner}" : "Udostępnione tobie i grupie {group} przez {owner}", "Shared with you by {owner}" : "Udostępnione tobie przez {owner}", "Share with users or groups …" : "Współdziel z użytkownikami lub grupami", + "Share" : "Udostępnij", "Share link" : "Udostępnij link", "The public link will expire no later than {days} days after it is created" : "Link publiczny wygaśnie nie później niż po {days} dniach od utworzenia", "Link" : "Odnośnik", @@ -185,7 +204,6 @@ "Server side authentication failed!" : "Uwierzytelnianie po stronie serwera nie powiodło się!", "Please contact your administrator." : "Skontaktuj się z administratorem", "Please try again or contact your administrator." : "Spróbuj ponownie lub skontaktuj się z administratorem.", - "Forgot your password? Reset it!" : "Nie pamiętasz hasła? Zresetuj je!", "remember" : "pamiętaj", "Log in" : "Zaloguj", "Alternative Logins" : "Alternatywne loginy", @@ -198,8 +216,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Proszę skontaktuj się z administratorem. Jeśli jesteś administratorem tej instancji, skonfiguruj parametr \"trusted_domain\" w pliku config/config.php. Przykładowa konfiguracja jest dostępna w pliku config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "W zależności od konfiguracji, jako administrator możesz także użyć poniższego przycisku aby zaufać tej domenie.", "Add \"%s\" as trusted domain" : "Dodaj \"%s\" jako domenę zaufaną", - "%s will be updated to version %s." : "%s zostanie zaktualizowane do wersji %s.", - "The following apps will be disabled:" : "Następujące aplikacje zostaną zablokowane:", "The theme %s has been disabled." : "Motyw %s został wyłączony.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Proszę się upewnić, że baza danych, folder konfiguracji oraz folder danych zostały zarchiwizowane przed przejściem dalej.", "Start update" : "Rozpocznij aktualizację", diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index 3d4843bcb8..9ecf345d7c 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -29,6 +29,20 @@ OC.L10N.register( "Thursday" : "Quinta-feira", "Friday" : "Sexta-feira", "Saturday" : "Sábado", + "Sun." : "Dom.", + "Mon." : "Seg.", + "Tue." : "Ter.", + "Wed." : "Qua.", + "Thu." : "Qui.", + "Fri." : "Sex.", + "Sat." : "Sáb.", + "Su" : "Do", + "Mo" : "Se", + "Tu" : "Te", + "We" : "Qa", + "Th" : "Qu", + "Fr" : "Se", + "Sa" : "Sa", "January" : "Janeiro", "February" : "Fevereiro", "March" : "Março", @@ -41,6 +55,18 @@ OC.L10N.register( "October" : "Outubro", "November" : "Novembro", "December" : "Dezembro", + "Jan." : "Jan.", + "Feb." : "Fev.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Set.", + "Oct." : "Out.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Configurações", "Saving..." : "Salvando...", "Couldn't send reset email. Please contact your administrator." : "Não foi possível enviar e-mail de redefinição. Por favor, contate o administrador.", @@ -76,13 +102,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "O seu diretório de dados e os arquivos estão, provavelmente, acessíveis a partir da Internet. O arquivo .htaccess não está funcionando. Nós sugerimos que você configure o servidor web de uma forma que o diretório de dados não seja acessível ou mova o diretório de dados para fora do diretório raiz de documentos do servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nenhum cache de memória foi configurado. Para melhorar o seu desempenho, por favor configurar um cache de memória, se disponível. Mais informações podem ser encontradas em nossa documentação .", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom não pode ser lido por PHP o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas em nossa documentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "A sua versão do PHP ({version}) não é suportada pela PHP. Nós o incentivamos a atualizar sua versão do PHP para tirar proveito de atualizações de desempenho e de segurança fornecidos pela PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "A configuração de cabeçalhos do proxy reverso está incorreta, ou você está acessando ownCloud de um proxy confiável. Se você não está acessando ownCloud de um proxy confiável, esta é uma questão de segurança e pode permitir a um invasor falsificar seu endereço IP como visível para ownCloud. Mais informações podem ser encontradas em nossa documentação.", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "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." : "O \"{header}\" cabeçalho HTTP não está configurado igual ao \"{expected}\". Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "O cabeçalho \"Transporte-de-Segurança-Restrita\"HTTP não está configurada para menos de \"{seconds}\" segundos. Para uma maior segurança recomendamos a ativação HSTS conforme descrito em nossas dicas de segurança.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Você está acessando este site via HTTP. Nós fortemente sugerimos que você ao invéz, configure o servidor para exigir o uso de HTTPS como descrito em nossas dicas de segurança.", "Shared" : "Compartilhados", "Shared with {recipients}" : "Compartilhado com {recipients}", - "Share" : "Compartilhar", "Error" : "Erro", "Error while sharing" : "Erro ao compartilhar", "Error while unsharing" : "Erro ao descompartilhar", @@ -91,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Compartilhado com você por {owner}", "Share with users or groups …" : "Compartilhar com usuários ou grupos ...", "Share with users, groups or remote users …" : "Compartilhar com usuários, grupos ou usuários remoto ...", + "Share" : "Compartilhar", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Compartilhar com usuários em outros ownClouds usando a sintaxe username@example.com/owncloud", "Share link" : "Compartilhar link", "The public link will expire no later than {days} days after it is created" : "O link público irá expirar não antes de {days} depois de ser criado", @@ -144,6 +172,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "A atualização foi bem sucedida. Havia advertências.", "The update was successful. Redirecting you to ownCloud now." : "A atualização teve êxito. Você será redirecionado ao ownCloud agora.", "Couldn't reset password because the token is invalid" : "Não foi possível redefinir a senha porque o token é inválido", + "Couldn't reset password because the token is expired" : "Não foi possível redefinir a senha porque o token expirou", "Couldn't send reset email. Please make sure your username is correct." : "Não foi possível enviar e-mail de redefinição. Verifique se o seu nome de usuário está correto.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar e-mail de redefinição, porque não há nenhum endereço de e-mail para este nome de usuário. Por favor, contate o administrador.", "%s password reset" : "%s redefinir senha", @@ -217,7 +246,7 @@ OC.L10N.register( "Please contact your administrator." : "Por favor, contate o administrador.", "An internal error occured." : "Ocorreu um erro interno.", "Please try again or contact your administrator." : "Por favor tente novamente ou faça contato com o seu administrador.", - "Forgot your password? Reset it!" : "Esqueceu sua senha? Redefini-la!", + "Wrong password. Reset it?" : "Senha incorreta. Redefini-la?", "remember" : "lembrar", "Log in" : "Fazer login", "Alternative Logins" : "Logins Alternativos", @@ -230,8 +259,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Por favor, contate o administrador. Se você é um administrador desta instância, configurre o \"trusted_domain\" em config/config.php. Um exemplo de configuração é fornecido em config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependendo da configuração, como administrador, você também pode ser capaz de usar o botão abaixo para confiar neste domínio.", "Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio confiavel", - "%s will be updated to version %s." : "%s será atualizado para a versão %s.", - "The following apps will be disabled:" : "Os seguintes aplicativos serão desativados:", + "App update required" : "Atualização de aplicativo é requerida", + "%s will be updated to version %s" : "%s será atualizado para a versão %s", + "These apps will be updated:" : "Esses aplicativos serão atualizados:", + "These incompatible apps will be disabled:" : "Esses aplicativos inconpatíveis serão desabilitados:", "The theme %s has been disabled." : "O tema %s foi desativado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Por favor, certifique-se de que o banco de dados, a pasta config e a pasta de dados foram copiados antes de prosseguir.", "Start update" : "Iniciar atualização", diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index d4e2fe1fd3..b82874a826 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -27,6 +27,20 @@ "Thursday" : "Quinta-feira", "Friday" : "Sexta-feira", "Saturday" : "Sábado", + "Sun." : "Dom.", + "Mon." : "Seg.", + "Tue." : "Ter.", + "Wed." : "Qua.", + "Thu." : "Qui.", + "Fri." : "Sex.", + "Sat." : "Sáb.", + "Su" : "Do", + "Mo" : "Se", + "Tu" : "Te", + "We" : "Qa", + "Th" : "Qu", + "Fr" : "Se", + "Sa" : "Sa", "January" : "Janeiro", "February" : "Fevereiro", "March" : "Março", @@ -39,6 +53,18 @@ "October" : "Outubro", "November" : "Novembro", "December" : "Dezembro", + "Jan." : "Jan.", + "Feb." : "Fev.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Set.", + "Oct." : "Out.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Configurações", "Saving..." : "Salvando...", "Couldn't send reset email. Please contact your administrator." : "Não foi possível enviar e-mail de redefinição. Por favor, contate o administrador.", @@ -74,13 +100,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "O seu diretório de dados e os arquivos estão, provavelmente, acessíveis a partir da Internet. O arquivo .htaccess não está funcionando. Nós sugerimos que você configure o servidor web de uma forma que o diretório de dados não seja acessível ou mova o diretório de dados para fora do diretório raiz de documentos do servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nenhum cache de memória foi configurado. Para melhorar o seu desempenho, por favor configurar um cache de memória, se disponível. Mais informações podem ser encontradas em nossa documentação .", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom não pode ser lido por PHP o que é altamente desencorajado por razões de segurança. Mais informações podem ser encontradas em nossa documentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "A sua versão do PHP ({version}) não é suportada pela PHP. Nós o incentivamos a atualizar sua versão do PHP para tirar proveito de atualizações de desempenho e de segurança fornecidos pela PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "A configuração de cabeçalhos do proxy reverso está incorreta, ou você está acessando ownCloud de um proxy confiável. Se você não está acessando ownCloud de um proxy confiável, esta é uma questão de segurança e pode permitir a um invasor falsificar seu endereço IP como visível para ownCloud. Mais informações podem ser encontradas em nossa documentação.", "Error occurred while checking server setup" : "Erro ao verificar a configuração do servidor", "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." : "O \"{header}\" cabeçalho HTTP não está configurado igual ao \"{expected}\". Este é um risco potencial para a segurança e recomendamos ajustar essa configuração.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "O cabeçalho \"Transporte-de-Segurança-Restrita\"HTTP não está configurada para menos de \"{seconds}\" segundos. Para uma maior segurança recomendamos a ativação HSTS conforme descrito em nossas dicas de segurança.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Você está acessando este site via HTTP. Nós fortemente sugerimos que você ao invéz, configure o servidor para exigir o uso de HTTPS como descrito em nossas dicas de segurança.", "Shared" : "Compartilhados", "Shared with {recipients}" : "Compartilhado com {recipients}", - "Share" : "Compartilhar", "Error" : "Erro", "Error while sharing" : "Erro ao compartilhar", "Error while unsharing" : "Erro ao descompartilhar", @@ -89,6 +116,7 @@ "Shared with you by {owner}" : "Compartilhado com você por {owner}", "Share with users or groups …" : "Compartilhar com usuários ou grupos ...", "Share with users, groups or remote users …" : "Compartilhar com usuários, grupos ou usuários remoto ...", + "Share" : "Compartilhar", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Compartilhar com usuários em outros ownClouds usando a sintaxe username@example.com/owncloud", "Share link" : "Compartilhar link", "The public link will expire no later than {days} days after it is created" : "O link público irá expirar não antes de {days} depois de ser criado", @@ -142,6 +170,7 @@ "The update was successful. There were warnings." : "A atualização foi bem sucedida. Havia advertências.", "The update was successful. Redirecting you to ownCloud now." : "A atualização teve êxito. Você será redirecionado ao ownCloud agora.", "Couldn't reset password because the token is invalid" : "Não foi possível redefinir a senha porque o token é inválido", + "Couldn't reset password because the token is expired" : "Não foi possível redefinir a senha porque o token expirou", "Couldn't send reset email. Please make sure your username is correct." : "Não foi possível enviar e-mail de redefinição. Verifique se o seu nome de usuário está correto.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Não foi possível enviar e-mail de redefinição, porque não há nenhum endereço de e-mail para este nome de usuário. Por favor, contate o administrador.", "%s password reset" : "%s redefinir senha", @@ -215,7 +244,7 @@ "Please contact your administrator." : "Por favor, contate o administrador.", "An internal error occured." : "Ocorreu um erro interno.", "Please try again or contact your administrator." : "Por favor tente novamente ou faça contato com o seu administrador.", - "Forgot your password? Reset it!" : "Esqueceu sua senha? Redefini-la!", + "Wrong password. Reset it?" : "Senha incorreta. Redefini-la?", "remember" : "lembrar", "Log in" : "Fazer login", "Alternative Logins" : "Logins Alternativos", @@ -228,8 +257,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Por favor, contate o administrador. Se você é um administrador desta instância, configurre o \"trusted_domain\" em config/config.php. Um exemplo de configuração é fornecido em config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependendo da configuração, como administrador, você também pode ser capaz de usar o botão abaixo para confiar neste domínio.", "Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio confiavel", - "%s will be updated to version %s." : "%s será atualizado para a versão %s.", - "The following apps will be disabled:" : "Os seguintes aplicativos serão desativados:", + "App update required" : "Atualização de aplicativo é requerida", + "%s will be updated to version %s" : "%s será atualizado para a versão %s", + "These apps will be updated:" : "Esses aplicativos serão atualizados:", + "These incompatible apps will be disabled:" : "Esses aplicativos inconpatíveis serão desabilitados:", "The theme %s has been disabled." : "O tema %s foi desativado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Por favor, certifique-se de que o banco de dados, a pasta config e a pasta de dados foram copiados antes de prosseguir.", "Start update" : "Iniciar atualização", diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js index d7d70d4b5d..1dceca1fda 100644 --- a/core/l10n/pt_PT.js +++ b/core/l10n/pt_PT.js @@ -4,21 +4,24 @@ OC.L10N.register( "Couldn't send mail to following users: %s " : "Não foi possível enviar a mensagem para os seguintes utilizadores: %s", "Turned on maintenance mode" : "Ativado o modo de manutenção", "Turned off maintenance mode" : "Desativado o modo de manutenção", + "Maintenance mode is kept active" : "O modo de manutenção é mantido ativo", "Updated database" : "Base de dados atualizada", "Checked database schema update" : "Atualização do esquema da base de dados verificada.", "Checked database schema update for apps" : "Atualização do esquema da base de dados verificada.", "Updated \"%s\" to %s" : "Atualizado \"%s\" para %s", "Repair warning: " : "Aviso de reparação:", - "Repair error: " : "Repare o erro:", - "Following incompatible apps have been disabled: %s" : "As seguintes aplicações incompatíveis foram desativadas: %s", - "Invalid file provided" : "Ficheiro selecionado inválido", + "Repair error: " : "Corrija o erro:", + "Following incompatible apps have been disabled: %s" : "As seguintes apps incompatíveis foram desativadas: %s", + "Following apps have been disabled: %s" : "As seguintes apps foram desativadas: %s", + "File is too big" : "O ficheiro é muito grande", + "Invalid file provided" : "Ficheiro indicado inválido", "No image or file provided" : "Não foi fornecido nenhum ficheiro ou imagem", "Unknown filetype" : "Tipo de ficheiro desconhecido", "Invalid image" : "Imagem inválida", "No temporary profile picture available, try again" : "Fotografia temporária do perfil indisponível, tente novamente", "No crop data provided" : "Não foram fornecidos dados de recorte", - "No valid crop data provided" : "Sem dados válidos selecionados", - "Crop is not square" : "Recorte não é quadrado", + "No valid crop data provided" : "Não foram indicados dados de recorte válidos", + "Crop is not square" : "O recorte não é quadrado", "Sunday" : "Domingo", "Monday" : "Segunda", "Tuesday" : "Terça", @@ -26,6 +29,13 @@ OC.L10N.register( "Thursday" : "Quinta", "Friday" : "Sexta", "Saturday" : "Sábado", + "Sun." : "Dom.", + "Mon." : "Seg.", + "Tue." : "Ter.", + "Wed." : "Qua.", + "Thu." : "Qui.", + "Fri." : "Sex.", + "Sat." : "Sáb.", "January" : "Janeiro", "February" : "Fevereiro", "March" : "Março", @@ -38,11 +48,23 @@ OC.L10N.register( "October" : "Outubro", "November" : "Novembro", "December" : "Dezembro", + "Jan." : "Jan.", + "Feb." : "Fev.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Set.", + "Oct." : "Out.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Definições", "Saving..." : "A guardar ...", "Couldn't send reset email. Please contact your administrator." : "Não foi possível enviar o e-mail de reposição. Por favor, contacte o administrador.", - "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.
If it is not there ask your local administrator." : "O link para fazer reset à sua password foi enviado para o seu e-mail.
Se não o recebeu dentro um espaço de tempo aceitável, por favor verifique a sua pasta de SPAM.
Se não o encontrar, por favor contacte o seu administrador.", - "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.
If you are not sure what to do, please contact your administrator before you continue.
Do you really want to continue?" : "Os seus ficheiros estão encriptados. Se não activou a chave de recuperação, não vai ser possível recuperar os seus dados no caso da sua password ser reinicializada. Se não tem a certeza do que precisa de fazer, por favor contacte o seu administrador antes de continuar. Tem a certeza que quer continuar?", + "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.
If it is not there ask your local administrator." : "A hiperligação para reiniciar a sua senha foi enviada para o seu correio eletrónico. Se não a receber dentro de um tempo aceitável, verifique as suas pastas de span/lixo.
Se não a encontrar, pergunte ao seu administrador local.", + "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.
If you are not sure what to do, please contact your administrator before you continue.
Do you really want to continue?" : "Os seus ficheiros estão encriptados. Se não ativou a chave de recuperação, não terá nenhum modo para voltar obter os seus dados depois de reiniciar a sua senha.
Se não tem a certeza do que fazer, por favor, contacte o seu administrador antes de continuar.
Tem a certeza que quer continuar?", "I know what I'm doing" : "Eu sei o que eu estou a fazer", "Password can not be changed. Please contact your administrator." : "A palavra-passe não pode ser alterada. Por favor, contacte o seu administrador.", "No" : "Não", @@ -53,11 +75,11 @@ OC.L10N.register( "Error loading message template: {error}" : "Ocorreu um erro ao carregar o modelo: {error}", "read-only" : "só-de-leitura", "_{count} file conflict_::_{count} file conflicts_" : ["{count} conflito de ficheiro","{count} conflitos de ficheiro"], - "One file conflict" : "Um conflito no ficheiro", + "One file conflict" : "Um conflito de ficheiro", "New Files" : "Ficheiros Novos", "Already existing files" : "Ficheiros já existentes", "Which files do you want to keep?" : "Quais os ficheiros que pretende manter?", - "If you select both versions, the copied file will have a number added to its name." : "Se escolher ambas as versões, o ficheiro copiado irá ter um número adicionado ao seu nome.", + "If you select both versions, the copied file will have a number added to its name." : "Se selecionar ambas as versões, o ficheiro copiado irá ter um número adicionado ao seu nome.", "Cancel" : "Cancelar", "Continue" : "Continuar", "(all selected)" : "(todos selecionados)", @@ -68,7 +90,7 @@ OC.L10N.register( "So-so password" : "Palavra-passe aceitável", "Good password" : "Palavra-passe boa", "Strong password" : "Palavra-passe forte", - "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "O seu servidor web não está configurado correctamente para autorizar sincronização de ficheiros, pois o interface WebDAV parece estar com problemas.", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "O seu servidor da Web não está configurado corretamente para permitir a sincronização de ficheiro, porque a interface WebDAV parece estar com problemas.", "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Este servidor ownCloud não tem uma ligação de Internet a funcionar. Isto significa que algumas funcionalidades como o acesso a locais externos, notificações sobre actualizações, ou a instalação de aplicações de terceiros não irá funcionar. Aceder aos ficheiros remotamente e enviar notificações de email poderão não funcionar também. Sugerimos que active uma ligação à Internet se pretende obter todas as funcionalidades do ownCloud.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "A sua pasta com os dados e os seus ficheiros estão provavelmente acessíveis a partir das internet. O seu ficheiro .htaccess não está a funcionar corretamente. Sugerimos veementemente que configure o seu servidor web de maneira a que a pasta com os dados deixe de ficar acessível, ou mova a pasta com os dados para fora da raiz de documentos do servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nenhuma memória de cache foi configurada. Se possível configure-a de forma a optimizar o desempenho. Mais informações podem ser encontradas na documentação.", @@ -76,7 +98,6 @@ OC.L10N.register( "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." : "O cabeçalho HTTP \"{header}\" não está configurado para igualar \"{expected}\". Isto é um potencial risco de segurança ou privacidade e recomendamos que o corrija.", "Shared" : "Partilhado", "Shared with {recipients}" : "Partilhado com {recipients}", - "Share" : "Compartilhar", "Error" : "Erro", "Error while sharing" : "Erro ao partilhar", "Error while unsharing" : "Erro ao remover a partilha", @@ -85,6 +106,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Partilhado consigo por {owner}", "Share with users or groups …" : "Partilhar com utilizadores ou grupos...", "Share with users, groups or remote users …" : "Partilhar com utilizadores, grupos ou utilizadores remotos...", + "Share" : "Compartilhar", "Share link" : "Compartilhar hiperligação", "The public link will expire no later than {days} days after it is created" : "O link público expira, o mais tardar {days} dias após sua criação", "Link" : "Hiperligação", @@ -130,9 +152,11 @@ OC.L10N.register( "Hello {name}, the weather is {weather}" : "Olá {name}, o tempo está {weather}", "Hello {name}" : "Olá {name}", "_download %n file_::_download %n files_" : ["transferir %n ficheiro","transferir %n ficheiros"], + "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informação sobre como atualizar.", "Updating {productName} to version {version}, this may take a while." : "A atualizar {productName} para a versão {version}, isto poderá demorar algum tempo.", "Please reload the page." : "Por favor, recarregue a página.", "The update was unsuccessful. " : "Não foi possível atualizar.", + "The update was successful. There were warnings." : "A atualização foi bem sucedida. Tem alguns avisos.", "The update was successful. Redirecting you to ownCloud now." : "A actualização foi concluída com sucesso. Vai ser redireccionado para o ownCloud agora.", "Couldn't reset password because the token is invalid" : "Não foi possível repor a palavra-passe porque a senha é inválida", "Couldn't send reset email. Please make sure your username is correct." : "Ocorreu um problema com o envio do e-mail, por favor confirme o seu utilizador.", @@ -143,6 +167,7 @@ OC.L10N.register( "New Password" : "Nova palavra-passe", "Reset password" : "Repor palavra-passe", "Searching other places" : "A pesquisar noutros lugares", + "No search results in other places" : "Nenhuns resultados em outros locais", "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultado de pesquisa noutros lugares","{count} resultados de pesquisa noutros lugares"], "Personal" : "Pessoal", "Users" : "Utilizadores", @@ -185,6 +210,7 @@ OC.L10N.register( "Data folder" : "Pasta de dados", "Configure the database" : "Configure a base de dados", "Only %s is available." : "Só está disponível %s.", + "Install and activate additional PHP modules to choose other database types." : "Instale e ative os módulos PHP adicionais para escolher outros tipos de base de dados.", "For more details check out the documentation." : "Para mais detalhes consulte a documentação.", "Database user" : "Utilizador da base de dados", "Database password" : "Palavra-passe da base de dados", @@ -206,7 +232,7 @@ OC.L10N.register( "Please contact your administrator." : "Por favor contacte o administrador.", "An internal error occured." : "Ocorreu um erro interno.", "Please try again or contact your administrator." : "Por favor tente de novo ou contacte o administrador.", - "Forgot your password? Reset it!" : "Esqueceu-se da sua palavra-passe? Recupere-a!", + "Wrong password. Reset it?" : "Senha errada. Repô-la?", "remember" : "lembrar", "Log in" : "Entrar", "Alternative Logins" : "Contas de acesso alternativas", @@ -219,8 +245,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Por favor contacte o seu administrador. Se é um administrador desta instância, configure as definições \"trusted_domain\" em config/config.php. Um exemplo de configuração é fornecido em config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependendo da configuração, como administrador, você também pode ser capaz de usar o botão abaixo para confiar neste domínio.", "Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio de confiança", - "%s will be updated to version %s." : "O %s irá ser atualizado para a versão %s.", - "The following apps will be disabled:" : "As seguintes apps irão ser desativadas:", + "App update required" : "É necessário atualizar a app", + "%s will be updated to version %s" : "%s será atualizada para a versão %s.", + "These apps will be updated:" : "Estas apps irão ser atualizadas.", + "These incompatible apps will be disabled:" : "Estas apps incompatíveis irão ser desativadas:", "The theme %s has been disabled." : "O tema %s foi desativado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Por favor garanta a cópia de segurança da base de dados e das pastas 'config' e 'data' antes de prosseguir.", "Start update" : "Iniciar atualização", diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json index 947eea1a94..3eabc73b28 100644 --- a/core/l10n/pt_PT.json +++ b/core/l10n/pt_PT.json @@ -2,21 +2,24 @@ "Couldn't send mail to following users: %s " : "Não foi possível enviar a mensagem para os seguintes utilizadores: %s", "Turned on maintenance mode" : "Ativado o modo de manutenção", "Turned off maintenance mode" : "Desativado o modo de manutenção", + "Maintenance mode is kept active" : "O modo de manutenção é mantido ativo", "Updated database" : "Base de dados atualizada", "Checked database schema update" : "Atualização do esquema da base de dados verificada.", "Checked database schema update for apps" : "Atualização do esquema da base de dados verificada.", "Updated \"%s\" to %s" : "Atualizado \"%s\" para %s", "Repair warning: " : "Aviso de reparação:", - "Repair error: " : "Repare o erro:", - "Following incompatible apps have been disabled: %s" : "As seguintes aplicações incompatíveis foram desativadas: %s", - "Invalid file provided" : "Ficheiro selecionado inválido", + "Repair error: " : "Corrija o erro:", + "Following incompatible apps have been disabled: %s" : "As seguintes apps incompatíveis foram desativadas: %s", + "Following apps have been disabled: %s" : "As seguintes apps foram desativadas: %s", + "File is too big" : "O ficheiro é muito grande", + "Invalid file provided" : "Ficheiro indicado inválido", "No image or file provided" : "Não foi fornecido nenhum ficheiro ou imagem", "Unknown filetype" : "Tipo de ficheiro desconhecido", "Invalid image" : "Imagem inválida", "No temporary profile picture available, try again" : "Fotografia temporária do perfil indisponível, tente novamente", "No crop data provided" : "Não foram fornecidos dados de recorte", - "No valid crop data provided" : "Sem dados válidos selecionados", - "Crop is not square" : "Recorte não é quadrado", + "No valid crop data provided" : "Não foram indicados dados de recorte válidos", + "Crop is not square" : "O recorte não é quadrado", "Sunday" : "Domingo", "Monday" : "Segunda", "Tuesday" : "Terça", @@ -24,6 +27,13 @@ "Thursday" : "Quinta", "Friday" : "Sexta", "Saturday" : "Sábado", + "Sun." : "Dom.", + "Mon." : "Seg.", + "Tue." : "Ter.", + "Wed." : "Qua.", + "Thu." : "Qui.", + "Fri." : "Sex.", + "Sat." : "Sáb.", "January" : "Janeiro", "February" : "Fevereiro", "March" : "Março", @@ -36,11 +46,23 @@ "October" : "Outubro", "November" : "Novembro", "December" : "Dezembro", + "Jan." : "Jan.", + "Feb." : "Fev.", + "Mar." : "Mar.", + "Apr." : "Abr.", + "May." : "Mai.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Ago.", + "Sep." : "Set.", + "Oct." : "Out.", + "Nov." : "Nov.", + "Dec." : "Dez.", "Settings" : "Definições", "Saving..." : "A guardar ...", "Couldn't send reset email. Please contact your administrator." : "Não foi possível enviar o e-mail de reposição. Por favor, contacte o administrador.", - "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.
If it is not there ask your local administrator." : "O link para fazer reset à sua password foi enviado para o seu e-mail.
Se não o recebeu dentro um espaço de tempo aceitável, por favor verifique a sua pasta de SPAM.
Se não o encontrar, por favor contacte o seu administrador.", - "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.
If you are not sure what to do, please contact your administrator before you continue.
Do you really want to continue?" : "Os seus ficheiros estão encriptados. Se não activou a chave de recuperação, não vai ser possível recuperar os seus dados no caso da sua password ser reinicializada. Se não tem a certeza do que precisa de fazer, por favor contacte o seu administrador antes de continuar. Tem a certeza que quer continuar?", + "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.
If it is not there ask your local administrator." : "A hiperligação para reiniciar a sua senha foi enviada para o seu correio eletrónico. Se não a receber dentro de um tempo aceitável, verifique as suas pastas de span/lixo.
Se não a encontrar, pergunte ao seu administrador local.", + "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.
If you are not sure what to do, please contact your administrator before you continue.
Do you really want to continue?" : "Os seus ficheiros estão encriptados. Se não ativou a chave de recuperação, não terá nenhum modo para voltar obter os seus dados depois de reiniciar a sua senha.
Se não tem a certeza do que fazer, por favor, contacte o seu administrador antes de continuar.
Tem a certeza que quer continuar?", "I know what I'm doing" : "Eu sei o que eu estou a fazer", "Password can not be changed. Please contact your administrator." : "A palavra-passe não pode ser alterada. Por favor, contacte o seu administrador.", "No" : "Não", @@ -51,11 +73,11 @@ "Error loading message template: {error}" : "Ocorreu um erro ao carregar o modelo: {error}", "read-only" : "só-de-leitura", "_{count} file conflict_::_{count} file conflicts_" : ["{count} conflito de ficheiro","{count} conflitos de ficheiro"], - "One file conflict" : "Um conflito no ficheiro", + "One file conflict" : "Um conflito de ficheiro", "New Files" : "Ficheiros Novos", "Already existing files" : "Ficheiros já existentes", "Which files do you want to keep?" : "Quais os ficheiros que pretende manter?", - "If you select both versions, the copied file will have a number added to its name." : "Se escolher ambas as versões, o ficheiro copiado irá ter um número adicionado ao seu nome.", + "If you select both versions, the copied file will have a number added to its name." : "Se selecionar ambas as versões, o ficheiro copiado irá ter um número adicionado ao seu nome.", "Cancel" : "Cancelar", "Continue" : "Continuar", "(all selected)" : "(todos selecionados)", @@ -66,7 +88,7 @@ "So-so password" : "Palavra-passe aceitável", "Good password" : "Palavra-passe boa", "Strong password" : "Palavra-passe forte", - "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "O seu servidor web não está configurado correctamente para autorizar sincronização de ficheiros, pois o interface WebDAV parece estar com problemas.", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "O seu servidor da Web não está configurado corretamente para permitir a sincronização de ficheiro, porque a interface WebDAV parece estar com problemas.", "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Este servidor ownCloud não tem uma ligação de Internet a funcionar. Isto significa que algumas funcionalidades como o acesso a locais externos, notificações sobre actualizações, ou a instalação de aplicações de terceiros não irá funcionar. Aceder aos ficheiros remotamente e enviar notificações de email poderão não funcionar também. Sugerimos que active uma ligação à Internet se pretende obter todas as funcionalidades do ownCloud.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "A sua pasta com os dados e os seus ficheiros estão provavelmente acessíveis a partir das internet. O seu ficheiro .htaccess não está a funcionar corretamente. Sugerimos veementemente que configure o seu servidor web de maneira a que a pasta com os dados deixe de ficar acessível, ou mova a pasta com os dados para fora da raiz de documentos do servidor web.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Nenhuma memória de cache foi configurada. Se possível configure-a de forma a optimizar o desempenho. Mais informações podem ser encontradas na documentação.", @@ -74,7 +96,6 @@ "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." : "O cabeçalho HTTP \"{header}\" não está configurado para igualar \"{expected}\". Isto é um potencial risco de segurança ou privacidade e recomendamos que o corrija.", "Shared" : "Partilhado", "Shared with {recipients}" : "Partilhado com {recipients}", - "Share" : "Compartilhar", "Error" : "Erro", "Error while sharing" : "Erro ao partilhar", "Error while unsharing" : "Erro ao remover a partilha", @@ -83,6 +104,7 @@ "Shared with you by {owner}" : "Partilhado consigo por {owner}", "Share with users or groups …" : "Partilhar com utilizadores ou grupos...", "Share with users, groups or remote users …" : "Partilhar com utilizadores, grupos ou utilizadores remotos...", + "Share" : "Compartilhar", "Share link" : "Compartilhar hiperligação", "The public link will expire no later than {days} days after it is created" : "O link público expira, o mais tardar {days} dias após sua criação", "Link" : "Hiperligação", @@ -128,9 +150,11 @@ "Hello {name}, the weather is {weather}" : "Olá {name}, o tempo está {weather}", "Hello {name}" : "Olá {name}", "_download %n file_::_download %n files_" : ["transferir %n ficheiro","transferir %n ficheiros"], + "{version} is available. Get more information on how to update." : "{version} está disponível. Obtenha mais informação sobre como atualizar.", "Updating {productName} to version {version}, this may take a while." : "A atualizar {productName} para a versão {version}, isto poderá demorar algum tempo.", "Please reload the page." : "Por favor, recarregue a página.", "The update was unsuccessful. " : "Não foi possível atualizar.", + "The update was successful. There were warnings." : "A atualização foi bem sucedida. Tem alguns avisos.", "The update was successful. Redirecting you to ownCloud now." : "A actualização foi concluída com sucesso. Vai ser redireccionado para o ownCloud agora.", "Couldn't reset password because the token is invalid" : "Não foi possível repor a palavra-passe porque a senha é inválida", "Couldn't send reset email. Please make sure your username is correct." : "Ocorreu um problema com o envio do e-mail, por favor confirme o seu utilizador.", @@ -141,6 +165,7 @@ "New Password" : "Nova palavra-passe", "Reset password" : "Repor palavra-passe", "Searching other places" : "A pesquisar noutros lugares", + "No search results in other places" : "Nenhuns resultados em outros locais", "_{count} search result in other places_::_{count} search results in other places_" : ["{count} resultado de pesquisa noutros lugares","{count} resultados de pesquisa noutros lugares"], "Personal" : "Pessoal", "Users" : "Utilizadores", @@ -183,6 +208,7 @@ "Data folder" : "Pasta de dados", "Configure the database" : "Configure a base de dados", "Only %s is available." : "Só está disponível %s.", + "Install and activate additional PHP modules to choose other database types." : "Instale e ative os módulos PHP adicionais para escolher outros tipos de base de dados.", "For more details check out the documentation." : "Para mais detalhes consulte a documentação.", "Database user" : "Utilizador da base de dados", "Database password" : "Palavra-passe da base de dados", @@ -204,7 +230,7 @@ "Please contact your administrator." : "Por favor contacte o administrador.", "An internal error occured." : "Ocorreu um erro interno.", "Please try again or contact your administrator." : "Por favor tente de novo ou contacte o administrador.", - "Forgot your password? Reset it!" : "Esqueceu-se da sua palavra-passe? Recupere-a!", + "Wrong password. Reset it?" : "Senha errada. Repô-la?", "remember" : "lembrar", "Log in" : "Entrar", "Alternative Logins" : "Contas de acesso alternativas", @@ -217,8 +243,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Por favor contacte o seu administrador. Se é um administrador desta instância, configure as definições \"trusted_domain\" em config/config.php. Um exemplo de configuração é fornecido em config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependendo da configuração, como administrador, você também pode ser capaz de usar o botão abaixo para confiar neste domínio.", "Add \"%s\" as trusted domain" : "Adicionar \"%s\" como um domínio de confiança", - "%s will be updated to version %s." : "O %s irá ser atualizado para a versão %s.", - "The following apps will be disabled:" : "As seguintes apps irão ser desativadas:", + "App update required" : "É necessário atualizar a app", + "%s will be updated to version %s" : "%s será atualizada para a versão %s.", + "These apps will be updated:" : "Estas apps irão ser atualizadas.", + "These incompatible apps will be disabled:" : "Estas apps incompatíveis irão ser desativadas:", "The theme %s has been disabled." : "O tema %s foi desativado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Por favor garanta a cópia de segurança da base de dados e das pastas 'config' e 'data' antes de prosseguir.", "Start update" : "Iniciar atualização", diff --git a/core/l10n/ro.js b/core/l10n/ro.js index f088f92f3b..5b54c4a429 100644 --- a/core/l10n/ro.js +++ b/core/l10n/ro.js @@ -19,6 +19,13 @@ OC.L10N.register( "Thursday" : "Joi", "Friday" : "Vineri", "Saturday" : "Sâmbătă", + "Sun." : "Dum.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mie.", + "Thu." : "Joi", + "Fri." : "Vin.", + "Sat." : "Sâm.", "January" : "Ianuarie", "February" : "Februarie", "March" : "Martie", @@ -31,6 +38,18 @@ OC.L10N.register( "October" : "Octombrie", "November" : "Noiembrie", "December" : "Decembrie", + "Jan." : "Ian.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Iun.", + "Jul." : "Iul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Noi.", + "Dec." : "Dec.", "Settings" : "Setări", "Saving..." : "Se salvează...", "Couldn't send reset email. Please contact your administrator." : "Expedierea email-ului de resetare a eşuat. Vă rugăm să contactaţi administratorul dvs.", @@ -58,13 +77,13 @@ OC.L10N.register( "Strong password" : "Parolă puternică", "Shared" : "Partajat", "Shared with {recipients}" : "Partajat cu {recipients}", - "Share" : "Partajează", "Error" : "Eroare", "Error while sharing" : "Eroare la partajare", "Error while unsharing" : "Eroare la anularea partajării", "Error while changing permissions" : "Eroare la modificarea permisiunilor", "Shared with you and the group {group} by {owner}" : "Distribuie cu tine si grupul {group} de {owner}", "Shared with you by {owner}" : "Distribuie cu tine de {owner}", + "Share" : "Partajează", "Share link" : "Share link", "The public link will expire no later than {days} days after it is created" : "Legătura publică va expira nu mai târziu de {days} zile de la ziua creării", "Link" : "Legătură", @@ -129,12 +148,10 @@ OC.L10N.register( "Finish setup" : "Finalizează instalarea", "Log out" : "Ieșire", "Search" : "Căutare", - "Forgot your password? Reset it!" : "Ți-ai uitat parola? Resetează!", "remember" : "amintește", "Log in" : "Autentificare", "Alternative Logins" : "Conectări alternative", "Thank you for your patience." : "Îți mulțumim pentru răbrade.", - "%s will be updated to version %s." : "%s va fi actualizat la versiunea %s.", "Start update" : "Începe actualizarea" }, "nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/core/l10n/ro.json b/core/l10n/ro.json index 702da64e6a..90888980ee 100644 --- a/core/l10n/ro.json +++ b/core/l10n/ro.json @@ -17,6 +17,13 @@ "Thursday" : "Joi", "Friday" : "Vineri", "Saturday" : "Sâmbătă", + "Sun." : "Dum.", + "Mon." : "Lun.", + "Tue." : "Mar.", + "Wed." : "Mie.", + "Thu." : "Joi", + "Fri." : "Vin.", + "Sat." : "Sâm.", "January" : "Ianuarie", "February" : "Februarie", "March" : "Martie", @@ -29,6 +36,18 @@ "October" : "Octombrie", "November" : "Noiembrie", "December" : "Decembrie", + "Jan." : "Ian.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Mai", + "Jun." : "Iun.", + "Jul." : "Iul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Oct.", + "Nov." : "Noi.", + "Dec." : "Dec.", "Settings" : "Setări", "Saving..." : "Se salvează...", "Couldn't send reset email. Please contact your administrator." : "Expedierea email-ului de resetare a eşuat. Vă rugăm să contactaţi administratorul dvs.", @@ -56,13 +75,13 @@ "Strong password" : "Parolă puternică", "Shared" : "Partajat", "Shared with {recipients}" : "Partajat cu {recipients}", - "Share" : "Partajează", "Error" : "Eroare", "Error while sharing" : "Eroare la partajare", "Error while unsharing" : "Eroare la anularea partajării", "Error while changing permissions" : "Eroare la modificarea permisiunilor", "Shared with you and the group {group} by {owner}" : "Distribuie cu tine si grupul {group} de {owner}", "Shared with you by {owner}" : "Distribuie cu tine de {owner}", + "Share" : "Partajează", "Share link" : "Share link", "The public link will expire no later than {days} days after it is created" : "Legătura publică va expira nu mai târziu de {days} zile de la ziua creării", "Link" : "Legătură", @@ -127,12 +146,10 @@ "Finish setup" : "Finalizează instalarea", "Log out" : "Ieșire", "Search" : "Căutare", - "Forgot your password? Reset it!" : "Ți-ai uitat parola? Resetează!", "remember" : "amintește", "Log in" : "Autentificare", "Alternative Logins" : "Conectări alternative", "Thank you for your patience." : "Îți mulțumim pentru răbrade.", - "%s will be updated to version %s." : "%s va fi actualizat la versiunea %s.", "Start update" : "Începe actualizarea" },"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));" } \ No newline at end of file diff --git a/core/l10n/ru.js b/core/l10n/ru.js index 507c37b137..9de31c69e8 100644 --- a/core/l10n/ru.js +++ b/core/l10n/ru.js @@ -13,6 +13,7 @@ OC.L10N.register( "Repair error: " : "Ошибка восстановления:", "Following incompatible apps have been disabled: %s" : "Следующие несовместимые приложения были отключены: %s", "Following apps have been disabled: %s" : "Были отключены следующие приложения: %s", + "File is too big" : "Файл слишком большой", "Invalid file provided" : "Указан неправильный файл", "No image or file provided" : "Не указано изображение или файл", "Unknown filetype" : "Неизвестный тип файла", @@ -28,6 +29,13 @@ OC.L10N.register( "Thursday" : "Четверг", "Friday" : "Пятница", "Saturday" : "Суббота", + "Sun." : "Вс.", + "Mon." : "Пн.", + "Tue." : "Вт.", + "Wed." : "Ср.", + "Thu." : "Чт.", + "Fri." : "Пт.", + "Sat." : "Сб.", "January" : "Январь", "February" : "Февраль", "March" : "Март", @@ -40,6 +48,18 @@ OC.L10N.register( "October" : "Октябрь", "November" : "Ноябрь", "December" : "Декабрь", + "Jan." : "Янв.", + "Feb." : "Фев.", + "Mar." : "Мар.", + "Apr." : "Апр.", + "May." : "Май.", + "Jun." : "Июн.", + "Jul." : "Июл.", + "Aug." : "Авг.", + "Sep." : "Сен.", + "Oct." : "Окт.", + "Nov." : "Ноя.", + "Dec." : "Дек.", "Settings" : "Настройки", "Saving..." : "Сохранение...", "Couldn't send reset email. Please contact your administrator." : "Не удалось отправить письмо для сброса пароля. Пожалуйста, свяжитесь с вашим администратором.", @@ -75,13 +95,14 @@ OC.L10N.register( "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 файл не работает. Мы настоятельно рекомендуем вам настроить ваш веб сервер таким образом, что-бы каталог данных не был больше доступен или переместите каталог данных за пределы корня веб сервера.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробную информацию, вы можете посмотреть в нашей документации.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom не может быть прочитан PHP, что крайне нежелательно по причинам безопасности. Дополнительную информацию можно найти в a href=\"{docLink}\">документации.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Ваша версия PHP ({version}) более не поддерживается PHP. Мы советуем Вам обновить Вашу версию PHP для получения обновлений производительности и безопасности, предоставляемых PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Конфигурация заголовков обратного прокси сервера некорректна, либо Вы заходите в ownCloud через доверенный прокси. Если Вы не заходите в ownCloud через доверенный прокси, это может быть небезопасно, так как злоумышленник может подменить видимые Owncloud IP-адреса. Более подробную информацию можно найти в нашей документации.", "Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера", "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." : "Заголовок HTTP \"{header}\" не настроен на ожидаемый \"{expected}\". Это потенциальная проблема безопасности и мы рекомендуем изменить эти настройки.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Заголовок HTTP \"Strict-Transport-Security\" должен быть настроен хотя бы на \"{seconds}\" секунд. Для улучшения безопасности мы рекомендуем включить HSTS согласно нашим подсказкам по безопасности.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Вы зашли на этот сайт через HTTP. Мы настоятельно рекомендуем настроить ваш сервер на использование HTTPS согласно нашим подсказкам по безопасности.", "Shared" : "Общий доступ", "Shared with {recipients}" : "Вы поделились с {recipients}", - "Share" : "Поделиться", "Error" : "Ошибка", "Error while sharing" : "При попытке поделиться произошла ошибка", "Error while unsharing" : "При закрытии доступа произошла ошибка", @@ -90,6 +111,7 @@ OC.L10N.register( "Shared with you by {owner}" : "С вами поделился {owner} ", "Share with users or groups …" : "Поделиться с пользователями или группами ...", "Share with users, groups or remote users …" : "Поделиться с пользователями, группами или удаленными пользователями ...", + "Share" : "Поделиться", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Поделиться с людьми на других серверах ownCloud используя синтакс username@example.com/owncloud", "Share link" : "Поделиться ссылкой", "The public link will expire no later than {days} days after it is created" : "Срок действия публичной ссылки истекает не позже чем через {days} дней после её создания", @@ -216,7 +238,7 @@ OC.L10N.register( "Please contact your administrator." : "Пожалуйста, свяжитесь с вашим администратором.", "An internal error occured." : "Произошла внутренняя ошибка", "Please try again or contact your administrator." : "Пожалуйста попробуйте ещё раз или свяжитесь с вашим администратором", - "Forgot your password? Reset it!" : "Забыли пароль? Сбросьте его!", + "Wrong password. Reset it?" : "Неправильный пароль. Сбросить его?", "remember" : "запомнить", "Log in" : "Войти", "Alternative Logins" : "Альтернативные имена пользователя", @@ -229,8 +251,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Пожалуйста, свяжитесь с вашим администратором. Если вы администратор этого сервера, сконфигурируйте \"trusted_domain\" в config/config.php. Пример настройки можно найти в /config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "В зависимости от конфигурации, как администратор вы можете также внести домен в доверенные с помощью кнопки ниже.", "Add \"%s\" as trusted domain" : "Добавить \"%s\" как доверенный домен", - "%s will be updated to version %s." : "%s будет обновлен до версии %s.", - "The following apps will be disabled:" : "Следующие приложения будут отключены:", "The theme %s has been disabled." : "Тема %s была отключена.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Перед продолжением убедитесь, что вы сделали резервную копию базы данных, каталога конфигурации и каталога с данными.", "Start update" : "Запустить обновление", diff --git a/core/l10n/ru.json b/core/l10n/ru.json index 31558b7c9b..a1f22cb9dd 100644 --- a/core/l10n/ru.json +++ b/core/l10n/ru.json @@ -11,6 +11,7 @@ "Repair error: " : "Ошибка восстановления:", "Following incompatible apps have been disabled: %s" : "Следующие несовместимые приложения были отключены: %s", "Following apps have been disabled: %s" : "Были отключены следующие приложения: %s", + "File is too big" : "Файл слишком большой", "Invalid file provided" : "Указан неправильный файл", "No image or file provided" : "Не указано изображение или файл", "Unknown filetype" : "Неизвестный тип файла", @@ -26,6 +27,13 @@ "Thursday" : "Четверг", "Friday" : "Пятница", "Saturday" : "Суббота", + "Sun." : "Вс.", + "Mon." : "Пн.", + "Tue." : "Вт.", + "Wed." : "Ср.", + "Thu." : "Чт.", + "Fri." : "Пт.", + "Sat." : "Сб.", "January" : "Январь", "February" : "Февраль", "March" : "Март", @@ -38,6 +46,18 @@ "October" : "Октябрь", "November" : "Ноябрь", "December" : "Декабрь", + "Jan." : "Янв.", + "Feb." : "Фев.", + "Mar." : "Мар.", + "Apr." : "Апр.", + "May." : "Май.", + "Jun." : "Июн.", + "Jul." : "Июл.", + "Aug." : "Авг.", + "Sep." : "Сен.", + "Oct." : "Окт.", + "Nov." : "Ноя.", + "Dec." : "Дек.", "Settings" : "Настройки", "Saving..." : "Сохранение...", "Couldn't send reset email. Please contact your administrator." : "Не удалось отправить письмо для сброса пароля. Пожалуйста, свяжитесь с вашим администратором.", @@ -73,13 +93,14 @@ "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 файл не работает. Мы настоятельно рекомендуем вам настроить ваш веб сервер таким образом, что-бы каталог данных не был больше доступен или переместите каталог данных за пределы корня веб сервера.", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache. Более подробную информацию, вы можете посмотреть в нашей документации.", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom не может быть прочитан PHP, что крайне нежелательно по причинам безопасности. Дополнительную информацию можно найти в a href=\"{docLink}\">документации.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "Ваша версия PHP ({version}) более не поддерживается PHP. Мы советуем Вам обновить Вашу версию PHP для получения обновлений производительности и безопасности, предоставляемых PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Конфигурация заголовков обратного прокси сервера некорректна, либо Вы заходите в ownCloud через доверенный прокси. Если Вы не заходите в ownCloud через доверенный прокси, это может быть небезопасно, так как злоумышленник может подменить видимые Owncloud IP-адреса. Более подробную информацию можно найти в нашей документации.", "Error occurred while checking server setup" : "Произошла ошибка при проверке настроек сервера", "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." : "Заголовок HTTP \"{header}\" не настроен на ожидаемый \"{expected}\". Это потенциальная проблема безопасности и мы рекомендуем изменить эти настройки.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "Заголовок HTTP \"Strict-Transport-Security\" должен быть настроен хотя бы на \"{seconds}\" секунд. Для улучшения безопасности мы рекомендуем включить HSTS согласно нашим подсказкам по безопасности.", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Вы зашли на этот сайт через HTTP. Мы настоятельно рекомендуем настроить ваш сервер на использование HTTPS согласно нашим подсказкам по безопасности.", "Shared" : "Общий доступ", "Shared with {recipients}" : "Вы поделились с {recipients}", - "Share" : "Поделиться", "Error" : "Ошибка", "Error while sharing" : "При попытке поделиться произошла ошибка", "Error while unsharing" : "При закрытии доступа произошла ошибка", @@ -88,6 +109,7 @@ "Shared with you by {owner}" : "С вами поделился {owner} ", "Share with users or groups …" : "Поделиться с пользователями или группами ...", "Share with users, groups or remote users …" : "Поделиться с пользователями, группами или удаленными пользователями ...", + "Share" : "Поделиться", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Поделиться с людьми на других серверах ownCloud используя синтакс username@example.com/owncloud", "Share link" : "Поделиться ссылкой", "The public link will expire no later than {days} days after it is created" : "Срок действия публичной ссылки истекает не позже чем через {days} дней после её создания", @@ -214,7 +236,7 @@ "Please contact your administrator." : "Пожалуйста, свяжитесь с вашим администратором.", "An internal error occured." : "Произошла внутренняя ошибка", "Please try again or contact your administrator." : "Пожалуйста попробуйте ещё раз или свяжитесь с вашим администратором", - "Forgot your password? Reset it!" : "Забыли пароль? Сбросьте его!", + "Wrong password. Reset it?" : "Неправильный пароль. Сбросить его?", "remember" : "запомнить", "Log in" : "Войти", "Alternative Logins" : "Альтернативные имена пользователя", @@ -227,8 +249,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Пожалуйста, свяжитесь с вашим администратором. Если вы администратор этого сервера, сконфигурируйте \"trusted_domain\" в config/config.php. Пример настройки можно найти в /config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "В зависимости от конфигурации, как администратор вы можете также внести домен в доверенные с помощью кнопки ниже.", "Add \"%s\" as trusted domain" : "Добавить \"%s\" как доверенный домен", - "%s will be updated to version %s." : "%s будет обновлен до версии %s.", - "The following apps will be disabled:" : "Следующие приложения будут отключены:", "The theme %s has been disabled." : "Тема %s была отключена.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Перед продолжением убедитесь, что вы сделали резервную копию базы данных, каталога конфигурации и каталога с данными.", "Start update" : "Запустить обновление", diff --git a/core/l10n/si_LK.js b/core/l10n/si_LK.js index 11e5ef38e5..5f20a83a27 100644 --- a/core/l10n/si_LK.js +++ b/core/l10n/si_LK.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "බ්‍රහස්පතින්දා", "Friday" : "සිකුරාදා", "Saturday" : "සෙනසුරාදා", + "Sun." : "ඉරිදා", + "Mon." : "සඳුදා", + "Tue." : "අඟ.", + "Wed." : "බදාදා", + "Thu." : "බ්‍රහස්.", + "Fri." : "සිකු.", + "Sat." : "සෙන.", "January" : "ජනවාරි", "February" : "පෙබරවාරි", "March" : "මාර්තු", @@ -20,6 +27,18 @@ OC.L10N.register( "October" : "ඔක්තෝබර", "November" : "නොවැම්බර්", "December" : "දෙසැම්බර්", + "Jan." : "ජන.", + "Feb." : "පෙබ.", + "Mar." : "මාර්තු", + "Apr." : "අප්‍රේල්", + "May." : "මැයි", + "Jun." : "ජුනි", + "Jul." : "ජුලි", + "Aug." : "අගෝ.", + "Sep." : "සැප්.", + "Oct." : "ඔක්.", + "Nov." : "නොවැ.", + "Dec." : "දෙසැ.", "Settings" : "සිටුවම්", "Saving..." : "සුරැකෙමින් පවතී...", "No" : "එපා", @@ -27,8 +46,8 @@ OC.L10N.register( "Choose" : "තෝරන්න", "Ok" : "හරි", "Cancel" : "එපා", - "Share" : "බෙදා හදා ගන්න", "Error" : "දෝෂයක්", + "Share" : "බෙදා හදා ගන්න", "Password protect" : "මුර පදයකින් ආරක්ශාකරන්න", "Password" : "මුර පදය", "Set expiration date" : "කල් ඉකුත් විමේ දිනය දමන්න", diff --git a/core/l10n/si_LK.json b/core/l10n/si_LK.json index 5190ce77e8..8d1a02c4de 100644 --- a/core/l10n/si_LK.json +++ b/core/l10n/si_LK.json @@ -6,6 +6,13 @@ "Thursday" : "බ්‍රහස්පතින්දා", "Friday" : "සිකුරාදා", "Saturday" : "සෙනසුරාදා", + "Sun." : "ඉරිදා", + "Mon." : "සඳුදා", + "Tue." : "අඟ.", + "Wed." : "බදාදා", + "Thu." : "බ්‍රහස්.", + "Fri." : "සිකු.", + "Sat." : "සෙන.", "January" : "ජනවාරි", "February" : "පෙබරවාරි", "March" : "මාර්තු", @@ -18,6 +25,18 @@ "October" : "ඔක්තෝබර", "November" : "නොවැම්බර්", "December" : "දෙසැම්බර්", + "Jan." : "ජන.", + "Feb." : "පෙබ.", + "Mar." : "මාර්තු", + "Apr." : "අප්‍රේල්", + "May." : "මැයි", + "Jun." : "ජුනි", + "Jul." : "ජුලි", + "Aug." : "අගෝ.", + "Sep." : "සැප්.", + "Oct." : "ඔක්.", + "Nov." : "නොවැ.", + "Dec." : "දෙසැ.", "Settings" : "සිටුවම්", "Saving..." : "සුරැකෙමින් පවතී...", "No" : "එපා", @@ -25,8 +44,8 @@ "Choose" : "තෝරන්න", "Ok" : "හරි", "Cancel" : "එපා", - "Share" : "බෙදා හදා ගන්න", "Error" : "දෝෂයක්", + "Share" : "බෙදා හදා ගන්න", "Password protect" : "මුර පදයකින් ආරක්ශාකරන්න", "Password" : "මුර පදය", "Set expiration date" : "කල් ඉකුත් විමේ දිනය දමන්න", diff --git a/core/l10n/sk_SK.js b/core/l10n/sk_SK.js index 2c92ce9289..8b17371774 100644 --- a/core/l10n/sk_SK.js +++ b/core/l10n/sk_SK.js @@ -27,6 +27,13 @@ OC.L10N.register( "Thursday" : "Štvrtok", "Friday" : "Piatok", "Saturday" : "Sobota", + "Sun." : "Ned.", + "Mon." : "Pon.", + "Tue." : "Uto.", + "Wed." : "Str.", + "Thu." : "Štv.", + "Fri." : "Pia.", + "Sat." : "Sob.", "January" : "Január", "February" : "Február", "March" : "Marec", @@ -39,6 +46,18 @@ OC.L10N.register( "October" : "Október", "November" : "November", "December" : "December", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Máj.", + "Jun." : "Jún.", + "Jul." : "Júl.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Nastavenia", "Saving..." : "Ukladám...", "Couldn't send reset email. Please contact your administrator." : "Nemožno poslať email pre obnovu. Kontaktujte prosím vášho administrátora.", @@ -75,7 +94,6 @@ OC.L10N.register( "Error occurred while checking server setup" : "Počas kontroly nastavenia serveru sa stala chyba", "Shared" : "Zdieľané", "Shared with {recipients}" : "Zdieľa s {recipients}", - "Share" : "Zdieľať", "Error" : "Chyba", "Error while sharing" : "Chyba počas zdieľania", "Error while unsharing" : "Chyba počas ukončenia zdieľania", @@ -84,6 +102,7 @@ OC.L10N.register( "Shared with you by {owner}" : "Zdieľané s vami používateľom {owner}", "Share with users or groups …" : "Zdieľať s používateľmi alebo skupinami ...", "Share with users, groups or remote users …" : "Zdieľať s používateľmi, skupinami alebo vzdialenými používateľmi ...", + "Share" : "Zdieľať", "Share link" : "Zdieľať linku", "The public link will expire no later than {days} days after it is created" : "Verejný odkaz nevyprší skôr než za {days} dní po vytvorení", "Link" : "Odkaz", @@ -208,7 +227,6 @@ OC.L10N.register( "Please contact your administrator." : "Kontaktujte prosím vášho administrátora.", "An internal error occured." : "Vyskytla sa vnútorná chyba.", "Please try again or contact your administrator." : "Skúste to znovu, alebo sa obráťte na vášho administrátora.", - "Forgot your password? Reset it!" : "Zabudli ste heslo? Obnovte si ho!", "remember" : "zapamätať", "Log in" : "Prihlásiť sa", "Alternative Logins" : "Alternatívne prihlásenie", @@ -221,8 +239,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kontaktujte správcu. Ak ste správcom tejto inštancie, nakonfigurujte správne nastavenie \"trusted_domain\" v config/config.php. Vzorová konfigurácia je uvedená v config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "V závislosti na konfigurácii, vám môže byť ako správcovi umožnené použitie tlačidla nižšie pre označenie tejto domény ako dôveryhodnej.", "Add \"%s\" as trusted domain" : "Pridať \"%s\" ako dôveryhodnú doménu", - "%s will be updated to version %s." : "%s bude zaktualizovaný na verziu %s.", - "The following apps will be disabled:" : "Tieto aplikácie budú zakázané:", "The theme %s has been disabled." : "Téma %s bola zakázaná.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Pred vykonaním ďalšieho kroku sa presvedčte, že databáza, konfiguračný a dátový priečinok sú zazálohované.", "Start update" : "Spustiť aktualizáciu", diff --git a/core/l10n/sk_SK.json b/core/l10n/sk_SK.json index ac4cb4d0f8..c36ee19839 100644 --- a/core/l10n/sk_SK.json +++ b/core/l10n/sk_SK.json @@ -25,6 +25,13 @@ "Thursday" : "Štvrtok", "Friday" : "Piatok", "Saturday" : "Sobota", + "Sun." : "Ned.", + "Mon." : "Pon.", + "Tue." : "Uto.", + "Wed." : "Str.", + "Thu." : "Štv.", + "Fri." : "Pia.", + "Sat." : "Sob.", "January" : "Január", "February" : "Február", "March" : "Marec", @@ -37,6 +44,18 @@ "October" : "Október", "November" : "November", "December" : "December", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Máj.", + "Jun." : "Jún.", + "Jul." : "Júl.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Nastavenia", "Saving..." : "Ukladám...", "Couldn't send reset email. Please contact your administrator." : "Nemožno poslať email pre obnovu. Kontaktujte prosím vášho administrátora.", @@ -73,7 +92,6 @@ "Error occurred while checking server setup" : "Počas kontroly nastavenia serveru sa stala chyba", "Shared" : "Zdieľané", "Shared with {recipients}" : "Zdieľa s {recipients}", - "Share" : "Zdieľať", "Error" : "Chyba", "Error while sharing" : "Chyba počas zdieľania", "Error while unsharing" : "Chyba počas ukončenia zdieľania", @@ -82,6 +100,7 @@ "Shared with you by {owner}" : "Zdieľané s vami používateľom {owner}", "Share with users or groups …" : "Zdieľať s používateľmi alebo skupinami ...", "Share with users, groups or remote users …" : "Zdieľať s používateľmi, skupinami alebo vzdialenými používateľmi ...", + "Share" : "Zdieľať", "Share link" : "Zdieľať linku", "The public link will expire no later than {days} days after it is created" : "Verejný odkaz nevyprší skôr než za {days} dní po vytvorení", "Link" : "Odkaz", @@ -206,7 +225,6 @@ "Please contact your administrator." : "Kontaktujte prosím vášho administrátora.", "An internal error occured." : "Vyskytla sa vnútorná chyba.", "Please try again or contact your administrator." : "Skúste to znovu, alebo sa obráťte na vášho administrátora.", - "Forgot your password? Reset it!" : "Zabudli ste heslo? Obnovte si ho!", "remember" : "zapamätať", "Log in" : "Prihlásiť sa", "Alternative Logins" : "Alternatívne prihlásenie", @@ -219,8 +237,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Kontaktujte správcu. Ak ste správcom tejto inštancie, nakonfigurujte správne nastavenie \"trusted_domain\" v config/config.php. Vzorová konfigurácia je uvedená v config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "V závislosti na konfigurácii, vám môže byť ako správcovi umožnené použitie tlačidla nižšie pre označenie tejto domény ako dôveryhodnej.", "Add \"%s\" as trusted domain" : "Pridať \"%s\" ako dôveryhodnú doménu", - "%s will be updated to version %s." : "%s bude zaktualizovaný na verziu %s.", - "The following apps will be disabled:" : "Tieto aplikácie budú zakázané:", "The theme %s has been disabled." : "Téma %s bola zakázaná.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Pred vykonaním ďalšieho kroku sa presvedčte, že databáza, konfiguračný a dátový priečinok sú zazálohované.", "Start update" : "Spustiť aktualizáciu", diff --git a/core/l10n/sl.js b/core/l10n/sl.js index 91aba3049d..f6599d5c2e 100644 --- a/core/l10n/sl.js +++ b/core/l10n/sl.js @@ -21,6 +21,13 @@ OC.L10N.register( "Thursday" : "četrtek", "Friday" : "petek", "Saturday" : "sobota", + "Sun." : "ned", + "Mon." : "pon", + "Tue." : "tor", + "Wed." : "sre", + "Thu." : "čet", + "Fri." : "pet", + "Sat." : "sob", "January" : "januar", "February" : "februar", "March" : "marec", @@ -33,6 +40,18 @@ OC.L10N.register( "October" : "oktober", "November" : "november", "December" : "december", + "Jan." : "jan", + "Feb." : "feb", + "Mar." : "mar", + "Apr." : "apr", + "May." : "maj", + "Jun." : "jun", + "Jul." : "jul", + "Aug." : "avg", + "Sep." : "sep", + "Oct." : "okt", + "Nov." : "nov", + "Dec." : "dec", "Settings" : "Nastavitve", "Saving..." : "Poteka shranjevanje ...", "Couldn't send reset email. Please contact your administrator." : "Ni mogoče nastaviti elektronskega naslova za ponastavitev. Stopite v stik s skrbnikom sistema.", @@ -66,13 +85,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Prišlo je do napake med preverjanjem nastavitev strežnika", "Shared" : "V souporabi", "Shared with {recipients}" : "V souporabi z {recipients}", - "Share" : "Souporaba", "Error" : "Napaka", "Error while sharing" : "Napaka med souporabo", "Error while unsharing" : "Napaka med odstranjevanjem souporabe", "Error while changing permissions" : "Napaka med spreminjanjem dovoljenj", "Shared with you and the group {group} by {owner}" : "V souporabi z vami in skupino {group}. Lastnik je {owner}.", "Shared with you by {owner}" : "V souporabi z vami. Lastnik je {owner}.", + "Share" : "Souporaba", "Share link" : "Povezava za prejem", "The public link will expire no later than {days} days after it is created" : "Javna povezava bo potekla {days} dni po ustvarjanju.", "Link" : "Povezava", @@ -181,7 +200,6 @@ OC.L10N.register( "Search" : "Poišči", "Server side authentication failed!" : "Overitev s strežnika je spodletela!", "Please contact your administrator." : "Stopite v stik s skrbnikom sistema.", - "Forgot your password? Reset it!" : "Ali ste pozabili geslo? Ponastavite ga!", "remember" : "zapomni si", "Log in" : "Prijava", "Alternative Logins" : "Druge prijavne možnosti", @@ -194,8 +212,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Stopite v stik s skrbnikom ali pa nastavite možnost \"varna_domena\" v datoteki config/config.php. Primer nastavitve je razložen v datoteki config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Glede na nastavitve bi lahko kot skrbnik uporabili spodnji gumb in domeno ročno določili kot varno.", "Add \"%s\" as trusted domain" : "Dodaj \"%s\" kot varno domeno", - "%s will be updated to version %s." : "%s bo posodobljen na različico %s.", - "The following apps will be disabled:" : "Navedeni programi bodo onemogočeni:", "The theme %s has been disabled." : "Tema %s je onemogočena za uporabo.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Pred nadaljevanjem se prepričajte se, da je ustvarjena varnostna kopija podatkovne zbirke, nastavitvenih datotek in podatkovne mape.", "Start update" : "Začni posodobitev", diff --git a/core/l10n/sl.json b/core/l10n/sl.json index c799f25845..b886b8cd48 100644 --- a/core/l10n/sl.json +++ b/core/l10n/sl.json @@ -19,6 +19,13 @@ "Thursday" : "četrtek", "Friday" : "petek", "Saturday" : "sobota", + "Sun." : "ned", + "Mon." : "pon", + "Tue." : "tor", + "Wed." : "sre", + "Thu." : "čet", + "Fri." : "pet", + "Sat." : "sob", "January" : "januar", "February" : "februar", "March" : "marec", @@ -31,6 +38,18 @@ "October" : "oktober", "November" : "november", "December" : "december", + "Jan." : "jan", + "Feb." : "feb", + "Mar." : "mar", + "Apr." : "apr", + "May." : "maj", + "Jun." : "jun", + "Jul." : "jul", + "Aug." : "avg", + "Sep." : "sep", + "Oct." : "okt", + "Nov." : "nov", + "Dec." : "dec", "Settings" : "Nastavitve", "Saving..." : "Poteka shranjevanje ...", "Couldn't send reset email. Please contact your administrator." : "Ni mogoče nastaviti elektronskega naslova za ponastavitev. Stopite v stik s skrbnikom sistema.", @@ -64,13 +83,13 @@ "Error occurred while checking server setup" : "Prišlo je do napake med preverjanjem nastavitev strežnika", "Shared" : "V souporabi", "Shared with {recipients}" : "V souporabi z {recipients}", - "Share" : "Souporaba", "Error" : "Napaka", "Error while sharing" : "Napaka med souporabo", "Error while unsharing" : "Napaka med odstranjevanjem souporabe", "Error while changing permissions" : "Napaka med spreminjanjem dovoljenj", "Shared with you and the group {group} by {owner}" : "V souporabi z vami in skupino {group}. Lastnik je {owner}.", "Shared with you by {owner}" : "V souporabi z vami. Lastnik je {owner}.", + "Share" : "Souporaba", "Share link" : "Povezava za prejem", "The public link will expire no later than {days} days after it is created" : "Javna povezava bo potekla {days} dni po ustvarjanju.", "Link" : "Povezava", @@ -179,7 +198,6 @@ "Search" : "Poišči", "Server side authentication failed!" : "Overitev s strežnika je spodletela!", "Please contact your administrator." : "Stopite v stik s skrbnikom sistema.", - "Forgot your password? Reset it!" : "Ali ste pozabili geslo? Ponastavite ga!", "remember" : "zapomni si", "Log in" : "Prijava", "Alternative Logins" : "Druge prijavne možnosti", @@ -192,8 +210,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Stopite v stik s skrbnikom ali pa nastavite možnost \"varna_domena\" v datoteki config/config.php. Primer nastavitve je razložen v datoteki config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Glede na nastavitve bi lahko kot skrbnik uporabili spodnji gumb in domeno ročno določili kot varno.", "Add \"%s\" as trusted domain" : "Dodaj \"%s\" kot varno domeno", - "%s will be updated to version %s." : "%s bo posodobljen na različico %s.", - "The following apps will be disabled:" : "Navedeni programi bodo onemogočeni:", "The theme %s has been disabled." : "Tema %s je onemogočena za uporabo.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Pred nadaljevanjem se prepričajte se, da je ustvarjena varnostna kopija podatkovne zbirke, nastavitvenih datotek in podatkovne mape.", "Start update" : "Začni posodobitev", diff --git a/core/l10n/sq.js b/core/l10n/sq.js index cd6cc572cb..b3f23289c0 100644 --- a/core/l10n/sq.js +++ b/core/l10n/sq.js @@ -20,6 +20,13 @@ OC.L10N.register( "Thursday" : "E enjte", "Friday" : "E premte", "Saturday" : "E shtunë", + "Sun." : "Djelë", + "Mon." : "Hën", + "Tue." : "Mar", + "Wed." : "Mër", + "Thu." : "Enj", + "Fri." : "Pre", + "Sat." : "Shtu", "January" : "Janar", "February" : "Shkurt", "March" : "Mars", @@ -32,6 +39,18 @@ OC.L10N.register( "October" : "Tetor", "November" : "Nëntor", "December" : "Dhjetor", + "Jan." : "Jan", + "Feb." : "Shk", + "Mar." : "Mar", + "Apr." : "Pri", + "May." : "Maj", + "Jun." : "Qer", + "Jul." : "Kor", + "Aug." : "Gush", + "Sep." : "Shta", + "Oct." : "Tet", + "Nov." : "Nën", + "Dec." : "Dhje", "Settings" : "Parametra", "Saving..." : "Duke ruajtur...", "Couldn't send reset email. Please contact your administrator." : "Emaili i rivendosjes nuk mund të dërgohet. Ju lutem kontaktoni me administratorin.", @@ -64,13 +83,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Gabim gjatë kontrollit të konfigurimit të serverit", "Shared" : "Ndarë", "Shared with {recipients}" : "Ndarë me {recipients}", - "Share" : "Nda", "Error" : "Veprim i gabuar", "Error while sharing" : "Veprim i gabuar gjatë ndarjes", "Error while unsharing" : "Veprim i gabuar gjatë heqjes së ndarjes", "Error while changing permissions" : "Veprim i gabuar gjatë ndryshimit të lejeve", "Shared with you and the group {group} by {owner}" : "Ndarë me ju dhe me grupin {group} nga {owner}", "Shared with you by {owner}" : "Ndarë me ju nga {owner}", + "Share" : "Nda", "Share link" : "Ndaje lidhjen", "The public link will expire no later than {days} days after it is created" : "Lidhja publike do të skadojë jo më vonë se {days} ditë pas krijimit", "Password protect" : "Mbro me kod", @@ -171,7 +190,6 @@ OC.L10N.register( "Search" : "Kërko", "Server side authentication failed!" : "Verifikimi në krahun e serverit dështoi!", "Please contact your administrator." : "Ju lutem kontaktoni administratorin.", - "Forgot your password? Reset it!" : "Keni harruar fjalëkalimin tuaj? Rivendoseni!", "remember" : "kujto", "Log in" : "Hyrje", "Alternative Logins" : "Hyrje alternative", @@ -184,8 +202,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Ju lutem kontaktoni me administratorin. Nëse jeni administrator i kësaj instance, konfiguroni parametrin \"domain i besuar\" në config/config.php . Një konfigurim shembull është dhënë në config/config.sample.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Në varësi të konfigurimit tuaj, ju si administrator mundet gjithashtu të jeni i aftë të përdorni butonin e mëposhtëm për ti dhënë besim këtij domain.", "Add \"%s\" as trusted domain" : "Shtoni \"%s\" si domain të besuar", - "%s will be updated to version %s." : "%s to të përditësohet në versionin %s.", - "The following apps will be disabled:" : "Keto aplikacione do të bllokohen:", "The theme %s has been disabled." : "Tema %s u bllokua.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Ju lutem sigurohuni që bazës së të dhënave, dosjes së konfigurimit dhe dosjes së të dhënave ti jetë bërë një kopje rezervë përpara se të vazhdoni më tutje.", "Start update" : "Fillo përditësimin.", diff --git a/core/l10n/sq.json b/core/l10n/sq.json index a7554c582f..6005136d8e 100644 --- a/core/l10n/sq.json +++ b/core/l10n/sq.json @@ -18,6 +18,13 @@ "Thursday" : "E enjte", "Friday" : "E premte", "Saturday" : "E shtunë", + "Sun." : "Djelë", + "Mon." : "Hën", + "Tue." : "Mar", + "Wed." : "Mër", + "Thu." : "Enj", + "Fri." : "Pre", + "Sat." : "Shtu", "January" : "Janar", "February" : "Shkurt", "March" : "Mars", @@ -30,6 +37,18 @@ "October" : "Tetor", "November" : "Nëntor", "December" : "Dhjetor", + "Jan." : "Jan", + "Feb." : "Shk", + "Mar." : "Mar", + "Apr." : "Pri", + "May." : "Maj", + "Jun." : "Qer", + "Jul." : "Kor", + "Aug." : "Gush", + "Sep." : "Shta", + "Oct." : "Tet", + "Nov." : "Nën", + "Dec." : "Dhje", "Settings" : "Parametra", "Saving..." : "Duke ruajtur...", "Couldn't send reset email. Please contact your administrator." : "Emaili i rivendosjes nuk mund të dërgohet. Ju lutem kontaktoni me administratorin.", @@ -62,13 +81,13 @@ "Error occurred while checking server setup" : "Gabim gjatë kontrollit të konfigurimit të serverit", "Shared" : "Ndarë", "Shared with {recipients}" : "Ndarë me {recipients}", - "Share" : "Nda", "Error" : "Veprim i gabuar", "Error while sharing" : "Veprim i gabuar gjatë ndarjes", "Error while unsharing" : "Veprim i gabuar gjatë heqjes së ndarjes", "Error while changing permissions" : "Veprim i gabuar gjatë ndryshimit të lejeve", "Shared with you and the group {group} by {owner}" : "Ndarë me ju dhe me grupin {group} nga {owner}", "Shared with you by {owner}" : "Ndarë me ju nga {owner}", + "Share" : "Nda", "Share link" : "Ndaje lidhjen", "The public link will expire no later than {days} days after it is created" : "Lidhja publike do të skadojë jo më vonë se {days} ditë pas krijimit", "Password protect" : "Mbro me kod", @@ -169,7 +188,6 @@ "Search" : "Kërko", "Server side authentication failed!" : "Verifikimi në krahun e serverit dështoi!", "Please contact your administrator." : "Ju lutem kontaktoni administratorin.", - "Forgot your password? Reset it!" : "Keni harruar fjalëkalimin tuaj? Rivendoseni!", "remember" : "kujto", "Log in" : "Hyrje", "Alternative Logins" : "Hyrje alternative", @@ -182,8 +200,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Ju lutem kontaktoni me administratorin. Nëse jeni administrator i kësaj instance, konfiguroni parametrin \"domain i besuar\" në config/config.php . Një konfigurim shembull është dhënë në config/config.sample.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Në varësi të konfigurimit tuaj, ju si administrator mundet gjithashtu të jeni i aftë të përdorni butonin e mëposhtëm për ti dhënë besim këtij domain.", "Add \"%s\" as trusted domain" : "Shtoni \"%s\" si domain të besuar", - "%s will be updated to version %s." : "%s to të përditësohet në versionin %s.", - "The following apps will be disabled:" : "Keto aplikacione do të bllokohen:", "The theme %s has been disabled." : "Tema %s u bllokua.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Ju lutem sigurohuni që bazës së të dhënave, dosjes së konfigurimit dhe dosjes së të dhënave ti jetë bërë një kopje rezervë përpara se të vazhdoni më tutje.", "Start update" : "Fillo përditësimin.", diff --git a/core/l10n/sr.js b/core/l10n/sr.js index 50603a4caa..b32e4467c6 100644 --- a/core/l10n/sr.js +++ b/core/l10n/sr.js @@ -28,6 +28,13 @@ OC.L10N.register( "Thursday" : "четвртак", "Friday" : "петак", "Saturday" : "субота", + "Sun." : "нед", + "Mon." : "пон", + "Tue." : "уто", + "Wed." : "сре", + "Thu." : "чет", + "Fri." : "пет", + "Sat." : "суб", "January" : "јануар", "February" : "фебруар", "March" : "март", @@ -40,6 +47,18 @@ OC.L10N.register( "October" : "октобар", "November" : "новембар", "December" : "децембар", + "Jan." : "јан", + "Feb." : "феб", + "Mar." : "мар", + "Apr." : "апр", + "May." : "мај", + "Jun." : "јун", + "Jul." : "јул", + "Aug." : "авг", + "Sep." : "сеп", + "Oct." : "окт", + "Nov." : "нов", + "Dec." : "дец", "Settings" : "Поставке", "Saving..." : "Уписујем...", "Couldn't send reset email. Please contact your administrator." : "Не могу да пошаљем е-пошту за ресетовање лозинке. Контактирајте администратора.", @@ -79,7 +98,6 @@ OC.L10N.register( "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}“ није подешено као „{expected}“. Ово потенцијално угрожава безбедност и приватност и препоручујемо да подесите ову поставку.", "Shared" : "Дељено", "Shared with {recipients}" : "Дељено са {recipients}", - "Share" : "Дели", "Error" : "Грешка", "Error while sharing" : "Грешка при дељењу", "Error while unsharing" : "Грешка при укидању дељења", @@ -88,6 +106,7 @@ OC.L10N.register( "Shared with you by {owner}" : "{owner} дели са вама", "Share with users or groups …" : "Дели са корисницима или групама...", "Share with users, groups or remote users …" : "Дели са корисницима, групама или удаљеним корисницима...", + "Share" : "Дели", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Поделите са људима у другим облацима користећи синтаксу корисничкоиме@сервер.com/owncloud", "Share link" : "Веза дељења", "The public link will expire no later than {days} days after it is created" : "Јавна веза ће престати да важи {days} дана након стварања", @@ -214,7 +233,6 @@ OC.L10N.register( "Please contact your administrator." : "Контактирајте вашег администратора.", "An internal error occured." : "Дошло је до интерне грешке.", "Please try again or contact your administrator." : "Покушајте поново или контактирајте вашег администратора.", - "Forgot your password? Reset it!" : "Заборавили сте вашу лозинку? Обновите је!", "remember" : "упамти", "Log in" : "Пријава", "Alternative Logins" : "Алтернативне пријаве", @@ -227,8 +245,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Контактирајте администратора. Ако сте ви администратор, подесите „trusted_domain“ поставку у config/config.php фајлу. Пример подешавања имате у config/config.sample.php фајлу.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Зависно од ваших подешавања, као администратор можете употребити дугме испод да потврдите поузданост домена.", "Add \"%s\" as trusted domain" : "Додај „%s“ као поуздан домен", - "%s will be updated to version %s." : "%s ће бити ажуриран на верзију %s.", - "The following apps will be disabled:" : "Следеће апликације ће бити онемогућене:", "The theme %s has been disabled." : "Тема %s је онемогућена.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Проверите да ли сте направили резервну копију фасцикли са подешавањима и подацима пре него што наставите.", "Start update" : "Почни надоградњу", diff --git a/core/l10n/sr.json b/core/l10n/sr.json index ead0e061b9..ffb7d87c7e 100644 --- a/core/l10n/sr.json +++ b/core/l10n/sr.json @@ -26,6 +26,13 @@ "Thursday" : "четвртак", "Friday" : "петак", "Saturday" : "субота", + "Sun." : "нед", + "Mon." : "пон", + "Tue." : "уто", + "Wed." : "сре", + "Thu." : "чет", + "Fri." : "пет", + "Sat." : "суб", "January" : "јануар", "February" : "фебруар", "March" : "март", @@ -38,6 +45,18 @@ "October" : "октобар", "November" : "новембар", "December" : "децембар", + "Jan." : "јан", + "Feb." : "феб", + "Mar." : "мар", + "Apr." : "апр", + "May." : "мај", + "Jun." : "јун", + "Jul." : "јул", + "Aug." : "авг", + "Sep." : "сеп", + "Oct." : "окт", + "Nov." : "нов", + "Dec." : "дец", "Settings" : "Поставке", "Saving..." : "Уписујем...", "Couldn't send reset email. Please contact your administrator." : "Не могу да пошаљем е-пошту за ресетовање лозинке. Контактирајте администратора.", @@ -77,7 +96,6 @@ "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}“ није подешено као „{expected}“. Ово потенцијално угрожава безбедност и приватност и препоручујемо да подесите ову поставку.", "Shared" : "Дељено", "Shared with {recipients}" : "Дељено са {recipients}", - "Share" : "Дели", "Error" : "Грешка", "Error while sharing" : "Грешка при дељењу", "Error while unsharing" : "Грешка при укидању дељења", @@ -86,6 +104,7 @@ "Shared with you by {owner}" : "{owner} дели са вама", "Share with users or groups …" : "Дели са корисницима или групама...", "Share with users, groups or remote users …" : "Дели са корисницима, групама или удаљеним корисницима...", + "Share" : "Дели", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Поделите са људима у другим облацима користећи синтаксу корисничкоиме@сервер.com/owncloud", "Share link" : "Веза дељења", "The public link will expire no later than {days} days after it is created" : "Јавна веза ће престати да важи {days} дана након стварања", @@ -212,7 +231,6 @@ "Please contact your administrator." : "Контактирајте вашег администратора.", "An internal error occured." : "Дошло је до интерне грешке.", "Please try again or contact your administrator." : "Покушајте поново или контактирајте вашег администратора.", - "Forgot your password? Reset it!" : "Заборавили сте вашу лозинку? Обновите је!", "remember" : "упамти", "Log in" : "Пријава", "Alternative Logins" : "Алтернативне пријаве", @@ -225,8 +243,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Контактирајте администратора. Ако сте ви администратор, подесите „trusted_domain“ поставку у config/config.php фајлу. Пример подешавања имате у config/config.sample.php фајлу.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Зависно од ваших подешавања, као администратор можете употребити дугме испод да потврдите поузданост домена.", "Add \"%s\" as trusted domain" : "Додај „%s“ као поуздан домен", - "%s will be updated to version %s." : "%s ће бити ажуриран на верзију %s.", - "The following apps will be disabled:" : "Следеће апликације ће бити онемогућене:", "The theme %s has been disabled." : "Тема %s је онемогућена.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Проверите да ли сте направили резервну копију фасцикли са подешавањима и подацима пре него што наставите.", "Start update" : "Почни надоградњу", diff --git a/core/l10n/sr@latin.js b/core/l10n/sr@latin.js index 706f7bd395..36a69cfb9f 100644 --- a/core/l10n/sr@latin.js +++ b/core/l10n/sr@latin.js @@ -20,6 +20,13 @@ OC.L10N.register( "Thursday" : "Četvrtak", "Friday" : "Petak", "Saturday" : "Subota", + "Sun." : "ned", + "Mon." : "pon", + "Tue." : "uto", + "Wed." : "sre", + "Thu." : "čet", + "Fri." : "pet", + "Sat." : "sub", "January" : "Januar", "February" : "Februar", "March" : "Mart", @@ -32,6 +39,18 @@ OC.L10N.register( "October" : "Oktobar", "November" : "Novembar", "December" : "Decembar", + "Jan." : "jan", + "Feb." : "feb", + "Mar." : "mar", + "Apr." : "apr", + "May." : "maj", + "Jun." : "jun", + "Jul." : "jul", + "Aug." : "avg", + "Sep." : "sep", + "Oct." : "okt", + "Nov." : "nov", + "Dec." : "dec", "Settings" : "Podešavanja", "Saving..." : "Snimam...", "Couldn't send reset email. Please contact your administrator." : "Nemoguće slanje e-mail-a za ponovno postavljanje lozinke. Molimo Vas kontaktirajte Vašeg administratora", @@ -65,13 +84,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Došlo je do greške prilikom provere startovanja servera", "Shared" : "Deljeno", "Shared with {recipients}" : "Podeljeno sa {recipients}", - "Share" : "Podeli", "Error" : "Greška", "Error while sharing" : "Greška pri deljenju", "Error while unsharing" : "Greška u uklanjanju deljenja", "Error while changing permissions" : "Greška u promeni dozvola", "Shared with you and the group {group} by {owner}" : "{owner} podelio sa Vama i grupom {group} ", "Shared with you by {owner}" : "Sa vama podelio {owner}", + "Share" : "Podeli", "Share link" : "Podeli prečicu", "The public link will expire no later than {days} days after it is created" : "Javna prečica će isteći ne kasnije od {days} dana pošto je kreirana", "Link" : "Prečica", @@ -177,7 +196,6 @@ OC.L10N.register( "Search" : "Traži", "Server side authentication failed!" : "Provera identiteta na stani servera nije uspela!", "Please contact your administrator." : "Molimo Vas da kontaktirate Vašeg administratora.", - "Forgot your password? Reset it!" : "Zaboravili ste lozinku ? Ponovo je podesite!", "remember" : "upamti", "Log in" : "Prijavi se", "Alternative Logins" : "Alternativne prijave", @@ -190,8 +208,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Molimo Vas da kontaktirate Vašeg administratora. Ako ste Vi administrator ove instance, podesite \"trusted_domain\" podešavanje u config/config.php. Primer podešavanja je dat u config/config.sample.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "U zavisnosti od Vaše konfiguracije, kao administrator bi ste mogli da upotrebite dugme ispod da podesite da verujete ovom domenu.", "Add \"%s\" as trusted domain" : "Dodaj \"%s\" kao domen od poverenja", - "%s will be updated to version %s." : "%s će biti unapređen na verziju %s.", - "The following apps will be disabled:" : "Sledeće aplikacije će biti onemogućene:", "The theme %s has been disabled." : "Tema %s će biti onemogućena.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Molimo Vas da proverite da li su baza podataka, fascikla sa podešavanjima i fascikla sa podacima bekapovani pre nego što nastavite.", "Start update" : "Započni osvežavanje", diff --git a/core/l10n/sr@latin.json b/core/l10n/sr@latin.json index ce5dba2d91..4402ff3e6a 100644 --- a/core/l10n/sr@latin.json +++ b/core/l10n/sr@latin.json @@ -18,6 +18,13 @@ "Thursday" : "Četvrtak", "Friday" : "Petak", "Saturday" : "Subota", + "Sun." : "ned", + "Mon." : "pon", + "Tue." : "uto", + "Wed." : "sre", + "Thu." : "čet", + "Fri." : "pet", + "Sat." : "sub", "January" : "Januar", "February" : "Februar", "March" : "Mart", @@ -30,6 +37,18 @@ "October" : "Oktobar", "November" : "Novembar", "December" : "Decembar", + "Jan." : "jan", + "Feb." : "feb", + "Mar." : "mar", + "Apr." : "apr", + "May." : "maj", + "Jun." : "jun", + "Jul." : "jul", + "Aug." : "avg", + "Sep." : "sep", + "Oct." : "okt", + "Nov." : "nov", + "Dec." : "dec", "Settings" : "Podešavanja", "Saving..." : "Snimam...", "Couldn't send reset email. Please contact your administrator." : "Nemoguće slanje e-mail-a za ponovno postavljanje lozinke. Molimo Vas kontaktirajte Vašeg administratora", @@ -63,13 +82,13 @@ "Error occurred while checking server setup" : "Došlo je do greške prilikom provere startovanja servera", "Shared" : "Deljeno", "Shared with {recipients}" : "Podeljeno sa {recipients}", - "Share" : "Podeli", "Error" : "Greška", "Error while sharing" : "Greška pri deljenju", "Error while unsharing" : "Greška u uklanjanju deljenja", "Error while changing permissions" : "Greška u promeni dozvola", "Shared with you and the group {group} by {owner}" : "{owner} podelio sa Vama i grupom {group} ", "Shared with you by {owner}" : "Sa vama podelio {owner}", + "Share" : "Podeli", "Share link" : "Podeli prečicu", "The public link will expire no later than {days} days after it is created" : "Javna prečica će isteći ne kasnije od {days} dana pošto je kreirana", "Link" : "Prečica", @@ -175,7 +194,6 @@ "Search" : "Traži", "Server side authentication failed!" : "Provera identiteta na stani servera nije uspela!", "Please contact your administrator." : "Molimo Vas da kontaktirate Vašeg administratora.", - "Forgot your password? Reset it!" : "Zaboravili ste lozinku ? Ponovo je podesite!", "remember" : "upamti", "Log in" : "Prijavi se", "Alternative Logins" : "Alternativne prijave", @@ -188,8 +206,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Molimo Vas da kontaktirate Vašeg administratora. Ako ste Vi administrator ove instance, podesite \"trusted_domain\" podešavanje u config/config.php. Primer podešavanja je dat u config/config.sample.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "U zavisnosti od Vaše konfiguracije, kao administrator bi ste mogli da upotrebite dugme ispod da podesite da verujete ovom domenu.", "Add \"%s\" as trusted domain" : "Dodaj \"%s\" kao domen od poverenja", - "%s will be updated to version %s." : "%s će biti unapređen na verziju %s.", - "The following apps will be disabled:" : "Sledeće aplikacije će biti onemogućene:", "The theme %s has been disabled." : "Tema %s će biti onemogućena.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Molimo Vas da proverite da li su baza podataka, fascikla sa podešavanjima i fascikla sa podacima bekapovani pre nego što nastavite.", "Start update" : "Započni osvežavanje", diff --git a/core/l10n/sv.js b/core/l10n/sv.js index 2873fc2658..8852d1ca23 100644 --- a/core/l10n/sv.js +++ b/core/l10n/sv.js @@ -20,6 +20,13 @@ OC.L10N.register( "Thursday" : "Torsdag", "Friday" : "Fredag", "Saturday" : "Lördag", + "Sun." : "Sön.", + "Mon." : "Mån.", + "Tue." : "Tis.", + "Wed." : "Ons.", + "Thu." : "Tor.", + "Fri." : "Fre.", + "Sat." : "Lör.", "January" : "Januari", "February" : "Februari", "March" : "Mars", @@ -32,6 +39,18 @@ OC.L10N.register( "October" : "Oktober", "November" : "November", "December" : "December", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maj.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Inställningar", "Saving..." : "Sparar...", "Couldn't send reset email. Please contact your administrator." : "Kunde inte skicka återställningsmail. Vänligen kontakta din administratör.", @@ -65,13 +84,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "Ett fel inträffade när en kontroll utav servens setup gjordes", "Shared" : "Delad", "Shared with {recipients}" : "Delad med {recipients}", - "Share" : "Dela", "Error" : "Fel", "Error while sharing" : "Fel vid delning", "Error while unsharing" : "Fel när delning skulle avslutas", "Error while changing permissions" : "Fel vid ändring av rättigheter", "Shared with you and the group {group} by {owner}" : "Delad med dig och gruppen {group} av {owner}", "Shared with you by {owner}" : "Delad med dig av {owner}", + "Share" : "Dela", "Share link" : "Dela länk", "The public link will expire no later than {days} days after it is created" : "Den publika länken kommer sluta gälla inte senare än {days} dagar efter att den skapades", "Link" : "Länk", @@ -182,7 +201,6 @@ OC.L10N.register( "Search" : "Sök", "Server side authentication failed!" : "Servern misslyckades med autentisering!", "Please contact your administrator." : "Kontakta din administratör.", - "Forgot your password? Reset it!" : "Glömt ditt lösenord? Återställ det!", "remember" : "kom ihåg", "Log in" : "Logga in", "Alternative Logins" : "Alternativa inloggningar", @@ -195,8 +213,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Vänligen kontakta din administratör. Om du är en administratör, konfigurera inställningen \"trusted_domain\" i config/config.php. En exempelkonfiguration finns i tillgänglig i config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Beroende på din konfiguartion, så finns det möjlighet att du som administratör kan använda knappen nedan för att verifiera på denna domän.", "Add \"%s\" as trusted domain" : "Lägg till \"%s\" som en trusted domain", - "%s will be updated to version %s." : "%s kommer att uppdateras till version %s.", - "The following apps will be disabled:" : "Följande appar kommer att inaktiveras:", "The theme %s has been disabled." : "Temat %s har blivit inaktiverat.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Vänligen säkerställ att en säkerhetskopia har gjorts av databasen, konfigurations- och datamappen innan du fortsätter.", "Start update" : "Starta uppdateringen", diff --git a/core/l10n/sv.json b/core/l10n/sv.json index 11cb5abc95..f49900f04a 100644 --- a/core/l10n/sv.json +++ b/core/l10n/sv.json @@ -18,6 +18,13 @@ "Thursday" : "Torsdag", "Friday" : "Fredag", "Saturday" : "Lördag", + "Sun." : "Sön.", + "Mon." : "Mån.", + "Tue." : "Tis.", + "Wed." : "Ons.", + "Thu." : "Tor.", + "Fri." : "Fre.", + "Sat." : "Lör.", "January" : "Januari", "February" : "Februari", "March" : "Mars", @@ -30,6 +37,18 @@ "October" : "Oktober", "November" : "November", "December" : "December", + "Jan." : "Jan.", + "Feb." : "Feb.", + "Mar." : "Mar.", + "Apr." : "Apr.", + "May." : "Maj.", + "Jun." : "Jun.", + "Jul." : "Jul.", + "Aug." : "Aug.", + "Sep." : "Sep.", + "Oct." : "Okt.", + "Nov." : "Nov.", + "Dec." : "Dec.", "Settings" : "Inställningar", "Saving..." : "Sparar...", "Couldn't send reset email. Please contact your administrator." : "Kunde inte skicka återställningsmail. Vänligen kontakta din administratör.", @@ -63,13 +82,13 @@ "Error occurred while checking server setup" : "Ett fel inträffade när en kontroll utav servens setup gjordes", "Shared" : "Delad", "Shared with {recipients}" : "Delad med {recipients}", - "Share" : "Dela", "Error" : "Fel", "Error while sharing" : "Fel vid delning", "Error while unsharing" : "Fel när delning skulle avslutas", "Error while changing permissions" : "Fel vid ändring av rättigheter", "Shared with you and the group {group} by {owner}" : "Delad med dig och gruppen {group} av {owner}", "Shared with you by {owner}" : "Delad med dig av {owner}", + "Share" : "Dela", "Share link" : "Dela länk", "The public link will expire no later than {days} days after it is created" : "Den publika länken kommer sluta gälla inte senare än {days} dagar efter att den skapades", "Link" : "Länk", @@ -180,7 +199,6 @@ "Search" : "Sök", "Server side authentication failed!" : "Servern misslyckades med autentisering!", "Please contact your administrator." : "Kontakta din administratör.", - "Forgot your password? Reset it!" : "Glömt ditt lösenord? Återställ det!", "remember" : "kom ihåg", "Log in" : "Logga in", "Alternative Logins" : "Alternativa inloggningar", @@ -193,8 +211,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Vänligen kontakta din administratör. Om du är en administratör, konfigurera inställningen \"trusted_domain\" i config/config.php. En exempelkonfiguration finns i tillgänglig i config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Beroende på din konfiguartion, så finns det möjlighet att du som administratör kan använda knappen nedan för att verifiera på denna domän.", "Add \"%s\" as trusted domain" : "Lägg till \"%s\" som en trusted domain", - "%s will be updated to version %s." : "%s kommer att uppdateras till version %s.", - "The following apps will be disabled:" : "Följande appar kommer att inaktiveras:", "The theme %s has been disabled." : "Temat %s har blivit inaktiverat.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Vänligen säkerställ att en säkerhetskopia har gjorts av databasen, konfigurations- och datamappen innan du fortsätter.", "Start update" : "Starta uppdateringen", diff --git a/core/l10n/ta_LK.js b/core/l10n/ta_LK.js index dcafecd50a..a22802bee0 100644 --- a/core/l10n/ta_LK.js +++ b/core/l10n/ta_LK.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "வியாழக்கிழமை", "Friday" : "வெள்ளிக்கிழமை", "Saturday" : "சனிக்கிழமை", + "Sun." : "ஞாயிறு", + "Mon." : "திங்கள்", + "Tue." : "செவ்வாய்", + "Wed." : "புதன்", + "Thu." : "வியாழன்", + "Fri." : "வெள்ளி", + "Sat." : "சனி", "January" : "தை", "February" : "மாசி", "March" : "பங்குனி", @@ -20,6 +27,18 @@ OC.L10N.register( "October" : "ஐப்பசி", "November" : "கார்த்திகை", "December" : "மார்கழி", + "Jan." : "தை", + "Feb." : "மாசி", + "Mar." : "பங்குனி", + "Apr." : "சித்திரை", + "May." : "வைகாசி", + "Jun." : "ஆனி", + "Jul." : "ஆடி", + "Aug." : "ஆவணி", + "Sep." : "புரட்டாதி", + "Oct." : "ஐப்பசி", + "Nov." : "கார்த்திகை", + "Dec." : "மார்கழி", "Settings" : "அமைப்புகள்", "Saving..." : "சேமிக்கப்படுகிறது...", "No" : "இல்லை", @@ -27,13 +46,13 @@ OC.L10N.register( "Choose" : "தெரிவுசெய்க ", "Ok" : "சரி", "Cancel" : "இரத்து செய்க", - "Share" : "பகிர்வு", "Error" : "வழு", "Error while sharing" : "பகிரும் போதான வழு", "Error while unsharing" : "பகிராமல் உள்ளப்போதான வழு", "Error while changing permissions" : "அனுமதிகள் மாறும்போதான வழு", "Shared with you and the group {group} by {owner}" : "உங்களுடனும் குழுவுக்கிடையிலும் {குழு} பகிரப்பட்டுள்ளது {உரிமையாளர்}", "Shared with you by {owner}" : "உங்களுடன் பகிரப்பட்டுள்ளது {உரிமையாளர்}", + "Share" : "பகிர்வு", "Password protect" : "கடவுச்சொல்லை பாதுகாத்தல்", "Password" : "கடவுச்சொல்", "Set expiration date" : "காலாவதி தேதியை குறிப்பிடுக", diff --git a/core/l10n/ta_LK.json b/core/l10n/ta_LK.json index 86bef79211..07d08aa9d7 100644 --- a/core/l10n/ta_LK.json +++ b/core/l10n/ta_LK.json @@ -6,6 +6,13 @@ "Thursday" : "வியாழக்கிழமை", "Friday" : "வெள்ளிக்கிழமை", "Saturday" : "சனிக்கிழமை", + "Sun." : "ஞாயிறு", + "Mon." : "திங்கள்", + "Tue." : "செவ்வாய்", + "Wed." : "புதன்", + "Thu." : "வியாழன்", + "Fri." : "வெள்ளி", + "Sat." : "சனி", "January" : "தை", "February" : "மாசி", "March" : "பங்குனி", @@ -18,6 +25,18 @@ "October" : "ஐப்பசி", "November" : "கார்த்திகை", "December" : "மார்கழி", + "Jan." : "தை", + "Feb." : "மாசி", + "Mar." : "பங்குனி", + "Apr." : "சித்திரை", + "May." : "வைகாசி", + "Jun." : "ஆனி", + "Jul." : "ஆடி", + "Aug." : "ஆவணி", + "Sep." : "புரட்டாதி", + "Oct." : "ஐப்பசி", + "Nov." : "கார்த்திகை", + "Dec." : "மார்கழி", "Settings" : "அமைப்புகள்", "Saving..." : "சேமிக்கப்படுகிறது...", "No" : "இல்லை", @@ -25,13 +44,13 @@ "Choose" : "தெரிவுசெய்க ", "Ok" : "சரி", "Cancel" : "இரத்து செய்க", - "Share" : "பகிர்வு", "Error" : "வழு", "Error while sharing" : "பகிரும் போதான வழு", "Error while unsharing" : "பகிராமல் உள்ளப்போதான வழு", "Error while changing permissions" : "அனுமதிகள் மாறும்போதான வழு", "Shared with you and the group {group} by {owner}" : "உங்களுடனும் குழுவுக்கிடையிலும் {குழு} பகிரப்பட்டுள்ளது {உரிமையாளர்}", "Shared with you by {owner}" : "உங்களுடன் பகிரப்பட்டுள்ளது {உரிமையாளர்}", + "Share" : "பகிர்வு", "Password protect" : "கடவுச்சொல்லை பாதுகாத்தல்", "Password" : "கடவுச்சொல்", "Set expiration date" : "காலாவதி தேதியை குறிப்பிடுக", diff --git a/core/l10n/th_TH.js b/core/l10n/th_TH.js index 9e56c2e84d..65a7de7705 100644 --- a/core/l10n/th_TH.js +++ b/core/l10n/th_TH.js @@ -29,6 +29,20 @@ OC.L10N.register( "Thursday" : "วันพฤหัสบดี", "Friday" : "วันศุกร์", "Saturday" : "วันเสาร์", + "Sun." : "อา.", + "Mon." : "จ.", + "Tue." : "อ.", + "Wed." : "พ.", + "Thu." : "พฤ.", + "Fri." : "ศ.", + "Sat." : "ส.", + "Su" : "อา", + "Mo" : "จัน", + "Tu" : "อัง", + "We" : "พุธ", + "Th" : "พฤ", + "Fr" : "ศุก", + "Sa" : "เสา", "January" : "มกราคม", "February" : "กุมภาพันธ์", "March" : "มีนาคม", @@ -41,6 +55,18 @@ OC.L10N.register( "October" : "ตุลาคม", "November" : "พฤศจิกายน", "December" : "ธันวาคม", + "Jan." : "ม.ค.", + "Feb." : "ก.พ.", + "Mar." : "มี.ค.", + "Apr." : "เม.ย.", + "May." : "พ.ค.", + "Jun." : "มิ.ย.", + "Jul." : "ก.ค.", + "Aug." : "ส.ค.", + "Sep." : "ก.ย.", + "Oct." : "ต.ค.", + "Nov." : "พ.ย.", + "Dec." : "ธ.ค.", "Settings" : "ตั้งค่า", "Saving..." : "กำลังบันทึกข้อมูล...", "Couldn't send reset email. Please contact your administrator." : "ไม่สามารถส่งการตั้งค่าอีเมลใหม่ กรุณาติดต่อผู้ดูแลระบบ", @@ -71,18 +97,19 @@ OC.L10N.register( "So-so password" : "รหัสผ่านระดับปกติ", "Good password" : "รหัสผ่านระดับดี", "Strong password" : "รหัสผ่านระดับดีมาก", - "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "เว็บเซิร์ฟเวอร์ของคุณยังไม่ถูกติดตั้งอย่างถูกต้องเพื่ออนุญาตให้ผสานข้อมูลให้ตรงกัน เนื่องจากอินเตอร์เฟซ WebDAV อาจเสียหาย", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "เว็บเซิร์ฟเวอร์ของคุณยังไม่ถูกติดตั้งอย่างถูกต้องเพื่ออนุญาตให้ประสานข้อมูลให้ตรงกัน เนื่องจากอินเตอร์เฟซ WebDAV อาจเสียหาย", "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "เซิร์ฟเวอร์นี้ไม่มีการเชื่อมต่ออินเทอร์เน็ตซึ่งหมายความว่าบางส่วนของคุณสมบัติ เช่น การจัดเก็บข้อมูลภายนอก การแจ้งเตือนเกี่ยวกับการปรับปรุงหรือการติดตั้งแอพพลิเคชันของบุคคลที่สามจะไม่ทำงาน การเข้าถึงไฟล์จากระยะไกลและการส่งอีเมล์แจ้งเตือนอาจจะไม่ทำงาน เราขอแนะนำให้เปิดใช้งานการเชื่อมต่ออินเทอร์เน็ตสำหรับเซิร์ฟเวอร์นี้ถ้าคุณต้องการใช้งานคุณสมบัติทั้งหมด", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 ไฟล์ไม่ทำงาน เราขอแนะนำให้คุณกำหนดค่าเว็บเซิร์ฟเวอร์ของคุณในทางที่ข้อมูลไดเรกทอรีไม่สามารถเข้าถึงได้หรือคุณย้ายข้อมูลไดเรกทอรีไปยังนอกเว็บเซิร์ฟเวอร์หรือเอกสาร", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "ไม่ได้ตั้งค่าหน่วยความจำแคช เพื่อเพิ่มประสิทธิภาพกรุณาตั้งค่า Memcache ของคุณ สามารถดูข้อมูลเพิ่มเติมได้ที่ เอกสาร", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ไม่สามารถอ่านโดย PHP ซึ่งมีผลด้านความปลอดภัยเป็นอย่างมาก สามารถดูข้อมูลเพิ่มเติมได้ที่ เอกสาร", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "PHP รุ่น ({version}) ของคุณ จะไม่ได้รับ การสนับสนุนโดย PHP เราขอแนะนำให้คุณอัพเกรดรุ่นของ PHP เพื่อความปลอดภัย", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "การกำหนดค่าพร็อกซี่ไม่ถูกต้องหรือคุณกำลังเข้าถึง ownCloud จากพร็อกซี่ที่เชื่อถือได้ ถ้าคุณไม่ได้เข้าถึง ownCloud จากพร็อกซี่ที่เชื่อถือได้ นี้เป็นปัญหาด้านความปลอดภัย คุณอาจถูกโจมดีจากผู้ไม่หวังดี อ่านข้อมูลเพิ่มเติมได้ที่ เอกสาร", "Error occurred while checking server setup" : "เกิดข้อผิดพลาดขณะที่ทำการตรวจสอบการติดตั้งเซิร์ฟเวอร์", "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 least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "\"Strict-Transport-Security\" ส่วนหัว HTTP ไม่ได้กำหนดค่าให้น้อยกว่า \"{seconds}\" วินาที เพื่อความปลอดภัยที่เพิ่มขึ้นเราขอแนะนำให้เปิดใช้งาน HSTS ที่อธิบายไว้ใน เคล็ดลับการรักษาความปลอดภัย ของเรา", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "คุณกำลังเข้าถึงเว็บไซต์นี้ผ่านทาง HTTP เราขอแนะนำให้คุณกำหนดค่าเซิร์ฟเวอร์ของคุณที่จะต้องใช้ HTTPS แทนตามที่อธิบายไว้ใน เคล็ดลับการรักษาความปลอดภัย ของเรา", "Shared" : "แชร์แล้ว", "Shared with {recipients}" : "แชร์กับ {recipients}", - "Share" : "แชร์", "Error" : "ข้อผิดพลาด", "Error while sharing" : "เกิดข้อผิดพลาดขณะกำลังแชร์ข้อมูล", "Error while unsharing" : "เกิดข้อผิดพลาดขณะกำลังยกเลิกการแชร์ข้อมูล", @@ -91,6 +118,7 @@ OC.L10N.register( "Shared with you by {owner}" : "ถูกแชร์ให้กับคุณโดย {owner}", "Share with users or groups …" : "แชร์กับผู้ใช้หรือกลุ่ม ...", "Share with users, groups or remote users …" : "แชร์กับผู้ใช้กลุ่มหรือผู้ใช้ระยะไกล ...", + "Share" : "แชร์", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "แชร์กับคนใน ownClouds อื่นๆ ที่ใช้ไวยากรณ์ username@example.com/owncloud ", "Share link" : "แชร์ลิงค์", "The public link will expire no later than {days} days after it is created" : "ลิงค์สาธารณะจะหมดอายุภายใน {days} วัน หลังจากที่มันถูกสร้างขึ้น", @@ -205,7 +233,7 @@ OC.L10N.register( "Performance warning" : "การเตือนประสิทธิภาพการทำงาน", "SQLite will be used as database." : "SQLite จะถูกใช้เป็นฐานข้อมูล", "For larger installations we recommend to choose a different database backend." : "สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำให้เลือกแบ็กเอนด์ฐานข้อมูลที่แตกต่างกัน", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการผสานข้อมูลโดย SQLite", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", "Finish setup" : "ติดตั้งเรียบร้อยแล้ว", "Finishing …" : "เสร็จสิ้น ...", "Need help?" : "ต้องการความช่วยเหลือ?", @@ -217,7 +245,7 @@ OC.L10N.register( "Please contact your administrator." : "กรุณาติดต่อผู้ดูแลระบบ", "An internal error occured." : "เกิดข้อผิดพลาดภายใน", "Please try again or contact your administrator." : "โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบ", - "Forgot your password? Reset it!" : "ลืมรหัสผ่าน?", + "Wrong password. Reset it?" : "รหัสผ่านผิด ตั้งค่าใหม่?", "remember" : "จดจำฉัน", "Log in" : "เข้าสู่ระบบ", "Alternative Logins" : "ทางเลือกการเข้าสู่ระบบ", @@ -230,8 +258,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "กรุณาติดต่อผู้ดูแลระบบ หากคุณเป็นผู้ดูแลระบบโปรดกำหนดค่า \"trusted_domain\" โดยตั้งค่าใน config/config.php ยกตัวอย่างระบุการตั้งค่าใน config/config.sample.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "ทั้งนี้ขึ้นอยู่กับการกำหนดค่าของคุณ ผู้ดูแลระบบอาจสามารถใช้ปุ่มด้านล่างเพื่อกำหนดให้โดเมนนี้มีความน่าเชื่อถือ", "Add \"%s\" as trusted domain" : "ได้เพิ่ม \"%s\" เป็นโดเมนที่เชื่อถือ", - "%s will be updated to version %s." : "%s จะถูกอัพเดทให้เป็นรุ่น %s", - "The following apps will be disabled:" : "แอพพลิเคชันต่อไปนี้จะปิดการใช้งาน:", + "App update required" : "จำเป้นต้องอัพเดทแอพฯ", + "%s will be updated to version %s" : "%s จะถูกอัพเดทเป็นเวอร์ชัน %s", + "These apps will be updated:" : "แอพพลิเคชันเหล่านี้จะถูกอัพเดท:", + "These incompatible apps will be disabled:" : "แอพพลิเคชันเหล่านี้เข้ากันไม่ได้จะถูกปิดการใช้งาน:", "The theme %s has been disabled." : "ธีม %s จะถูกปิดการใช้งาน:", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "โปรดตรวจสอบฐานข้อมูล การตั้งค่าโฟลเดอร์และโฟลเดอร์ข้อมูลจะถูกสำรองไว้ก่อนดำเนินการ", "Start update" : "เริ่มต้นอัพเดท", diff --git a/core/l10n/th_TH.json b/core/l10n/th_TH.json index 8dc55d8f0e..a10ff46185 100644 --- a/core/l10n/th_TH.json +++ b/core/l10n/th_TH.json @@ -27,6 +27,20 @@ "Thursday" : "วันพฤหัสบดี", "Friday" : "วันศุกร์", "Saturday" : "วันเสาร์", + "Sun." : "อา.", + "Mon." : "จ.", + "Tue." : "อ.", + "Wed." : "พ.", + "Thu." : "พฤ.", + "Fri." : "ศ.", + "Sat." : "ส.", + "Su" : "อา", + "Mo" : "จัน", + "Tu" : "อัง", + "We" : "พุธ", + "Th" : "พฤ", + "Fr" : "ศุก", + "Sa" : "เสา", "January" : "มกราคม", "February" : "กุมภาพันธ์", "March" : "มีนาคม", @@ -39,6 +53,18 @@ "October" : "ตุลาคม", "November" : "พฤศจิกายน", "December" : "ธันวาคม", + "Jan." : "ม.ค.", + "Feb." : "ก.พ.", + "Mar." : "มี.ค.", + "Apr." : "เม.ย.", + "May." : "พ.ค.", + "Jun." : "มิ.ย.", + "Jul." : "ก.ค.", + "Aug." : "ส.ค.", + "Sep." : "ก.ย.", + "Oct." : "ต.ค.", + "Nov." : "พ.ย.", + "Dec." : "ธ.ค.", "Settings" : "ตั้งค่า", "Saving..." : "กำลังบันทึกข้อมูล...", "Couldn't send reset email. Please contact your administrator." : "ไม่สามารถส่งการตั้งค่าอีเมลใหม่ กรุณาติดต่อผู้ดูแลระบบ", @@ -69,18 +95,19 @@ "So-so password" : "รหัสผ่านระดับปกติ", "Good password" : "รหัสผ่านระดับดี", "Strong password" : "รหัสผ่านระดับดีมาก", - "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "เว็บเซิร์ฟเวอร์ของคุณยังไม่ถูกติดตั้งอย่างถูกต้องเพื่ออนุญาตให้ผสานข้อมูลให้ตรงกัน เนื่องจากอินเตอร์เฟซ WebDAV อาจเสียหาย", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "เว็บเซิร์ฟเวอร์ของคุณยังไม่ถูกติดตั้งอย่างถูกต้องเพื่ออนุญาตให้ประสานข้อมูลให้ตรงกัน เนื่องจากอินเตอร์เฟซ WebDAV อาจเสียหาย", "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "เซิร์ฟเวอร์นี้ไม่มีการเชื่อมต่ออินเทอร์เน็ตซึ่งหมายความว่าบางส่วนของคุณสมบัติ เช่น การจัดเก็บข้อมูลภายนอก การแจ้งเตือนเกี่ยวกับการปรับปรุงหรือการติดตั้งแอพพลิเคชันของบุคคลที่สามจะไม่ทำงาน การเข้าถึงไฟล์จากระยะไกลและการส่งอีเมล์แจ้งเตือนอาจจะไม่ทำงาน เราขอแนะนำให้เปิดใช้งานการเชื่อมต่ออินเทอร์เน็ตสำหรับเซิร์ฟเวอร์นี้ถ้าคุณต้องการใช้งานคุณสมบัติทั้งหมด", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 ไฟล์ไม่ทำงาน เราขอแนะนำให้คุณกำหนดค่าเว็บเซิร์ฟเวอร์ของคุณในทางที่ข้อมูลไดเรกทอรีไม่สามารถเข้าถึงได้หรือคุณย้ายข้อมูลไดเรกทอรีไปยังนอกเว็บเซิร์ฟเวอร์หรือเอกสาร", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "ไม่ได้ตั้งค่าหน่วยความจำแคช เพื่อเพิ่มประสิทธิภาพกรุณาตั้งค่า Memcache ของคุณ สามารถดูข้อมูลเพิ่มเติมได้ที่ เอกสาร", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom ไม่สามารถอ่านโดย PHP ซึ่งมีผลด้านความปลอดภัยเป็นอย่างมาก สามารถดูข้อมูลเพิ่มเติมได้ที่ เอกสาร", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "PHP รุ่น ({version}) ของคุณ จะไม่ได้รับ การสนับสนุนโดย PHP เราขอแนะนำให้คุณอัพเกรดรุ่นของ PHP เพื่อความปลอดภัย", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "การกำหนดค่าพร็อกซี่ไม่ถูกต้องหรือคุณกำลังเข้าถึง ownCloud จากพร็อกซี่ที่เชื่อถือได้ ถ้าคุณไม่ได้เข้าถึง ownCloud จากพร็อกซี่ที่เชื่อถือได้ นี้เป็นปัญหาด้านความปลอดภัย คุณอาจถูกโจมดีจากผู้ไม่หวังดี อ่านข้อมูลเพิ่มเติมได้ที่ เอกสาร", "Error occurred while checking server setup" : "เกิดข้อผิดพลาดขณะที่ทำการตรวจสอบการติดตั้งเซิร์ฟเวอร์", "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 least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "\"Strict-Transport-Security\" ส่วนหัว HTTP ไม่ได้กำหนดค่าให้น้อยกว่า \"{seconds}\" วินาที เพื่อความปลอดภัยที่เพิ่มขึ้นเราขอแนะนำให้เปิดใช้งาน HSTS ที่อธิบายไว้ใน เคล็ดลับการรักษาความปลอดภัย ของเรา", "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "คุณกำลังเข้าถึงเว็บไซต์นี้ผ่านทาง HTTP เราขอแนะนำให้คุณกำหนดค่าเซิร์ฟเวอร์ของคุณที่จะต้องใช้ HTTPS แทนตามที่อธิบายไว้ใน เคล็ดลับการรักษาความปลอดภัย ของเรา", "Shared" : "แชร์แล้ว", "Shared with {recipients}" : "แชร์กับ {recipients}", - "Share" : "แชร์", "Error" : "ข้อผิดพลาด", "Error while sharing" : "เกิดข้อผิดพลาดขณะกำลังแชร์ข้อมูล", "Error while unsharing" : "เกิดข้อผิดพลาดขณะกำลังยกเลิกการแชร์ข้อมูล", @@ -89,6 +116,7 @@ "Shared with you by {owner}" : "ถูกแชร์ให้กับคุณโดย {owner}", "Share with users or groups …" : "แชร์กับผู้ใช้หรือกลุ่ม ...", "Share with users, groups or remote users …" : "แชร์กับผู้ใช้กลุ่มหรือผู้ใช้ระยะไกล ...", + "Share" : "แชร์", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "แชร์กับคนใน ownClouds อื่นๆ ที่ใช้ไวยากรณ์ username@example.com/owncloud ", "Share link" : "แชร์ลิงค์", "The public link will expire no later than {days} days after it is created" : "ลิงค์สาธารณะจะหมดอายุภายใน {days} วัน หลังจากที่มันถูกสร้างขึ้น", @@ -203,7 +231,7 @@ "Performance warning" : "การเตือนประสิทธิภาพการทำงาน", "SQLite will be used as database." : "SQLite จะถูกใช้เป็นฐานข้อมูล", "For larger installations we recommend to choose a different database backend." : "สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำให้เลือกแบ็กเอนด์ฐานข้อมูลที่แตกต่างกัน", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการผสานข้อมูลโดย SQLite", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", "Finish setup" : "ติดตั้งเรียบร้อยแล้ว", "Finishing …" : "เสร็จสิ้น ...", "Need help?" : "ต้องการความช่วยเหลือ?", @@ -215,7 +243,7 @@ "Please contact your administrator." : "กรุณาติดต่อผู้ดูแลระบบ", "An internal error occured." : "เกิดข้อผิดพลาดภายใน", "Please try again or contact your administrator." : "โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบ", - "Forgot your password? Reset it!" : "ลืมรหัสผ่าน?", + "Wrong password. Reset it?" : "รหัสผ่านผิด ตั้งค่าใหม่?", "remember" : "จดจำฉัน", "Log in" : "เข้าสู่ระบบ", "Alternative Logins" : "ทางเลือกการเข้าสู่ระบบ", @@ -228,8 +256,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "กรุณาติดต่อผู้ดูแลระบบ หากคุณเป็นผู้ดูแลระบบโปรดกำหนดค่า \"trusted_domain\" โดยตั้งค่าใน config/config.php ยกตัวอย่างระบุการตั้งค่าใน config/config.sample.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "ทั้งนี้ขึ้นอยู่กับการกำหนดค่าของคุณ ผู้ดูแลระบบอาจสามารถใช้ปุ่มด้านล่างเพื่อกำหนดให้โดเมนนี้มีความน่าเชื่อถือ", "Add \"%s\" as trusted domain" : "ได้เพิ่ม \"%s\" เป็นโดเมนที่เชื่อถือ", - "%s will be updated to version %s." : "%s จะถูกอัพเดทให้เป็นรุ่น %s", - "The following apps will be disabled:" : "แอพพลิเคชันต่อไปนี้จะปิดการใช้งาน:", + "App update required" : "จำเป้นต้องอัพเดทแอพฯ", + "%s will be updated to version %s" : "%s จะถูกอัพเดทเป็นเวอร์ชัน %s", + "These apps will be updated:" : "แอพพลิเคชันเหล่านี้จะถูกอัพเดท:", + "These incompatible apps will be disabled:" : "แอพพลิเคชันเหล่านี้เข้ากันไม่ได้จะถูกปิดการใช้งาน:", "The theme %s has been disabled." : "ธีม %s จะถูกปิดการใช้งาน:", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "โปรดตรวจสอบฐานข้อมูล การตั้งค่าโฟลเดอร์และโฟลเดอร์ข้อมูลจะถูกสำรองไว้ก่อนดำเนินการ", "Start update" : "เริ่มต้นอัพเดท", diff --git a/core/l10n/tr.js b/core/l10n/tr.js index f61553d893..df0509bd27 100644 --- a/core/l10n/tr.js +++ b/core/l10n/tr.js @@ -28,6 +28,13 @@ OC.L10N.register( "Thursday" : "Perşembe", "Friday" : "Cuma", "Saturday" : "Cumartesi", + "Sun." : "Paz.", + "Mon." : "Pzt.", + "Tue." : "Sal.", + "Wed." : "Çar.", + "Thu." : "Per.", + "Fri." : "Cum.", + "Sat." : "Cmt.", "January" : "Ocak", "February" : "Şubat", "March" : "Mart", @@ -40,6 +47,18 @@ OC.L10N.register( "October" : "Ekim", "November" : "Kasım", "December" : "Aralık", + "Jan." : "Oca.", + "Feb." : "Şbt.", + "Mar." : "Mar.", + "Apr." : "Nis", + "May." : "May.", + "Jun." : "Haz.", + "Jul." : "Tem.", + "Aug." : "Ağu.", + "Sep." : "Eyl.", + "Oct." : "Eki.", + "Nov." : "Kas.", + "Dec." : "Ara.", "Settings" : "Ayarlar", "Saving..." : "Kaydediliyor...", "Couldn't send reset email. Please contact your administrator." : "Sıfırlama e-postası gönderilemedi. Lütfen yöneticiniz ile iletişime geçin.", @@ -81,7 +100,6 @@ OC.L10N.register( "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Bu siteye HTTP aracılığıyla erişiyorsunuz. Sunucunuzu güvenlik ipuçlarımızda gösterildiği şekilde HTTPS kullanımını zorlamak üzere yapılandırmanızı şiddetle öneririz.", "Shared" : "Paylaşılan", "Shared with {recipients}" : "{recipients} ile paylaşılmış", - "Share" : "Paylaş", "Error" : "Hata", "Error while sharing" : "Paylaşım sırasında hata", "Error while unsharing" : "Paylaşım iptal edilirken hata", @@ -90,6 +108,7 @@ OC.L10N.register( "Shared with you by {owner}" : "{owner} tarafından sizinle paylaşıldı", "Share with users or groups …" : "Kullanıcı ve gruplarla paylaş...", "Share with users, groups or remote users …" : "Kullanıcılar, gruplar veya uzak kullanıcılarla paylaş ...", + "Share" : "Paylaş", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "kullanıcı@example.com/owncloud şeklinde diğer ownCloud kullanan diğer kullanıcılarla paylaş", "Share link" : "Paylaşma bağlantısı", "The public link will expire no later than {days} days after it is created" : "Herkese açık bağlantı, oluşturulduktan en geç {days} gün sonra sona erecek", @@ -216,7 +235,6 @@ OC.L10N.register( "Please contact your administrator." : "Lütfen sistem yöneticiniz ile iletişime geçin.", "An internal error occured." : "Dahili bir hata oluştu.", "Please try again or contact your administrator." : "Lütfen yeniden deneyin veya yöneticinizle iletişim kurun.", - "Forgot your password? Reset it!" : "Parolanızı mı unuttunuz? Sıfırlayın!", "remember" : "hatırla", "Log in" : "Giriş yap", "Alternative Logins" : "Alternatif Girişler", @@ -229,8 +247,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Lütfen yöneticiniz ile iletişime geçin. Eğer bu örneğin bir yöneticisi iseniz, config/config.php dosyası içerisindeki \"trusted_domain\" ayarını yapılandırın. Bu yapılandırmanın bir örneği config/config.sample.php dosyasında verilmiştir.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Yapılandırmanıza bağlı olarak, bir yönetici olarak bu alan adına güvenmek için aşağıdaki düğmeyi de kullanabilirsiniz.", "Add \"%s\" as trusted domain" : "\"%s\" alan adını güvenilir olarak ekle", - "%s will be updated to version %s." : "%s, %s sürümüne güncellenecek.", - "The following apps will be disabled:" : "Aşağıdaki uygulamalar devre dışı bırakılacak:", "The theme %s has been disabled." : "%s teması devre dışı bırakıldı.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Devam etmeden önce lütfen veritabanının, yapılandırma ve veri klasörlerinin yedeklenmiş olduğundan emin olun.", "Start update" : "Güncellemeyi başlat", diff --git a/core/l10n/tr.json b/core/l10n/tr.json index 01a813a77a..b421d14009 100644 --- a/core/l10n/tr.json +++ b/core/l10n/tr.json @@ -26,6 +26,13 @@ "Thursday" : "Perşembe", "Friday" : "Cuma", "Saturday" : "Cumartesi", + "Sun." : "Paz.", + "Mon." : "Pzt.", + "Tue." : "Sal.", + "Wed." : "Çar.", + "Thu." : "Per.", + "Fri." : "Cum.", + "Sat." : "Cmt.", "January" : "Ocak", "February" : "Şubat", "March" : "Mart", @@ -38,6 +45,18 @@ "October" : "Ekim", "November" : "Kasım", "December" : "Aralık", + "Jan." : "Oca.", + "Feb." : "Şbt.", + "Mar." : "Mar.", + "Apr." : "Nis", + "May." : "May.", + "Jun." : "Haz.", + "Jul." : "Tem.", + "Aug." : "Ağu.", + "Sep." : "Eyl.", + "Oct." : "Eki.", + "Nov." : "Kas.", + "Dec." : "Ara.", "Settings" : "Ayarlar", "Saving..." : "Kaydediliyor...", "Couldn't send reset email. Please contact your administrator." : "Sıfırlama e-postası gönderilemedi. Lütfen yöneticiniz ile iletişime geçin.", @@ -79,7 +98,6 @@ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Bu siteye HTTP aracılığıyla erişiyorsunuz. Sunucunuzu güvenlik ipuçlarımızda gösterildiği şekilde HTTPS kullanımını zorlamak üzere yapılandırmanızı şiddetle öneririz.", "Shared" : "Paylaşılan", "Shared with {recipients}" : "{recipients} ile paylaşılmış", - "Share" : "Paylaş", "Error" : "Hata", "Error while sharing" : "Paylaşım sırasında hata", "Error while unsharing" : "Paylaşım iptal edilirken hata", @@ -88,6 +106,7 @@ "Shared with you by {owner}" : "{owner} tarafından sizinle paylaşıldı", "Share with users or groups …" : "Kullanıcı ve gruplarla paylaş...", "Share with users, groups or remote users …" : "Kullanıcılar, gruplar veya uzak kullanıcılarla paylaş ...", + "Share" : "Paylaş", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "kullanıcı@example.com/owncloud şeklinde diğer ownCloud kullanan diğer kullanıcılarla paylaş", "Share link" : "Paylaşma bağlantısı", "The public link will expire no later than {days} days after it is created" : "Herkese açık bağlantı, oluşturulduktan en geç {days} gün sonra sona erecek", @@ -214,7 +233,6 @@ "Please contact your administrator." : "Lütfen sistem yöneticiniz ile iletişime geçin.", "An internal error occured." : "Dahili bir hata oluştu.", "Please try again or contact your administrator." : "Lütfen yeniden deneyin veya yöneticinizle iletişim kurun.", - "Forgot your password? Reset it!" : "Parolanızı mı unuttunuz? Sıfırlayın!", "remember" : "hatırla", "Log in" : "Giriş yap", "Alternative Logins" : "Alternatif Girişler", @@ -227,8 +245,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Lütfen yöneticiniz ile iletişime geçin. Eğer bu örneğin bir yöneticisi iseniz, config/config.php dosyası içerisindeki \"trusted_domain\" ayarını yapılandırın. Bu yapılandırmanın bir örneği config/config.sample.php dosyasında verilmiştir.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Yapılandırmanıza bağlı olarak, bir yönetici olarak bu alan adına güvenmek için aşağıdaki düğmeyi de kullanabilirsiniz.", "Add \"%s\" as trusted domain" : "\"%s\" alan adını güvenilir olarak ekle", - "%s will be updated to version %s." : "%s, %s sürümüne güncellenecek.", - "The following apps will be disabled:" : "Aşağıdaki uygulamalar devre dışı bırakılacak:", "The theme %s has been disabled." : "%s teması devre dışı bırakıldı.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Devam etmeden önce lütfen veritabanının, yapılandırma ve veri klasörlerinin yedeklenmiş olduğundan emin olun.", "Start update" : "Güncellemeyi başlat", diff --git a/core/l10n/ug.js b/core/l10n/ug.js index cced7f3177..092a1a4c18 100644 --- a/core/l10n/ug.js +++ b/core/l10n/ug.js @@ -8,6 +8,13 @@ OC.L10N.register( "Thursday" : "پەيشەنبە", "Friday" : "جۈمە", "Saturday" : "شەنبە", + "Sun." : "يەك", + "Mon." : "دۈش", + "Tue." : "سەي", + "Wed." : "چار", + "Thu." : "پەي", + "Fri." : "جۈم", + "Sat." : "شەن", "January" : "قەھرىتان", "February" : "ھۇت", "March" : "نەۋرۇز", @@ -20,14 +27,26 @@ OC.L10N.register( "October" : "ئوغۇز", "November" : "ئوغلاق", "December" : "كۆنەك", + "Jan." : "قەھرىتان", + "Feb." : "ھۇت", + "Mar." : "نەۋرۇز", + "Apr." : "ئۇمۇت", + "May." : "باھار", + "Jun." : "سەپەر", + "Jul." : "چىللە", + "Aug." : "تومۇز", + "Sep." : "مىزان", + "Oct." : "ئوغۇز", + "Nov." : "ئوغلاق", + "Dec." : "كۆنەك", "Settings" : "تەڭشەكلەر", "Saving..." : "ساقلاۋاتىدۇ…", "No" : "ياق", "Yes" : "ھەئە", "Ok" : "جەزملە", "Cancel" : "ۋاز كەچ", - "Share" : "ھەمبەھىر", "Error" : "خاتالىق", + "Share" : "ھەمبەھىر", "Password" : "ئىم", "Send" : "يوللا", "group" : "گۇرۇپپا", diff --git a/core/l10n/ug.json b/core/l10n/ug.json index 686a70c2de..dff656d766 100644 --- a/core/l10n/ug.json +++ b/core/l10n/ug.json @@ -6,6 +6,13 @@ "Thursday" : "پەيشەنبە", "Friday" : "جۈمە", "Saturday" : "شەنبە", + "Sun." : "يەك", + "Mon." : "دۈش", + "Tue." : "سەي", + "Wed." : "چار", + "Thu." : "پەي", + "Fri." : "جۈم", + "Sat." : "شەن", "January" : "قەھرىتان", "February" : "ھۇت", "March" : "نەۋرۇز", @@ -18,14 +25,26 @@ "October" : "ئوغۇز", "November" : "ئوغلاق", "December" : "كۆنەك", + "Jan." : "قەھرىتان", + "Feb." : "ھۇت", + "Mar." : "نەۋرۇز", + "Apr." : "ئۇمۇت", + "May." : "باھار", + "Jun." : "سەپەر", + "Jul." : "چىللە", + "Aug." : "تومۇز", + "Sep." : "مىزان", + "Oct." : "ئوغۇز", + "Nov." : "ئوغلاق", + "Dec." : "كۆنەك", "Settings" : "تەڭشەكلەر", "Saving..." : "ساقلاۋاتىدۇ…", "No" : "ياق", "Yes" : "ھەئە", "Ok" : "جەزملە", "Cancel" : "ۋاز كەچ", - "Share" : "ھەمبەھىر", "Error" : "خاتالىق", + "Share" : "ھەمبەھىر", "Password" : "ئىم", "Send" : "يوللا", "group" : "گۇرۇپپا", diff --git a/core/l10n/uk.js b/core/l10n/uk.js index 2792ace687..580126e39c 100644 --- a/core/l10n/uk.js +++ b/core/l10n/uk.js @@ -26,6 +26,13 @@ OC.L10N.register( "Thursday" : "Четвер", "Friday" : "П'ятниця", "Saturday" : "Субота", + "Sun." : "Нед.", + "Mon." : "Пн.", + "Tue." : "Вт.", + "Wed." : "Ср.", + "Thu." : "Чт.", + "Fri." : "Пт.", + "Sat." : "Сб.", "January" : "Січень", "February" : "Лютий", "March" : "Березень", @@ -38,6 +45,18 @@ OC.L10N.register( "October" : "Жовтень", "November" : "Листопад", "December" : "Грудень", + "Jan." : "Січ.", + "Feb." : "Лют.", + "Mar." : "Бер.", + "Apr." : "Кві.", + "May." : "Тра.", + "Jun." : "Чер.", + "Jul." : "Лип.", + "Aug." : "Сер.", + "Sep." : "Вер.", + "Oct." : "Жов.", + "Nov." : "Лис.", + "Dec." : "Гру.", "Settings" : "Налаштування", "Saving..." : "Збереження...", "Couldn't send reset email. Please contact your administrator." : "Не можу надіслати email для скидання. Будь ласка, зверніться до вашого адміністратора.", @@ -77,7 +96,6 @@ OC.L10N.register( "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." : "HTTP заголовок \"{header}\" не налаштований як \"{expected}\". Це потенційний ризик для безпеки чи приватності і ми радимо виправити це налаштування.", "Shared" : "Опубліковано", "Shared with {recipients}" : "Опубліковано для {recipients}", - "Share" : "Поділитися", "Error" : "Помилка", "Error while sharing" : "Помилка під час публікації", "Error while unsharing" : "Помилка під час відміни публікації", @@ -86,6 +104,7 @@ OC.L10N.register( "Shared with you by {owner}" : "{owner} опублікував для Вас", "Share with users or groups …" : "Поширити серед користувачів або груп ...", "Share with users, groups or remote users …" : "Поширити серед локальних чи віддалених користувачів або груп ...", + "Share" : "Поділитися", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Поширити серед людей інших ownCloud'ів, використовуючи синтаксис ім'я_користувача@файли.укр/owncloud", "Share link" : "Поділитись посиланням", "The public link will expire no later than {days} days after it is created" : "Доступ до опублікованого посилання буде припинено не пізніше ніж через {days} днів з моменту створення", @@ -210,7 +229,6 @@ OC.L10N.register( "Please contact your administrator." : "Будь ласка, зверніться до вашого Адміністратора.", "An internal error occured." : "Виникла внутрішня помилка.", "Please try again or contact your administrator." : "Будь ласка, спробуйте ще раз або зверніться до адміністратора.", - "Forgot your password? Reset it!" : "Забули ваш пароль? Скиньте його!", "remember" : "запам'ятати", "Log in" : "Увійти", "Alternative Logins" : "Альтернативні імена користувача", @@ -223,8 +241,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Будь ласка, зверніться до адміністратора. Якщо ви є адміністратором цього серверу, ви можете налаштувати опцію \"trusted_domain\" в конфігураційному файлі config/config.php. Приклад конфігурації знаходиться в файлі config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Залежно від конфігурації Ви як адміністратор можете додати цей домен у список довірених, використовуйте кнопку нижче.", "Add \"%s\" as trusted domain" : "Додати \"%s\" як довірений домен", - "%s will be updated to version %s." : "%s буде оновлено до версії %s.", - "The following apps will be disabled:" : "Наступні додатки будуть вимкнені:", "The theme %s has been disabled." : "Тему %s було вимкнено.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Перед продовженням переконайтеся, що ви зробили резервну копію бази даних, каталогу конфігурації та каталогу з даними.", "Start update" : "Почати оновлення", diff --git a/core/l10n/uk.json b/core/l10n/uk.json index 9604468f0e..188b043694 100644 --- a/core/l10n/uk.json +++ b/core/l10n/uk.json @@ -24,6 +24,13 @@ "Thursday" : "Четвер", "Friday" : "П'ятниця", "Saturday" : "Субота", + "Sun." : "Нед.", + "Mon." : "Пн.", + "Tue." : "Вт.", + "Wed." : "Ср.", + "Thu." : "Чт.", + "Fri." : "Пт.", + "Sat." : "Сб.", "January" : "Січень", "February" : "Лютий", "March" : "Березень", @@ -36,6 +43,18 @@ "October" : "Жовтень", "November" : "Листопад", "December" : "Грудень", + "Jan." : "Січ.", + "Feb." : "Лют.", + "Mar." : "Бер.", + "Apr." : "Кві.", + "May." : "Тра.", + "Jun." : "Чер.", + "Jul." : "Лип.", + "Aug." : "Сер.", + "Sep." : "Вер.", + "Oct." : "Жов.", + "Nov." : "Лис.", + "Dec." : "Гру.", "Settings" : "Налаштування", "Saving..." : "Збереження...", "Couldn't send reset email. Please contact your administrator." : "Не можу надіслати email для скидання. Будь ласка, зверніться до вашого адміністратора.", @@ -75,7 +94,6 @@ "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." : "HTTP заголовок \"{header}\" не налаштований як \"{expected}\". Це потенційний ризик для безпеки чи приватності і ми радимо виправити це налаштування.", "Shared" : "Опубліковано", "Shared with {recipients}" : "Опубліковано для {recipients}", - "Share" : "Поділитися", "Error" : "Помилка", "Error while sharing" : "Помилка під час публікації", "Error while unsharing" : "Помилка під час відміни публікації", @@ -84,6 +102,7 @@ "Shared with you by {owner}" : "{owner} опублікував для Вас", "Share with users or groups …" : "Поширити серед користувачів або груп ...", "Share with users, groups or remote users …" : "Поширити серед локальних чи віддалених користувачів або груп ...", + "Share" : "Поділитися", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Поширити серед людей інших ownCloud'ів, використовуючи синтаксис ім'я_користувача@файли.укр/owncloud", "Share link" : "Поділитись посиланням", "The public link will expire no later than {days} days after it is created" : "Доступ до опублікованого посилання буде припинено не пізніше ніж через {days} днів з моменту створення", @@ -208,7 +227,6 @@ "Please contact your administrator." : "Будь ласка, зверніться до вашого Адміністратора.", "An internal error occured." : "Виникла внутрішня помилка.", "Please try again or contact your administrator." : "Будь ласка, спробуйте ще раз або зверніться до адміністратора.", - "Forgot your password? Reset it!" : "Забули ваш пароль? Скиньте його!", "remember" : "запам'ятати", "Log in" : "Увійти", "Alternative Logins" : "Альтернативні імена користувача", @@ -221,8 +239,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Будь ласка, зверніться до адміністратора. Якщо ви є адміністратором цього серверу, ви можете налаштувати опцію \"trusted_domain\" в конфігураційному файлі config/config.php. Приклад конфігурації знаходиться в файлі config/config.sample.php.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Залежно від конфігурації Ви як адміністратор можете додати цей домен у список довірених, використовуйте кнопку нижче.", "Add \"%s\" as trusted domain" : "Додати \"%s\" як довірений домен", - "%s will be updated to version %s." : "%s буде оновлено до версії %s.", - "The following apps will be disabled:" : "Наступні додатки будуть вимкнені:", "The theme %s has been disabled." : "Тему %s було вимкнено.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Перед продовженням переконайтеся, що ви зробили резервну копію бази даних, каталогу конфігурації та каталогу з даними.", "Start update" : "Почати оновлення", diff --git a/core/l10n/ur_PK.js b/core/l10n/ur_PK.js index b0304997ac..a89d990eea 100644 --- a/core/l10n/ur_PK.js +++ b/core/l10n/ur_PK.js @@ -48,13 +48,13 @@ OC.L10N.register( "Good password" : "اچھا پاسورڈ", "Strong password" : "مضبوط پاسورڈ", "Shared" : "اشتراک شدہ", - "Share" : "اشتراک", "Error" : "خرابی", "Error while sharing" : "اشتراک کے دوران خرابی ", "Error while unsharing" : "اشترک ختم کرنے کے دوران خرابی", "Error while changing permissions" : "اختیارات کو تبدیل کرنے کے دوران خرابی ", "Shared with you and the group {group} by {owner}" : "آپ اور گروہ سے مشترق شدہ {گروہ } سے {مالک}", "Shared with you by {owner}" : "اشتراک شدہ آپ سے{مالک}", + "Share" : "اشتراک", "Share link" : "اشتراک لنک", "Password protect" : "محفوظ پاسورڈ", "Password" : "پاسورڈ", diff --git a/core/l10n/ur_PK.json b/core/l10n/ur_PK.json index fe8fece808..2cb01f2aed 100644 --- a/core/l10n/ur_PK.json +++ b/core/l10n/ur_PK.json @@ -46,13 +46,13 @@ "Good password" : "اچھا پاسورڈ", "Strong password" : "مضبوط پاسورڈ", "Shared" : "اشتراک شدہ", - "Share" : "اشتراک", "Error" : "خرابی", "Error while sharing" : "اشتراک کے دوران خرابی ", "Error while unsharing" : "اشترک ختم کرنے کے دوران خرابی", "Error while changing permissions" : "اختیارات کو تبدیل کرنے کے دوران خرابی ", "Shared with you and the group {group} by {owner}" : "آپ اور گروہ سے مشترق شدہ {گروہ } سے {مالک}", "Shared with you by {owner}" : "اشتراک شدہ آپ سے{مالک}", + "Share" : "اشتراک", "Share link" : "اشتراک لنک", "Password protect" : "محفوظ پاسورڈ", "Password" : "پاسورڈ", diff --git a/core/l10n/vi.js b/core/l10n/vi.js index 5caf47cfd1..fe5d79f46b 100644 --- a/core/l10n/vi.js +++ b/core/l10n/vi.js @@ -17,6 +17,13 @@ OC.L10N.register( "Thursday" : "Thứ 5", "Friday" : "Thứ ", "Saturday" : "Thứ 7", + "Sun." : "Chủ nhật", + "Mon." : "Thứ hai", + "Tue." : "Thứ ba", + "Wed." : "Thứ tư", + "Thu." : "Thứ năm", + "Fri." : "Thứ sáu", + "Sat." : "Thứ bảy", "January" : "Tháng 1", "February" : "Tháng 2", "March" : "Tháng 3", @@ -29,6 +36,18 @@ OC.L10N.register( "October" : "Tháng 10", "November" : "Tháng 11", "December" : "Tháng 12", + "Jan." : "Tháng 1", + "Feb." : "Tháng 2", + "Mar." : "Tháng 3", + "Apr." : "Tháng 4", + "May." : "Tháng 5", + "Jun." : "Tháng 6", + "Jul." : "Tháng 7", + "Aug." : "Tháng 8", + "Sep." : "Tháng 9", + "Oct." : "Tháng 10", + "Nov." : "Tháng 11", + "Dec." : "Tháng 12", "Settings" : "Cài đặt", "Saving..." : "Đang lưu...", "No" : "Không", @@ -48,13 +67,13 @@ OC.L10N.register( "({count} selected)" : "({count} được chọn)", "Error loading file exists template" : "Lỗi khi tải tập tin mẫu đã tồn tại", "Shared" : "Được chia sẻ", - "Share" : "Chia sẻ", "Error" : "Lỗi", "Error while sharing" : "Lỗi trong quá trình chia sẻ", "Error while unsharing" : "Lỗi trong quá trình gỡ chia sẻ", "Error while changing permissions" : "Lỗi trong quá trình phân quyền", "Shared with you and the group {group} by {owner}" : "Đã được chia sẽ với bạn và nhóm {group} bởi {owner}", "Shared with you by {owner}" : "Đã được chia sẽ bởi {owner}", + "Share" : "Chia sẻ", "Share link" : "Chia sẻ liên kết", "Password protect" : "Mật khẩu bảo vệ", "Password" : "Mật khẩu", diff --git a/core/l10n/vi.json b/core/l10n/vi.json index 10603d28a9..7080777480 100644 --- a/core/l10n/vi.json +++ b/core/l10n/vi.json @@ -15,6 +15,13 @@ "Thursday" : "Thứ 5", "Friday" : "Thứ ", "Saturday" : "Thứ 7", + "Sun." : "Chủ nhật", + "Mon." : "Thứ hai", + "Tue." : "Thứ ba", + "Wed." : "Thứ tư", + "Thu." : "Thứ năm", + "Fri." : "Thứ sáu", + "Sat." : "Thứ bảy", "January" : "Tháng 1", "February" : "Tháng 2", "March" : "Tháng 3", @@ -27,6 +34,18 @@ "October" : "Tháng 10", "November" : "Tháng 11", "December" : "Tháng 12", + "Jan." : "Tháng 1", + "Feb." : "Tháng 2", + "Mar." : "Tháng 3", + "Apr." : "Tháng 4", + "May." : "Tháng 5", + "Jun." : "Tháng 6", + "Jul." : "Tháng 7", + "Aug." : "Tháng 8", + "Sep." : "Tháng 9", + "Oct." : "Tháng 10", + "Nov." : "Tháng 11", + "Dec." : "Tháng 12", "Settings" : "Cài đặt", "Saving..." : "Đang lưu...", "No" : "Không", @@ -46,13 +65,13 @@ "({count} selected)" : "({count} được chọn)", "Error loading file exists template" : "Lỗi khi tải tập tin mẫu đã tồn tại", "Shared" : "Được chia sẻ", - "Share" : "Chia sẻ", "Error" : "Lỗi", "Error while sharing" : "Lỗi trong quá trình chia sẻ", "Error while unsharing" : "Lỗi trong quá trình gỡ chia sẻ", "Error while changing permissions" : "Lỗi trong quá trình phân quyền", "Shared with you and the group {group} by {owner}" : "Đã được chia sẽ với bạn và nhóm {group} bởi {owner}", "Shared with you by {owner}" : "Đã được chia sẽ bởi {owner}", + "Share" : "Chia sẻ", "Share link" : "Chia sẻ liên kết", "Password protect" : "Mật khẩu bảo vệ", "Password" : "Mật khẩu", diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index 38efcae369..7f502f307e 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -12,6 +12,8 @@ OC.L10N.register( "Repair warning: " : "修复警告:", "Repair error: " : "修复错误:", "Following incompatible apps have been disabled: %s" : "下列不兼容应用已经被禁用:%s", + "Following apps have been disabled: %s" : "下列应用已经被禁用:%s", + "File is too big" : "文件太大", "Invalid file provided" : "提供了无效文件", "No image or file provided" : "没有提供图片或文件", "Unknown filetype" : "未知的文件类型", @@ -27,6 +29,13 @@ OC.L10N.register( "Thursday" : "星期四", "Friday" : "星期五", "Saturday" : "星期六", + "Sun." : "日", + "Mon." : "周一", + "Tue." : "周二", + "Wed." : "周三", + "Thu." : "周四", + "Fri." : "周五", + "Sat." : "周六", "January" : "一月", "February" : "二月", "March" : "三月", @@ -39,6 +48,18 @@ OC.L10N.register( "October" : "十月", "November" : "十一月", "December" : "十二月", + "Jan." : "一月", + "Feb." : "二月", + "Mar." : "三月", + "Apr." : "四月", + "May." : "五月", + "Jun." : "六月", + "Jul." : "七月", + "Aug." : "八月", + "Sep." : "九月", + "Oct." : "十月", + "Nov." : "十一月", + "Dec." : "十二月", "Settings" : "设置", "Saving..." : "保存中...", "Couldn't send reset email. Please contact your administrator." : "未能成功发送重置邮件,请联系管理员。", @@ -70,7 +91,7 @@ OC.L10N.register( "Good password" : "较强的密码", "Strong password" : "强密码", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "由于 WebDAV 接口似乎被破坏,因此你的网页服务器没有正确地设置来允许文件同步。", - "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "该服务器没有工作在互联网连接,这意味着像挂载外部存储,第三方应用的更新或者安装的通知将不会工作。远程文件访问和邮件通知的发送也可能不会工作。如果你想拥有所有功能,我们建议你为服务器打开互联网连接。", + "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "此服务器上没有可用的因特网连接. 这意味着某些特性将无法工作,例如挂载外部存储器, 提醒更新或安装第三方应用等. 从远程访问文件和发送提醒电子邮件也可能无法工作. 如果你想要ownCloud的所有特性, 我们建议启用此服务器的因特网连接.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 文件不工作。我们强烈建议你配置你的网页服务器,使数据目录不再可访问,或者将数据目录移动到网页服务器根文档目录之外。", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "内存缓存未配置。如果可用,请配置 memcache 来增强性能。更多信息请查看我们的文档 。", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom 无法被 PHP 读取,处于安全原因,这是强烈不推荐的。请查看文档了解详情。", @@ -80,7 +101,6 @@ OC.L10N.register( "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "您正在通过 HTTP 访问该站点,我们强烈建议您按照安全提示配置服务器强制使用 HTTPS。", "Shared" : "已共享", "Shared with {recipients}" : "由{recipients}分享", - "Share" : "分享", "Error" : "错误", "Error while sharing" : "共享时出错", "Error while unsharing" : "取消共享时出错", @@ -89,6 +109,7 @@ OC.L10N.register( "Shared with you by {owner}" : "{owner} 与您共享", "Share with users or groups …" : "分享给其他用户或组 ...", "Share with users, groups or remote users …" : "分享给其他用户、组或远程用户 ...", + "Share" : "分享", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "使用语法 username@example.com/owncloud 分享给其他 ownCloud 上的用户", "Share link" : "分享链接", "The public link will expire no later than {days} days after it is created" : "这个共享链接将在创建后 {days} 天失效", @@ -139,6 +160,7 @@ OC.L10N.register( "Updating {productName} to version {version}, this may take a while." : "更新 {productName} 到版本 {version},这可能需要一些时间。", "Please reload the page." : "请重新加载页面。", "The update was unsuccessful. " : "升级未成功", + "The update was successful. There were warnings." : "更新成功。有警告。", "The update was successful. Redirecting you to ownCloud now." : "更新成功。正在重定向至 ownCloud。", "Couldn't reset password because the token is invalid" : "令牌无效,无法重置密码", "Couldn't send reset email. Please make sure your username is correct." : "无法发送重置邮件,请检查您的用户名是否正确。", @@ -214,7 +236,6 @@ OC.L10N.register( "Please contact your administrator." : "请联系你的管理员。", "An internal error occured." : "发生了内部错误。", "Please try again or contact your administrator." : "请重试或联系管理员。", - "Forgot your password? Reset it!" : "忘记密码?立即重置!", "remember" : "记住", "Log in" : "登录", "Alternative Logins" : "其他登录方式", @@ -227,8 +248,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "请联系你的系统管理员。如果你是系统管理员,配置config/config.php文件中参数\"trusted_domain\" 设置。可以在config/config.sample.php文件中找到例子。", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "基于你的配置,作为系统管理员,你可能还能点击下面的按钮来信任这个域。", "Add \"%s\" as trusted domain" : "添加 \"%s\"为信任域", - "%s will be updated to version %s." : "%s 将会更新到版本 %s。", - "The following apps will be disabled:" : "以下应用将会被禁用:", "The theme %s has been disabled." : "%s 主题已被禁用。", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "在继续之前,请确认数据库、配置文件夹和数据文件夹已经备份。", "Start update" : "开始更新", diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index 93b5f8b4ae..f0e45555f0 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -10,6 +10,8 @@ "Repair warning: " : "修复警告:", "Repair error: " : "修复错误:", "Following incompatible apps have been disabled: %s" : "下列不兼容应用已经被禁用:%s", + "Following apps have been disabled: %s" : "下列应用已经被禁用:%s", + "File is too big" : "文件太大", "Invalid file provided" : "提供了无效文件", "No image or file provided" : "没有提供图片或文件", "Unknown filetype" : "未知的文件类型", @@ -25,6 +27,13 @@ "Thursday" : "星期四", "Friday" : "星期五", "Saturday" : "星期六", + "Sun." : "日", + "Mon." : "周一", + "Tue." : "周二", + "Wed." : "周三", + "Thu." : "周四", + "Fri." : "周五", + "Sat." : "周六", "January" : "一月", "February" : "二月", "March" : "三月", @@ -37,6 +46,18 @@ "October" : "十月", "November" : "十一月", "December" : "十二月", + "Jan." : "一月", + "Feb." : "二月", + "Mar." : "三月", + "Apr." : "四月", + "May." : "五月", + "Jun." : "六月", + "Jul." : "七月", + "Aug." : "八月", + "Sep." : "九月", + "Oct." : "十月", + "Nov." : "十一月", + "Dec." : "十二月", "Settings" : "设置", "Saving..." : "保存中...", "Couldn't send reset email. Please contact your administrator." : "未能成功发送重置邮件,请联系管理员。", @@ -68,7 +89,7 @@ "Good password" : "较强的密码", "Strong password" : "强密码", "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "由于 WebDAV 接口似乎被破坏,因此你的网页服务器没有正确地设置来允许文件同步。", - "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "该服务器没有工作在互联网连接,这意味着像挂载外部存储,第三方应用的更新或者安装的通知将不会工作。远程文件访问和邮件通知的发送也可能不会工作。如果你想拥有所有功能,我们建议你为服务器打开互联网连接。", + "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "此服务器上没有可用的因特网连接. 这意味着某些特性将无法工作,例如挂载外部存储器, 提醒更新或安装第三方应用等. 从远程访问文件和发送提醒电子邮件也可能无法工作. 如果你想要ownCloud的所有特性, 我们建议启用此服务器的因特网连接.", "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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 文件不工作。我们强烈建议你配置你的网页服务器,使数据目录不再可访问,或者将数据目录移动到网页服务器根文档目录之外。", "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "内存缓存未配置。如果可用,请配置 memcache 来增强性能。更多信息请查看我们的文档 。", "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom 无法被 PHP 读取,处于安全原因,这是强烈不推荐的。请查看文档了解详情。", @@ -78,7 +99,6 @@ "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "您正在通过 HTTP 访问该站点,我们强烈建议您按照安全提示配置服务器强制使用 HTTPS。", "Shared" : "已共享", "Shared with {recipients}" : "由{recipients}分享", - "Share" : "分享", "Error" : "错误", "Error while sharing" : "共享时出错", "Error while unsharing" : "取消共享时出错", @@ -87,6 +107,7 @@ "Shared with you by {owner}" : "{owner} 与您共享", "Share with users or groups …" : "分享给其他用户或组 ...", "Share with users, groups or remote users …" : "分享给其他用户、组或远程用户 ...", + "Share" : "分享", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "使用语法 username@example.com/owncloud 分享给其他 ownCloud 上的用户", "Share link" : "分享链接", "The public link will expire no later than {days} days after it is created" : "这个共享链接将在创建后 {days} 天失效", @@ -137,6 +158,7 @@ "Updating {productName} to version {version}, this may take a while." : "更新 {productName} 到版本 {version},这可能需要一些时间。", "Please reload the page." : "请重新加载页面。", "The update was unsuccessful. " : "升级未成功", + "The update was successful. There were warnings." : "更新成功。有警告。", "The update was successful. Redirecting you to ownCloud now." : "更新成功。正在重定向至 ownCloud。", "Couldn't reset password because the token is invalid" : "令牌无效,无法重置密码", "Couldn't send reset email. Please make sure your username is correct." : "无法发送重置邮件,请检查您的用户名是否正确。", @@ -212,7 +234,6 @@ "Please contact your administrator." : "请联系你的管理员。", "An internal error occured." : "发生了内部错误。", "Please try again or contact your administrator." : "请重试或联系管理员。", - "Forgot your password? Reset it!" : "忘记密码?立即重置!", "remember" : "记住", "Log in" : "登录", "Alternative Logins" : "其他登录方式", @@ -225,8 +246,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "请联系你的系统管理员。如果你是系统管理员,配置config/config.php文件中参数\"trusted_domain\" 设置。可以在config/config.sample.php文件中找到例子。", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "基于你的配置,作为系统管理员,你可能还能点击下面的按钮来信任这个域。", "Add \"%s\" as trusted domain" : "添加 \"%s\"为信任域", - "%s will be updated to version %s." : "%s 将会更新到版本 %s。", - "The following apps will be disabled:" : "以下应用将会被禁用:", "The theme %s has been disabled." : "%s 主题已被禁用。", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "在继续之前,请确认数据库、配置文件夹和数据文件夹已经备份。", "Start update" : "开始更新", diff --git a/core/l10n/zh_HK.js b/core/l10n/zh_HK.js index ab567c72ec..c4fb9b3486 100644 --- a/core/l10n/zh_HK.js +++ b/core/l10n/zh_HK.js @@ -28,13 +28,13 @@ OC.L10N.register( "Cancel" : "取消", "Continue" : "繼續", "Shared" : "已分享", - "Share" : "分享", "Error" : "錯誤", "Error while sharing" : "分享時發生錯誤", "Error while unsharing" : "取消分享時發生錯誤", "Error while changing permissions" : "更改權限時發生錯誤", "Shared with you and the group {group} by {owner}" : "{owner}與你及群組的分享", "Shared with you by {owner}" : "{owner}與你的分享", + "Share" : "分享", "Share link" : "分享連結", "Password protect" : "密碼保護", "Password" : "密碼", diff --git a/core/l10n/zh_HK.json b/core/l10n/zh_HK.json index 09a4bd74f4..5aedf688dc 100644 --- a/core/l10n/zh_HK.json +++ b/core/l10n/zh_HK.json @@ -26,13 +26,13 @@ "Cancel" : "取消", "Continue" : "繼續", "Shared" : "已分享", - "Share" : "分享", "Error" : "錯誤", "Error while sharing" : "分享時發生錯誤", "Error while unsharing" : "取消分享時發生錯誤", "Error while changing permissions" : "更改權限時發生錯誤", "Shared with you and the group {group} by {owner}" : "{owner}與你及群組的分享", "Shared with you by {owner}" : "{owner}與你的分享", + "Share" : "分享", "Share link" : "分享連結", "Password protect" : "密碼保護", "Password" : "密碼", diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js index 42c1aebcfd..d93f3a8ec8 100644 --- a/core/l10n/zh_TW.js +++ b/core/l10n/zh_TW.js @@ -20,6 +20,13 @@ OC.L10N.register( "Thursday" : "週四", "Friday" : "週五", "Saturday" : "週六", + "Sun." : "日", + "Mon." : "一", + "Tue." : "二", + "Wed." : "三", + "Thu." : "四", + "Fri." : "五", + "Sat." : "六", "January" : "一月", "February" : "二月", "March" : "三月", @@ -32,6 +39,18 @@ OC.L10N.register( "October" : "十月", "November" : "十一月", "December" : "十二月", + "Jan." : "一月", + "Feb." : "二月", + "Mar." : "三月", + "Apr." : "四月", + "May." : "五月", + "Jun." : "六月", + "Jul." : "七月", + "Aug." : "八月", + "Sep." : "九月", + "Oct." : "十月", + "Nov." : "十一月", + "Dec." : "十二月", "Settings" : "設定", "Saving..." : "儲存中...", "Couldn't send reset email. Please contact your administrator." : "無法寄送重設 email ,請聯絡系統管理員", @@ -65,13 +84,13 @@ OC.L10N.register( "Error occurred while checking server setup" : "檢查伺服器配置時發生錯誤", "Shared" : "已分享", "Shared with {recipients}" : "與 {recipients} 分享", - "Share" : "分享", "Error" : "錯誤", "Error while sharing" : "分享時發生錯誤", "Error while unsharing" : "取消分享時發生錯誤", "Error while changing permissions" : "修改權限時發生錯誤", "Shared with you and the group {group} by {owner}" : "由 {owner} 分享給您和 {group}", "Shared with you by {owner}" : "{owner} 已經和您分享", + "Share" : "分享", "Share link" : "分享連結", "The public link will expire no later than {days} days after it is created" : "這個公開連結會在 {days} 天內失效", "Password protect" : "密碼保護", @@ -167,7 +186,6 @@ OC.L10N.register( "Search" : "搜尋", "Server side authentication failed!" : "伺服器端認證失敗!", "Please contact your administrator." : "請聯絡系統管理員。", - "Forgot your password? Reset it!" : "忘了密碼?重設它!", "remember" : "記住", "Log in" : "登入", "Alternative Logins" : "其他登入方法", @@ -180,8 +198,6 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "請聯絡您的系統管理員,如果您就是系統管理員,請設定 config/config.php 中的 \"trusted_domain\" 選項。範例設定提供於 config/config.sample.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "依照設定而定,您身為系統管理員可能也可以使用底下的按鈕來信任這個網域", "Add \"%s\" as trusted domain" : "將 %s 加入到信任的網域", - "%s will be updated to version %s." : "%s 將會被升級到版本 %s", - "The following apps will be disabled:" : "這些應用程式會被停用:", "The theme %s has been disabled." : "主題 %s 已經被停用", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "在繼續之前,請備份資料庫、config 目錄及資料目錄", "Start update" : "開始升級", diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json index c2af58eafa..0bfc3e619e 100644 --- a/core/l10n/zh_TW.json +++ b/core/l10n/zh_TW.json @@ -18,6 +18,13 @@ "Thursday" : "週四", "Friday" : "週五", "Saturday" : "週六", + "Sun." : "日", + "Mon." : "一", + "Tue." : "二", + "Wed." : "三", + "Thu." : "四", + "Fri." : "五", + "Sat." : "六", "January" : "一月", "February" : "二月", "March" : "三月", @@ -30,6 +37,18 @@ "October" : "十月", "November" : "十一月", "December" : "十二月", + "Jan." : "一月", + "Feb." : "二月", + "Mar." : "三月", + "Apr." : "四月", + "May." : "五月", + "Jun." : "六月", + "Jul." : "七月", + "Aug." : "八月", + "Sep." : "九月", + "Oct." : "十月", + "Nov." : "十一月", + "Dec." : "十二月", "Settings" : "設定", "Saving..." : "儲存中...", "Couldn't send reset email. Please contact your administrator." : "無法寄送重設 email ,請聯絡系統管理員", @@ -63,13 +82,13 @@ "Error occurred while checking server setup" : "檢查伺服器配置時發生錯誤", "Shared" : "已分享", "Shared with {recipients}" : "與 {recipients} 分享", - "Share" : "分享", "Error" : "錯誤", "Error while sharing" : "分享時發生錯誤", "Error while unsharing" : "取消分享時發生錯誤", "Error while changing permissions" : "修改權限時發生錯誤", "Shared with you and the group {group} by {owner}" : "由 {owner} 分享給您和 {group}", "Shared with you by {owner}" : "{owner} 已經和您分享", + "Share" : "分享", "Share link" : "分享連結", "The public link will expire no later than {days} days after it is created" : "這個公開連結會在 {days} 天內失效", "Password protect" : "密碼保護", @@ -165,7 +184,6 @@ "Search" : "搜尋", "Server side authentication failed!" : "伺服器端認證失敗!", "Please contact your administrator." : "請聯絡系統管理員。", - "Forgot your password? Reset it!" : "忘了密碼?重設它!", "remember" : "記住", "Log in" : "登入", "Alternative Logins" : "其他登入方法", @@ -178,8 +196,6 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "請聯絡您的系統管理員,如果您就是系統管理員,請設定 config/config.php 中的 \"trusted_domain\" 選項。範例設定提供於 config/config.sample.php", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "依照設定而定,您身為系統管理員可能也可以使用底下的按鈕來信任這個網域", "Add \"%s\" as trusted domain" : "將 %s 加入到信任的網域", - "%s will be updated to version %s." : "%s 將會被升級到版本 %s", - "The following apps will be disabled:" : "這些應用程式會被停用:", "The theme %s has been disabled." : "主題 %s 已經被停用", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "在繼續之前,請備份資料庫、config 目錄及資料目錄", "Start update" : "開始升級", diff --git a/lib/l10n/hu_HU.js b/lib/l10n/hu_HU.js index 6c0d797441..e7287ccd5a 100644 --- a/lib/l10n/hu_HU.js +++ b/lib/l10n/hu_HU.js @@ -8,6 +8,11 @@ OC.L10N.register( "Sample configuration detected" : "A példabeállítások vannak beállítva", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Úgy tűnik a példakonfigurációt próbálja ténylegesen használni. Ez nem támogatott, és működésképtelenné teheti a telepítést. Kérjük olvassa el a dokumentációt és azt követően változtasson a config.php-n!", "PHP %s or higher is required." : "PHP %s vagy ennél újabb szükséges.", + "PHP with a version lower than %s is required." : "Ennél régebbi PHP szükséges: %s.", + "Following databases are supported: %s" : "A következő adatbázis nem támogatott: %s", + "The library %s is not available." : "A könyvtár %s nem áll rendelkezésre.", + "ownCloud %s or higher is required." : "ownCoud %s vagy ennél újabb szükséges.", + "ownCloud %s or lower is required." : "ownCoud %s vagy ennél régebbi szükséges.", "Help" : "Súgó", "Personal" : "Személyes", "Users" : "Felhasználók", @@ -18,12 +23,20 @@ OC.L10N.register( "Invalid image" : "Hibás kép", "today" : "ma", "yesterday" : "tegnap", + "_%n day ago_::_%n days ago_" : ["%n napja","%n napja"], "last month" : "múlt hónapban", "_%n month ago_::_%n months ago_" : ["%n hónappal ezelőtt","%n hónappal ezelőtt"], "last year" : "tavaly", + "_%n year ago_::_%n years ago_" : ["%n éve","%n éve"], "_%n hour ago_::_%n hours ago_" : ["%n órával ezelőtt","%n órával ezelőtt"], "seconds ago" : "pár másodperce", "web services under your control" : "webszolgáltatások saját kézben", + "Empty filename is not allowed" : "Üres fájlnév nem engedétlyezett", + "Dot files are not allowed" : "Pontozott fájlok nem engedétlyezettek", + "4-byte characters are not supported in file names" : "4-byte karakterek nem támogatottak a fájl nevekben.", + "File name is a reserved word" : "A fajl neve egy rezervált szó", + "File name is too long" : "A fájlnév túl hosszú!", + "Can't read file" : "Nem olvasható a fájl", "App directory already exists" : "Az alkalmazás mappája már létezik", "Can't create app folder. Please fix permissions. %s" : "Nem lehetett létrehozni az alkalmazás mappáját. Kérem ellenőrizze a jogosultságokat. %s", "No source specified when installing app" : "Az alkalmazás telepítéséhez nincs forrás megadva", @@ -57,6 +70,7 @@ OC.L10N.register( "Set an admin password." : "Állítson be egy jelszót az adminisztrációhoz.", "Can't create or write into the data directory %s" : "Nem sikerült létrehozni vagy irni a \"data\" könyvtárba %s", "%s shared »%s« with you" : "%s megosztotta Önnel ezt: »%s«", + "%s via %s" : "%s über %s", "Sharing %s failed, because the file does not exist" : "%s megosztása sikertelen, mert a fájl nem létezik", "You are not allowed to share %s" : "Önnek nincs jogosultsága %s megosztására", "Sharing %s failed, because the user %s is the item owner" : "%s megosztása nem sikerült, mert %s felhasználó az állomány tulajdonosa", @@ -86,6 +100,7 @@ OC.L10N.register( "A valid password must be provided" : "Érvényes jelszót kell megadnia", "The username is already being used" : "Ez a bejelentkezési név már foglalt", "No database drivers (sqlite, mysql, or postgresql) installed." : "Nincs telepítve adatbázis-meghajtóprogram (sqlite, mysql vagy postgresql).", + "Microsoft Windows Platform is not supported" : "Microsoft Windows platform nem támogatott", "Cannot write into \"config\" directory" : "Nem írható a \"config\" könyvtár", "Cannot write into \"apps\" directory" : "Nem írható az \"apps\" könyvtár", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ez rendszerint úgy oldható meg, hogy %sírási jogot adunk a webszervernek az app könyvtárra%s, vagy letiltjuk a config fájlban az appstore használatát.", diff --git a/lib/l10n/hu_HU.json b/lib/l10n/hu_HU.json index 1c717e6a4c..8620c13e2a 100644 --- a/lib/l10n/hu_HU.json +++ b/lib/l10n/hu_HU.json @@ -6,6 +6,11 @@ "Sample configuration detected" : "A példabeállítások vannak beállítva", "It has been detected that the sample configuration has been copied. This can break your installation and is unsupported. Please read the documentation before performing changes on config.php" : "Úgy tűnik a példakonfigurációt próbálja ténylegesen használni. Ez nem támogatott, és működésképtelenné teheti a telepítést. Kérjük olvassa el a dokumentációt és azt követően változtasson a config.php-n!", "PHP %s or higher is required." : "PHP %s vagy ennél újabb szükséges.", + "PHP with a version lower than %s is required." : "Ennél régebbi PHP szükséges: %s.", + "Following databases are supported: %s" : "A következő adatbázis nem támogatott: %s", + "The library %s is not available." : "A könyvtár %s nem áll rendelkezésre.", + "ownCloud %s or higher is required." : "ownCoud %s vagy ennél újabb szükséges.", + "ownCloud %s or lower is required." : "ownCoud %s vagy ennél régebbi szükséges.", "Help" : "Súgó", "Personal" : "Személyes", "Users" : "Felhasználók", @@ -16,12 +21,20 @@ "Invalid image" : "Hibás kép", "today" : "ma", "yesterday" : "tegnap", + "_%n day ago_::_%n days ago_" : ["%n napja","%n napja"], "last month" : "múlt hónapban", "_%n month ago_::_%n months ago_" : ["%n hónappal ezelőtt","%n hónappal ezelőtt"], "last year" : "tavaly", + "_%n year ago_::_%n years ago_" : ["%n éve","%n éve"], "_%n hour ago_::_%n hours ago_" : ["%n órával ezelőtt","%n órával ezelőtt"], "seconds ago" : "pár másodperce", "web services under your control" : "webszolgáltatások saját kézben", + "Empty filename is not allowed" : "Üres fájlnév nem engedétlyezett", + "Dot files are not allowed" : "Pontozott fájlok nem engedétlyezettek", + "4-byte characters are not supported in file names" : "4-byte karakterek nem támogatottak a fájl nevekben.", + "File name is a reserved word" : "A fajl neve egy rezervált szó", + "File name is too long" : "A fájlnév túl hosszú!", + "Can't read file" : "Nem olvasható a fájl", "App directory already exists" : "Az alkalmazás mappája már létezik", "Can't create app folder. Please fix permissions. %s" : "Nem lehetett létrehozni az alkalmazás mappáját. Kérem ellenőrizze a jogosultságokat. %s", "No source specified when installing app" : "Az alkalmazás telepítéséhez nincs forrás megadva", @@ -55,6 +68,7 @@ "Set an admin password." : "Állítson be egy jelszót az adminisztrációhoz.", "Can't create or write into the data directory %s" : "Nem sikerült létrehozni vagy irni a \"data\" könyvtárba %s", "%s shared »%s« with you" : "%s megosztotta Önnel ezt: »%s«", + "%s via %s" : "%s über %s", "Sharing %s failed, because the file does not exist" : "%s megosztása sikertelen, mert a fájl nem létezik", "You are not allowed to share %s" : "Önnek nincs jogosultsága %s megosztására", "Sharing %s failed, because the user %s is the item owner" : "%s megosztása nem sikerült, mert %s felhasználó az állomány tulajdonosa", @@ -84,6 +98,7 @@ "A valid password must be provided" : "Érvényes jelszót kell megadnia", "The username is already being used" : "Ez a bejelentkezési név már foglalt", "No database drivers (sqlite, mysql, or postgresql) installed." : "Nincs telepítve adatbázis-meghajtóprogram (sqlite, mysql vagy postgresql).", + "Microsoft Windows Platform is not supported" : "Microsoft Windows platform nem támogatott", "Cannot write into \"config\" directory" : "Nem írható a \"config\" könyvtár", "Cannot write into \"apps\" directory" : "Nem írható az \"apps\" könyvtár", "This can usually be fixed by %sgiving the webserver write access to the apps directory%s or disabling the appstore in the config file." : "Ez rendszerint úgy oldható meg, hogy %sírási jogot adunk a webszervernek az app könyvtárra%s, vagy letiltjuk a config fájlban az appstore használatát.", diff --git a/lib/l10n/is.js b/lib/l10n/is.js index c55116fde0..df3ab14309 100644 --- a/lib/l10n/is.js +++ b/lib/l10n/is.js @@ -16,4 +16,4 @@ OC.L10N.register( "Token expired. Please reload page." : "Auðkenning útrunnin. Vinsamlegast skráðu þig aftur inn.", "Could not find category \"%s\"" : "Fann ekki flokkinn \"%s\"" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/lib/l10n/is.json b/lib/l10n/is.json index a7ed67ae97..385796128b 100644 --- a/lib/l10n/is.json +++ b/lib/l10n/is.json @@ -13,5 +13,5 @@ "Authentication error" : "Villa við auðkenningu", "Token expired. Please reload page." : "Auðkenning útrunnin. Vinsamlegast skráðu þig aftur inn.", "Could not find category \"%s\"" : "Fann ekki flokkinn \"%s\"" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/lib/l10n/pt_PT.js b/lib/l10n/pt_PT.js index 75149346f0..0f0e116128 100644 --- a/lib/l10n/pt_PT.js +++ b/lib/l10n/pt_PT.js @@ -16,6 +16,7 @@ OC.L10N.register( "Library %s with a version lower than %s is required - available version %s." : "É necessário que a biblioteca %s tenha uma versão inferior a %s - versão disponível: %s.", "Following platforms are supported: %s" : "As seguintes plataformas são suportadas: %s", "ownCloud %s or higher is required." : "É necessário ownCloud %s ou superior.", + "ownCloud %s or lower is required." : "É necessário ownCloud %s ou inferior.", "Help" : "Ajuda", "Personal" : "Pessoal", "Users" : "Utilizadores", @@ -34,12 +35,15 @@ OC.L10N.register( "_%n year ago_::_%n years ago_" : ["%n ano atrás","%n anos atrás"], "seconds ago" : "Minutos atrás", "web services under your control" : "serviços web sob o seu controlo", + "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "O módulo com a id: %s não existe. Por favor, ative-o nas definições da sua app ou contacte o seu administrador.", "Empty filename is not allowed" : "Não é permitido um ficheiro sem nome", "Dot files are not allowed" : "Ficheiros dot não são permitidos", "4-byte characters are not supported in file names" : "Carateres 4-byte não são suportados como nome de ficheiros", "File name is a reserved word" : "Nome de ficheiro é uma palavra reservada", "File name contains at least one invalid character" : "Nome de ficheiro contém pelo menos um caráter inválido", "File name is too long" : "Nome do ficheiro demasiado longo", + "File is currently busy, please try again later" : "O ficheiro está ocupado, por favor, tente mais tarde", + "Can't read file" : "Não é possível ler o ficheiro", "App directory already exists" : "A directoria da aplicação já existe", "Can't create app folder. Please fix permissions. %s" : "Não foi possível criar a pasta da aplicação. Por favor verifique as permissões. %s", "No source specified when installing app" : "Não foi especificada uma fonte de instalação desta aplicação", @@ -73,6 +77,7 @@ OC.L10N.register( "Set an admin username." : "Definir um nome de utilizador de administrador", "Set an admin password." : "Definiar uma password de administrador", "Can't create or write into the data directory %s" : "Não é possível criar ou escrever a directoria data %s", + "Invalid Federated Cloud ID" : "Id. de Nuvem Federada Inválida", "%s shared »%s« with you" : "%s partilhado »%s« consigo", "%s via %s" : "%s via %s", "Sharing %s failed, because the backend does not allow shares from type %i" : "A partilha de %s falhou porque a interface não permite as partilhas do tipo %i", diff --git a/lib/l10n/pt_PT.json b/lib/l10n/pt_PT.json index 21a3b85723..9c00021b59 100644 --- a/lib/l10n/pt_PT.json +++ b/lib/l10n/pt_PT.json @@ -14,6 +14,7 @@ "Library %s with a version lower than %s is required - available version %s." : "É necessário que a biblioteca %s tenha uma versão inferior a %s - versão disponível: %s.", "Following platforms are supported: %s" : "As seguintes plataformas são suportadas: %s", "ownCloud %s or higher is required." : "É necessário ownCloud %s ou superior.", + "ownCloud %s or lower is required." : "É necessário ownCloud %s ou inferior.", "Help" : "Ajuda", "Personal" : "Pessoal", "Users" : "Utilizadores", @@ -32,12 +33,15 @@ "_%n year ago_::_%n years ago_" : ["%n ano atrás","%n anos atrás"], "seconds ago" : "Minutos atrás", "web services under your control" : "serviços web sob o seu controlo", + "Module with id: %s does not exist. Please enable it in your apps settings or contact your administrator." : "O módulo com a id: %s não existe. Por favor, ative-o nas definições da sua app ou contacte o seu administrador.", "Empty filename is not allowed" : "Não é permitido um ficheiro sem nome", "Dot files are not allowed" : "Ficheiros dot não são permitidos", "4-byte characters are not supported in file names" : "Carateres 4-byte não são suportados como nome de ficheiros", "File name is a reserved word" : "Nome de ficheiro é uma palavra reservada", "File name contains at least one invalid character" : "Nome de ficheiro contém pelo menos um caráter inválido", "File name is too long" : "Nome do ficheiro demasiado longo", + "File is currently busy, please try again later" : "O ficheiro está ocupado, por favor, tente mais tarde", + "Can't read file" : "Não é possível ler o ficheiro", "App directory already exists" : "A directoria da aplicação já existe", "Can't create app folder. Please fix permissions. %s" : "Não foi possível criar a pasta da aplicação. Por favor verifique as permissões. %s", "No source specified when installing app" : "Não foi especificada uma fonte de instalação desta aplicação", @@ -71,6 +75,7 @@ "Set an admin username." : "Definir um nome de utilizador de administrador", "Set an admin password." : "Definiar uma password de administrador", "Can't create or write into the data directory %s" : "Não é possível criar ou escrever a directoria data %s", + "Invalid Federated Cloud ID" : "Id. de Nuvem Federada Inválida", "%s shared »%s« with you" : "%s partilhado »%s« consigo", "%s via %s" : "%s via %s", "Sharing %s failed, because the backend does not allow shares from type %i" : "A partilha de %s falhou porque a interface não permite as partilhas do tipo %i", diff --git a/lib/l10n/zh_CN.js b/lib/l10n/zh_CN.js index 9ec40a93aa..4e4ad0478c 100644 --- a/lib/l10n/zh_CN.js +++ b/lib/l10n/zh_CN.js @@ -20,6 +20,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["%n 分钟前"], "seconds ago" : "秒前", "web services under your control" : "您控制的网络服务", + "File name contains at least one invalid character" : "文件名中存在至少一个非法字符", "App directory already exists" : "应用程序目录已存在", "Can't create app folder. Please fix permissions. %s" : "无法创建应用程序文件夹。请修正权限。%s", "No source specified when installing app" : "安装 App 时未指定来源", diff --git a/lib/l10n/zh_CN.json b/lib/l10n/zh_CN.json index 1d9fbf2ae3..097f7d4d54 100644 --- a/lib/l10n/zh_CN.json +++ b/lib/l10n/zh_CN.json @@ -18,6 +18,7 @@ "_%n minute ago_::_%n minutes ago_" : ["%n 分钟前"], "seconds ago" : "秒前", "web services under your control" : "您控制的网络服务", + "File name contains at least one invalid character" : "文件名中存在至少一个非法字符", "App directory already exists" : "应用程序目录已存在", "Can't create app folder. Please fix permissions. %s" : "无法创建应用程序文件夹。请修正权限。%s", "No source specified when installing app" : "安装 App 时未指定来源", diff --git a/lib/l10n/zh_TW.js b/lib/l10n/zh_TW.js index d9a7dd965d..3e761604d7 100644 --- a/lib/l10n/zh_TW.js +++ b/lib/l10n/zh_TW.js @@ -25,6 +25,7 @@ OC.L10N.register( "_%n minute ago_::_%n minutes ago_" : ["%n 分鐘前"], "seconds ago" : "幾秒前", "web services under your control" : "由您控制的網路服務", + "File name contains at least one invalid character" : "檔案名稱含有不合法的字元", "App directory already exists" : "應用程式目錄已經存在", "Can't create app folder. Please fix permissions. %s" : "無法建立應用程式目錄,請檢查權限:%s", "No source specified when installing app" : "沒有指定應用程式安裝來源", diff --git a/lib/l10n/zh_TW.json b/lib/l10n/zh_TW.json index 3544bde0b1..2e0de90373 100644 --- a/lib/l10n/zh_TW.json +++ b/lib/l10n/zh_TW.json @@ -23,6 +23,7 @@ "_%n minute ago_::_%n minutes ago_" : ["%n 分鐘前"], "seconds ago" : "幾秒前", "web services under your control" : "由您控制的網路服務", + "File name contains at least one invalid character" : "檔案名稱含有不合法的字元", "App directory already exists" : "應用程式目錄已經存在", "Can't create app folder. Please fix permissions. %s" : "無法建立應用程式目錄,請檢查權限:%s", "No source specified when installing app" : "沒有指定應用程式安裝來源", diff --git a/settings/l10n/az.js b/settings/l10n/az.js index eb6dc71bc6..9655001420 100644 --- a/settings/l10n/az.js +++ b/settings/l10n/az.js @@ -212,7 +212,6 @@ OC.L10N.register( "Create" : "Yarat", "Admin Recovery Password" : "İnzibatçı bərpa şifrəsi", "Enter the recovery password in order to recover the users files during password change" : "Şifrə dəyişilməsi müddətində, səliqə ilə bərpa açarını daxil et ki, istifadəçi fayllları bərpa edilsin. ", - "Search Users" : "İstifadəçiləri axtar", "Add Group" : "Qrup əlavə et", "Group" : "Qrup", "Everyone" : "Hamı", diff --git a/settings/l10n/az.json b/settings/l10n/az.json index 68ed9c3926..5664b44880 100644 --- a/settings/l10n/az.json +++ b/settings/l10n/az.json @@ -210,7 +210,6 @@ "Create" : "Yarat", "Admin Recovery Password" : "İnzibatçı bərpa şifrəsi", "Enter the recovery password in order to recover the users files during password change" : "Şifrə dəyişilməsi müddətində, səliqə ilə bərpa açarını daxil et ki, istifadəçi fayllları bərpa edilsin. ", - "Search Users" : "İstifadəçiləri axtar", "Add Group" : "Qrup əlavə et", "Group" : "Qrup", "Everyone" : "Hamı", diff --git a/settings/l10n/bg_BG.js b/settings/l10n/bg_BG.js index 13ac183a12..10766ffc36 100644 --- a/settings/l10n/bg_BG.js +++ b/settings/l10n/bg_BG.js @@ -211,7 +211,6 @@ OC.L10N.register( "Create" : "Създаване", "Admin Recovery Password" : "Възстановяване на Администраторска Парола", "Enter the recovery password in order to recover the users files during password change" : "Въведи паролата за възстановяване, за да възстановиш файловете на потребителите при промяна на паролата.", - "Search Users" : "Търси Потребители", "Add Group" : "Добави Група", "Group" : "Група", "Everyone" : "Всички", diff --git a/settings/l10n/bg_BG.json b/settings/l10n/bg_BG.json index 639998e841..7e419c07a1 100644 --- a/settings/l10n/bg_BG.json +++ b/settings/l10n/bg_BG.json @@ -209,7 +209,6 @@ "Create" : "Създаване", "Admin Recovery Password" : "Възстановяване на Администраторска Парола", "Enter the recovery password in order to recover the users files during password change" : "Въведи паролата за възстановяване, за да възстановиш файловете на потребителите при промяна на паролата.", - "Search Users" : "Търси Потребители", "Add Group" : "Добави Група", "Group" : "Група", "Everyone" : "Всички", diff --git a/settings/l10n/bs.js b/settings/l10n/bs.js index bcf27bd82f..b98bc00fd6 100644 --- a/settings/l10n/bs.js +++ b/settings/l10n/bs.js @@ -178,7 +178,6 @@ OC.L10N.register( "Create" : "Kreiraj", "Admin Recovery Password" : "Admin lozinka za oporavak", "Enter the recovery password in order to recover the users files during password change" : "Unesite lozinku za oporavak da biste oporavili korisničke datoteke tokom promjene lozinke", - "Search Users" : "Traži Korisnike", "Add Group" : "Dodaj Grupu", "Group" : "Grupa", "Everyone" : "Svi", diff --git a/settings/l10n/bs.json b/settings/l10n/bs.json index 5a8f070ad6..25b5ec57d4 100644 --- a/settings/l10n/bs.json +++ b/settings/l10n/bs.json @@ -176,7 +176,6 @@ "Create" : "Kreiraj", "Admin Recovery Password" : "Admin lozinka za oporavak", "Enter the recovery password in order to recover the users files during password change" : "Unesite lozinku za oporavak da biste oporavili korisničke datoteke tokom promjene lozinke", - "Search Users" : "Traži Korisnike", "Add Group" : "Dodaj Grupu", "Group" : "Grupa", "Everyone" : "Svi", diff --git a/settings/l10n/ca.js b/settings/l10n/ca.js index 23ea923f42..4043086606 100644 --- a/settings/l10n/ca.js +++ b/settings/l10n/ca.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Servidor de correu electrònic", "Log" : "Registre", + "Server status" : "Estat del servidor", "Tips & tricks" : "Consells i trucs", "Updates" : "Actualitzacions", "Authentication error" : "Error d'autenticació", @@ -71,6 +72,7 @@ OC.L10N.register( "Uninstalling ...." : "Desintal·lant ...", "Error while uninstalling app" : "Error en desinstal·lar l'aplicació", "Uninstall" : "Desinstal·la", + "An error occurred: {message}" : "S'ha produït un error: {message}", "Select a profile picture" : "Seleccioneu una imatge de perfil", "Very weak password" : "Contrasenya massa feble", "Weak password" : "Contrasenya feble", @@ -120,6 +122,7 @@ OC.L10N.register( "If your installation is not installed in 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\")" : "Si la seva instal·lació no està situada en l'arrel del domini i usa el sistema cron, pot haver-hi problemes en generar-se els URL. Per evitar-los, configuri l'opció \"overwrite.cli.url\" en el seu arxiu config.php perquè usi la ruta de l'arrel del lloc web de la seva instal·lació (suggeriment: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No va ser possible executar cronjob via CLI. Han aparegut els següents errors tècnics:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Per favor, torni a comprovar les guies d'instal·lació ↗ , i verifiqui que no existeixen errors o advertiments en el log.", + "Open documentation" : "Obre la documentació", "Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir", "Allow users to share via link" : "Permet als usuaris compartir a través d'enllaços", "Enforce password protection" : "Reforça la protecció amb contrasenya", @@ -169,11 +172,12 @@ OC.L10N.register( "How to do backups" : "Com fer còpies de seguretat", "Advanced monitoring" : "Supervisió avançada", "Performance tuning" : "Ajust del rendiment", - "Improving the config.php" : "Mejorar el config.php", + "Improving the config.php" : "Millorant el config.php", "Theming" : "Tematització", "Hardening and security guidance" : "Guia de protecció i seguretat", "Version" : "Versió", "Developer documentation" : "Documentació para desenvolupadors", + "Experimental applications ahead" : "A partir d'aquest punt hi ha aplicacions experimentals", "by" : "per", "licensed" : "llicenciat/da", "Documentation:" : "Documentació:", @@ -235,7 +239,6 @@ OC.L10N.register( "Create" : "Crea", "Admin Recovery Password" : "Recuperació de contrasenya d'administrador", "Enter the recovery password in order to recover the users files during password change" : "Escriviu la contrasenya de recuperació per a poder recuperar els fitxers dels usuaris en canviar la contrasenya", - "Search Users" : "Buscar usuaris", "Add Group" : "Afegeix grup", "Group" : "Grup", "Everyone" : "Tothom", diff --git a/settings/l10n/ca.json b/settings/l10n/ca.json index 1d6b383d1d..a483615947 100644 --- a/settings/l10n/ca.json +++ b/settings/l10n/ca.json @@ -8,6 +8,7 @@ "Cron" : "Cron", "Email server" : "Servidor de correu electrònic", "Log" : "Registre", + "Server status" : "Estat del servidor", "Tips & tricks" : "Consells i trucs", "Updates" : "Actualitzacions", "Authentication error" : "Error d'autenticació", @@ -69,6 +70,7 @@ "Uninstalling ...." : "Desintal·lant ...", "Error while uninstalling app" : "Error en desinstal·lar l'aplicació", "Uninstall" : "Desinstal·la", + "An error occurred: {message}" : "S'ha produït un error: {message}", "Select a profile picture" : "Seleccioneu una imatge de perfil", "Very weak password" : "Contrasenya massa feble", "Weak password" : "Contrasenya feble", @@ -118,6 +120,7 @@ "If your installation is not installed in 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\")" : "Si la seva instal·lació no està situada en l'arrel del domini i usa el sistema cron, pot haver-hi problemes en generar-se els URL. Per evitar-los, configuri l'opció \"overwrite.cli.url\" en el seu arxiu config.php perquè usi la ruta de l'arrel del lloc web de la seva instal·lació (suggeriment: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "No va ser possible executar cronjob via CLI. Han aparegut els següents errors tècnics:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Per favor, torni a comprovar les guies d'instal·lació ↗ , i verifiqui que no existeixen errors o advertiments en el log.", + "Open documentation" : "Obre la documentació", "Allow apps to use the Share API" : "Permet que les aplicacions utilitzin l'API de compartir", "Allow users to share via link" : "Permet als usuaris compartir a través d'enllaços", "Enforce password protection" : "Reforça la protecció amb contrasenya", @@ -167,11 +170,12 @@ "How to do backups" : "Com fer còpies de seguretat", "Advanced monitoring" : "Supervisió avançada", "Performance tuning" : "Ajust del rendiment", - "Improving the config.php" : "Mejorar el config.php", + "Improving the config.php" : "Millorant el config.php", "Theming" : "Tematització", "Hardening and security guidance" : "Guia de protecció i seguretat", "Version" : "Versió", "Developer documentation" : "Documentació para desenvolupadors", + "Experimental applications ahead" : "A partir d'aquest punt hi ha aplicacions experimentals", "by" : "per", "licensed" : "llicenciat/da", "Documentation:" : "Documentació:", @@ -233,7 +237,6 @@ "Create" : "Crea", "Admin Recovery Password" : "Recuperació de contrasenya d'administrador", "Enter the recovery password in order to recover the users files during password change" : "Escriviu la contrasenya de recuperació per a poder recuperar els fitxers dels usuaris en canviar la contrasenya", - "Search Users" : "Buscar usuaris", "Add Group" : "Afegeix grup", "Group" : "Grup", "Everyone" : "Tothom", diff --git a/settings/l10n/cs_CZ.js b/settings/l10n/cs_CZ.js index 482c62b012..7ca3772718 100644 --- a/settings/l10n/cs_CZ.js +++ b/settings/l10n/cs_CZ.js @@ -154,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.", "Enable server-side encryption" : "Povolit šifrování na straně serveru", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Zašifrování je nevratný proces. Po zapnutí šifrování jsou poté všechny soubory na serveru šifrovány a to již poté nelze vypnout. Toto je poslední varování: Opravdu si přejete zapnout šifrování?", "Enable encryption" : "Povolit šifrování", "No encryption module loaded, please enable an encryption module in the app menu." : "Není načten žádný šifrovací modul, povolte ho prosím v menu aplikací.", "Select default encryption module:" : "Vybrat výchozí šifrovací modul:", @@ -261,7 +260,6 @@ OC.L10N.register( "Create" : "Vytvořit", "Admin Recovery Password" : "Heslo obnovy správce", "Enter the recovery password in order to recover the users files during password change" : "Zadejte heslo obnovy pro obnovení souborů uživatele při změně hesla", - "Search Users" : "Hledat uživatele", "Add Group" : "Přidat skupinu", "Group" : "Skupina", "Everyone" : "Všichni", diff --git a/settings/l10n/cs_CZ.json b/settings/l10n/cs_CZ.json index 630bf5e635..ef0fab25d1 100644 --- a/settings/l10n/cs_CZ.json +++ b/settings/l10n/cs_CZ.json @@ -152,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php je registrován u služby webcron, aby volal cron.php jednou za 15 minut přes http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Použít systémovou službu cron pro volání cron.php každých 15 minut.", "Enable server-side encryption" : "Povolit šifrování na straně serveru", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Zašifrování je nevratný proces. Po zapnutí šifrování jsou poté všechny soubory na serveru šifrovány a to již poté nelze vypnout. Toto je poslední varování: Opravdu si přejete zapnout šifrování?", "Enable encryption" : "Povolit šifrování", "No encryption module loaded, please enable an encryption module in the app menu." : "Není načten žádný šifrovací modul, povolte ho prosím v menu aplikací.", "Select default encryption module:" : "Vybrat výchozí šifrovací modul:", @@ -259,7 +258,6 @@ "Create" : "Vytvořit", "Admin Recovery Password" : "Heslo obnovy správce", "Enter the recovery password in order to recover the users files during password change" : "Zadejte heslo obnovy pro obnovení souborů uživatele při změně hesla", - "Search Users" : "Hledat uživatele", "Add Group" : "Přidat skupinu", "Group" : "Skupina", "Everyone" : "Všichni", diff --git a/settings/l10n/da.js b/settings/l10n/da.js index 8aa7e3f7b5..fc8098e4f4 100644 --- a/settings/l10n/da.js +++ b/settings/l10n/da.js @@ -154,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registreret til at en webcron service skal kalde cron.php hvert 15 minut over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Brug systemets cron service til at kalde cron.php hver 15. minut", "Enable server-side encryption" : "Slå kryptering til på serversiden", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Kryptering er en ensrettet proces. Når krypteringen er slået til, så vil alle filer fra dette punkt og fremefter blive krypteret på serveren, og det vil ikke være muligt at slå krypteringen fra på et senere tidspunkt. Dette er den sidste advarsel: Er du sikker på, at du vil slå kryptering til?", "Enable encryption" : "Slå kryptering til", "No encryption module loaded, please enable an encryption module in the app menu." : "Der er ikke indlæst et krypteringsmodul - slå venligst et krypteringsmodul til i app-menuen.", "Select default encryption module:" : "Vælg standardmodulet til kryptering:", @@ -239,6 +238,7 @@ OC.L10N.register( "Upload new" : "Upload nyt", "Select new from Files" : "Vælg nyt fra Filer", "Remove image" : "Fjern billede", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Enten png eller jpg. Ideelt kvadratisk men du har mulighed for at beskære det. Filen må ikke overskride maksimumgrænsen på 20 MB.", "Your avatar is provided by your original account." : "Din avatar kommer fra din oprindelige konto.", "Cancel" : "Annuller", "Choose as profile image" : "Vælg som profilbillede", @@ -260,7 +260,6 @@ OC.L10N.register( "Create" : "Ny", "Admin Recovery Password" : "Administrator gendannelse kodeord", "Enter the recovery password in order to recover the users files during password change" : "Indtast et gendannelse kodeord for, at kunne gendanne brugerens filer ved ændring af kodeord", - "Search Users" : "Søg efter brugere", "Add Group" : "Tilføj Gruppe", "Group" : "Gruppe", "Everyone" : "Alle", diff --git a/settings/l10n/da.json b/settings/l10n/da.json index eef597ae56..116cdca4b9 100644 --- a/settings/l10n/da.json +++ b/settings/l10n/da.json @@ -152,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registreret til at en webcron service skal kalde cron.php hvert 15 minut over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Brug systemets cron service til at kalde cron.php hver 15. minut", "Enable server-side encryption" : "Slå kryptering til på serversiden", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Kryptering er en ensrettet proces. Når krypteringen er slået til, så vil alle filer fra dette punkt og fremefter blive krypteret på serveren, og det vil ikke være muligt at slå krypteringen fra på et senere tidspunkt. Dette er den sidste advarsel: Er du sikker på, at du vil slå kryptering til?", "Enable encryption" : "Slå kryptering til", "No encryption module loaded, please enable an encryption module in the app menu." : "Der er ikke indlæst et krypteringsmodul - slå venligst et krypteringsmodul til i app-menuen.", "Select default encryption module:" : "Vælg standardmodulet til kryptering:", @@ -237,6 +236,7 @@ "Upload new" : "Upload nyt", "Select new from Files" : "Vælg nyt fra Filer", "Remove image" : "Fjern billede", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Enten png eller jpg. Ideelt kvadratisk men du har mulighed for at beskære det. Filen må ikke overskride maksimumgrænsen på 20 MB.", "Your avatar is provided by your original account." : "Din avatar kommer fra din oprindelige konto.", "Cancel" : "Annuller", "Choose as profile image" : "Vælg som profilbillede", @@ -258,7 +258,6 @@ "Create" : "Ny", "Admin Recovery Password" : "Administrator gendannelse kodeord", "Enter the recovery password in order to recover the users files during password change" : "Indtast et gendannelse kodeord for, at kunne gendanne brugerens filer ved ændring af kodeord", - "Search Users" : "Søg efter brugere", "Add Group" : "Tilføj Gruppe", "Group" : "Gruppe", "Everyone" : "Alle", diff --git a/settings/l10n/de.js b/settings/l10n/de.js index 2f0127cf57..c294a49925 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "E-Mail-Server", "Log" : "Log", + "Server status" : "Serverstatus", "Tips & tricks" : "Tipps & Tricks", "Updates" : "Updates", "Authentication error" : "Authentifizierungsfehler", @@ -30,7 +31,9 @@ OC.L10N.register( "Unable to change password" : "Passwort konnte nicht geändert werden", "Enabled" : "Aktiviert", "Not enabled" : "Nicht aktiviert", + "installing and updating apps via the app store or Federated Cloud Sharing" : "das Installieren und Aktualisieren von Apps durch den App-Store oder durch Federated Cloud Sharing", "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 verwendet eine veraltete %s Version (%s). Bitte aktualisiere dein Betriebsystem, da ansonsten Funktionen, wie z.B. %s, nicht zuverlässig funktionieren werden.", "A problem occurred, please check your log files (Error: %s)" : "Es ist ein Problem aufgetreten, bitte überprüfe Deine Logdateien (Fehler: %s)", "Migration Completed" : "Migration komplett", "Group already exists." : "Gruppe existiert bereits.", @@ -75,6 +78,7 @@ OC.L10N.register( "Uninstalling ...." : "Deinstallieren…", "Error while uninstalling app" : "Fehler beim Deinstallieren der App", "Uninstall" : "Deinstallieren", + "An error occurred: {message}" : "Ein Fehler ist aufgetreten: {message}", "Select a profile picture" : "Wähle ein Profilbild", "Very weak password" : "Sehr schwaches Passwort", "Weak password" : "Schwaches Passwort", @@ -150,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Verschlüsselung ist ein ein Prozess in eine Richtung. Wenn die Verschlüsselung aktiviert ist, werden alle Dateien von diesem Zeitpunkt an auf dem Server verschlüsselt und es wird nicht mehr möglich sein, die Verschlüsselung zu einem späteren Zeitpunkt zu deaktivieren. Dies ist die letzte Warnung: Möchtest Du die Verschlüsselung wirklich aktivieren?", "Enable encryption" : "Verschlüsselung aktivieren", "No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.", "Select default encryption module:" : "Bite Standard-Verschlüsselungs-Modul auswählen:", @@ -235,6 +238,7 @@ OC.L10N.register( "Upload new" : "Neues hochladen", "Select new from Files" : "Neues aus den Dateien wählen", "Remove image" : "Bild entfernen", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Entweder png oder jpg. Im Idealfall quadratisch, aber du kannst das Bild beschneiden. Es ist nicht erlaubt die Maximalgröße von 20 MB zu überschreiten.", "Your avatar is provided by your original account." : "Dein Avatar wird von Deinem ursprünglichen Konto bereitgestellt.", "Cancel" : "Abbrechen", "Choose as profile image" : "Als Profilbild wählen", @@ -256,7 +260,6 @@ OC.L10N.register( "Create" : "Anlegen", "Admin Recovery Password" : "Admin-Wiederherstellungspasswort", "Enter the recovery password in order to recover the users files during password change" : "Gib das Wiederherstellungspasswort ein, um die Benutzerdateien während der Passwortänderung wiederherzustellen", - "Search Users" : "Benutzer suchen", "Add Group" : "Gruppe hinzufügen", "Group" : "Gruppe", "Everyone" : "Jeder", diff --git a/settings/l10n/de.json b/settings/l10n/de.json index 5850b609ea..9c67fb65ee 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -8,6 +8,7 @@ "Cron" : "Cron", "Email server" : "E-Mail-Server", "Log" : "Log", + "Server status" : "Serverstatus", "Tips & tricks" : "Tipps & Tricks", "Updates" : "Updates", "Authentication error" : "Authentifizierungsfehler", @@ -28,7 +29,9 @@ "Unable to change password" : "Passwort konnte nicht geändert werden", "Enabled" : "Aktiviert", "Not enabled" : "Nicht aktiviert", + "installing and updating apps via the app store or Federated Cloud Sharing" : "das Installieren und Aktualisieren von Apps durch den App-Store oder durch Federated Cloud Sharing", "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 verwendet eine veraltete %s Version (%s). Bitte aktualisiere dein Betriebsystem, da ansonsten Funktionen, wie z.B. %s, nicht zuverlässig funktionieren werden.", "A problem occurred, please check your log files (Error: %s)" : "Es ist ein Problem aufgetreten, bitte überprüfe Deine Logdateien (Fehler: %s)", "Migration Completed" : "Migration komplett", "Group already exists." : "Gruppe existiert bereits.", @@ -73,6 +76,7 @@ "Uninstalling ...." : "Deinstallieren…", "Error while uninstalling app" : "Fehler beim Deinstallieren der App", "Uninstall" : "Deinstallieren", + "An error occurred: {message}" : "Ein Fehler ist aufgetreten: {message}", "Select a profile picture" : "Wähle ein Profilbild", "Very weak password" : "Sehr schwaches Passwort", "Weak password" : "Schwaches Passwort", @@ -148,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", "Use system's cron service to call the cron.php file every 15 minutes." : "Benutze den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Verschlüsselung ist ein ein Prozess in eine Richtung. Wenn die Verschlüsselung aktiviert ist, werden alle Dateien von diesem Zeitpunkt an auf dem Server verschlüsselt und es wird nicht mehr möglich sein, die Verschlüsselung zu einem späteren Zeitpunkt zu deaktivieren. Dies ist die letzte Warnung: Möchtest Du die Verschlüsselung wirklich aktivieren?", "Enable encryption" : "Verschlüsselung aktivieren", "No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.", "Select default encryption module:" : "Bite Standard-Verschlüsselungs-Modul auswählen:", @@ -233,6 +236,7 @@ "Upload new" : "Neues hochladen", "Select new from Files" : "Neues aus den Dateien wählen", "Remove image" : "Bild entfernen", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Entweder png oder jpg. Im Idealfall quadratisch, aber du kannst das Bild beschneiden. Es ist nicht erlaubt die Maximalgröße von 20 MB zu überschreiten.", "Your avatar is provided by your original account." : "Dein Avatar wird von Deinem ursprünglichen Konto bereitgestellt.", "Cancel" : "Abbrechen", "Choose as profile image" : "Als Profilbild wählen", @@ -254,7 +258,6 @@ "Create" : "Anlegen", "Admin Recovery Password" : "Admin-Wiederherstellungspasswort", "Enter the recovery password in order to recover the users files during password change" : "Gib das Wiederherstellungspasswort ein, um die Benutzerdateien während der Passwortänderung wiederherzustellen", - "Search Users" : "Benutzer suchen", "Add Group" : "Gruppe hinzufügen", "Group" : "Gruppe", "Everyone" : "Jeder", diff --git a/settings/l10n/de_DE.js b/settings/l10n/de_DE.js index 3c28e3cb52..9c1b5e3fd9 100644 --- a/settings/l10n/de_DE.js +++ b/settings/l10n/de_DE.js @@ -150,7 +150,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Verschlüsselung ist ein ein Prozess in eine Richtung. Wenn die Verschlüsselung aktiviert ist, werden alle Dateien von diesem Zeitpunkt an auf dem Server verschlüsselt und es wird nicht mehr möglich sein, die Verschlüsselung zu einem späteren Zeitpunkt zu deaktivieren. Dies ist die letzte Warnung: Möchten Sie die Verschlüsselung wirklich aktivieren?", "Enable encryption" : "Verschlüsselung aktivieren", "No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.", "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", @@ -256,7 +255,6 @@ OC.L10N.register( "Create" : "Erstellen", "Admin Recovery Password" : "Admin-Passwort-Wiederherstellung", "Enter the recovery password in order to recover the users files during password change" : "Geben Sie das Wiederherstellungspasswort ein, um die Benutzerdateien während der Passwortänderung wiederherzustellen", - "Search Users" : "Benutzer suchen", "Add Group" : "Gruppe hinzufügen", "Group" : "Gruppe", "Everyone" : "Jeder", diff --git a/settings/l10n/de_DE.json b/settings/l10n/de_DE.json index e912d74525..046b412337 100644 --- a/settings/l10n/de_DE.json +++ b/settings/l10n/de_DE.json @@ -148,7 +148,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php ist als Webcron-Dienst registriert, der die cron.php alle 15 Minuten per HTTP aufruft.", "Use system's cron service to call the cron.php file every 15 minutes." : "Benutzen Sie den systemeigenen Cron-Dienst, um die cron.php alle 15 Minuten aufzurufen.", "Enable server-side encryption" : "Serverseitige Verschlüsselung aktivieren", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Verschlüsselung ist ein ein Prozess in eine Richtung. Wenn die Verschlüsselung aktiviert ist, werden alle Dateien von diesem Zeitpunkt an auf dem Server verschlüsselt und es wird nicht mehr möglich sein, die Verschlüsselung zu einem späteren Zeitpunkt zu deaktivieren. Dies ist die letzte Warnung: Möchten Sie die Verschlüsselung wirklich aktivieren?", "Enable encryption" : "Verschlüsselung aktivieren", "No encryption module loaded, please enable an encryption module in the app menu." : "Kein Verschlüsselungs-Modul geladen, bitte aktiviere ein Verschlüsselungs-Modul im Anwendungs-Menü.", "Select default encryption module:" : "Standard-Verschlüsselungs-Modul auswählen:", @@ -254,7 +253,6 @@ "Create" : "Erstellen", "Admin Recovery Password" : "Admin-Passwort-Wiederherstellung", "Enter the recovery password in order to recover the users files during password change" : "Geben Sie das Wiederherstellungspasswort ein, um die Benutzerdateien während der Passwortänderung wiederherzustellen", - "Search Users" : "Benutzer suchen", "Add Group" : "Gruppe hinzufügen", "Group" : "Gruppe", "Everyone" : "Jeder", diff --git a/settings/l10n/el.js b/settings/l10n/el.js index 9c7cf9afd4..3a647b0baa 100644 --- a/settings/l10n/el.js +++ b/settings/l10n/el.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Διακομιστής Email", "Log" : "Καταγραφές", + "Server status" : "Κατάσταση διακομιστή", "Tips & tricks" : "Συμβουλές & τεχνάσματα", "Updates" : "Ενημερώσεις", "Authentication error" : "Σφάλμα πιστοποίησης", @@ -30,7 +31,9 @@ OC.L10N.register( "Unable to change password" : "Αδυναμία αλλαγής συνθηματικού", "Enabled" : "Ενεργοποιημένο", "Not enabled" : "Μη ενεργοποιημένο", + "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 δεν θα δουλέψουν αξιόπιστα.", "A problem occurred, please check your log files (Error: %s)" : "Παρουσιάστηκε πρόβλημα, παρακαλώ ελέγξτε τα αρχεία καταγραφής σας (Σφάλμα: %s)", "Migration Completed" : "Η μετάβαση ολοκληρώθηκε", "Group already exists." : "Η ομάδα υπάρχει ήδη.", @@ -75,6 +78,7 @@ OC.L10N.register( "Uninstalling ...." : "Απεγκατάσταση ....", "Error while uninstalling app" : "Σφάλμα κατά την απεγκατάσταση της εφαρμογής", "Uninstall" : "Απεγκατάσταση", + "An error occurred: {message}" : "Παρουσιάστηκε σφάλμα: {message}", "Select a profile picture" : "Επιλογή εικόνας προφίλ", "Very weak password" : "Πολύ αδύναμο συνθηματικό", "Weak password" : "Αδύναμο συνθηματικό", @@ -150,7 +154,6 @@ 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 λεπτά.", "Enable server-side encryption" : "Ενεργοποίηση κρυπτογράφησης από το διακομιστή", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Η κρυπτογράφηση είναι μια μη αντιστρεπτή διαδικασία. Μόλις ενεργοποιηθεί, όλα τα αρχεία από αυτό το σημείο και μετά θα κρυπτογραφηθούν στο διακομιστή και η κρυπτογράφηση δεν είναι δυνατόν να απενεργοποιηθεί αργότερα. Αυτή είναι η τελευταία προειδοποίηση: Θέλετε πραγματικά να ενεργοποιήσετε την κρυπτογράφηση;", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "No encryption module loaded, please enable an encryption module in the app menu." : "Δεν έχει φορτωθεί μονάδα κρυπτογράφησης, παρακαλούμε φορτώστε μια μονάδα κρυπτογράφησης από το μενού εφαρμογών.", "Select default encryption module:" : "Επιλογή προεπιλεγμένης μονάδας κρυπτογράφησης:", @@ -196,6 +199,7 @@ OC.L10N.register( "licensed" : "Άδεια", "Documentation:" : "Τεκμηρίωση:", "User documentation" : "Τεκμηρίωση Χρήστη", + "Admin documentation" : "Τεκμηρίωση Διαχειριστή", "Show description …" : "Εμφάνιση περιγραφής", "Hide description …" : "Απόκρυψη περιγραφής", "This app cannot be installed because the following dependencies are not fulfilled:" : "Αυτή η εφαρμογή δεν μπορεί να εγκατασταθεί διότι δεν εκπληρώνονται οι ακόλουθες εξαρτήσεις:", @@ -234,6 +238,7 @@ OC.L10N.register( "Upload new" : "Μεταφόρτωση νέου", "Select new from Files" : "Επιλογή νέου από τα Αρχεία", "Remove image" : "Αφαίρεση εικόνας", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Είτε png ή jpg. Ιδανικά τετράγωνη αλλά θα είστε σε θέση να την περικόψετε. Το αρχείο δεν θα πρέπει να υπερβαίνει το μέγιστο μέγεθος των 20 MB.", "Your avatar is provided by your original account." : "Το άβατάρ σας παρέχεται από τον αρχικό σας λογαριασμό.", "Cancel" : "Άκυρο", "Choose as profile image" : "Επιλογή εικόνας προφίλ", @@ -255,7 +260,6 @@ OC.L10N.register( "Create" : "Δημιουργία", "Admin Recovery Password" : "Κωδικός Επαναφοράς Διαχειριστή ", "Enter the recovery password in order to recover the users files during password change" : "Εισάγετε το συνθηματικό ανάκτησης ώστε να ανακτήσετε τα αρχεία χρηστών κατά την αλλαγή συνθηματικού", - "Search Users" : "Αναζήτηση χρηστών", "Add Group" : "Προσθήκη Ομάδας", "Group" : "Ομάδα", "Everyone" : "Όλοι", diff --git a/settings/l10n/el.json b/settings/l10n/el.json index 5c08bef36d..9081d9791e 100644 --- a/settings/l10n/el.json +++ b/settings/l10n/el.json @@ -8,6 +8,7 @@ "Cron" : "Cron", "Email server" : "Διακομιστής Email", "Log" : "Καταγραφές", + "Server status" : "Κατάσταση διακομιστή", "Tips & tricks" : "Συμβουλές & τεχνάσματα", "Updates" : "Ενημερώσεις", "Authentication error" : "Σφάλμα πιστοποίησης", @@ -28,7 +29,9 @@ "Unable to change password" : "Αδυναμία αλλαγής συνθηματικού", "Enabled" : "Ενεργοποιημένο", "Not enabled" : "Μη ενεργοποιημένο", + "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 δεν θα δουλέψουν αξιόπιστα.", "A problem occurred, please check your log files (Error: %s)" : "Παρουσιάστηκε πρόβλημα, παρακαλώ ελέγξτε τα αρχεία καταγραφής σας (Σφάλμα: %s)", "Migration Completed" : "Η μετάβαση ολοκληρώθηκε", "Group already exists." : "Η ομάδα υπάρχει ήδη.", @@ -73,6 +76,7 @@ "Uninstalling ...." : "Απεγκατάσταση ....", "Error while uninstalling app" : "Σφάλμα κατά την απεγκατάσταση της εφαρμογής", "Uninstall" : "Απεγκατάσταση", + "An error occurred: {message}" : "Παρουσιάστηκε σφάλμα: {message}", "Select a profile picture" : "Επιλογή εικόνας προφίλ", "Very weak password" : "Πολύ αδύναμο συνθηματικό", "Weak password" : "Αδύναμο συνθηματικό", @@ -148,7 +152,6 @@ "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 λεπτά.", "Enable server-side encryption" : "Ενεργοποίηση κρυπτογράφησης από το διακομιστή", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Η κρυπτογράφηση είναι μια μη αντιστρεπτή διαδικασία. Μόλις ενεργοποιηθεί, όλα τα αρχεία από αυτό το σημείο και μετά θα κρυπτογραφηθούν στο διακομιστή και η κρυπτογράφηση δεν είναι δυνατόν να απενεργοποιηθεί αργότερα. Αυτή είναι η τελευταία προειδοποίηση: Θέλετε πραγματικά να ενεργοποιήσετε την κρυπτογράφηση;", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "No encryption module loaded, please enable an encryption module in the app menu." : "Δεν έχει φορτωθεί μονάδα κρυπτογράφησης, παρακαλούμε φορτώστε μια μονάδα κρυπτογράφησης από το μενού εφαρμογών.", "Select default encryption module:" : "Επιλογή προεπιλεγμένης μονάδας κρυπτογράφησης:", @@ -194,6 +197,7 @@ "licensed" : "Άδεια", "Documentation:" : "Τεκμηρίωση:", "User documentation" : "Τεκμηρίωση Χρήστη", + "Admin documentation" : "Τεκμηρίωση Διαχειριστή", "Show description …" : "Εμφάνιση περιγραφής", "Hide description …" : "Απόκρυψη περιγραφής", "This app cannot be installed because the following dependencies are not fulfilled:" : "Αυτή η εφαρμογή δεν μπορεί να εγκατασταθεί διότι δεν εκπληρώνονται οι ακόλουθες εξαρτήσεις:", @@ -232,6 +236,7 @@ "Upload new" : "Μεταφόρτωση νέου", "Select new from Files" : "Επιλογή νέου από τα Αρχεία", "Remove image" : "Αφαίρεση εικόνας", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Είτε png ή jpg. Ιδανικά τετράγωνη αλλά θα είστε σε θέση να την περικόψετε. Το αρχείο δεν θα πρέπει να υπερβαίνει το μέγιστο μέγεθος των 20 MB.", "Your avatar is provided by your original account." : "Το άβατάρ σας παρέχεται από τον αρχικό σας λογαριασμό.", "Cancel" : "Άκυρο", "Choose as profile image" : "Επιλογή εικόνας προφίλ", @@ -253,7 +258,6 @@ "Create" : "Δημιουργία", "Admin Recovery Password" : "Κωδικός Επαναφοράς Διαχειριστή ", "Enter the recovery password in order to recover the users files during password change" : "Εισάγετε το συνθηματικό ανάκτησης ώστε να ανακτήσετε τα αρχεία χρηστών κατά την αλλαγή συνθηματικού", - "Search Users" : "Αναζήτηση χρηστών", "Add Group" : "Προσθήκη Ομάδας", "Group" : "Ομάδα", "Everyone" : "Όλοι", diff --git a/settings/l10n/en_GB.js b/settings/l10n/en_GB.js index a64b8a8bd0..af0d61512e 100644 --- a/settings/l10n/en_GB.js +++ b/settings/l10n/en_GB.js @@ -146,7 +146,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.", "Enable server-side encryption" : "Enable server-side encryption", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?", "Enable encryption" : "Enable encryption", "No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.", "Select default encryption module:" : "Select default encryption module:", @@ -249,7 +248,6 @@ OC.L10N.register( "Create" : "Create", "Admin Recovery Password" : "Admin Recovery Password", "Enter the recovery password in order to recover the users files during password change" : "Enter the recovery password in order to recover the user's files during password change", - "Search Users" : "Search Users", "Add Group" : "Add Group", "Group" : "Group", "Everyone" : "Everyone", diff --git a/settings/l10n/en_GB.json b/settings/l10n/en_GB.json index ca340dce2e..bac57ed297 100644 --- a/settings/l10n/en_GB.json +++ b/settings/l10n/en_GB.json @@ -144,7 +144,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is registered at a webcron service to call cron.php every 15 minutes over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Use system's cron service to call the cron.php file every 15 minutes.", "Enable server-side encryption" : "Enable server-side encryption", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?", "Enable encryption" : "Enable encryption", "No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.", "Select default encryption module:" : "Select default encryption module:", @@ -247,7 +246,6 @@ "Create" : "Create", "Admin Recovery Password" : "Admin Recovery Password", "Enter the recovery password in order to recover the users files during password change" : "Enter the recovery password in order to recover the user's files during password change", - "Search Users" : "Search Users", "Add Group" : "Add Group", "Group" : "Group", "Everyone" : "Everyone", diff --git a/settings/l10n/es.js b/settings/l10n/es.js index e8836f169c..4ff5e89f53 100644 --- a/settings/l10n/es.js +++ b/settings/l10n/es.js @@ -154,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar cifrado en el servidor", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "El cifrado es un proceso de una sola vía. Una vez el cifrado es habilitado, todos los archivos desde este punto en adelante serán cifrados en el servidor y no será posible deshabilitar el cifrado posteriormente. \nEsta es la advertencia final:\t¿Realmente quieres habilitar el cifrado?", "Enable encryption" : "Habilitar cifrado", "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:", @@ -261,7 +260,6 @@ OC.L10N.register( "Create" : "Crear", "Admin Recovery Password" : "Recuperación de la contraseña de administración", "Enter the recovery password in order to recover the users files during password change" : "Introduzca la contraseña de recuperación a fin de recuperar los archivos de los usuarios durante el cambio de contraseña.", - "Search Users" : "Buscar usuarios", "Add Group" : "Agregar grupo", "Group" : "Grupo", "Everyone" : "Todos", diff --git a/settings/l10n/es.json b/settings/l10n/es.json index 69573d70a1..a8ee0598f2 100644 --- a/settings/l10n/es.json +++ b/settings/l10n/es.json @@ -152,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar cifrado en el servidor", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "El cifrado es un proceso de una sola vía. Una vez el cifrado es habilitado, todos los archivos desde este punto en adelante serán cifrados en el servidor y no será posible deshabilitar el cifrado posteriormente. \nEsta es la advertencia final:\t¿Realmente quieres habilitar el cifrado?", "Enable encryption" : "Habilitar cifrado", "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:", @@ -259,7 +258,6 @@ "Create" : "Crear", "Admin Recovery Password" : "Recuperación de la contraseña de administración", "Enter the recovery password in order to recover the users files during password change" : "Introduzca la contraseña de recuperación a fin de recuperar los archivos de los usuarios durante el cambio de contraseña.", - "Search Users" : "Buscar usuarios", "Add Group" : "Agregar grupo", "Group" : "Grupo", "Everyone" : "Todos", diff --git a/settings/l10n/et_EE.js b/settings/l10n/et_EE.js index f150878c1a..372d07bd51 100644 --- a/settings/l10n/et_EE.js +++ b/settings/l10n/et_EE.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "E-kirjade server", "Log" : "Logi", + "Server status" : "Serveri olek", "Tips & tricks" : "Nõuanded ja trikid", "Updates" : "Uuendused", "Authentication error" : "Autentimise viga", @@ -164,6 +165,7 @@ OC.L10N.register( "licensed" : "litsenseeritud", "Documentation:" : "Dokumentatsioon:", "User documentation" : "Kasutaja dokumentatsioon", + "Admin documentation" : "Administraatori dokumentatsioon", "Show description …" : "Näita kirjeldist ...", "Hide description …" : "Peida kirjeldus ...", "Enable only for specific groups" : "Luba ainult kindlad grupid", @@ -216,7 +218,6 @@ OC.L10N.register( "Create" : "Lisa", "Admin Recovery Password" : "Admini parooli taastamine", "Enter the recovery password in order to recover the users files during password change" : "Sisesta taasteparool kasutaja failide taastamiseks paroolivahetuse käigus", - "Search Users" : "Otsi kasutajaid", "Add Group" : "Lisa grupp", "Group" : "Grupp", "Everyone" : "Igaüks", diff --git a/settings/l10n/et_EE.json b/settings/l10n/et_EE.json index 91badcd9fe..5908d9e414 100644 --- a/settings/l10n/et_EE.json +++ b/settings/l10n/et_EE.json @@ -8,6 +8,7 @@ "Cron" : "Cron", "Email server" : "E-kirjade server", "Log" : "Logi", + "Server status" : "Serveri olek", "Tips & tricks" : "Nõuanded ja trikid", "Updates" : "Uuendused", "Authentication error" : "Autentimise viga", @@ -162,6 +163,7 @@ "licensed" : "litsenseeritud", "Documentation:" : "Dokumentatsioon:", "User documentation" : "Kasutaja dokumentatsioon", + "Admin documentation" : "Administraatori dokumentatsioon", "Show description …" : "Näita kirjeldist ...", "Hide description …" : "Peida kirjeldus ...", "Enable only for specific groups" : "Luba ainult kindlad grupid", @@ -214,7 +216,6 @@ "Create" : "Lisa", "Admin Recovery Password" : "Admini parooli taastamine", "Enter the recovery password in order to recover the users files during password change" : "Sisesta taasteparool kasutaja failide taastamiseks paroolivahetuse käigus", - "Search Users" : "Otsi kasutajaid", "Add Group" : "Lisa grupp", "Group" : "Grupp", "Everyone" : "Igaüks", diff --git a/settings/l10n/eu.js b/settings/l10n/eu.js index 9075fe7329..0c835b5b23 100644 --- a/settings/l10n/eu.js +++ b/settings/l10n/eu.js @@ -188,7 +188,6 @@ OC.L10N.register( "Create" : "Sortu", "Admin Recovery Password" : "Administratzailearen pasahitza berreskuratzea", "Enter the recovery password in order to recover the users files during password change" : "Berreskuratze pasahitza idatzi pasahitz aldaketan erabiltzaileen fitxategiak berreskuratzeko", - "Search Users" : "Bilatu Erabiltzaileak", "Add Group" : "Gehitu taldea", "Group" : "Taldea", "Everyone" : "Edonor", diff --git a/settings/l10n/eu.json b/settings/l10n/eu.json index 631adb886c..1ade6fad49 100644 --- a/settings/l10n/eu.json +++ b/settings/l10n/eu.json @@ -186,7 +186,6 @@ "Create" : "Sortu", "Admin Recovery Password" : "Administratzailearen pasahitza berreskuratzea", "Enter the recovery password in order to recover the users files during password change" : "Berreskuratze pasahitza idatzi pasahitz aldaketan erabiltzaileen fitxategiak berreskuratzeko", - "Search Users" : "Bilatu Erabiltzaileak", "Add Group" : "Gehitu taldea", "Group" : "Taldea", "Everyone" : "Edonor", diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js index 34baad8513..06551d1cf7 100644 --- a/settings/l10n/fi_FI.js +++ b/settings/l10n/fi_FI.js @@ -146,7 +146,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.", "Enable server-side encryption" : "Käytä palvelinpään salausta", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Salausta ei voi perua. Kun salaus on käytössä, kaikki tiedostot palvelimella on salattu, eikä salausta voi enää poistaa käytöstä. Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", "Enable encryption" : "Käytä salausta", "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:", @@ -250,7 +249,6 @@ OC.L10N.register( "Create" : "Luo", "Admin Recovery Password" : "Ylläpitäjän palautussalasana", "Enter the recovery password in order to recover the users files during password change" : "Anna palautussalasana, jotta käyttäjien tiedostot on mahdollista palauttaa salasanan muuttamisen yhteydessä", - "Search Users" : "Etsi käyttäjiä", "Add Group" : "Lisää ryhmä", "Group" : "Ryhmä", "Everyone" : "Kaikki", diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json index a0c610c94a..5934a5a5d8 100644 --- a/settings/l10n/fi_FI.json +++ b/settings/l10n/fi_FI.json @@ -144,7 +144,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.", "Enable server-side encryption" : "Käytä palvelinpään salausta", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Salausta ei voi perua. Kun salaus on käytössä, kaikki tiedostot palvelimella on salattu, eikä salausta voi enää poistaa käytöstä. Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", "Enable encryption" : "Käytä salausta", "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:", @@ -248,7 +247,6 @@ "Create" : "Luo", "Admin Recovery Password" : "Ylläpitäjän palautussalasana", "Enter the recovery password in order to recover the users files during password change" : "Anna palautussalasana, jotta käyttäjien tiedostot on mahdollista palauttaa salasanan muuttamisen yhteydessä", - "Search Users" : "Etsi käyttäjiä", "Add Group" : "Lisää ryhmä", "Group" : "Ryhmä", "Everyone" : "Kaikki", diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index 5c772570ba..41db5f7f44 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Serveur e-mail", "Log" : "Log", + "Server status" : "Statut du serveur", "Tips & tricks" : "Trucs et astuces", "Updates" : "Mises à jour", "Authentication error" : "Erreur d'authentification", @@ -77,6 +78,7 @@ OC.L10N.register( "Uninstalling ...." : "Désinstallation...", "Error while uninstalling app" : "Erreur lors de la désinstallation de l'application", "Uninstall" : "Désinstaller", + "An error occurred: {message}" : "Une erreur est survenue : {message}", "Select a profile picture" : "Selectionnez une photo de profil ", "Very weak password" : "Mot de passe de très faible sécurité", "Weak password" : "Mot de passe de faible sécurité", @@ -152,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP", "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", "Enable server-side encryption" : "Activer le chiffrement côté serveur", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Le chiffrement est un processus à sens unique. Une fois que le chiffrement est activé, tous les fichiers à partir de ce moment seront chiffrés sur le serveur et il ne sera pas possible de désactiver le chiffrement ultérieurement. Ceci est le dernier avertissement : Voulez-vous vraiment activer le chiffrement?", "Enable encryption" : "Activer le chiffrement", "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.", "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :", @@ -198,6 +199,7 @@ OC.L10N.register( "licensed" : "Sous licence", "Documentation:" : "Documentation :", "User documentation" : "Documentation utilisateur", + "Admin documentation" : "Documentation administrateur", "Show description …" : "Afficher la description...", "Hide description …" : "Masquer la description", "This app cannot be installed because the following dependencies are not fulfilled:" : "Cette application ne peut être installée à cause de ces dépendances non satisfaites :", @@ -236,6 +238,7 @@ OC.L10N.register( "Upload new" : "Nouvelle depuis votre ordinateur", "Select new from Files" : "Nouvelle depuis les Fichiers", "Remove image" : "Supprimer l'image", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Format png ou jpg de maximum 20 Mo. Idéalement carrée, mais vous pourrez la recadrer.", "Your avatar is provided by your original account." : "Votre avatar est fourni par votre compte original.", "Cancel" : "Annuler", "Choose as profile image" : "Choisir en tant que photo de profil ", @@ -257,7 +260,6 @@ OC.L10N.register( "Create" : "Créer", "Admin Recovery Password" : "Mot de passe Administrateur de récupération", "Enter the recovery password in order to recover the users files during password change" : "Entrez le mot de passe de récupération pour récupérer les fichiers utilisateurs pendant le changement de mot de passe", - "Search Users" : "Recherche d'utilisateurs", "Add Group" : "Ajouter un groupe", "Group" : "Groupe", "Everyone" : "Tout le monde", diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index 62a39a6485..b462d52b8c 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -8,6 +8,7 @@ "Cron" : "Cron", "Email server" : "Serveur e-mail", "Log" : "Log", + "Server status" : "Statut du serveur", "Tips & tricks" : "Trucs et astuces", "Updates" : "Mises à jour", "Authentication error" : "Erreur d'authentification", @@ -75,6 +76,7 @@ "Uninstalling ...." : "Désinstallation...", "Error while uninstalling app" : "Erreur lors de la désinstallation de l'application", "Uninstall" : "Désinstaller", + "An error occurred: {message}" : "Une erreur est survenue : {message}", "Select a profile picture" : "Selectionnez une photo de profil ", "Very weak password" : "Mot de passe de très faible sécurité", "Weak password" : "Mot de passe de faible sécurité", @@ -150,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP", "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", "Enable server-side encryption" : "Activer le chiffrement côté serveur", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Le chiffrement est un processus à sens unique. Une fois que le chiffrement est activé, tous les fichiers à partir de ce moment seront chiffrés sur le serveur et il ne sera pas possible de désactiver le chiffrement ultérieurement. Ceci est le dernier avertissement : Voulez-vous vraiment activer le chiffrement?", "Enable encryption" : "Activer le chiffrement", "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.", "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :", @@ -196,6 +197,7 @@ "licensed" : "Sous licence", "Documentation:" : "Documentation :", "User documentation" : "Documentation utilisateur", + "Admin documentation" : "Documentation administrateur", "Show description …" : "Afficher la description...", "Hide description …" : "Masquer la description", "This app cannot be installed because the following dependencies are not fulfilled:" : "Cette application ne peut être installée à cause de ces dépendances non satisfaites :", @@ -234,6 +236,7 @@ "Upload new" : "Nouvelle depuis votre ordinateur", "Select new from Files" : "Nouvelle depuis les Fichiers", "Remove image" : "Supprimer l'image", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Format png ou jpg de maximum 20 Mo. Idéalement carrée, mais vous pourrez la recadrer.", "Your avatar is provided by your original account." : "Votre avatar est fourni par votre compte original.", "Cancel" : "Annuler", "Choose as profile image" : "Choisir en tant que photo de profil ", @@ -255,7 +258,6 @@ "Create" : "Créer", "Admin Recovery Password" : "Mot de passe Administrateur de récupération", "Enter the recovery password in order to recover the users files during password change" : "Entrez le mot de passe de récupération pour récupérer les fichiers utilisateurs pendant le changement de mot de passe", - "Search Users" : "Recherche d'utilisateurs", "Add Group" : "Ajouter un groupe", "Group" : "Groupe", "Everyone" : "Tout le monde", diff --git a/settings/l10n/gl.js b/settings/l10n/gl.js index 34bc57bfbf..650b1d471c 100644 --- a/settings/l10n/gl.js +++ b/settings/l10n/gl.js @@ -154,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está rexistrado nun servizo de WebCron para chamar a cron.php cada 15 minutos a través de HTTP.", "Use system's cron service to call the cron.php file every 15 minutes." : "Use o servizo «cron» do sistema para chamar ao ficheiro cron.php cada 15 minutos.", "Enable server-side encryption" : "Activar o cifrado na parte do servidor", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "O cifrado é un proceso dunha soa dirección. Unha vez activado o cifrado, cifraranse no servidor todos os ficheiros a partires dese momento e xa non será posíbel desactivalo no futuro. Este é o aviso final: Confirma que quere activar o cifrado?", "Enable encryption" : "Activar o cifrado", "No encryption module loaded, please enable an encryption module in the app menu." : "Non hai cargado ningún módulo de cifrado, active un módulo de cifrado no menú de aplicacións.", "Select default encryption module:" : "Seleccionar o módulo predeterminado de cifrado:", @@ -261,7 +260,6 @@ OC.L10N.register( "Create" : "Crear", "Admin Recovery Password" : "Contrasinal de recuperación do administrador", "Enter the recovery password in order to recover the users files during password change" : "Introduza o contrasinal de recuperación para recuperar os ficheiros dos usuarios durante o cambio de contrasinal", - "Search Users" : "Busca de usuarios", "Add Group" : "Engadir un grupo", "Group" : "Grupo", "Everyone" : "Todos", diff --git a/settings/l10n/gl.json b/settings/l10n/gl.json index 43d8f93a0c..1d2bf9b137 100644 --- a/settings/l10n/gl.json +++ b/settings/l10n/gl.json @@ -152,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está rexistrado nun servizo de WebCron para chamar a cron.php cada 15 minutos a través de HTTP.", "Use system's cron service to call the cron.php file every 15 minutes." : "Use o servizo «cron» do sistema para chamar ao ficheiro cron.php cada 15 minutos.", "Enable server-side encryption" : "Activar o cifrado na parte do servidor", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "O cifrado é un proceso dunha soa dirección. Unha vez activado o cifrado, cifraranse no servidor todos os ficheiros a partires dese momento e xa non será posíbel desactivalo no futuro. Este é o aviso final: Confirma que quere activar o cifrado?", "Enable encryption" : "Activar o cifrado", "No encryption module loaded, please enable an encryption module in the app menu." : "Non hai cargado ningún módulo de cifrado, active un módulo de cifrado no menú de aplicacións.", "Select default encryption module:" : "Seleccionar o módulo predeterminado de cifrado:", @@ -259,7 +258,6 @@ "Create" : "Crear", "Admin Recovery Password" : "Contrasinal de recuperación do administrador", "Enter the recovery password in order to recover the users files during password change" : "Introduza o contrasinal de recuperación para recuperar os ficheiros dos usuarios durante o cambio de contrasinal", - "Search Users" : "Busca de usuarios", "Add Group" : "Engadir un grupo", "Group" : "Grupo", "Everyone" : "Todos", diff --git a/settings/l10n/hu_HU.js b/settings/l10n/hu_HU.js index 4ce16798ef..4532c5c243 100644 --- a/settings/l10n/hu_HU.js +++ b/settings/l10n/hu_HU.js @@ -1,10 +1,17 @@ OC.L10N.register( "settings", { + "APCu" : "APCu", + "Redis" : "Redis", + "Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések", "Sharing" : "Megosztás", + "Server-side encryption" : "Szerveroldali titkosítás", "External Storage" : "Külső tárolási szolgáltatások becsatolása", "Cron" : "Ütemezett feladatok", + "Email server" : "E-mail szerver", "Log" : "Naplózás", + "Server status" : "Szerver állapota", + "Tips & tricks" : "Tippek és trükkök", "Updates" : "Frissítések", "Authentication error" : "Azonosítási hiba", "Your full name has been changed." : "Az Ön teljes nevét módosítottuk.", @@ -21,18 +28,39 @@ OC.L10N.register( "Please provide an admin recovery password, otherwise all user data will be lost" : "Adja meg az admin helyreállítási jelszót, máskülönben az összes felhasználói adat elveszik!", "Wrong admin recovery password. Please check the password and try again." : "Hibás admin helyreállítási jelszó. Ellenőrizze a jelszót és próbálja újra!", "Unable to change password" : "Nem sikerült megváltoztatni a jelszót", - "Enabled" : "Bekapcsolva", + "Enabled" : "Engedélyezve", + "Not enabled" : "Tiltva", "Federated Cloud Sharing" : "Megosztás Egyesített Felhőben", + "A problem occurred, please check your log files (Error: %s)" : "Probléma történt, kérjük nézd meg a naplófájlokat (Hiba: %s).", + "Migration Completed" : "Migráció kész!", + "Group already exists." : "A csoport már létezik.", + "Unable to add group." : "Nem lehet létrehozni a csoportot.", + "Unable to delete group." : "Nem lehet törölni a csoportot.", "Saved" : "Elmentve", "test email settings" : "e-mail beállítások ellenőrzése", - "Email sent" : "Az e-mailt elküldtük", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Hiba történt az e-mail küldésekor. Kérjük ellenőrizd a beállításokat! (Hiba: %s)", + "Email sent" : "Az e-mail elküldve!", "You need to set your user email before being able to send test emails." : "Előbb meg kell adnia az e-mail címét, mielőtt tesztelni tudná az e-mail küldést.", - "Email saved" : "Elmentettük az e-mail címet", + "Invalid mail address" : "Érvénytelen e-mail cím", + "A user with that name already exists." : "Ilyen névvel már létezik felhasználó!", + "Unable to create user." : "Nem lehet létrehozni a felhasználót.", + "Your %s account was created" : "%s fiók létrehozva", + "Unable to delete user." : "Nem lehet törölni a felhasználót.", + "Forbidden" : "Tiltott", + "Invalid user" : "Érvénytelen felhasználó", + "Unable to change mail address" : "Nem lehet megváltoztatni az e-mail címet", + "Email saved" : "E-mail elmentve!", "Are you really sure you want add \"{domain}\" as trusted domain?" : "Biztos abban, hogy hozzá akarja adni \"{domain}\"-t a megbízható tartományokhoz?", "Add trusted domain" : "Megbízható tartomány hozzáadása", + "Migration in progress. Please wait until the migration is finished" : "Migráció folyamatban. Kérjük várj, míg a migráció befejeződik.", + "Migration started …" : "Migráció elindítva ...", "Sending..." : "Küldés...", + "Official" : "Hivatalos", + "Approved" : "Jóváhagyott", + "Experimental" : "Kísérleti", "All" : "Mind", - "Please wait...." : "Kérem várjon...", + "Update to %s" : "Frissítés erre: %s", + "Please wait...." : "Kérjük várj...", "Error while disabling app" : "Hiba az alkalmazás letiltása közben", "Disable" : "Letiltás", "Enable" : "Engedélyezés", @@ -43,12 +71,14 @@ OC.L10N.register( "Uninstalling ...." : "Eltávolítás ...", "Error while uninstalling app" : "Hiba történt az alkalmazás eltávolítása közben", "Uninstall" : "Eltávolítás", + "An error occurred: {message}" : "Hiba történt: {message}", "Select a profile picture" : "Válasszon profilképet!", "Very weak password" : "Nagyon gyenge jelszó", "Weak password" : "Gyenge jelszó", "So-so password" : "Nem túl jó jelszó", "Good password" : "Jó jelszó", "Strong password" : "Erős jelszó", + "Valid until {date}" : "Érvényes: {date}", "Delete" : "Törlés", "Groups" : "Csoportok", "Unable to delete {objName}" : "Ezt nem sikerült törölni: {objName}", @@ -56,13 +86,17 @@ OC.L10N.register( "A valid group name must be provided" : "Érvényes csoportnevet kell megadni", "deleted {groupName}" : "törölve: {groupName}", "undo" : "visszavonás", + "no group" : "nincs csoport", "never" : "soha", "deleted {userName}" : "törölve: {userName}", "add group" : "csoport hozzáadása", "A valid username must be provided" : "Érvényes felhasználónevet kell megadnia", "Error creating user" : "A felhasználó nem hozható létre", "A valid password must be provided" : "Érvényes jelszót kell megadnia", + "A valid email must be provided" : "Érvényes e-mail címet kell megadni", "__language_name__" : "__language_name__", + "Sync clients" : "Szinkronizáló kliensek", + "Personal info" : "Személyes információk", "SSL root certificates" : "SSL tanúsítványok", "Everything (fatal issues, errors, warnings, info, debug)" : "Minden (végzetes hibák, hibák, figyelmeztetések, információk, hibakeresési üzenetek)", "Info, warnings, errors and fatal issues" : "Információk, figyelmeztetések, hibák és végzetes hibák", @@ -77,9 +111,11 @@ OC.L10N.register( "TLS" : "TLS", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", + "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "A szervered Microsoft Windowson fut. A legjobb felhasználói élményért erősen javasoljuk, hogy Linuxot használj.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "A 'fileinfo' PHP modul hiányzik. Erősen javasolt ennek a modulnak a telepítése, mert ezzel lényegesen jobb a MIME-típusok felismerése.", "System locale can not be set to a one which supports UTF-8." : "A rendszer lokalizációs állományai között nem sikerült olyat beállítani, ami támogatja az UTF-8-at.", "This means that there might be problems with certain characters in file names." : "Ez azt jelenti, hogy probléma lehet bizonyos karakterekkel a fájlnevekben.", + "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Az ütemezett feladat (cronjob) nem futott le parancssorból. A következő hibák tűntek fel:", "Open documentation" : "Dokumentáció megnyitása", "Allow apps to use the Share API" : "Lehetővé teszi, hogy a programmodulok is használhassák a megosztást", "Allow users to share via link" : "Engedjük meg az állományok linkekkel történő megosztását", @@ -92,12 +128,22 @@ OC.L10N.register( "Enforce expiration date" : "A beállított lejárati idő legyen kötelezően érvényes", "Allow resharing" : "A megosztás továbbadásának engedélyezése", "Restrict users to only share with users in their groups" : "A csoporttagok csak a saját csoportjukon belül oszthassanak meg anyagokat", + "Allow users to send mail notification for shared files to other users" : "A felhasználók küldhessenek más felhasználóknak e-mail értesítést a megosztott fájlokról", "Exclude groups from sharing" : "Csoportok megosztási jogának tiltása", "These groups will still be able to receive shares, but not to initiate them." : "E csoportok tagjaival meg lehet osztani anyagokat, de ők nem hozhatnak létre megosztást.", + "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.", + "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.", "Cron was not executed yet!" : "A cron feladat még nem futott le!", "Execute one task with each page loaded" : "Egy-egy feladat végrehajtása minden alkalommal, amikor egy weboldalt letöltenek", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php állományt futtatja le 15 percenként.", + "Enable server-side encryption" : "Szerveroldali titkosítás engedélyezése", + "Enable encryption" : "Titkosítás engedélyezése", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, kérjük engedélyezd a titkosítási modult az alkalmazások menüben.", + "Select default encryption module:" : "Alapértelmezett titkosítási modul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba. Kérjük, engedélyezd az „Alapértelmezett titkosítási modul”-t és futtasd ezt: occ encryption:migrate", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba.", + "Start migration" : "Migrálás indítása", "This is used for sending out notifications." : "Ezt használjuk a jelentések kiküldésére.", "Send mode" : "Küldési mód", "Encryption" : "Titkosítás", @@ -110,23 +156,53 @@ OC.L10N.register( "Credentials" : "Azonosítók", "SMTP Username" : "SMTP felhasználónév", "SMTP Password" : "SMTP jelszó", + "Store credentials" : "Azonosítók eltárolása", "Test email settings" : "Az e-mail beállítások ellenőrzése", "Send email" : "E-mail küldése", "Log level" : "Naplózási szint", + "Download logfile" : "Naplófájl letöltése", "More" : "Több", "Less" : "Kevesebb", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "A naplófájl 100MB-nál nagyobb. A letöltése hosszabb időt vehet igénybe.", + "Transactional File Locking is enabled." : "Tranzakciós fájlzárolás engedélyezve.", + "Transactional File Locking is disabled." : "Tranzakciós fájlzárolás tiltva.", + "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Adatbázisként az SQLite-ot fogjuk használni. Nagyobb telepítések esetén javasoljuk, hogy váltson másik adatbázis háttérkiszolgálóra", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Amikor az asztali klienset használja fálj szinkronizációra, akkor az SQLite használata nem ajánlott.", + "How to do backups" : "Hogyan csináljunk biztonsági mentéseket", + "Advanced monitoring" : "Haladó monitorozás", + "Performance tuning" : "Teljesítményi hangolás", + "Improving the config.php" : "config.php javítása", + "Theming" : "Témázás", + "Hardening and security guidance" : "Erősítési és biztonsági útmutató", "Version" : "Verzió", + "Developer documentation" : "Fejlesztői dokumentáció", + "Experimental applications ahead" : "Kísérleti alkalmazások előre", + "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "A kísérleti applikációk nincsenek biztonsági ellenőrizve, ismert vagy ismeretlen hibák lehetnek bennük és aktív fejlesztés alatt állnak. A telepítésük adatvesztéshez vezethet, vagy biztonsági kockázata lehet.", "by" : "közreadta:", - "Documentation:" : "Leírások:", + "licensed" : "licencelt", + "Documentation:" : "Dokumentációk:", + "User documentation" : "Felhasználói dokumentáció", + "Admin documentation" : "Adminisztrátori dokumentáció", + "Show description …" : "Leírás megjelenítése ...", + "Hide description …" : "Leírás elrejtése ...", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Ezt az applikációt nem lehet telepíteni, mert a következő függőségek hiányoznak:", "Enable only for specific groups" : "Csak bizonyos csoportok számára tegyük elérhetővé", - "Uninstall App" : "Az alkalmazás eltávolítása", + "Uninstall App" : "Alkalmazás eltávolítása", + "Enable experimental apps" : "Kísérleti alkalmazások engedélyezése", + "No apps found for your version" : "Nem található alkalmazás a verziód számára", + "Hey there,

just letting you know that you now have an %s account.

Your username: %s
Access it: %s

" : "Üdv!

Értesítünk, hogy van egy %s fiókja.

Felhasználónév: %s
Hozzáférés: %s

", "Cheers!" : "Üdv.", + "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Üdv!\n\nÉrtesítünk, hogy van egy %s fiókja.\n\nFelhasználónév: %s\nHozzáférés: %s\n\n", + "Administrator documentation" : "Adminisztrátori dokumentáció", + "Online documentation" : "Online dokumentáció", "Forum" : "Fórum", + "Issue tracker" : "Hibabejelentések", + "Commercial support" : "Kereskedelmi támogatás", "Get the apps to sync your files" : "Töltse le az állományok szinkronizációjához szükséges programokat!", "Desktop client" : "Asztali kliens", "Android app" : "Android applikáció", "iOS app" : "IOS applikáció", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Ha segíteni szeretnéd a projektet\n\t\tcsatlakozz a fejlesztéshez\n\t\tvagy\n\t\thirdesd az igét!", "Show First Run Wizard again" : "Nézzük meg újra az első bejelentkezéskori segítséget!", "You have used %s of the available %s" : "Az Ön tárterület-felhasználása jelenleg: %s. Maximálisan ennyi áll rendelkezésére: %s", "Password" : "Jelszó", @@ -134,19 +210,36 @@ OC.L10N.register( "Current password" : "A jelenlegi jelszó", "New password" : "Az új jelszó", "Change password" : "A jelszó megváltoztatása", + "Full name" : "Teljes név", + "No display name set" : "Nincs megjelenítési név beállítva", "Email" : "E-mail", "Your email address" : "Az Ön e-mail címe", "Fill in an email address to enable password recovery and receive notifications" : "Adja meg az e-mail címét, hogy vissza tudja állítani a jelszavát, illetve, hogy rendszeres jelentéseket kaphasson!", + "No email address set" : "Nincs e-mail cím beállítva", + "You are member of the following groups:" : "Tagja vagy a következő csoport(ok)nak:", "Profile picture" : "Profilkép", "Upload new" : "Új feltöltése", "Select new from Files" : "Új kiválasztása a Fájlokból", "Remove image" : "A kép eltávolítása", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Csak png vagy jpg lehet. Ideális esetben négyzet alakú, de lehetőséged lesz vágni. A fájl nem haladhatja meg a 20 MB-os méretet.", "Your avatar is provided by your original account." : "A kép az eredeti bejelentkezési adatai alapján lett beállítva.", "Cancel" : "Mégsem", "Choose as profile image" : "Válasszuk ki profilképnek", "Language" : "Nyelv", "Help translate" : "Segítsen a fordításban!", + "Common Name" : "Általános Név", + "Valid until" : "Érvényes", + "Issued By" : "Kiadta", + "Valid until %s" : "Érvényes: %s", + "Import root certificate" : "Gyökértanúsítvány importálása", + "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "{communityopen}ownCloud közösség{linkclose} fejleszti, a {githubopen}forráskód{linkclose} {licenseopen}AGPL{linkclose} licenc alatt licencelve.", + "Show storage location" : "Háttértároló helyének mutatása", + "Show last log in" : "Utolsó bejelentkezés megjelenítése", + "Show user backend" : "Felhasználói háttér mutatása", + "Send email to new user" : "E-mail küldése az új felhasználónak", + "Show email address" : "E-mail cím megjelenítése", "Username" : "Felhasználónév", + "E-Mail" : "E-mail", "Create" : "Létrehozás", "Admin Recovery Password" : "Adminisztrátori jelszó az állományok visszanyerésére", "Enter the recovery password in order to recover the users files during password change" : "Adja meg az adatok visszanyeréséhez szükséges jelszót arra az esetre, ha a felhasználók megváltoztatják a jelszavukat", @@ -159,11 +252,14 @@ OC.L10N.register( "Unlimited" : "Korlátlan", "Other" : "Más", "Full Name" : "Teljes név", + "Group Admin for" : "Csoport Adminisztrátor itt", "Quota" : "Kvóta", "Storage Location" : "A háttértár helye", + "User Backend" : "Felhasználói háttér", "Last Login" : "Utolsó bejelentkezés", "change full name" : "a teljes név megváltoztatása", "set new password" : "új jelszó beállítása", + "change email address" : "e-mail cím megváltoztatása", "Default" : "Alapértelmezett" }, "nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/hu_HU.json b/settings/l10n/hu_HU.json index b3c60fd5f3..a416a2f33e 100644 --- a/settings/l10n/hu_HU.json +++ b/settings/l10n/hu_HU.json @@ -1,8 +1,15 @@ { "translations": { + "APCu" : "APCu", + "Redis" : "Redis", + "Security & setup warnings" : "Biztonsági és telepítési figyelmeztetések", "Sharing" : "Megosztás", + "Server-side encryption" : "Szerveroldali titkosítás", "External Storage" : "Külső tárolási szolgáltatások becsatolása", "Cron" : "Ütemezett feladatok", + "Email server" : "E-mail szerver", "Log" : "Naplózás", + "Server status" : "Szerver állapota", + "Tips & tricks" : "Tippek és trükkök", "Updates" : "Frissítések", "Authentication error" : "Azonosítási hiba", "Your full name has been changed." : "Az Ön teljes nevét módosítottuk.", @@ -19,18 +26,39 @@ "Please provide an admin recovery password, otherwise all user data will be lost" : "Adja meg az admin helyreállítási jelszót, máskülönben az összes felhasználói adat elveszik!", "Wrong admin recovery password. Please check the password and try again." : "Hibás admin helyreállítási jelszó. Ellenőrizze a jelszót és próbálja újra!", "Unable to change password" : "Nem sikerült megváltoztatni a jelszót", - "Enabled" : "Bekapcsolva", + "Enabled" : "Engedélyezve", + "Not enabled" : "Tiltva", "Federated Cloud Sharing" : "Megosztás Egyesített Felhőben", + "A problem occurred, please check your log files (Error: %s)" : "Probléma történt, kérjük nézd meg a naplófájlokat (Hiba: %s).", + "Migration Completed" : "Migráció kész!", + "Group already exists." : "A csoport már létezik.", + "Unable to add group." : "Nem lehet létrehozni a csoportot.", + "Unable to delete group." : "Nem lehet törölni a csoportot.", "Saved" : "Elmentve", "test email settings" : "e-mail beállítások ellenőrzése", - "Email sent" : "Az e-mailt elküldtük", + "A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Hiba történt az e-mail küldésekor. Kérjük ellenőrizd a beállításokat! (Hiba: %s)", + "Email sent" : "Az e-mail elküldve!", "You need to set your user email before being able to send test emails." : "Előbb meg kell adnia az e-mail címét, mielőtt tesztelni tudná az e-mail küldést.", - "Email saved" : "Elmentettük az e-mail címet", + "Invalid mail address" : "Érvénytelen e-mail cím", + "A user with that name already exists." : "Ilyen névvel már létezik felhasználó!", + "Unable to create user." : "Nem lehet létrehozni a felhasználót.", + "Your %s account was created" : "%s fiók létrehozva", + "Unable to delete user." : "Nem lehet törölni a felhasználót.", + "Forbidden" : "Tiltott", + "Invalid user" : "Érvénytelen felhasználó", + "Unable to change mail address" : "Nem lehet megváltoztatni az e-mail címet", + "Email saved" : "E-mail elmentve!", "Are you really sure you want add \"{domain}\" as trusted domain?" : "Biztos abban, hogy hozzá akarja adni \"{domain}\"-t a megbízható tartományokhoz?", "Add trusted domain" : "Megbízható tartomány hozzáadása", + "Migration in progress. Please wait until the migration is finished" : "Migráció folyamatban. Kérjük várj, míg a migráció befejeződik.", + "Migration started …" : "Migráció elindítva ...", "Sending..." : "Küldés...", + "Official" : "Hivatalos", + "Approved" : "Jóváhagyott", + "Experimental" : "Kísérleti", "All" : "Mind", - "Please wait...." : "Kérem várjon...", + "Update to %s" : "Frissítés erre: %s", + "Please wait...." : "Kérjük várj...", "Error while disabling app" : "Hiba az alkalmazás letiltása közben", "Disable" : "Letiltás", "Enable" : "Engedélyezés", @@ -41,12 +69,14 @@ "Uninstalling ...." : "Eltávolítás ...", "Error while uninstalling app" : "Hiba történt az alkalmazás eltávolítása közben", "Uninstall" : "Eltávolítás", + "An error occurred: {message}" : "Hiba történt: {message}", "Select a profile picture" : "Válasszon profilképet!", "Very weak password" : "Nagyon gyenge jelszó", "Weak password" : "Gyenge jelszó", "So-so password" : "Nem túl jó jelszó", "Good password" : "Jó jelszó", "Strong password" : "Erős jelszó", + "Valid until {date}" : "Érvényes: {date}", "Delete" : "Törlés", "Groups" : "Csoportok", "Unable to delete {objName}" : "Ezt nem sikerült törölni: {objName}", @@ -54,13 +84,17 @@ "A valid group name must be provided" : "Érvényes csoportnevet kell megadni", "deleted {groupName}" : "törölve: {groupName}", "undo" : "visszavonás", + "no group" : "nincs csoport", "never" : "soha", "deleted {userName}" : "törölve: {userName}", "add group" : "csoport hozzáadása", "A valid username must be provided" : "Érvényes felhasználónevet kell megadnia", "Error creating user" : "A felhasználó nem hozható létre", "A valid password must be provided" : "Érvényes jelszót kell megadnia", + "A valid email must be provided" : "Érvényes e-mail címet kell megadni", "__language_name__" : "__language_name__", + "Sync clients" : "Szinkronizáló kliensek", + "Personal info" : "Személyes információk", "SSL root certificates" : "SSL tanúsítványok", "Everything (fatal issues, errors, warnings, info, debug)" : "Minden (végzetes hibák, hibák, figyelmeztetések, információk, hibakeresési üzenetek)", "Info, warnings, errors and fatal issues" : "Információk, figyelmeztetések, hibák és végzetes hibák", @@ -75,9 +109,11 @@ "TLS" : "TLS", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "Úgy tűnik, hogy a PHP úgy van beállítva, hogy eltávolítja programok belsejében elhelyezett szövegblokkokat. Emiatt a rendszer több alapvető fontosságú eleme működésképtelen lesz.", "This is probably caused by a cache/accelerator such as Zend OPcache or eAccelerator." : "Ezt valószínűleg egy gyorsítótár ill. kódgyorsító, mint pl, a Zend, OPcache vagy eAccelererator okozza.", + "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "A szervered Microsoft Windowson fut. A legjobb felhasználói élményért erősen javasoljuk, hogy Linuxot használj.", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "A 'fileinfo' PHP modul hiányzik. Erősen javasolt ennek a modulnak a telepítése, mert ezzel lényegesen jobb a MIME-típusok felismerése.", "System locale can not be set to a one which supports UTF-8." : "A rendszer lokalizációs állományai között nem sikerült olyat beállítani, ami támogatja az UTF-8-at.", "This means that there might be problems with certain characters in file names." : "Ez azt jelenti, hogy probléma lehet bizonyos karakterekkel a fájlnevekben.", + "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Az ütemezett feladat (cronjob) nem futott le parancssorból. A következő hibák tűntek fel:", "Open documentation" : "Dokumentáció megnyitása", "Allow apps to use the Share API" : "Lehetővé teszi, hogy a programmodulok is használhassák a megosztást", "Allow users to share via link" : "Engedjük meg az állományok linkekkel történő megosztását", @@ -90,12 +126,22 @@ "Enforce expiration date" : "A beállított lejárati idő legyen kötelezően érvényes", "Allow resharing" : "A megosztás továbbadásának engedélyezése", "Restrict users to only share with users in their groups" : "A csoporttagok csak a saját csoportjukon belül oszthassanak meg anyagokat", + "Allow users to send mail notification for shared files to other users" : "A felhasználók küldhessenek más felhasználóknak e-mail értesítést a megosztott fájlokról", "Exclude groups from sharing" : "Csoportok megosztási jogának tiltása", "These groups will still be able to receive shares, but not to initiate them." : "E csoportok tagjaival meg lehet osztani anyagokat, de ők nem hozhatnak létre megosztást.", + "Last cron job execution: %s." : "Az utolsó cron feladat ekkor futott le: %s.", + "Last cron job execution: %s. Something seems wrong." : "Az utolsó cron feladat ekkor futott le: %s. Valami nincs rendben.", "Cron was not executed yet!" : "A cron feladat még nem futott le!", "Execute one task with each page loaded" : "Egy-egy feladat végrehajtása minden alkalommal, amikor egy weboldalt letöltenek", "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "A cron.php webcron szolgáltatásként van regisztrálva, hogy 15 percenként egyszer lefuttassa a cron.php-t.", "Use system's cron service to call the cron.php file every 15 minutes." : "A rendszer cron szolgáltatását használjuk, mely a cron.php állományt futtatja le 15 percenként.", + "Enable server-side encryption" : "Szerveroldali titkosítás engedélyezése", + "Enable encryption" : "Titkosítás engedélyezése", + "No encryption module loaded, please enable an encryption module in the app menu." : "Nincs titkosítási modul betöltve, kérjük engedélyezd a titkosítási modult az alkalmazások menüben.", + "Select default encryption module:" : "Alapértelmezett titkosítási modul:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba. Kérjük, engedélyezd az „Alapértelmezett titkosítási modul”-t és futtasd ezt: occ encryption:migrate", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Migrálni kell a titkosítási kulcsokat a régi titkosításból (ownCloud <= 8.0) egy újba.", + "Start migration" : "Migrálás indítása", "This is used for sending out notifications." : "Ezt használjuk a jelentések kiküldésére.", "Send mode" : "Küldési mód", "Encryption" : "Titkosítás", @@ -108,23 +154,53 @@ "Credentials" : "Azonosítók", "SMTP Username" : "SMTP felhasználónév", "SMTP Password" : "SMTP jelszó", + "Store credentials" : "Azonosítók eltárolása", "Test email settings" : "Az e-mail beállítások ellenőrzése", "Send email" : "E-mail küldése", "Log level" : "Naplózási szint", + "Download logfile" : "Naplófájl letöltése", "More" : "Több", "Less" : "Kevesebb", + "The logfile is bigger than 100 MB. Downloading it may take some time!" : "A naplófájl 100MB-nál nagyobb. A letöltése hosszabb időt vehet igénybe.", + "Transactional File Locking is enabled." : "Tranzakciós fájlzárolás engedélyezve.", + "Transactional File Locking is disabled." : "Tranzakciós fájlzárolás tiltva.", + "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "Adatbázisként az SQLite-ot fogjuk használni. Nagyobb telepítések esetén javasoljuk, hogy váltson másik adatbázis háttérkiszolgálóra", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Amikor az asztali klienset használja fálj szinkronizációra, akkor az SQLite használata nem ajánlott.", + "How to do backups" : "Hogyan csináljunk biztonsági mentéseket", + "Advanced monitoring" : "Haladó monitorozás", + "Performance tuning" : "Teljesítményi hangolás", + "Improving the config.php" : "config.php javítása", + "Theming" : "Témázás", + "Hardening and security guidance" : "Erősítési és biztonsági útmutató", "Version" : "Verzió", + "Developer documentation" : "Fejlesztői dokumentáció", + "Experimental applications ahead" : "Kísérleti alkalmazások előre", + "Experimental apps are not checked for security issues, new or known to be unstable and under heavy development. Installing them can cause data loss or security breaches." : "A kísérleti applikációk nincsenek biztonsági ellenőrizve, ismert vagy ismeretlen hibák lehetnek bennük és aktív fejlesztés alatt állnak. A telepítésük adatvesztéshez vezethet, vagy biztonsági kockázata lehet.", "by" : "közreadta:", - "Documentation:" : "Leírások:", + "licensed" : "licencelt", + "Documentation:" : "Dokumentációk:", + "User documentation" : "Felhasználói dokumentáció", + "Admin documentation" : "Adminisztrátori dokumentáció", + "Show description …" : "Leírás megjelenítése ...", + "Hide description …" : "Leírás elrejtése ...", + "This app cannot be installed because the following dependencies are not fulfilled:" : "Ezt az applikációt nem lehet telepíteni, mert a következő függőségek hiányoznak:", "Enable only for specific groups" : "Csak bizonyos csoportok számára tegyük elérhetővé", - "Uninstall App" : "Az alkalmazás eltávolítása", + "Uninstall App" : "Alkalmazás eltávolítása", + "Enable experimental apps" : "Kísérleti alkalmazások engedélyezése", + "No apps found for your version" : "Nem található alkalmazás a verziód számára", + "Hey there,

just letting you know that you now have an %s account.

Your username: %s
Access it: %s

" : "Üdv!

Értesítünk, hogy van egy %s fiókja.

Felhasználónév: %s
Hozzáférés: %s

", "Cheers!" : "Üdv.", + "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Üdv!\n\nÉrtesítünk, hogy van egy %s fiókja.\n\nFelhasználónév: %s\nHozzáférés: %s\n\n", + "Administrator documentation" : "Adminisztrátori dokumentáció", + "Online documentation" : "Online dokumentáció", "Forum" : "Fórum", + "Issue tracker" : "Hibabejelentések", + "Commercial support" : "Kereskedelmi támogatás", "Get the apps to sync your files" : "Töltse le az állományok szinkronizációjához szükséges programokat!", "Desktop client" : "Asztali kliens", "Android app" : "Android applikáció", "iOS app" : "IOS applikáció", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "Ha segíteni szeretnéd a projektet\n\t\tcsatlakozz a fejlesztéshez\n\t\tvagy\n\t\thirdesd az igét!", "Show First Run Wizard again" : "Nézzük meg újra az első bejelentkezéskori segítséget!", "You have used %s of the available %s" : "Az Ön tárterület-felhasználása jelenleg: %s. Maximálisan ennyi áll rendelkezésére: %s", "Password" : "Jelszó", @@ -132,19 +208,36 @@ "Current password" : "A jelenlegi jelszó", "New password" : "Az új jelszó", "Change password" : "A jelszó megváltoztatása", + "Full name" : "Teljes név", + "No display name set" : "Nincs megjelenítési név beállítva", "Email" : "E-mail", "Your email address" : "Az Ön e-mail címe", "Fill in an email address to enable password recovery and receive notifications" : "Adja meg az e-mail címét, hogy vissza tudja állítani a jelszavát, illetve, hogy rendszeres jelentéseket kaphasson!", + "No email address set" : "Nincs e-mail cím beállítva", + "You are member of the following groups:" : "Tagja vagy a következő csoport(ok)nak:", "Profile picture" : "Profilkép", "Upload new" : "Új feltöltése", "Select new from Files" : "Új kiválasztása a Fájlokból", "Remove image" : "A kép eltávolítása", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Csak png vagy jpg lehet. Ideális esetben négyzet alakú, de lehetőséged lesz vágni. A fájl nem haladhatja meg a 20 MB-os méretet.", "Your avatar is provided by your original account." : "A kép az eredeti bejelentkezési adatai alapján lett beállítva.", "Cancel" : "Mégsem", "Choose as profile image" : "Válasszuk ki profilképnek", "Language" : "Nyelv", "Help translate" : "Segítsen a fordításban!", + "Common Name" : "Általános Név", + "Valid until" : "Érvényes", + "Issued By" : "Kiadta", + "Valid until %s" : "Érvényes: %s", + "Import root certificate" : "Gyökértanúsítvány importálása", + "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "{communityopen}ownCloud közösség{linkclose} fejleszti, a {githubopen}forráskód{linkclose} {licenseopen}AGPL{linkclose} licenc alatt licencelve.", + "Show storage location" : "Háttértároló helyének mutatása", + "Show last log in" : "Utolsó bejelentkezés megjelenítése", + "Show user backend" : "Felhasználói háttér mutatása", + "Send email to new user" : "E-mail küldése az új felhasználónak", + "Show email address" : "E-mail cím megjelenítése", "Username" : "Felhasználónév", + "E-Mail" : "E-mail", "Create" : "Létrehozás", "Admin Recovery Password" : "Adminisztrátori jelszó az állományok visszanyerésére", "Enter the recovery password in order to recover the users files during password change" : "Adja meg az adatok visszanyeréséhez szükséges jelszót arra az esetre, ha a felhasználók megváltoztatják a jelszavukat", @@ -157,11 +250,14 @@ "Unlimited" : "Korlátlan", "Other" : "Más", "Full Name" : "Teljes név", + "Group Admin for" : "Csoport Adminisztrátor itt", "Quota" : "Kvóta", "Storage Location" : "A háttértár helye", + "User Backend" : "Felhasználói háttér", "Last Login" : "Utolsó bejelentkezés", "change full name" : "a teljes név megváltoztatása", "set new password" : "új jelszó beállítása", + "change email address" : "e-mail cím megváltoztatása", "Default" : "Alapértelmezett" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/settings/l10n/id.js b/settings/l10n/id.js index 083c068e14..d0303b7b22 100644 --- a/settings/l10n/id.js +++ b/settings/l10n/id.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "Server email", "Log" : "Log", + "Server status" : "Status Server", "Tips & tricks" : "Tips & trik", "Updates" : "Pembaruan", "Authentication error" : "Terjadi kesalahan saat otentikasi", @@ -30,7 +31,9 @@ OC.L10N.register( "Unable to change password" : "Tidak dapat mengubah sandi", "Enabled" : "Diaktifkan", "Not enabled" : "Tidak diaktifkan", + "installing and updating apps via the app store or Federated Cloud Sharing" : "memasang dan memperbarui aplikasi via toko aplikasi atau Federated Cloud Sharing", "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 menggunakan versi lawas %s (%s). Silakan perbarui sistem operasi Anda atau fitur-fitur seperti %s tidak akan dapat bekerja dengan benar.", "A problem occurred, please check your log files (Error: %s)" : "Terjadi masalah, mohon periksa berkas log Anda (Kesalahan: %s)", "Migration Completed" : "Migrasi Selesai", "Group already exists." : "Grup sudah ada.", @@ -75,6 +78,7 @@ OC.L10N.register( "Uninstalling ...." : "Mencopot ...", "Error while uninstalling app" : "Terjadi kesalahan saat mencopot aplikasi", "Uninstall" : "Copot", + "An error occurred: {message}" : "Sebuah kesalahan yang muncul: {message}", "Select a profile picture" : "Pilih foto profil", "Very weak password" : "Sandi sangat lemah", "Weak password" : "Sandi lemah", @@ -150,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php didaftarkan pada layanan webcron untuk memanggil cron.php setiap 15 menit melalui http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.", "Enable server-side encryption" : "Aktifkan enkripsi sisi-server", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Enkripsi adalah proses satu arah. Setelah enkripsi diaktifkan, semua berkas mulai saat ini akan di enkrispi pada server dan tidak mungkin untuk menonaktifkan enkrispi dikemudian hari. Ini merupakan peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?", "Enable encryption" : "Aktifkan enkripsi", "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.", "Select default encryption module:" : "Pilih modul enkripsi baku:", @@ -235,6 +238,7 @@ OC.L10N.register( "Upload new" : "Unggah baru", "Select new from Files" : "Pilih baru dari Berkas", "Remove image" : "Hapus gambar", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Boleh png atau jpg. Idealnya berbentuk persegi tetapi Anda dapat memotongnya. Berkas tidak diizinkan melebihi ukuran 20 MB.", "Your avatar is provided by your original account." : "Avatar disediakan oleh akun asli Anda.", "Cancel" : "Batal", "Choose as profile image" : "Pilih sebagai gambar profil", @@ -256,7 +260,6 @@ OC.L10N.register( "Create" : "Buat", "Admin Recovery Password" : "Sandi pemulihan Admin", "Enter the recovery password in order to recover the users files during password change" : "Masukkan sandi pemulihan untuk memulihkan berkas pengguna saat penggantian sandi", - "Search Users" : "Cari Pengguna", "Add Group" : "Tambah Grup", "Group" : "Grup", "Everyone" : "Semua orang", diff --git a/settings/l10n/id.json b/settings/l10n/id.json index f2464e75a1..11d6c52359 100644 --- a/settings/l10n/id.json +++ b/settings/l10n/id.json @@ -8,6 +8,7 @@ "Cron" : "Cron", "Email server" : "Server email", "Log" : "Log", + "Server status" : "Status Server", "Tips & tricks" : "Tips & trik", "Updates" : "Pembaruan", "Authentication error" : "Terjadi kesalahan saat otentikasi", @@ -28,7 +29,9 @@ "Unable to change password" : "Tidak dapat mengubah sandi", "Enabled" : "Diaktifkan", "Not enabled" : "Tidak diaktifkan", + "installing and updating apps via the app store or Federated Cloud Sharing" : "memasang dan memperbarui aplikasi via toko aplikasi atau Federated Cloud Sharing", "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 menggunakan versi lawas %s (%s). Silakan perbarui sistem operasi Anda atau fitur-fitur seperti %s tidak akan dapat bekerja dengan benar.", "A problem occurred, please check your log files (Error: %s)" : "Terjadi masalah, mohon periksa berkas log Anda (Kesalahan: %s)", "Migration Completed" : "Migrasi Selesai", "Group already exists." : "Grup sudah ada.", @@ -73,6 +76,7 @@ "Uninstalling ...." : "Mencopot ...", "Error while uninstalling app" : "Terjadi kesalahan saat mencopot aplikasi", "Uninstall" : "Copot", + "An error occurred: {message}" : "Sebuah kesalahan yang muncul: {message}", "Select a profile picture" : "Pilih foto profil", "Very weak password" : "Sandi sangat lemah", "Weak password" : "Sandi lemah", @@ -148,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php didaftarkan pada layanan webcron untuk memanggil cron.php setiap 15 menit melalui http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Gunakan layanan cron sistem untuk memanggil berkas cron.php setiap 15 menit.", "Enable server-side encryption" : "Aktifkan enkripsi sisi-server", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Enkripsi adalah proses satu arah. Setelah enkripsi diaktifkan, semua berkas mulai saat ini akan di enkrispi pada server dan tidak mungkin untuk menonaktifkan enkrispi dikemudian hari. Ini merupakan peringatan terakhir: Apakah Anda yakin ingin mengaktifkan enkripsi?", "Enable encryption" : "Aktifkan enkripsi", "No encryption module loaded, please enable an encryption module in the app menu." : "Tidak ada modul enkripsi yang dimuat, mohon aktifkan modul enkripsi di menu aplikasi.", "Select default encryption module:" : "Pilih modul enkripsi baku:", @@ -233,6 +236,7 @@ "Upload new" : "Unggah baru", "Select new from Files" : "Pilih baru dari Berkas", "Remove image" : "Hapus gambar", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Boleh png atau jpg. Idealnya berbentuk persegi tetapi Anda dapat memotongnya. Berkas tidak diizinkan melebihi ukuran 20 MB.", "Your avatar is provided by your original account." : "Avatar disediakan oleh akun asli Anda.", "Cancel" : "Batal", "Choose as profile image" : "Pilih sebagai gambar profil", @@ -254,7 +258,6 @@ "Create" : "Buat", "Admin Recovery Password" : "Sandi pemulihan Admin", "Enter the recovery password in order to recover the users files during password change" : "Masukkan sandi pemulihan untuk memulihkan berkas pengguna saat penggantian sandi", - "Search Users" : "Cari Pengguna", "Add Group" : "Tambah Grup", "Group" : "Grup", "Everyone" : "Semua orang", diff --git a/settings/l10n/is.js b/settings/l10n/is.js index d2cdeea895..dce4e7e8f8 100644 --- a/settings/l10n/is.js +++ b/settings/l10n/is.js @@ -46,4 +46,4 @@ OC.L10N.register( "Other" : "Annað", "Default" : "Sjálfgefið" }, -"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);"); +"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/settings/l10n/is.json b/settings/l10n/is.json index 39281c0a5e..ddc783ecbe 100644 --- a/settings/l10n/is.json +++ b/settings/l10n/is.json @@ -43,5 +43,5 @@ "Unlimited" : "Ótakmarkað", "Other" : "Annað", "Default" : "Sjálfgefið" -},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 || n % 100 != 11);" +},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/settings/l10n/it.js b/settings/l10n/it.js index c7a2105f7c..ad4e145707 100644 --- a/settings/l10n/it.js +++ b/settings/l10n/it.js @@ -154,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.", "Enable server-side encryption" : "Abilita cifratura lato server", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "La cifratura è un processo a senso unico. Una volta che la cifratura è abilitata, tutti i file da quel momento in poi saranno cifrati sul server e non sarà possibile disattivare la cifratura successivamente. Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?", "Enable encryption" : "Abilita cifratura", "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.", "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:", @@ -261,7 +260,6 @@ OC.L10N.register( "Create" : "Crea", "Admin Recovery Password" : "Password di ripristino amministrativa", "Enter the recovery password in order to recover the users files during password change" : "Digita la password di ripristino per recuperare i file degli utenti durante la modifica della password.", - "Search Users" : "Cerca utenti", "Add Group" : "Aggiungi gruppo", "Group" : "Gruppo", "Everyone" : "Chiunque", diff --git a/settings/l10n/it.json b/settings/l10n/it.json index c7bd987808..bf21aa66b3 100644 --- a/settings/l10n/it.json +++ b/settings/l10n/it.json @@ -152,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.", "Enable server-side encryption" : "Abilita cifratura lato server", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "La cifratura è un processo a senso unico. Una volta che la cifratura è abilitata, tutti i file da quel momento in poi saranno cifrati sul server e non sarà possibile disattivare la cifratura successivamente. Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?", "Enable encryption" : "Abilita cifratura", "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.", "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:", @@ -259,7 +258,6 @@ "Create" : "Crea", "Admin Recovery Password" : "Password di ripristino amministrativa", "Enter the recovery password in order to recover the users files during password change" : "Digita la password di ripristino per recuperare i file degli utenti durante la modifica della password.", - "Search Users" : "Cerca utenti", "Add Group" : "Aggiungi gruppo", "Group" : "Gruppo", "Everyone" : "Chiunque", diff --git a/settings/l10n/ja.js b/settings/l10n/ja.js index 41ee4af3ac..56327a2c9a 100644 --- a/settings/l10n/ja.js +++ b/settings/l10n/ja.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "メールサーバー", "Log" : "ログ", + "Server status" : "サーバーステータス", "Tips & tricks" : "Tips & tricks", "Updates" : "アップデート", "Authentication error" : "認証エラー", @@ -28,8 +29,8 @@ OC.L10N.register( "Wrong admin recovery password. Please check the password and try again." : "リカバリ用の管理者パスワードが間違っています。パスワードを確認して再度実行してください。", "Backend doesn't support password change, but the user's encryption key was successfully updated." : "バックエンドはパスワードの変更をサポートしていませんが、ユーザーの暗号化キーは正常に更新されました。", "Unable to change password" : "パスワードを変更できません", - "Enabled" : "有効", - "Not enabled" : "無効", + "Enabled" : "有効なアプリ", + "Not enabled" : "無効なアプリ", "Federated Cloud Sharing" : "統合されたクラウド共有", "A problem occurred, please check your log files (Error: %s)" : "問題が発生しました。ログファイルを確認してください。(Error: %s)", "Migration Completed" : "移行が完了しました", @@ -121,10 +122,11 @@ OC.L10N.register( "System locale can not be set to a one which supports UTF-8." : "システムロケールを UTF-8 をサポートするロケールに設定できません。", "This means that there might be problems with certain characters in file names." : "これは、ファイル名の特定の文字に問題があることを意味しています。", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "次のロケールをサポートするには、システムに必要なパッケージをインストールすることを強くおすすめします: %s。", - "If your installation is not installed in 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\")" : "もし、URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwrite.cli.url\" オプションをインストールしたwebrootのパスに設定してください。(推奨: \"%s\")", + "If your installation is not installed in 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\")" : "URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合は、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwrite.cli.url\" オプションをインストールしたwebrootのパスに設定してください。(推奨: \"%s\")", + "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "インストールガイド ↗をもう一度チェックして、ログ にあるエラーまたは警告について確認してください。", "Open documentation" : "ドキュメントを開く", "Allow apps to use the Share API" : "アプリからの共有APIの利用を許可する", - "Allow users to share via link" : "URLリンクで共有を許可する", + "Allow users to share via link" : "URLリンクでの共有を許可する", "Enforce password protection" : "常にパスワード保護を有効にする", "Allow public uploads" : "パブリックなアップロードを許可する", "Allow users to send mail notification for shared files" : "共有ファイルに関するメール通知の送信をユーザーに許可する", @@ -137,13 +139,13 @@ OC.L10N.register( "Allow users to send mail notification for shared files to other users" : "他ユーザーへの共有ファイルに関するメール通知の送信をユーザーに許可する", "Exclude groups from sharing" : "共有可能なグループから除外する", "These groups will still be able to receive shares, but not to initiate them." : "このグループでは、フォルダー共有を開始することはできませんが、共有されたフォルダーを参照することはできます。", - "Last cron job execution: %s." : "最終cronジョブ実行: %s。", - "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s。何らかの問題があります。", + "Last cron job execution: %s." : "最終cronジョブ実行: %s", + "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。", "Cron was not executed yet!" : "cronはまだ実行されていません!", "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は、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されています。", "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。", - "Enable server-side encryption" : "サーバーサイド暗号化を有効に", + "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", "Enable encryption" : "暗号化を有効に", "Select default encryption module:" : "デフォルトの暗号化モジュールを選択:", "Start migration" : "移行を開始", @@ -167,6 +169,8 @@ OC.L10N.register( "More" : "もっと見る", "Less" : "閉じる", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ログファイルが100MB以上あります。ダウンロードに時間がかかります!", + "Transactional File Locking is enabled." : "トランザクショナル ファイルロックが有効です。", + "Transactional File Locking is disabled." : "トランザクショナル ファイルロックが無効です。", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.", "How to do backups" : "バックアップ方法", @@ -174,7 +178,7 @@ OC.L10N.register( "Performance tuning" : "パフォーマンスチューニング", "Improving the config.php" : "config.phpの改善", "Version" : "バージョン", - "Developer documentation" : "デベロッパードキュメント", + "Developer documentation" : "開発者ドキュメント", "by" : "by", "licensed" : "ライセンス", "Documentation:" : "ドキュメント:", @@ -195,29 +199,30 @@ OC.L10N.register( "Forum" : "フォーラム", "Issue tracker" : "イシュートラッカー", "Commercial support" : "商用サポート", - "Get the apps to sync your files" : "ファイルを同期するためのアプリを取得", + "Get the apps to sync your files" : "ファイルを同期するアプリを取得しましょう", "Desktop client" : "デスクトップクライアント", "Android app" : "Androidアプリ", "iOS app" : "iOSアプリ", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "もしプロジェクトをサポートしていただけるなら、\n開発に参加する、\nもしくは\nプロジェクトを広く伝えてください!", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "プロジェクトをサポートしていただける場合は、\n開発に参加するか、\nプロジェクトを広く伝えてください!", "Show First Run Wizard again" : "初回ウィザードを再表示する", - "You have used %s of the available %s" : "現在 %s / %s を利用しています", + "You have used %s of the available %s" : "現在 %s / %s を使用しています", "Password" : "パスワード", "Unable to change your password" : "パスワードを変更することができません", "Current password" : "現在のパスワード", "New password" : "新しいパスワード", "Change password" : "パスワードを変更", - "Full name" : "姓名", + "Full name" : "氏名", "No display name set" : "表示名が未設定", "Email" : "メール", "Your email address" : "あなたのメールアドレス", "Fill in an email address to enable password recovery and receive notifications" : "パスワードの回復を有効にし、通知を受け取るにはメールアドレスを入力してください", "No email address set" : "メールアドレスが設定されていません", - "You are member of the following groups:" : "次のグループのメンバーです:", + "You are member of the following groups:" : "以下のグループのメンバーです:", "Profile picture" : "プロフィール画像", "Upload new" : "新たにアップロード", "Select new from Files" : "新しいファイルを選択", "Remove image" : "画像を削除", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "pngまたはjpg形式。正方形が理想ですが、切り取って加工することもできます。ファイルは最大20MBを超えないようにしてください。", "Your avatar is provided by your original account." : "あなたのアバターは、あなたのオリジナルのアカウントで提供されています。", "Cancel" : "キャンセル", "Choose as profile image" : "プロファイル画像として選択", @@ -228,7 +233,7 @@ OC.L10N.register( "Issued By" : "発行元", "Valid until %s" : "%s まで有効", "Import root certificate" : "ルート証明書をインポート", - "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : " {communityopen}ownCloud community{link close}によって開発されました、{githubopen}ソースコード{linkclose} は {licenseopen}AGPL{link close}.によってライセンスされます。", + "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : " {communityopen}ownCloud community{linkclose} によって開発されています。{githubopen}ソースコード{linkclose} は {licenseopen}AGPL{linkclose} によってライセンスされます。", "Show storage location" : "データの保存場所を表示", "Show last log in" : "最終ログインを表示", "Show user backend" : "ユーザーバックエンドを表示", @@ -239,7 +244,6 @@ OC.L10N.register( "Create" : "作成", "Admin Recovery Password" : "管理者リカバリパスワード", "Enter the recovery password in order to recover the users files during password change" : "パスワード変更時のユーザーのファイルを回復するため、リカバリパスワードを入力してください", - "Search Users" : "ユーザーを検索", "Add Group" : "グループを追加", "Group" : "グループ", "Everyone" : "すべてのユーザー", diff --git a/settings/l10n/ja.json b/settings/l10n/ja.json index 6533043c79..bff979e842 100644 --- a/settings/l10n/ja.json +++ b/settings/l10n/ja.json @@ -8,6 +8,7 @@ "Cron" : "Cron", "Email server" : "メールサーバー", "Log" : "ログ", + "Server status" : "サーバーステータス", "Tips & tricks" : "Tips & tricks", "Updates" : "アップデート", "Authentication error" : "認証エラー", @@ -26,8 +27,8 @@ "Wrong admin recovery password. Please check the password and try again." : "リカバリ用の管理者パスワードが間違っています。パスワードを確認して再度実行してください。", "Backend doesn't support password change, but the user's encryption key was successfully updated." : "バックエンドはパスワードの変更をサポートしていませんが、ユーザーの暗号化キーは正常に更新されました。", "Unable to change password" : "パスワードを変更できません", - "Enabled" : "有効", - "Not enabled" : "無効", + "Enabled" : "有効なアプリ", + "Not enabled" : "無効なアプリ", "Federated Cloud Sharing" : "統合されたクラウド共有", "A problem occurred, please check your log files (Error: %s)" : "問題が発生しました。ログファイルを確認してください。(Error: %s)", "Migration Completed" : "移行が完了しました", @@ -119,10 +120,11 @@ "System locale can not be set to a one which supports UTF-8." : "システムロケールを UTF-8 をサポートするロケールに設定できません。", "This means that there might be problems with certain characters in file names." : "これは、ファイル名の特定の文字に問題があることを意味しています。", "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "次のロケールをサポートするには、システムに必要なパッケージをインストールすることを強くおすすめします: %s。", - "If your installation is not installed in 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\")" : "もし、URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwrite.cli.url\" オプションをインストールしたwebrootのパスに設定してください。(推奨: \"%s\")", + "If your installation is not installed in 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\")" : "URLがドメインのルート(/)で終わっていない場合で、システムのcronを利用している場合は、URLの生成に問題が発生します。その場合は、config.php ファイルの中の \"overwrite.cli.url\" オプションをインストールしたwebrootのパスに設定してください。(推奨: \"%s\")", + "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "インストールガイド ↗をもう一度チェックして、ログ にあるエラーまたは警告について確認してください。", "Open documentation" : "ドキュメントを開く", "Allow apps to use the Share API" : "アプリからの共有APIの利用を許可する", - "Allow users to share via link" : "URLリンクで共有を許可する", + "Allow users to share via link" : "URLリンクでの共有を許可する", "Enforce password protection" : "常にパスワード保護を有効にする", "Allow public uploads" : "パブリックなアップロードを許可する", "Allow users to send mail notification for shared files" : "共有ファイルに関するメール通知の送信をユーザーに許可する", @@ -135,13 +137,13 @@ "Allow users to send mail notification for shared files to other users" : "他ユーザーへの共有ファイルに関するメール通知の送信をユーザーに許可する", "Exclude groups from sharing" : "共有可能なグループから除外する", "These groups will still be able to receive shares, but not to initiate them." : "このグループでは、フォルダー共有を開始することはできませんが、共有されたフォルダーを参照することはできます。", - "Last cron job execution: %s." : "最終cronジョブ実行: %s。", - "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s。何らかの問題があります。", + "Last cron job execution: %s." : "最終cronジョブ実行: %s", + "Last cron job execution: %s. Something seems wrong." : "最終cronジョブ実行: %s 何らかの問題があります。", "Cron was not executed yet!" : "cronはまだ実行されていません!", "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は、HTTP経由で15分ごとにcron.phpを実行するようwebcronサービスに登録されています。", "Use system's cron service to call the cron.php file every 15 minutes." : "システムのcronサービスを利用して、15分間隔でcron.phpファイルを実行します。", - "Enable server-side encryption" : "サーバーサイド暗号化を有効に", + "Enable server-side encryption" : "サーバーサイド暗号化を有効にする", "Enable encryption" : "暗号化を有効に", "Select default encryption module:" : "デフォルトの暗号化モジュールを選択:", "Start migration" : "移行を開始", @@ -165,6 +167,8 @@ "More" : "もっと見る", "Less" : "閉じる", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "ログファイルが100MB以上あります。ダウンロードに時間がかかります!", + "Transactional File Locking is enabled." : "トランザクショナル ファイルロックが有効です。", + "Transactional File Locking is disabled." : "トランザクショナル ファイルロックが無効です。", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLiteがデータベースとして使用されています。大規模な運用では別のデータベースに切り替えることをお勧めします。", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "特にデスクトップクライアントをファイル同期に使用する場合,SQLiteは非推奨です.", "How to do backups" : "バックアップ方法", @@ -172,7 +176,7 @@ "Performance tuning" : "パフォーマンスチューニング", "Improving the config.php" : "config.phpの改善", "Version" : "バージョン", - "Developer documentation" : "デベロッパードキュメント", + "Developer documentation" : "開発者ドキュメント", "by" : "by", "licensed" : "ライセンス", "Documentation:" : "ドキュメント:", @@ -193,29 +197,30 @@ "Forum" : "フォーラム", "Issue tracker" : "イシュートラッカー", "Commercial support" : "商用サポート", - "Get the apps to sync your files" : "ファイルを同期するためのアプリを取得", + "Get the apps to sync your files" : "ファイルを同期するアプリを取得しましょう", "Desktop client" : "デスクトップクライアント", "Android app" : "Androidアプリ", "iOS app" : "iOSアプリ", - "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "もしプロジェクトをサポートしていただけるなら、\n開発に参加する、\nもしくは\nプロジェクトを広く伝えてください!", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "プロジェクトをサポートしていただける場合は、\n開発に参加するか、\nプロジェクトを広く伝えてください!", "Show First Run Wizard again" : "初回ウィザードを再表示する", - "You have used %s of the available %s" : "現在 %s / %s を利用しています", + "You have used %s of the available %s" : "現在 %s / %s を使用しています", "Password" : "パスワード", "Unable to change your password" : "パスワードを変更することができません", "Current password" : "現在のパスワード", "New password" : "新しいパスワード", "Change password" : "パスワードを変更", - "Full name" : "姓名", + "Full name" : "氏名", "No display name set" : "表示名が未設定", "Email" : "メール", "Your email address" : "あなたのメールアドレス", "Fill in an email address to enable password recovery and receive notifications" : "パスワードの回復を有効にし、通知を受け取るにはメールアドレスを入力してください", "No email address set" : "メールアドレスが設定されていません", - "You are member of the following groups:" : "次のグループのメンバーです:", + "You are member of the following groups:" : "以下のグループのメンバーです:", "Profile picture" : "プロフィール画像", "Upload new" : "新たにアップロード", "Select new from Files" : "新しいファイルを選択", "Remove image" : "画像を削除", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "pngまたはjpg形式。正方形が理想ですが、切り取って加工することもできます。ファイルは最大20MBを超えないようにしてください。", "Your avatar is provided by your original account." : "あなたのアバターは、あなたのオリジナルのアカウントで提供されています。", "Cancel" : "キャンセル", "Choose as profile image" : "プロファイル画像として選択", @@ -226,7 +231,7 @@ "Issued By" : "発行元", "Valid until %s" : "%s まで有効", "Import root certificate" : "ルート証明書をインポート", - "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : " {communityopen}ownCloud community{link close}によって開発されました、{githubopen}ソースコード{linkclose} は {licenseopen}AGPL{link close}.によってライセンスされます。", + "Developed by the {communityopen}ownCloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : " {communityopen}ownCloud community{linkclose} によって開発されています。{githubopen}ソースコード{linkclose} は {licenseopen}AGPL{linkclose} によってライセンスされます。", "Show storage location" : "データの保存場所を表示", "Show last log in" : "最終ログインを表示", "Show user backend" : "ユーザーバックエンドを表示", @@ -237,7 +242,6 @@ "Create" : "作成", "Admin Recovery Password" : "管理者リカバリパスワード", "Enter the recovery password in order to recover the users files during password change" : "パスワード変更時のユーザーのファイルを回復するため、リカバリパスワードを入力してください", - "Search Users" : "ユーザーを検索", "Add Group" : "グループを追加", "Group" : "グループ", "Everyone" : "すべてのユーザー", diff --git a/settings/l10n/ko.js b/settings/l10n/ko.js index 9ea90377bc..5e3bc7183f 100644 --- a/settings/l10n/ko.js +++ b/settings/l10n/ko.js @@ -154,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.", "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.", "Enable server-side encryption" : "서버 측 암호화 사용", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "암호화 작업은 단방향입니다. 암호화를 한 번 활성화하면 그 시점 이후에 서버에 저장되는 모든 파일이 암호화되며 나중에 암호화를 비활성화할 수 없습니다. 마지막 경고입니다. 암호화를 활성화하시겠습니까?", "Enable encryption" : "암호화 사용", "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.", "Select default encryption module:" : "기본 암호화 모듈 선택:", @@ -261,7 +260,6 @@ OC.L10N.register( "Create" : "만들기", "Admin Recovery Password" : "관리자 복구 암호", "Enter the recovery password in order to recover the users files during password change" : "암호 변경 시 변경된 사용자 파일을 복구하려면 복구 암호를 입력하십시오", - "Search Users" : "사용자 찾기", "Add Group" : "그룹 추가", "Group" : "그룹", "Everyone" : "모두", diff --git a/settings/l10n/ko.json b/settings/l10n/ko.json index 429d75dc93..b9cc5084cc 100644 --- a/settings/l10n/ko.json +++ b/settings/l10n/ko.json @@ -152,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php는 webcron 서비스에 등록되어 HTTP로 15분마다 cron.php에 접근합니다.", "Use system's cron service to call the cron.php file every 15 minutes." : "시스템의 cron 서비스를 통하여 15분마다 cron.php 파일을 실행합니다.", "Enable server-side encryption" : "서버 측 암호화 사용", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "암호화 작업은 단방향입니다. 암호화를 한 번 활성화하면 그 시점 이후에 서버에 저장되는 모든 파일이 암호화되며 나중에 암호화를 비활성화할 수 없습니다. 마지막 경고입니다. 암호화를 활성화하시겠습니까?", "Enable encryption" : "암호화 사용", "No encryption module loaded, please enable an encryption module in the app menu." : "암호화 모듈을 불러오지 않았습니다. 앱 메뉴에서 암호화 모듈을 활성화하십시오.", "Select default encryption module:" : "기본 암호화 모듈 선택:", @@ -259,7 +258,6 @@ "Create" : "만들기", "Admin Recovery Password" : "관리자 복구 암호", "Enter the recovery password in order to recover the users files during password change" : "암호 변경 시 변경된 사용자 파일을 복구하려면 복구 암호를 입력하십시오", - "Search Users" : "사용자 찾기", "Add Group" : "그룹 추가", "Group" : "그룹", "Everyone" : "모두", diff --git a/settings/l10n/nb_NO.js b/settings/l10n/nb_NO.js index 4fffe8d620..efdcc9b6de 100644 --- a/settings/l10n/nb_NO.js +++ b/settings/l10n/nb_NO.js @@ -150,7 +150,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", "Enable server-side encryption" : "Aktiver serverkryptering", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Kryptering er en enveisprosess. Når kryptering er aktivert, vil alle filer fra det tidspunktet av bli kryptert på serveren og det vil ikke være mulig å deaktivere kryptering senere. Dette er siste advarsel: Vil du virkelig aktivere kryptering?", "Enable encryption" : "Aktiver kryptering", "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i app-menyen.", "Select default encryption module:" : "Velg standard krypteringsmodul:", @@ -255,7 +254,6 @@ OC.L10N.register( "Create" : "Opprett", "Admin Recovery Password" : "Administrativt gjenopprettingspassord", "Enter the recovery password in order to recover the users files during password change" : "Legg inn gjenopprettingspassordet for å gjenopprette brukerfilene når passordet endres", - "Search Users" : "Søk i brukere", "Add Group" : "Legg til gruppe", "Group" : "Gruppe", "Everyone" : "Alle", diff --git a/settings/l10n/nb_NO.json b/settings/l10n/nb_NO.json index 17a4bfce9f..b3d673e7df 100644 --- a/settings/l10n/nb_NO.json +++ b/settings/l10n/nb_NO.json @@ -148,7 +148,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registrert i en webcron-tjeneste for å kalle cron.php hvert 15. minutt over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Bruk systemets cron-tjeneste til å kalle cron.php hvert 15. minutt.", "Enable server-side encryption" : "Aktiver serverkryptering", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Kryptering er en enveisprosess. Når kryptering er aktivert, vil alle filer fra det tidspunktet av bli kryptert på serveren og det vil ikke være mulig å deaktivere kryptering senere. Dette er siste advarsel: Vil du virkelig aktivere kryptering?", "Enable encryption" : "Aktiver kryptering", "No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul er lastet. Aktiver en krypteringsmodul i app-menyen.", "Select default encryption module:" : "Velg standard krypteringsmodul:", @@ -253,7 +252,6 @@ "Create" : "Opprett", "Admin Recovery Password" : "Administrativt gjenopprettingspassord", "Enter the recovery password in order to recover the users files during password change" : "Legg inn gjenopprettingspassordet for å gjenopprette brukerfilene når passordet endres", - "Search Users" : "Søk i brukere", "Add Group" : "Legg til gruppe", "Group" : "Gruppe", "Everyone" : "Alle", diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index 51aadc8c16..0b02904344 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron", "Email server" : "E-mailserver", "Log" : "Log", + "Server status" : "Server status", "Tips & tricks" : "Tips & trucs", "Updates" : "Updates", "Authentication error" : "Authenticatie fout", @@ -30,7 +31,9 @@ OC.L10N.register( "Unable to change password" : "Kan wachtwoord niet wijzigen", "Enabled" : "Geactiveerd", "Not enabled" : "Niet ingeschakeld", + "installing and updating apps via the app store or Federated Cloud Sharing" : "installeren en bijwerken applicaties via de app store of Federated Cloud Sharing", "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 gebruikt een verouderde %s versie (%s). Werk het besturingssysteem bij of functies als %s zullen niet betrouwbaar werken.", "A problem occurred, please check your log files (Error: %s)" : "Er trad een een probleem op, controleer uw logbestanden (Fout: %s).", "Migration Completed" : "Migratie gereed", "Group already exists." : "Groep bestaat al.", @@ -75,6 +78,7 @@ OC.L10N.register( "Uninstalling ...." : "De-installeren ...", "Error while uninstalling app" : "Fout bij de-installeren app", "Uninstall" : "De-installeren", + "An error occurred: {message}" : "Er heeft zich een fout voorgedaan: {message}", "Select a profile picture" : "Kies een profielafbeelding", "Very weak password" : "Zeer zwak wachtwoord", "Weak password" : "Zwak wachtwoord", @@ -150,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", "Enable server-side encryption" : "Server-side versleuteling inschakelen", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Versleuteling is een eenrichtingsproces. Als versleuteling is ingeschakeld, worden alle bestanden vanaf dat moment versleuteld op de server en is het niet meer mogelijk versleuteling later uit te schakelen. Dit is de laatste waarschuwing: Wilt u echt versleuteling inschakelen?", "Enable encryption" : "Versleuteling inschakelen", "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu", "Select default encryption module:" : "Selecteer de standaard cryptomodule:", @@ -196,6 +199,7 @@ OC.L10N.register( "licensed" : "gelicenseerd", "Documentation:" : "Documentatie:", "User documentation" : "Gebruikersdocumentatie", + "Admin documentation" : "Beheerdocumentatie", "Show description …" : "Toon beschrijving ...", "Hide description …" : "Verberg beschrijving ...", "This app cannot be installed because the following dependencies are not fulfilled:" : "Deze app kan niet worden geïnstalleerd omdat de volgende afhankelijkheden niet zijn ingevuld:", @@ -234,6 +238,7 @@ OC.L10N.register( "Upload new" : "Upload een nieuwe", "Select new from Files" : "Selecteer een nieuwe vanuit bestanden", "Remove image" : "Afbeelding verwijderen", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Of png, of jpg. Bij voorkeur vierkant, maar u kunt de afbeelding bijsnijden. Het bestand mag niet groter zijn dan 20 MB.", "Your avatar is provided by your original account." : "Uw avatar is verstrekt door uw originele account.", "Cancel" : "Annuleer", "Choose as profile image" : "Kies als profielafbeelding", @@ -255,7 +260,6 @@ OC.L10N.register( "Create" : "Aanmaken", "Admin Recovery Password" : "Beheer herstel wachtwoord", "Enter the recovery password in order to recover the users files during password change" : "Voer het herstel wachtwoord in om de gebruikersbestanden terug te halen bij wachtwoordwijziging", - "Search Users" : "Zoek gebruikers", "Add Group" : "Toevoegen groep", "Group" : "Groep", "Everyone" : "Iedereen", diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index 4e184bdcb2..ff0964a821 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -8,6 +8,7 @@ "Cron" : "Cron", "Email server" : "E-mailserver", "Log" : "Log", + "Server status" : "Server status", "Tips & tricks" : "Tips & trucs", "Updates" : "Updates", "Authentication error" : "Authenticatie fout", @@ -28,7 +29,9 @@ "Unable to change password" : "Kan wachtwoord niet wijzigen", "Enabled" : "Geactiveerd", "Not enabled" : "Niet ingeschakeld", + "installing and updating apps via the app store or Federated Cloud Sharing" : "installeren en bijwerken applicaties via de app store of Federated Cloud Sharing", "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 gebruikt een verouderde %s versie (%s). Werk het besturingssysteem bij of functies als %s zullen niet betrouwbaar werken.", "A problem occurred, please check your log files (Error: %s)" : "Er trad een een probleem op, controleer uw logbestanden (Fout: %s).", "Migration Completed" : "Migratie gereed", "Group already exists." : "Groep bestaat al.", @@ -73,6 +76,7 @@ "Uninstalling ...." : "De-installeren ...", "Error while uninstalling app" : "Fout bij de-installeren app", "Uninstall" : "De-installeren", + "An error occurred: {message}" : "Er heeft zich een fout voorgedaan: {message}", "Select a profile picture" : "Kies een profielafbeelding", "Very weak password" : "Zeer zwak wachtwoord", "Weak password" : "Zwak wachtwoord", @@ -148,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", "Enable server-side encryption" : "Server-side versleuteling inschakelen", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Versleuteling is een eenrichtingsproces. Als versleuteling is ingeschakeld, worden alle bestanden vanaf dat moment versleuteld op de server en is het niet meer mogelijk versleuteling later uit te schakelen. Dit is de laatste waarschuwing: Wilt u echt versleuteling inschakelen?", "Enable encryption" : "Versleuteling inschakelen", "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu", "Select default encryption module:" : "Selecteer de standaard cryptomodule:", @@ -194,6 +197,7 @@ "licensed" : "gelicenseerd", "Documentation:" : "Documentatie:", "User documentation" : "Gebruikersdocumentatie", + "Admin documentation" : "Beheerdocumentatie", "Show description …" : "Toon beschrijving ...", "Hide description …" : "Verberg beschrijving ...", "This app cannot be installed because the following dependencies are not fulfilled:" : "Deze app kan niet worden geïnstalleerd omdat de volgende afhankelijkheden niet zijn ingevuld:", @@ -232,6 +236,7 @@ "Upload new" : "Upload een nieuwe", "Select new from Files" : "Selecteer een nieuwe vanuit bestanden", "Remove image" : "Afbeelding verwijderen", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Of png, of jpg. Bij voorkeur vierkant, maar u kunt de afbeelding bijsnijden. Het bestand mag niet groter zijn dan 20 MB.", "Your avatar is provided by your original account." : "Uw avatar is verstrekt door uw originele account.", "Cancel" : "Annuleer", "Choose as profile image" : "Kies als profielafbeelding", @@ -253,7 +258,6 @@ "Create" : "Aanmaken", "Admin Recovery Password" : "Beheer herstel wachtwoord", "Enter the recovery password in order to recover the users files during password change" : "Voer het herstel wachtwoord in om de gebruikersbestanden terug te halen bij wachtwoordwijziging", - "Search Users" : "Zoek gebruikers", "Add Group" : "Toevoegen groep", "Group" : "Groep", "Everyone" : "Iedereen", diff --git a/settings/l10n/oc.js b/settings/l10n/oc.js index af849ff4a6..a8f78ecb65 100644 --- a/settings/l10n/oc.js +++ b/settings/l10n/oc.js @@ -142,7 +142,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php es enregistrat alprèp d'un servici webcron que l'executarà a cada 15 minutas via http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Utilizatz lo servici cron del sistèma per apelar lo fichièr cron.php a cada 15 minutas.", "Enable server-side encryption" : "Activar lo chiframent costat servidor", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Lo chiframent es un processus amb sens unic. Un còp que lo chiframent es activat, totes los fichièrs a partir d'aqueste moment seràn chifrats sul servidor e serà pas possible de desactivar lo chiframent ulteriorament. Aquò es lo darrièr avertiment : Sètz segur que volètz activar lo chiframent?", "Enable encryption" : "Activar lo chiframent", "No encryption module loaded, please enable an encryption module in the app menu." : "Cap de modul de chiframent es pas cargat. Mercé d'activar un modul de chiframent dins lo menú de las aplicacions.", "Select default encryption module:" : "Seleccionatz lo modul de chiframent per defaut :", @@ -244,7 +243,6 @@ OC.L10N.register( "Create" : "Crear", "Admin Recovery Password" : "Recuperacion del senhal administrator", "Enter the recovery password in order to recover the users files during password change" : "Entratz lo senhal de recuperacion per recuperar los fichièrs utilizaires pendent lo cambiament de senhal", - "Search Users" : "Recèrca dels utilizaires", "Add Group" : "Apondre un grop", "Group" : "Grop", "Everyone" : "Tot lo monde", diff --git a/settings/l10n/oc.json b/settings/l10n/oc.json index 6921ed2beb..2830cf6451 100644 --- a/settings/l10n/oc.json +++ b/settings/l10n/oc.json @@ -140,7 +140,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php es enregistrat alprèp d'un servici webcron que l'executarà a cada 15 minutas via http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Utilizatz lo servici cron del sistèma per apelar lo fichièr cron.php a cada 15 minutas.", "Enable server-side encryption" : "Activar lo chiframent costat servidor", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Lo chiframent es un processus amb sens unic. Un còp que lo chiframent es activat, totes los fichièrs a partir d'aqueste moment seràn chifrats sul servidor e serà pas possible de desactivar lo chiframent ulteriorament. Aquò es lo darrièr avertiment : Sètz segur que volètz activar lo chiframent?", "Enable encryption" : "Activar lo chiframent", "No encryption module loaded, please enable an encryption module in the app menu." : "Cap de modul de chiframent es pas cargat. Mercé d'activar un modul de chiframent dins lo menú de las aplicacions.", "Select default encryption module:" : "Seleccionatz lo modul de chiframent per defaut :", @@ -242,7 +241,6 @@ "Create" : "Crear", "Admin Recovery Password" : "Recuperacion del senhal administrator", "Enter the recovery password in order to recover the users files during password change" : "Entratz lo senhal de recuperacion per recuperar los fichièrs utilizaires pendent lo cambiament de senhal", - "Search Users" : "Recèrca dels utilizaires", "Add Group" : "Apondre un grop", "Group" : "Grop", "Everyone" : "Tot lo monde", diff --git a/settings/l10n/pl.js b/settings/l10n/pl.js index 1b89a64339..0af3bac7ee 100644 --- a/settings/l10n/pl.js +++ b/settings/l10n/pl.js @@ -198,7 +198,6 @@ OC.L10N.register( "Create" : "Utwórz", "Admin Recovery Password" : "Odzyskiwanie hasła administratora", "Enter the recovery password in order to recover the users files during password change" : "Wpisz hasło odzyskiwania, aby odzyskać pliki użytkowników podczas zmiany hasła", - "Search Users" : "Wyszukaj użytkownika", "Add Group" : "Dodaj grupę", "Group" : "Grupa", "Everyone" : "Wszyscy", diff --git a/settings/l10n/pl.json b/settings/l10n/pl.json index 1424924907..f5fa2bb1e8 100644 --- a/settings/l10n/pl.json +++ b/settings/l10n/pl.json @@ -196,7 +196,6 @@ "Create" : "Utwórz", "Admin Recovery Password" : "Odzyskiwanie hasła administratora", "Enter the recovery password in order to recover the users files during password change" : "Wpisz hasło odzyskiwania, aby odzyskać pliki użytkowników podczas zmiany hasła", - "Search Users" : "Wyszukaj użytkownika", "Add Group" : "Dodaj grupę", "Group" : "Grupa", "Everyone" : "Wszyscy", diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index 3e77c6a377..95bc6480df 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -154,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sobre http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar a Criptografia do Lado do Servidor", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "A criptografia é um processo de um caminho. Uma vez que a criptografia esteja habilitada, todos os arquivos a partir desse ponto em diante serão criptografados no servidor e não será possível desativar a criptografia em uma data posterior. Este é o aviso final: Você realmente quer ativar a criptografia?", "Enable encryption" : "Ativar criptografia", "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado, por favor, ative um módulo de criptografia no menu de aplicativos.", "Select default encryption module:" : "Selecione o módulo de criptografia padrão:", @@ -261,7 +260,6 @@ OC.L10N.register( "Create" : "Criar", "Admin Recovery Password" : "Recuperação da Senha do Administrador", "Enter the recovery password in order to recover the users files during password change" : "Digite a senha de recuperação para recuperar os arquivos dos usuários durante a mudança de senha.", - "Search Users" : "Pesquisar Usuários", "Add Group" : "Adicionar Grupo", "Group" : "Grupo", "Everyone" : "Para todos", diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index 73a9cf67b5..3df92f448d 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -152,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sobre http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar a Criptografia do Lado do Servidor", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "A criptografia é um processo de um caminho. Uma vez que a criptografia esteja habilitada, todos os arquivos a partir desse ponto em diante serão criptografados no servidor e não será possível desativar a criptografia em uma data posterior. Este é o aviso final: Você realmente quer ativar a criptografia?", "Enable encryption" : "Ativar criptografia", "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado, por favor, ative um módulo de criptografia no menu de aplicativos.", "Select default encryption module:" : "Selecione o módulo de criptografia padrão:", @@ -259,7 +258,6 @@ "Create" : "Criar", "Admin Recovery Password" : "Recuperação da Senha do Administrador", "Enter the recovery password in order to recover the users files during password change" : "Digite a senha de recuperação para recuperar os arquivos dos usuários durante a mudança de senha.", - "Search Users" : "Pesquisar Usuários", "Add Group" : "Adicionar Grupo", "Group" : "Grupo", "Everyone" : "Para todos", diff --git a/settings/l10n/pt_PT.js b/settings/l10n/pt_PT.js index 0e40df2808..df4df129c4 100644 --- a/settings/l10n/pt_PT.js +++ b/settings/l10n/pt_PT.js @@ -1,11 +1,14 @@ OC.L10N.register( "settings", { + "APCu" : "APCu", "Security & setup warnings" : "Avisos de configuração e segurança", "Sharing" : "Partilha", "External Storage" : "Armazenamento Externo", "Cron" : "Cron", + "Email server" : "Servidor de Correio Eletrónico", "Log" : "Registo", + "Server status" : "Estado do servidor", "Tips & tricks" : "Dicas e truqes", "Updates" : "Atualizações", "Authentication error" : "Erro na autenticação", @@ -52,6 +55,9 @@ OC.L10N.register( "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que a mesma esteja concluída..", "Migration started …" : "Migração iniciada...", "Sending..." : "A enviar...", + "Official" : "Oficial", + "Approved" : "Aprovado", + "Experimental" : "Experimental", "All" : "Todos", "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "As apps oficiais são desenvolvidas por e na comunidade da ownCloud. Elas oferecem funcionalidade central para a ownCloud e está pronta para uma utilização na produção.", "Update to %s" : "Actualizar para %s", @@ -66,6 +72,7 @@ OC.L10N.register( "Uninstalling ...." : "A desinstalar....", "Error while uninstalling app" : "Ocorreu um erro durante a desinstalação da app", "Uninstall" : "Desinstalar", + "An error occurred: {message}" : "Ocorreu um erro: {message}", "Select a profile picture" : "Selecione uma fotografia de perfil", "Very weak password" : "Palavra-passe muito fraca", "Weak password" : "Palavra-passe fraca", @@ -174,6 +181,7 @@ OC.L10N.register( "licensed" : "licenciado", "Documentation:" : "Documentação:", "User documentation" : "Documentação de Utilizador", + "Admin documentation" : "Documentação do Administrador", "Show description …" : "Mostrar descrição ...", "Hide description …" : "Esconder descrição ...", "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicação não pode ser instalada porque as seguintes dependências não podem ser realizadas:", @@ -233,7 +241,6 @@ OC.L10N.register( "Create" : "Criar", "Admin Recovery Password" : "Recuperação da Palavra-passe de Administrador", "Enter the recovery password in order to recover the users files during password change" : "Digite a senha de recuperação, a fim de recuperar os ficheiros dos utilizadores durante a mudança da palavra-passe", - "Search Users" : "Procurar Utilizadores", "Add Group" : "Adicionar grupo", "Group" : "Grupo", "Everyone" : "Para todos", diff --git a/settings/l10n/pt_PT.json b/settings/l10n/pt_PT.json index bcdcd1bdd9..44a1bc8891 100644 --- a/settings/l10n/pt_PT.json +++ b/settings/l10n/pt_PT.json @@ -1,9 +1,12 @@ { "translations": { + "APCu" : "APCu", "Security & setup warnings" : "Avisos de configuração e segurança", "Sharing" : "Partilha", "External Storage" : "Armazenamento Externo", "Cron" : "Cron", + "Email server" : "Servidor de Correio Eletrónico", "Log" : "Registo", + "Server status" : "Estado do servidor", "Tips & tricks" : "Dicas e truqes", "Updates" : "Atualizações", "Authentication error" : "Erro na autenticação", @@ -50,6 +53,9 @@ "Migration in progress. Please wait until the migration is finished" : "Migração em progresso. Por favor, aguarde até que a mesma esteja concluída..", "Migration started …" : "Migração iniciada...", "Sending..." : "A enviar...", + "Official" : "Oficial", + "Approved" : "Aprovado", + "Experimental" : "Experimental", "All" : "Todos", "Official apps are developed by and within the ownCloud community. They offer functionality central to ownCloud and are ready for production use." : "As apps oficiais são desenvolvidas por e na comunidade da ownCloud. Elas oferecem funcionalidade central para a ownCloud e está pronta para uma utilização na produção.", "Update to %s" : "Actualizar para %s", @@ -64,6 +70,7 @@ "Uninstalling ...." : "A desinstalar....", "Error while uninstalling app" : "Ocorreu um erro durante a desinstalação da app", "Uninstall" : "Desinstalar", + "An error occurred: {message}" : "Ocorreu um erro: {message}", "Select a profile picture" : "Selecione uma fotografia de perfil", "Very weak password" : "Palavra-passe muito fraca", "Weak password" : "Palavra-passe fraca", @@ -172,6 +179,7 @@ "licensed" : "licenciado", "Documentation:" : "Documentação:", "User documentation" : "Documentação de Utilizador", + "Admin documentation" : "Documentação do Administrador", "Show description …" : "Mostrar descrição ...", "Hide description …" : "Esconder descrição ...", "This app cannot be installed because the following dependencies are not fulfilled:" : "Esta aplicação não pode ser instalada porque as seguintes dependências não podem ser realizadas:", @@ -231,7 +239,6 @@ "Create" : "Criar", "Admin Recovery Password" : "Recuperação da Palavra-passe de Administrador", "Enter the recovery password in order to recover the users files during password change" : "Digite a senha de recuperação, a fim de recuperar os ficheiros dos utilizadores durante a mudança da palavra-passe", - "Search Users" : "Procurar Utilizadores", "Add Group" : "Adicionar grupo", "Group" : "Grupo", "Everyone" : "Para todos", diff --git a/settings/l10n/ru.js b/settings/l10n/ru.js index 1aae8b2a97..d715cc4139 100644 --- a/settings/l10n/ru.js +++ b/settings/l10n/ru.js @@ -10,6 +10,7 @@ OC.L10N.register( "Cron" : "Cron (планировщик задач)", "Email server" : "Почтовый сервер", "Log" : "Журнал", + "Server status" : "Статус сервера", "Tips & tricks" : "Советы и трюки", "Updates" : "Обновления", "Authentication error" : "Ошибка аутентификации", @@ -30,7 +31,9 @@ OC.L10N.register( "Unable to change password" : "Невозможно изменить пароль", "Enabled" : "Включено", "Not enabled" : "Не включено", + "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 не будут работать надежно.", "A problem occurred, please check your log files (Error: %s)" : "Возникла проблема, пожалуйста, проверьте ваши файлы журнала (Ошибка: %s)", "Migration Completed" : "Миграция завершена", "Group already exists." : "Группа уже существует.", @@ -75,6 +78,7 @@ OC.L10N.register( "Uninstalling ...." : "Удаление ...", "Error while uninstalling app" : "Ошибка при удалении приложения", "Uninstall" : "Удалить", + "An error occurred: {message}" : "Произошла ошибка: {message}", "Select a profile picture" : "Выберите аватар", "Very weak password" : "Очень слабый пароль", "Weak password" : "Слабый пароль", @@ -150,7 +154,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.", "Enable server-side encryption" : "Включить шифрование на стороне сервера", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Шифрование это односторонний процесс. После включения шифрования все файлы будут зашифрованы на сервере, позднее его нельзя будет отключить. Это последнее предупреждение: вы действительно хотите включить шифрование?", "Enable encryption" : "Включить шифрование", "No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.", "Select default encryption module:" : "Выберите модуль шифрования по умолчанию:", @@ -196,6 +199,7 @@ OC.L10N.register( "licensed" : "Лицензировано", "Documentation:" : "Документация:", "User documentation" : "Пользовательская документация", + "Admin documentation" : "Документация для администратора", "Show description …" : "Показать описание ...", "Hide description …" : "Скрыть описание ...", "This app cannot be installed because the following dependencies are not fulfilled:" : "Приложение не может быть установлено, следующие зависимости не удовлетворены:", @@ -234,6 +238,7 @@ OC.L10N.register( "Upload new" : "Загрузить новый", "Select new from Files" : "Выберите новый из файлов", "Remove image" : "Удалить аватар", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Допустимые форматы: png и jpg. В идеале квадратное, но Вы сможете обрезать его. Файл не должен превышать максимальный размер в 20 МБ.", "Your avatar is provided by your original account." : "Будет использован аватар вашей оригинальной учетной записи.", "Cancel" : "Отмена", "Choose as profile image" : "Установить как аватар", @@ -255,7 +260,6 @@ OC.L10N.register( "Create" : "Создать", "Admin Recovery Password" : "Восстановление пароля администратора", "Enter the recovery password in order to recover the users files during password change" : "Введите пароль для того, чтобы восстановить файлы пользователей при смене пароля", - "Search Users" : "Поиск пользователей", "Add Group" : "Добавить группу", "Group" : "Группа", "Everyone" : "Все", diff --git a/settings/l10n/ru.json b/settings/l10n/ru.json index ef73320cbf..ac2aa38d84 100644 --- a/settings/l10n/ru.json +++ b/settings/l10n/ru.json @@ -8,6 +8,7 @@ "Cron" : "Cron (планировщик задач)", "Email server" : "Почтовый сервер", "Log" : "Журнал", + "Server status" : "Статус сервера", "Tips & tricks" : "Советы и трюки", "Updates" : "Обновления", "Authentication error" : "Ошибка аутентификации", @@ -28,7 +29,9 @@ "Unable to change password" : "Невозможно изменить пароль", "Enabled" : "Включено", "Not enabled" : "Не включено", + "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 не будут работать надежно.", "A problem occurred, please check your log files (Error: %s)" : "Возникла проблема, пожалуйста, проверьте ваши файлы журнала (Ошибка: %s)", "Migration Completed" : "Миграция завершена", "Group already exists." : "Группа уже существует.", @@ -73,6 +76,7 @@ "Uninstalling ...." : "Удаление ...", "Error while uninstalling app" : "Ошибка при удалении приложения", "Uninstall" : "Удалить", + "An error occurred: {message}" : "Произошла ошибка: {message}", "Select a profile picture" : "Выберите аватар", "Very weak password" : "Очень слабый пароль", "Weak password" : "Слабый пароль", @@ -148,7 +152,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php зарегистрирован в webcron и будет вызываться каждые 15 минут по http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Использовать системный cron для вызова cron.php каждые 15 минут.", "Enable server-side encryption" : "Включить шифрование на стороне сервера", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Шифрование это односторонний процесс. После включения шифрования все файлы будут зашифрованы на сервере, позднее его нельзя будет отключить. Это последнее предупреждение: вы действительно хотите включить шифрование?", "Enable encryption" : "Включить шифрование", "No encryption module loaded, please enable an encryption module in the app menu." : "Модуль шифрования не загружен, пожалуйста включите модуль шифрования в меню приложений.", "Select default encryption module:" : "Выберите модуль шифрования по умолчанию:", @@ -194,6 +197,7 @@ "licensed" : "Лицензировано", "Documentation:" : "Документация:", "User documentation" : "Пользовательская документация", + "Admin documentation" : "Документация для администратора", "Show description …" : "Показать описание ...", "Hide description …" : "Скрыть описание ...", "This app cannot be installed because the following dependencies are not fulfilled:" : "Приложение не может быть установлено, следующие зависимости не удовлетворены:", @@ -232,6 +236,7 @@ "Upload new" : "Загрузить новый", "Select new from Files" : "Выберите новый из файлов", "Remove image" : "Удалить аватар", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Допустимые форматы: png и jpg. В идеале квадратное, но Вы сможете обрезать его. Файл не должен превышать максимальный размер в 20 МБ.", "Your avatar is provided by your original account." : "Будет использован аватар вашей оригинальной учетной записи.", "Cancel" : "Отмена", "Choose as profile image" : "Установить как аватар", @@ -253,7 +258,6 @@ "Create" : "Создать", "Admin Recovery Password" : "Восстановление пароля администратора", "Enter the recovery password in order to recover the users files during password change" : "Введите пароль для того, чтобы восстановить файлы пользователей при смене пароля", - "Search Users" : "Поиск пользователей", "Add Group" : "Добавить группу", "Group" : "Группа", "Everyone" : "Все", diff --git a/settings/l10n/sk_SK.js b/settings/l10n/sk_SK.js index 67457a3021..f0e7a18839 100644 --- a/settings/l10n/sk_SK.js +++ b/settings/l10n/sk_SK.js @@ -241,7 +241,6 @@ OC.L10N.register( "Create" : "Vytvoriť", "Admin Recovery Password" : "Obnovenie hesla administrátora", "Enter the recovery password in order to recover the users files during password change" : "Zadajte heslo pre obnovenie súborov používateľa pri zmene hesla", - "Search Users" : "Hľadať používateľov", "Add Group" : "Pridať skupinu", "Group" : "Skupina", "Everyone" : "Všetci", diff --git a/settings/l10n/sk_SK.json b/settings/l10n/sk_SK.json index f08db3ba0a..890636970a 100644 --- a/settings/l10n/sk_SK.json +++ b/settings/l10n/sk_SK.json @@ -239,7 +239,6 @@ "Create" : "Vytvoriť", "Admin Recovery Password" : "Obnovenie hesla administrátora", "Enter the recovery password in order to recover the users files during password change" : "Zadajte heslo pre obnovenie súborov používateľa pri zmene hesla", - "Search Users" : "Hľadať používateľov", "Add Group" : "Pridať skupinu", "Group" : "Skupina", "Everyone" : "Všetci", diff --git a/settings/l10n/sl.js b/settings/l10n/sl.js index b1ccf3058a..42678f0c83 100644 --- a/settings/l10n/sl.js +++ b/settings/l10n/sl.js @@ -227,7 +227,6 @@ OC.L10N.register( "Create" : "Ustvari", "Admin Recovery Password" : "Obnovitev skrbniškega gesla", "Enter the recovery password in order to recover the users files during password change" : "Vnesite geslo, ki omogoča obnovitev uporabniških datotek med spreminjanjem gesla", - "Search Users" : "Poišči med uporabniki", "Add Group" : "Dodaj skupino", "Group" : "Skupina", "Everyone" : "Vsi", diff --git a/settings/l10n/sl.json b/settings/l10n/sl.json index 09dc9ad37f..4bade265da 100644 --- a/settings/l10n/sl.json +++ b/settings/l10n/sl.json @@ -225,7 +225,6 @@ "Create" : "Ustvari", "Admin Recovery Password" : "Obnovitev skrbniškega gesla", "Enter the recovery password in order to recover the users files during password change" : "Vnesite geslo, ki omogoča obnovitev uporabniških datotek med spreminjanjem gesla", - "Search Users" : "Poišči med uporabniki", "Add Group" : "Dodaj skupino", "Group" : "Skupina", "Everyone" : "Vsi", diff --git a/settings/l10n/sr.js b/settings/l10n/sr.js index 4a48261c8d..f63cedbe91 100644 --- a/settings/l10n/sr.js +++ b/settings/l10n/sr.js @@ -150,7 +150,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 15 минута преко протокола http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 15 минута.", "Enable server-side encryption" : "Укључи шифровање на страни сервера", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Шифровање је једносмеран процес. Једном када се укључи, сви фајлови ће од тада бити шифровани на серверу и касније се неће моћи искључити. Ово је последње упозорење: Да ли заиста желите да укључите шифровање?", "Enable encryption" : "Укључи шифровање", "No encryption module loaded, please enable an encryption module in the app menu." : "Шифрарски модул није учитан. Укључите га у менију апликација", "Select default encryption module:" : "Изаберите подразумевани шифрарски модул:", @@ -256,7 +255,6 @@ OC.L10N.register( "Create" : "Направи", "Admin Recovery Password" : "Администраторска лозинка за опоравак", "Enter the recovery password in order to recover the users files during password change" : "Унесите лозинку за опоравак корисничких фајлова током промене лозинке", - "Search Users" : "Тражи кориснике", "Add Group" : "Додај групу", "Group" : "Група", "Everyone" : "Сви", diff --git a/settings/l10n/sr.json b/settings/l10n/sr.json index 4dc73a2df7..9d3767e0df 100644 --- a/settings/l10n/sr.json +++ b/settings/l10n/sr.json @@ -148,7 +148,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php је регистрован код вебкрон сервиса за позивање cron.php сваких 15 минута преко протокола http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Користите системски крон сервис за позивање cron.php фајла сваких 15 минута.", "Enable server-side encryption" : "Укључи шифровање на страни сервера", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Шифровање је једносмеран процес. Једном када се укључи, сви фајлови ће од тада бити шифровани на серверу и касније се неће моћи искључити. Ово је последње упозорење: Да ли заиста желите да укључите шифровање?", "Enable encryption" : "Укључи шифровање", "No encryption module loaded, please enable an encryption module in the app menu." : "Шифрарски модул није учитан. Укључите га у менију апликација", "Select default encryption module:" : "Изаберите подразумевани шифрарски модул:", @@ -254,7 +253,6 @@ "Create" : "Направи", "Admin Recovery Password" : "Администраторска лозинка за опоравак", "Enter the recovery password in order to recover the users files during password change" : "Унесите лозинку за опоравак корисничких фајлова током промене лозинке", - "Search Users" : "Тражи кориснике", "Add Group" : "Додај групу", "Group" : "Група", "Everyone" : "Сви", diff --git a/settings/l10n/sv.js b/settings/l10n/sv.js index 703add8fac..43c6bf0621 100644 --- a/settings/l10n/sv.js +++ b/settings/l10n/sv.js @@ -186,7 +186,6 @@ OC.L10N.register( "Create" : "Skapa", "Admin Recovery Password" : "Admin-återställningslösenord", "Enter the recovery password in order to recover the users files during password change" : "Ange återställningslösenordet för att återställa användarnas filer vid lösenordsbyte", - "Search Users" : "Sök användare", "Add Group" : "Lägg till Grupp", "Group" : "Grupp", "Everyone" : "Alla", diff --git a/settings/l10n/sv.json b/settings/l10n/sv.json index c7d0a8eba4..3e61a6e965 100644 --- a/settings/l10n/sv.json +++ b/settings/l10n/sv.json @@ -184,7 +184,6 @@ "Create" : "Skapa", "Admin Recovery Password" : "Admin-återställningslösenord", "Enter the recovery password in order to recover the users files during password change" : "Ange återställningslösenordet för att återställa användarnas filer vid lösenordsbyte", - "Search Users" : "Sök användare", "Add Group" : "Lägg till Grupp", "Group" : "Grupp", "Everyone" : "Alla", diff --git a/settings/l10n/th_TH.js b/settings/l10n/th_TH.js index 7eef1519b8..a66c907be0 100644 --- a/settings/l10n/th_TH.js +++ b/settings/l10n/th_TH.js @@ -104,7 +104,7 @@ OC.L10N.register( "A valid password must be provided" : "จะต้องระบุรหัสผ่านที่ถูกต้อง", "A valid email must be provided" : "จะต้องระบุอีเมลที่ถูกต้อง", "__language_name__" : "ภาษาไทย - Thai languages", - "Sync clients" : "ผสานข้อมูลของไคลเอนต์", + "Sync clients" : "ประสานข้อมูลไคลเอนต์", "Personal info" : "ข้อมูลส่วนบุคคล", "SSL root certificates" : "ใบรับรองความปลอดภัยด้วยระบบ SSL จาก Root", "Everything (fatal issues, errors, warnings, info, debug)" : "ทุกอย่าง (ปัญหาร้ายแรง ข้อผิดพลาด คำเตือน ข้อมูล การแก้ปัญหา)", @@ -154,7 +154,6 @@ 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 ทุกq 15 นาที", "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "การเข้ารหัสเป็นกระบวนการหนึ่ง เมื่อมีการเปิดใช้การเข้ารหัส ไฟล์ทั้งหมดจะถูกเข้ารหัสบนเซิร์ฟเวอร์และมันจะไม่เป็นไปได้ที่จะปิดการใช้งานการเข้ารหัสในภายหลัง นี้เป็นคำเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ", "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:", @@ -184,7 +183,7 @@ OC.L10N.register( "Transactional File Locking is enabled." : "เปิดใช้งานล็อคไฟล์ขณะทำธุรกรรม", "Transactional File Locking is disabled." : "ปิดใช้งานล็อคไฟล์ขณะทำธุรกรรม", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "จะใช้ SQLite เป็นฐานข้อมูล สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำเพื่อสลับไปยังฐานข้อมูลแบ็กเอนด์ที่แตกต่างกัน", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการผสานข้อมูลโดย SQLite", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "การโยกย้ายไปยังฐานข้อมูลอื่นใช้เครื่องมือบรรทัดคำสั่ง: 'occ db:convert-type' หรือดูที่ เอกสาร", "How to do backups" : "วิธีการสำรองข้อมูล", "Advanced monitoring" : "การตรวจสอบขั้นสูง", @@ -216,7 +215,7 @@ OC.L10N.register( "Forum" : "ฟอรั่ม", "Issue tracker" : "ติดตามปัญหา", "Commercial support" : "สนับสนุนเชิงพาณิชย์", - "Get the apps to sync your files" : "ใช้แอพพลิเคชันในการผสานไฟล์ของคุณ", + "Get the apps to sync your files" : "ใช้แอพพลิเคชันในการประสานไฟล์ของคุณ", "Desktop client" : "เดสก์ทอปผู้ใช้", "Android app" : "แอพฯ แอนดรอยด์", "iOS app" : "แอพฯ IOS", @@ -261,7 +260,6 @@ OC.L10N.register( "Create" : "สร้าง", "Admin Recovery Password" : "กู้คืนรหัสผ่านดูแลระบบ", "Enter the recovery password in order to recover the users files during password change" : "ป้อนรหัสผ่านการกู้คืนเพื่อกู้คืนไฟล์ผู้ใช้ในช่วงการเปลี่ยนรหัสผ่าน", - "Search Users" : "ค้นหาผู้ใช้", "Add Group" : "เพิ่มกลุ่ม", "Group" : "กลุ่ม", "Everyone" : "ทุกคน", diff --git a/settings/l10n/th_TH.json b/settings/l10n/th_TH.json index 8659b55d52..17ccd3c3bd 100644 --- a/settings/l10n/th_TH.json +++ b/settings/l10n/th_TH.json @@ -102,7 +102,7 @@ "A valid password must be provided" : "จะต้องระบุรหัสผ่านที่ถูกต้อง", "A valid email must be provided" : "จะต้องระบุอีเมลที่ถูกต้อง", "__language_name__" : "ภาษาไทย - Thai languages", - "Sync clients" : "ผสานข้อมูลของไคลเอนต์", + "Sync clients" : "ประสานข้อมูลไคลเอนต์", "Personal info" : "ข้อมูลส่วนบุคคล", "SSL root certificates" : "ใบรับรองความปลอดภัยด้วยระบบ SSL จาก Root", "Everything (fatal issues, errors, warnings, info, debug)" : "ทุกอย่าง (ปัญหาร้ายแรง ข้อผิดพลาด คำเตือน ข้อมูล การแก้ปัญหา)", @@ -152,7 +152,6 @@ "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 ทุกq 15 นาที", "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "การเข้ารหัสเป็นกระบวนการหนึ่ง เมื่อมีการเปิดใช้การเข้ารหัส ไฟล์ทั้งหมดจะถูกเข้ารหัสบนเซิร์ฟเวอร์และมันจะไม่เป็นไปได้ที่จะปิดการใช้งานการเข้ารหัสในภายหลัง นี้เป็นคำเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ", "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:", @@ -182,7 +181,7 @@ "Transactional File Locking is enabled." : "เปิดใช้งานล็อคไฟล์ขณะทำธุรกรรม", "Transactional File Locking is disabled." : "ปิดใช้งานล็อคไฟล์ขณะทำธุรกรรม", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "จะใช้ SQLite เป็นฐานข้อมูล สำหรับการติดตั้งขนาดใหญ่เราขอแนะนำเพื่อสลับไปยังฐานข้อมูลแบ็กเอนด์ที่แตกต่างกัน", - "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการผสานข้อมูลโดย SQLite", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "โดยเฉพาะอย่างยิ่งเมื่อใช้ไคลเอนต์เดสก์ทอปสำหรับการประสานข้อมูลโดย SQLite", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "การโยกย้ายไปยังฐานข้อมูลอื่นใช้เครื่องมือบรรทัดคำสั่ง: 'occ db:convert-type' หรือดูที่ เอกสาร", "How to do backups" : "วิธีการสำรองข้อมูล", "Advanced monitoring" : "การตรวจสอบขั้นสูง", @@ -214,7 +213,7 @@ "Forum" : "ฟอรั่ม", "Issue tracker" : "ติดตามปัญหา", "Commercial support" : "สนับสนุนเชิงพาณิชย์", - "Get the apps to sync your files" : "ใช้แอพพลิเคชันในการผสานไฟล์ของคุณ", + "Get the apps to sync your files" : "ใช้แอพพลิเคชันในการประสานไฟล์ของคุณ", "Desktop client" : "เดสก์ทอปผู้ใช้", "Android app" : "แอพฯ แอนดรอยด์", "iOS app" : "แอพฯ IOS", @@ -259,7 +258,6 @@ "Create" : "สร้าง", "Admin Recovery Password" : "กู้คืนรหัสผ่านดูแลระบบ", "Enter the recovery password in order to recover the users files during password change" : "ป้อนรหัสผ่านการกู้คืนเพื่อกู้คืนไฟล์ผู้ใช้ในช่วงการเปลี่ยนรหัสผ่าน", - "Search Users" : "ค้นหาผู้ใช้", "Add Group" : "เพิ่มกลุ่ม", "Group" : "กลุ่ม", "Everyone" : "ทุกคน", diff --git a/settings/l10n/tr.js b/settings/l10n/tr.js index a6afbd1f65..889b2c31d9 100644 --- a/settings/l10n/tr.js +++ b/settings/l10n/tr.js @@ -150,7 +150,6 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden her 15 dakikada bir çağrılması için webcron hizmetine kaydedilir.", "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını her 15 dakikada bir çağırmak için sistem cron hizmetini kullan.", "Enable server-side encryption" : "Sunucu taraflı şifrelemeyi aç", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Şifreleme tek yönlü bir işlemdir. Şifrele etkinleştirildiğinde, yönlendirilen tüm dosyalar sunucuda şifrelenecek ve daha sonra şifrelemenin kaldırılması mümkün olmayacaktır. Bu son uyarı: Gerçekten şifrelemeyi etkinleştirmek istiyor musunuz?", "Enable encryption" : "Şifrelemeyi aç", "No encryption module loaded, please enable an encryption module in the app menu." : "Hiç şifrelenme modülü yüklenmemiş, lütfen uygulama menüsünden bir şifreleme modülü etkinleştirin.", "Select default encryption module:" : "Öntanımlı şifreleme modülünü seçin:", @@ -255,7 +254,6 @@ OC.L10N.register( "Create" : "Oluştur", "Admin Recovery Password" : "Yönetici Kurtarma Parolası", "Enter the recovery password in order to recover the users files during password change" : "Parola değiştirme sırasında kullanıcı dosyalarını kurtarmak için kurtarma parolasını girin", - "Search Users" : "Kullanıcı Ara", "Add Group" : "Grup Ekle", "Group" : "Grup", "Everyone" : "Herkes", diff --git a/settings/l10n/tr.json b/settings/l10n/tr.json index 79923ef74f..d4cc45eff6 100644 --- a/settings/l10n/tr.json +++ b/settings/l10n/tr.json @@ -148,7 +148,6 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php, http üzerinden her 15 dakikada bir çağrılması için webcron hizmetine kaydedilir.", "Use system's cron service to call the cron.php file every 15 minutes." : "Cron.php dosyasını her 15 dakikada bir çağırmak için sistem cron hizmetini kullan.", "Enable server-side encryption" : "Sunucu taraflı şifrelemeyi aç", - "Encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date. This is the final warning: Do you really want to enable encryption?" : "Şifreleme tek yönlü bir işlemdir. Şifrele etkinleştirildiğinde, yönlendirilen tüm dosyalar sunucuda şifrelenecek ve daha sonra şifrelemenin kaldırılması mümkün olmayacaktır. Bu son uyarı: Gerçekten şifrelemeyi etkinleştirmek istiyor musunuz?", "Enable encryption" : "Şifrelemeyi aç", "No encryption module loaded, please enable an encryption module in the app menu." : "Hiç şifrelenme modülü yüklenmemiş, lütfen uygulama menüsünden bir şifreleme modülü etkinleştirin.", "Select default encryption module:" : "Öntanımlı şifreleme modülünü seçin:", @@ -253,7 +252,6 @@ "Create" : "Oluştur", "Admin Recovery Password" : "Yönetici Kurtarma Parolası", "Enter the recovery password in order to recover the users files during password change" : "Parola değiştirme sırasında kullanıcı dosyalarını kurtarmak için kurtarma parolasını girin", - "Search Users" : "Kullanıcı Ara", "Add Group" : "Grup Ekle", "Group" : "Grup", "Everyone" : "Herkes", diff --git a/settings/l10n/uk.js b/settings/l10n/uk.js index 51a7e52636..d2d08df164 100644 --- a/settings/l10n/uk.js +++ b/settings/l10n/uk.js @@ -241,7 +241,6 @@ OC.L10N.register( "Create" : "Створити", "Admin Recovery Password" : "Пароль адміністратора для відновлення", "Enter the recovery password in order to recover the users files during password change" : "Введіть пароль для того, щоб відновити файли користувачів при зміні паролю", - "Search Users" : "Шукати користувачів", "Add Group" : "Додати групу", "Group" : "Група", "Everyone" : "Всі", diff --git a/settings/l10n/uk.json b/settings/l10n/uk.json index 29002db8d0..8105eb7e37 100644 --- a/settings/l10n/uk.json +++ b/settings/l10n/uk.json @@ -239,7 +239,6 @@ "Create" : "Створити", "Admin Recovery Password" : "Пароль адміністратора для відновлення", "Enter the recovery password in order to recover the users files during password change" : "Введіть пароль для того, щоб відновити файли користувачів при зміні паролю", - "Search Users" : "Шукати користувачів", "Add Group" : "Додати групу", "Group" : "Група", "Everyone" : "Всі", diff --git a/settings/l10n/zh_CN.js b/settings/l10n/zh_CN.js index e8703fa98f..36835692c2 100644 --- a/settings/l10n/zh_CN.js +++ b/settings/l10n/zh_CN.js @@ -1,6 +1,8 @@ OC.L10N.register( "settings", { + "APCu" : "APCu", + "Redis" : "Redis", "Sharing" : "共享", "Server-side encryption" : "服务器端加密", "External Storage" : "外部存储", @@ -70,7 +72,7 @@ OC.L10N.register( "Error creating user" : "创建用户出错", "A valid password must be provided" : "必须提供合法的密码", "__language_name__" : "简体中文", - "Sync clients" : "同步客户端", + "Sync clients" : "客户端", "Personal info" : "个人信息", "SSL root certificates" : "SSL 根证书", "Everything (fatal issues, errors, warnings, info, debug)" : "所有(灾难性问题,错误,警告,信息,调试)", @@ -101,6 +103,7 @@ OC.L10N.register( "Enforce expiration date" : "强制过期日期", "Allow resharing" : "允许再次共享", "Restrict users to only share with users in their groups" : "限制仅与组内用户分享", + "Allow users to send mail notification for shared files to other users" : "允许用户发送共享文件的邮件通知给其他用户", "Exclude groups from sharing" : "在分享中排除组", "These groups will still be able to receive shares, but not to initiate them." : "这些组将仍可以获取分享,但无法向他人分享。", "Cron was not executed yet!" : "定时任务还未被执行!", @@ -145,6 +148,7 @@ OC.L10N.register( "Desktop client" : "桌面客户端", "Android app" : "Android 应用", "iOS app" : "iOS 应用", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "想支持ownCloud项目?请\n\t\t参加开发\n\t\t或者\n\t\t帮助推广吧!", "Show First Run Wizard again" : "再次显示首次运行向导", "You have used %s of the available %s" : "你已使用 %s,有效空间 %s", "Password" : "密码", @@ -175,7 +179,6 @@ OC.L10N.register( "Create" : "创建", "Admin Recovery Password" : "管理恢复密码", "Enter the recovery password in order to recover the users files during password change" : "输入恢复密码来在更改密码的时候恢复用户文件", - "Search Users" : "搜索用户", "Add Group" : "增加组", "Group" : "分组", "Everyone" : "所有人", diff --git a/settings/l10n/zh_CN.json b/settings/l10n/zh_CN.json index 140962eaba..e965deb8be 100644 --- a/settings/l10n/zh_CN.json +++ b/settings/l10n/zh_CN.json @@ -1,4 +1,6 @@ { "translations": { + "APCu" : "APCu", + "Redis" : "Redis", "Sharing" : "共享", "Server-side encryption" : "服务器端加密", "External Storage" : "外部存储", @@ -68,7 +70,7 @@ "Error creating user" : "创建用户出错", "A valid password must be provided" : "必须提供合法的密码", "__language_name__" : "简体中文", - "Sync clients" : "同步客户端", + "Sync clients" : "客户端", "Personal info" : "个人信息", "SSL root certificates" : "SSL 根证书", "Everything (fatal issues, errors, warnings, info, debug)" : "所有(灾难性问题,错误,警告,信息,调试)", @@ -99,6 +101,7 @@ "Enforce expiration date" : "强制过期日期", "Allow resharing" : "允许再次共享", "Restrict users to only share with users in their groups" : "限制仅与组内用户分享", + "Allow users to send mail notification for shared files to other users" : "允许用户发送共享文件的邮件通知给其他用户", "Exclude groups from sharing" : "在分享中排除组", "These groups will still be able to receive shares, but not to initiate them." : "这些组将仍可以获取分享,但无法向他人分享。", "Cron was not executed yet!" : "定时任务还未被执行!", @@ -143,6 +146,7 @@ "Desktop client" : "桌面客户端", "Android app" : "Android 应用", "iOS app" : "iOS 应用", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "想支持ownCloud项目?请\n\t\t参加开发\n\t\t或者\n\t\t帮助推广吧!", "Show First Run Wizard again" : "再次显示首次运行向导", "You have used %s of the available %s" : "你已使用 %s,有效空间 %s", "Password" : "密码", @@ -173,7 +177,6 @@ "Create" : "创建", "Admin Recovery Password" : "管理恢复密码", "Enter the recovery password in order to recover the users files during password change" : "输入恢复密码来在更改密码的时候恢复用户文件", - "Search Users" : "搜索用户", "Add Group" : "增加组", "Group" : "分组", "Everyone" : "所有人", diff --git a/settings/l10n/zh_TW.js b/settings/l10n/zh_TW.js index 69298cb94e..dcb8b51259 100644 --- a/settings/l10n/zh_TW.js +++ b/settings/l10n/zh_TW.js @@ -4,7 +4,10 @@ OC.L10N.register( "Sharing" : "分享", "External Storage" : "外部儲存", "Cron" : "工作排程", + "Email server" : "郵件伺服器", "Log" : "紀錄", + "Server status" : "伺服器狀態", + "Tips & tricks" : "技巧 & 提示", "Updates" : "更新", "Authentication error" : "認證錯誤", "Your full name has been changed." : "您的全名已變更。", @@ -23,12 +26,14 @@ OC.L10N.register( "Unable to change password" : "無法修改密碼", "Enabled" : "已啓用", "Not enabled" : "無啟動", + "Migration Completed" : "遷移已完成", "Group already exists." : "群組已存在", "Saved" : "已儲存", "test email settings" : "測試郵件設定", "Email sent" : "Email 已寄出", "You need to set your user email before being able to send test emails." : "在準備要寄出測試郵件時您需要設定您的使用者郵件。", "Email saved" : "Email已儲存", + "Migration started …" : "遷移開始中 ...", "Sending..." : "寄送中...", "All" : "所有", "Please wait...." : "請稍候...", @@ -93,12 +98,32 @@ OC.L10N.register( "Log level" : "紀錄層級", "More" : "更多", "Less" : "更少", + "How to do backups" : "如何輩分", "Version" : "版本", + "Developer documentation" : "開發者說明文件", "by" : "由", + "licensed" : "許可證", "Documentation:" : "文件:", + "User documentation" : "用戶說明文件", + "Admin documentation" : "管理者文件", + "Show description …" : "顯示描述", + "Hide description …" : "隱藏描述", + "Uninstall App" : "刪除 App", + "Enable experimental apps" : "啟用測試中的應用程式", + "No apps found for your version" : "在您的版本中未找到任何應用程式", + "Hey there,

just letting you know that you now have an %s account.

Your username: %s
Access it: %s

" : "嗨,

通知您一聲,您現在有了 %s 的帳號。

您的帳號: %s
開通帳號: %s

", "Cheers!" : "太棒了!", + "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "嗨,\n\n通知您一聲,您現在有了 %s 的帳號。\n\n您的帳號:%s\n開通帳號:%s\n\n", + "Administrator documentation" : "管理者說明文件", + "Online documentation" : "線上說明文件", "Forum" : "論壇", + "Issue tracker" : "問題追蹤", + "Commercial support" : "商用支援", "Get the apps to sync your files" : "下載應用程式來同步您的檔案", + "Desktop client" : "桌面客戶端", + "Android app" : "Android 應用程式", + "iOS app" : "iOS 應用程式", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "若您想支援這個計畫\n\t\t加入開發者\n\t\t或\n\t\t替我們宣傳!", "Show First Run Wizard again" : "再次顯示首次使用精靈", "You have used %s of the available %s" : "您已經使用了 %s ,目前可用空間為 %s", "Password" : "密碼", @@ -106,31 +131,49 @@ OC.L10N.register( "Current password" : "目前密碼", "New password" : "新密碼", "Change password" : "變更密碼", + "Full name" : "全名", + "No display name set" : "未設置顯示名稱", "Email" : "信箱", "Your email address" : "您的電子郵件信箱", "Fill in an email address to enable password recovery and receive notifications" : "填入電子郵件地址來啟用忘記密碼和接收通知的功能", + "No email address set" : "未設置電子郵件信箱", + "You are member of the following groups:" : "您的會員帳號歸類在以下群組:", "Profile picture" : "個人資料照片", "Upload new" : "上傳新的", "Select new from Files" : "從已上傳的檔案中選一個", "Remove image" : "移除圖片", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "可以使用 png 或 jpg 格式,最好是方形的,但是您之後也可以裁剪它。圖片容量最大請勿超過 20 MB。", "Your avatar is provided by your original account." : "您的圖像是由您原來的帳號所提供的。", "Cancel" : "取消", "Choose as profile image" : "設定為大頭貼", "Language" : "語言", "Help translate" : "幫助翻譯", + "Show storage location" : "顯示儲存位置", + "Show last log in" : "顯示最近登入", + "Show user backend" : "顯示用戶後台", + "Send email to new user" : "寄送郵件給新用戶", + "Show email address" : "顯示電子郵件信箱", "Username" : "使用者名稱", + "E-Mail" : "電子郵件", "Create" : "建立", "Admin Recovery Password" : "管理者復原密碼", "Enter the recovery password in order to recover the users files during password change" : "為了修改密碼時能夠取回使用者資料,請輸入另一組還原用密碼", + "Add Group" : "新增群組", "Group" : "群組", + "Everyone" : "所有人", + "Admins" : "管理者", "Default Quota" : "預設容量限制", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "請輸入空間配額(例如: \"512 MB\"或是 \"12 GB\")", "Unlimited" : "無限制", "Other" : "其他", "Full Name" : "全名", "Quota" : "容量限制", + "Storage Location" : "儲存位置", + "User Backend" : "用戶後台", + "Last Login" : "最近登入", "change full name" : "變更全名", "set new password" : "設定新密碼", + "change email address" : "更改電子郵件地址", "Default" : "預設" }, "nplurals=1; plural=0;"); diff --git a/settings/l10n/zh_TW.json b/settings/l10n/zh_TW.json index 2d7122fd2b..372265a8d3 100644 --- a/settings/l10n/zh_TW.json +++ b/settings/l10n/zh_TW.json @@ -2,7 +2,10 @@ "Sharing" : "分享", "External Storage" : "外部儲存", "Cron" : "工作排程", + "Email server" : "郵件伺服器", "Log" : "紀錄", + "Server status" : "伺服器狀態", + "Tips & tricks" : "技巧 & 提示", "Updates" : "更新", "Authentication error" : "認證錯誤", "Your full name has been changed." : "您的全名已變更。", @@ -21,12 +24,14 @@ "Unable to change password" : "無法修改密碼", "Enabled" : "已啓用", "Not enabled" : "無啟動", + "Migration Completed" : "遷移已完成", "Group already exists." : "群組已存在", "Saved" : "已儲存", "test email settings" : "測試郵件設定", "Email sent" : "Email 已寄出", "You need to set your user email before being able to send test emails." : "在準備要寄出測試郵件時您需要設定您的使用者郵件。", "Email saved" : "Email已儲存", + "Migration started …" : "遷移開始中 ...", "Sending..." : "寄送中...", "All" : "所有", "Please wait...." : "請稍候...", @@ -91,12 +96,32 @@ "Log level" : "紀錄層級", "More" : "更多", "Less" : "更少", + "How to do backups" : "如何輩分", "Version" : "版本", + "Developer documentation" : "開發者說明文件", "by" : "由", + "licensed" : "許可證", "Documentation:" : "文件:", + "User documentation" : "用戶說明文件", + "Admin documentation" : "管理者文件", + "Show description …" : "顯示描述", + "Hide description …" : "隱藏描述", + "Uninstall App" : "刪除 App", + "Enable experimental apps" : "啟用測試中的應用程式", + "No apps found for your version" : "在您的版本中未找到任何應用程式", + "Hey there,

just letting you know that you now have an %s account.

Your username: %s
Access it: %s

" : "嗨,

通知您一聲,您現在有了 %s 的帳號。

您的帳號: %s
開通帳號: %s

", "Cheers!" : "太棒了!", + "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "嗨,\n\n通知您一聲,您現在有了 %s 的帳號。\n\n您的帳號:%s\n開通帳號:%s\n\n", + "Administrator documentation" : "管理者說明文件", + "Online documentation" : "線上說明文件", "Forum" : "論壇", + "Issue tracker" : "問題追蹤", + "Commercial support" : "商用支援", "Get the apps to sync your files" : "下載應用程式來同步您的檔案", + "Desktop client" : "桌面客戶端", + "Android app" : "Android 應用程式", + "iOS app" : "iOS 應用程式", + "If you want to support the project\n\t\tjoin development\n\t\tor\n\t\tspread the word!" : "若您想支援這個計畫\n\t\t加入開發者\n\t\t或\n\t\t替我們宣傳!", "Show First Run Wizard again" : "再次顯示首次使用精靈", "You have used %s of the available %s" : "您已經使用了 %s ,目前可用空間為 %s", "Password" : "密碼", @@ -104,31 +129,49 @@ "Current password" : "目前密碼", "New password" : "新密碼", "Change password" : "變更密碼", + "Full name" : "全名", + "No display name set" : "未設置顯示名稱", "Email" : "信箱", "Your email address" : "您的電子郵件信箱", "Fill in an email address to enable password recovery and receive notifications" : "填入電子郵件地址來啟用忘記密碼和接收通知的功能", + "No email address set" : "未設置電子郵件信箱", + "You are member of the following groups:" : "您的會員帳號歸類在以下群組:", "Profile picture" : "個人資料照片", "Upload new" : "上傳新的", "Select new from Files" : "從已上傳的檔案中選一個", "Remove image" : "移除圖片", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "可以使用 png 或 jpg 格式,最好是方形的,但是您之後也可以裁剪它。圖片容量最大請勿超過 20 MB。", "Your avatar is provided by your original account." : "您的圖像是由您原來的帳號所提供的。", "Cancel" : "取消", "Choose as profile image" : "設定為大頭貼", "Language" : "語言", "Help translate" : "幫助翻譯", + "Show storage location" : "顯示儲存位置", + "Show last log in" : "顯示最近登入", + "Show user backend" : "顯示用戶後台", + "Send email to new user" : "寄送郵件給新用戶", + "Show email address" : "顯示電子郵件信箱", "Username" : "使用者名稱", + "E-Mail" : "電子郵件", "Create" : "建立", "Admin Recovery Password" : "管理者復原密碼", "Enter the recovery password in order to recover the users files during password change" : "為了修改密碼時能夠取回使用者資料,請輸入另一組還原用密碼", + "Add Group" : "新增群組", "Group" : "群組", + "Everyone" : "所有人", + "Admins" : "管理者", "Default Quota" : "預設容量限制", "Please enter storage quota (ex: \"512 MB\" or \"12 GB\")" : "請輸入空間配額(例如: \"512 MB\"或是 \"12 GB\")", "Unlimited" : "無限制", "Other" : "其他", "Full Name" : "全名", "Quota" : "容量限制", + "Storage Location" : "儲存位置", + "User Backend" : "用戶後台", + "Last Login" : "最近登入", "change full name" : "變更全名", "set new password" : "設定新密碼", + "change email address" : "更改電子郵件地址", "Default" : "預設" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file From d7ceb3a1625267047ef9f9bb6d7d6a32a0492d77 Mon Sep 17 00:00:00 2001 From: Christoph Wurst Date: Tue, 25 Aug 2015 22:59:15 +0200 Subject: [PATCH 073/329] adjust dropdown borders to button borders --- apps/files/css/files.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 7a4d6110ba..026713569a 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -53,7 +53,7 @@ text-align: left; background: #f8f8f8; border: 1px solid #ddd; - border: 1px solid rgba(190, 190, 190, 0.901961); + border: 1px solid rgba(240, 240, 240, 0.9); border-radius: 5px; border-top-left-radius: 0; box-shadow: 0 2px 7px rgba(170,170,170,.4); From 5a6b10ae6fd5a50e2f3dde7f28d5e24faa51383d Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Tue, 25 Aug 2015 18:46:43 +0200 Subject: [PATCH 074/329] only show search icon on desktop, like on mobile --- core/css/header.css | 2 +- core/css/mobile.css | 23 ----------------------- core/css/styles.css | 21 ++++++++++++++------- 3 files changed, 15 insertions(+), 31 deletions(-) diff --git a/core/css/header.css b/core/css/header.css index 466022e9f7..5630f96953 100644 --- a/core/css/header.css +++ b/core/css/header.css @@ -294,7 +294,7 @@ } #expand { display: block; - padding: 7px 30px 6px 22px; + padding: 7px 30px 6px 10px; cursor: pointer; } #expand * { diff --git a/core/css/mobile.css b/core/css/mobile.css index 9008e39b89..29507a0faa 100644 --- a/core/css/mobile.css +++ b/core/css/mobile.css @@ -26,35 +26,12 @@ display: none; } -/* compress search box on mobile, expand when focused */ -.searchbox input[type="search"] { - width: 0; - cursor: pointer; - background-color: transparent; - -webkit-transition: all 100ms; - -moz-transition: all 100ms; - -o-transition: all 100ms; - transition: all 100ms; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; - opacity: .7; -} -.searchbox input[type="search"]:focus, -.searchbox input[type="search"]:active { - width: 155px; - max-width: 50%; - cursor: text; - background-color: #112; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - opacity: 1; -} - /* do not show display name on mobile when profile picture is present */ #header .avatardiv.avatardiv-shown + #expandDisplayName { display: none; } #header #expand { display: block; - padding: 7px 30px 6px 7px; } /* do not show update notification on mobile */ diff --git a/core/css/styles.css b/core/css/styles.css index 5ad81fd12a..3c4c21d4e2 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -258,21 +258,28 @@ input:disabled+label, input:disabled:hover+label, input:disabled:focus+label { font-size: 1.2em; padding: 3px; padding-left: 25px; - background: #112 url('../img/actions/search-white.svg') no-repeat 6px center; + background: transparent url('../img/actions/search-white.svg') no-repeat 6px center; color: #fff; border: 0; border-radius: 3px; - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; - opacity: .3; margin-top: 9px; float: right; -} -.searchbox input[type="search"]:hover, -.searchbox input[type="search"]:focus, -.searchbox input[type="search"]:active { + width: 0; + cursor: pointer; + -webkit-transition: all 100ms; + -moz-transition: all 100ms; + -o-transition: all 100ms; + transition: all 100ms; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; opacity: .7; +} +.searchbox input[type="search"]:focus, +.searchbox input[type="search"]:active { color: #fff; + width: 155px; + max-width: 50%; + cursor: text; + background-color: #112; } input[type="submit"].enabled { From 2458a09ac4fa399f38f54765e4858ae3c8963d87 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 26 Aug 2015 09:46:47 +0200 Subject: [PATCH 075/329] use same font-size for share action text --- apps/files/css/files.css | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 026713569a..3945d6211a 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -499,7 +499,6 @@ table td.filename .uploadtext { .fileactions { position: absolute; right: 0; - font-size: 11px; } .busy .fileactions, .busy .action { From 8d1fb6059f283d4777df6114d8a61ece965c283f Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 26 Aug 2015 09:47:09 +0200 Subject: [PATCH 076/329] proper padding and whitespace for share and more actions --- apps/files/css/files.css | 7 +++++++ apps/files/css/mobile.css | 8 ++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 3945d6211a..ba82455c37 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -572,6 +572,13 @@ a.action > img { opacity: 0; display:none; } +#fileList a.action.action-share, +#fileList a.action.action-menu { + padding: 17px 14px; +} +#fileList .fileActionsMenu { + margin-right: 21px; +} .ie8 #fileList a.action img, #fileList tr:hover a.action, diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css index 635c24c416..b43bd3cfce 100644 --- a/apps/files/css/mobile.css +++ b/apps/files/css/mobile.css @@ -47,15 +47,11 @@ table td.filename .nametext { display: inline !important; } #fileList a.action.action-menu img { - padding-left: 2px; + padding-left: 0; } #fileList .fileActionsMenu { - margin-right: 5px; -} -/* some padding for better clickability */ -#fileList a.action img { - padding: 0 6px 0 12px; + margin-right: 12px; } /* hide text of the share action on mobile */ #fileList a.action-share span { From 6cbb56ac5fb3a1ad0477465ec5708ebd7f6901b5 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 26 Aug 2015 09:57:50 +0200 Subject: [PATCH 077/329] remove border around bubble menu --- core/css/apps.css | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/core/css/apps.css b/core/css/apps.css index 620c301382..ee0f7516b1 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -302,7 +302,6 @@ z-index: 110; margin: -5px 14px 5px 10px; right: 0; - border: 1px solid #bbb; -webkit-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); -moz-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); -ms-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); @@ -320,9 +319,7 @@ /* miraculous border arrow stuff */ .bubble:after, -.bubble:before, -#app-navigation .app-navigation-entry-menu:after, -#app-navigation .app-navigation-entry-menu:before { +#app-navigation .app-navigation-entry-menu:after { bottom: 100%; right: 0; /* change this to adjust the arrow position */ border: solid transparent; @@ -341,14 +338,6 @@ margin-left: -10px; } -.bubble:before, -#app-navigation .app-navigation-entry-menu:before { - border-color: rgba(187, 187, 187, 0); - border-bottom-color: #bbb; - border-width: 11px; - margin-left: -11px; -} - /* list of options for an entry */ #app-navigation .app-navigation-entry-menu ul { display: block !important; From 90e11ee0056e11b2275226edfb823bece0b7c5cf Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Wed, 26 Aug 2015 04:10:42 -0400 Subject: [PATCH 078/329] [tx-robot] updated from transifex --- apps/files/l10n/es.js | 3 + apps/files/l10n/es.json | 3 + apps/files/l10n/is.js | 2 + apps/files/l10n/is.json | 2 + apps/files_external/l10n/da.js | 21 ++++ apps/files_external/l10n/da.json | 21 ++++ apps/files_external/l10n/es.js | 13 +++ apps/files_external/l10n/es.json | 13 +++ apps/files_external/l10n/fi_FI.js | 10 ++ apps/files_external/l10n/fi_FI.json | 10 ++ apps/files_external/l10n/is.js | 1 + apps/files_external/l10n/is.json | 1 + apps/files_external/l10n/it.js | 20 ++++ apps/files_external/l10n/it.json | 20 ++++ apps/files_external/l10n/pt_BR.js | 8 ++ apps/files_external/l10n/pt_BR.json | 8 ++ apps/files_sharing/l10n/is.js | 1 + apps/files_sharing/l10n/is.json | 1 + apps/files_trashbin/l10n/is.js | 11 ++ apps/files_trashbin/l10n/is.json | 11 ++ apps/files_versions/l10n/is.js | 7 +- apps/files_versions/l10n/is.json | 7 +- apps/user_ldap/l10n/is.js | 1 + apps/user_ldap/l10n/is.json | 1 + apps/user_webdavauth/l10n/is.js | 4 +- apps/user_webdavauth/l10n/is.json | 4 +- core/l10n/da.js | 1 + core/l10n/da.json | 1 + core/l10n/es.js | 12 ++ core/l10n/es.json | 12 ++ core/l10n/is.js | 171 +++++++++++++++++++++++++++- core/l10n/is.json | 171 +++++++++++++++++++++++++++- core/l10n/it.js | 1 + core/l10n/it.json | 1 + lib/l10n/da.js | 1 + lib/l10n/da.json | 1 + lib/l10n/es.js | 1 + lib/l10n/es.json | 1 + lib/l10n/fi_FI.js | 1 + lib/l10n/fi_FI.json | 1 + lib/l10n/is.js | 2 + lib/l10n/is.json | 2 + lib/l10n/it.js | 1 + lib/l10n/it.json | 1 + lib/l10n/pt_BR.js | 1 + lib/l10n/pt_BR.json | 1 + settings/l10n/da.js | 7 ++ settings/l10n/da.json | 7 ++ settings/l10n/es.js | 2 + settings/l10n/es.json | 2 + settings/l10n/fi_FI.js | 6 + settings/l10n/fi_FI.json | 6 + settings/l10n/is.js | 8 ++ settings/l10n/is.json | 8 ++ settings/l10n/it.js | 7 ++ settings/l10n/it.json | 7 ++ settings/l10n/pt_BR.js | 7 ++ settings/l10n/pt_BR.json | 7 ++ 58 files changed, 656 insertions(+), 6 deletions(-) diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index e72beeee09..64df2a8491 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -67,6 +67,8 @@ OC.L10N.register( "Storage of {owner} is almost full ({usedSpacePercent}%)" : "El almacén de {owner} está casi lleno en un ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincidencias '{filter}'","coincidencia '{filter}'"], + "Path" : "Ruta", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Agregado a Favoritos", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas", @@ -90,6 +92,7 @@ OC.L10N.register( "File handling" : "Administración de archivos", "Maximum upload size" : "Tamaño máximo de subida", "max. possible: " : "máx. posible:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Con PHP-FPM este valor se puede demorar hasta 5 minutos para tener efecto después de guardar.", "Save" : "Guardar", "Can not be edited from here due to insufficient permissions." : "No se puede editar desde aquí por permisos insuficientes.", "Settings" : "Ajustes", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index 1db4dc309a..c074a88212 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -65,6 +65,8 @@ "Storage of {owner} is almost full ({usedSpacePercent}%)" : "El almacén de {owner} está casi lleno en un ({usedSpacePercent}%)", "Your storage is almost full ({usedSpacePercent}%)" : "Su almacenamiento está casi lleno ({usedSpacePercent}%)", "_matches '{filter}'_::_match '{filter}'_" : ["coincidencias '{filter}'","coincidencia '{filter}'"], + "Path" : "Ruta", + "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Agregado a Favoritos", "Favorite" : "Favorito", "An error occurred while trying to update the tags" : "Se produjo un error al tratar de actualizar las etiquetas", @@ -88,6 +90,7 @@ "File handling" : "Administración de archivos", "Maximum upload size" : "Tamaño máximo de subida", "max. possible: " : "máx. posible:", + "With PHP-FPM this value may take up to 5 minutes to take effect after saving." : "Con PHP-FPM este valor se puede demorar hasta 5 minutos para tener efecto después de guardar.", "Save" : "Guardar", "Can not be edited from here due to insufficient permissions." : "No se puede editar desde aquí por permisos insuficientes.", "Settings" : "Ajustes", diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js index 3149a19de6..a3b44be473 100644 --- a/apps/files/l10n/is.js +++ b/apps/files/l10n/is.js @@ -36,6 +36,8 @@ OC.L10N.register( "Folder" : "Mappa", "Upload" : "Senda inn", "Cancel upload" : "Hætta við innsendingu", + "No entries found in this folder" : "Engar skrár fundust í þessari möppu", + "Select all" : "Velja allt", "Delete" : "Eyða", "Upload too large" : "Innsend skrá er of stór", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.", diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json index d0e2aebd0d..9307f9b6df 100644 --- a/apps/files/l10n/is.json +++ b/apps/files/l10n/is.json @@ -34,6 +34,8 @@ "Folder" : "Mappa", "Upload" : "Senda inn", "Cancel upload" : "Hætta við innsendingu", + "No entries found in this folder" : "Engar skrár fundust í þessari möppu", + "Select all" : "Velja allt", "Delete" : "Eyða", "Upload too large" : "Innsend skrá er of stór", "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.", diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js index b592798fb9..31f0776d87 100644 --- a/apps/files_external/l10n/da.js +++ b/apps/files_external/l10n/da.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Tokener til anmodning om hentning mislykkedes. Verificér at din app-nøgle og -hemmelighed er korrekte.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Tokener for adgang til hentning fejlede. Verificér at din app-nøgle og -hemmelighed er korrekte.", + "Please provide a valid app key and secret." : "Angiv venligst en gyldig app-nøgle og -hemmelighed.", "Step 1 failed. Exception: %s" : "Trin 1 mislykkedes. Undtagelse: %s", "Step 2 failed. Exception: %s" : "Trin 2 mislykkedes. Undtagelse: %s", "External storage" : "Eksternt lager", @@ -22,12 +25,18 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP med hemmelig nøglelogin", "Public key" : "Offentlig nøgle", "Storage with id \"%i\" not found" : "Lager med ID'et \"%i% er ikke fundet", + "Invalid backend or authentication mechanism class" : "Ugyldig backend eller klasse for godkendelsesmekanisme", "Invalid mount point" : "Fokert monteringspunkt", "Invalid storage backend \"%s\"" : "Forkert lager til backend \"%s\"en", + "Unsatisfied backend parameters" : "Utilfredsstillede backend-parametre", + "Unsatisfied authentication mechanism parameters" : "Utilfredsstillede parametre for godkendelsesmekanisme", + "Admin-only storage backend \"%s\"" : "Kun-for-admin lagringsbackend \"%s\"", "Personal" : "Personligt", "System" : "System", "Grant access" : "Godkend adgang", "Access granted" : "Adgang godkendt", + "Error configuring OAuth1" : "Fejl under konfiguration af OAuth1", + "Error configuring OAuth2" : "Fejl under konfiguration af OAuth2", "Enable encryption" : "Slå kryptering til", "Enable previews" : "Slå forhåndsvisninger til", "Check for changes" : "Tjek for ændringer", @@ -39,12 +48,19 @@ OC.L10N.register( "Saved" : "Gemt", "Generate keys" : "Opret nøgler.", "Error generating key pair" : "Fejl under oprettelse af nøglepar", + "Access key" : "Adgangsnøgle", + "Secret key" : "Hemmelig nøgle", + "Builtin" : "Indbygget", "None" : "Ingen", + "OAuth1" : "OAuth1", "App key" : "App-nøgle", "App secret" : "App-hemmelighed", + "OAuth2" : "OAuth2", "Client ID" : "Klient-ID", "Client secret" : "Klient hemmelighed", + "Username and password" : "Brugernavn og kodeord", "Password" : "Kodeord", + "Session credentials" : "Brugeroplysninger for session", "Amazon S3" : "Amazon S3", "Hostname" : "Værtsnavn", "Port" : "Port", @@ -55,11 +71,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "Sikker https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Sikker ftps://", + "Google Drive" : "Google Drev", "Local" : "Lokal", "Location" : "Placering", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Note: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.", @@ -71,6 +91,7 @@ OC.L10N.register( "Scope" : "Anvendelsesområde", "External Storage" : "Ekstern opbevaring", "Folder name" : "Mappenavn", + "Authentication" : "Godkendelse", "Configuration" : "Opsætning", "Available for" : "Tilgængelig for", "Advanced settings" : "Avancerede indstillinger", diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json index 7256785492..a9380e5f05 100644 --- a/apps/files_external/l10n/da.json +++ b/apps/files_external/l10n/da.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Tokener til anmodning om hentning mislykkedes. Verificér at din app-nøgle og -hemmelighed er korrekte.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Tokener for adgang til hentning fejlede. Verificér at din app-nøgle og -hemmelighed er korrekte.", + "Please provide a valid app key and secret." : "Angiv venligst en gyldig app-nøgle og -hemmelighed.", "Step 1 failed. Exception: %s" : "Trin 1 mislykkedes. Undtagelse: %s", "Step 2 failed. Exception: %s" : "Trin 2 mislykkedes. Undtagelse: %s", "External storage" : "Eksternt lager", @@ -20,12 +23,18 @@ "SFTP with secret key login" : "SFTP med hemmelig nøglelogin", "Public key" : "Offentlig nøgle", "Storage with id \"%i\" not found" : "Lager med ID'et \"%i% er ikke fundet", + "Invalid backend or authentication mechanism class" : "Ugyldig backend eller klasse for godkendelsesmekanisme", "Invalid mount point" : "Fokert monteringspunkt", "Invalid storage backend \"%s\"" : "Forkert lager til backend \"%s\"en", + "Unsatisfied backend parameters" : "Utilfredsstillede backend-parametre", + "Unsatisfied authentication mechanism parameters" : "Utilfredsstillede parametre for godkendelsesmekanisme", + "Admin-only storage backend \"%s\"" : "Kun-for-admin lagringsbackend \"%s\"", "Personal" : "Personligt", "System" : "System", "Grant access" : "Godkend adgang", "Access granted" : "Adgang godkendt", + "Error configuring OAuth1" : "Fejl under konfiguration af OAuth1", + "Error configuring OAuth2" : "Fejl under konfiguration af OAuth2", "Enable encryption" : "Slå kryptering til", "Enable previews" : "Slå forhåndsvisninger til", "Check for changes" : "Tjek for ændringer", @@ -37,12 +46,19 @@ "Saved" : "Gemt", "Generate keys" : "Opret nøgler.", "Error generating key pair" : "Fejl under oprettelse af nøglepar", + "Access key" : "Adgangsnøgle", + "Secret key" : "Hemmelig nøgle", + "Builtin" : "Indbygget", "None" : "Ingen", + "OAuth1" : "OAuth1", "App key" : "App-nøgle", "App secret" : "App-hemmelighed", + "OAuth2" : "OAuth2", "Client ID" : "Klient-ID", "Client secret" : "Klient hemmelighed", + "Username and password" : "Brugernavn og kodeord", "Password" : "Kodeord", + "Session credentials" : "Brugeroplysninger for session", "Amazon S3" : "Amazon S3", "Hostname" : "Værtsnavn", "Port" : "Port", @@ -53,11 +69,15 @@ "URL" : "URL", "Secure https://" : "Sikker https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Sikker ftps://", + "Google Drive" : "Google Drev", "Local" : "Lokal", "Location" : "Placering", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Note: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: cURL-understøttelsen i PHP er enten ikke aktiveret eller installeret. Monteringen af %s er ikke mulig. Anmod din systemadministrator om at installere det.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Bemærk: FTP understøttelsen i PHP er enten ikke aktiveret eller installeret. Montering af %s er ikke muligt. Anmod din systemadministrator om at installere det.", @@ -69,6 +89,7 @@ "Scope" : "Anvendelsesområde", "External Storage" : "Ekstern opbevaring", "Folder name" : "Mappenavn", + "Authentication" : "Godkendelse", "Configuration" : "Opsætning", "Available for" : "Tilgængelig for", "Advanced settings" : "Avancerede indstillinger", diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js index 2a1f54dd40..f4960136af 100644 --- a/apps/files_external/l10n/es.js +++ b/apps/files_external/l10n/es.js @@ -28,6 +28,8 @@ OC.L10N.register( "System" : "Sistema", "Grant access" : "Conceder acceso", "Access granted" : "Acceso concedido", + "Error configuring OAuth1" : "Error configurando OAuth1", + "Error configuring OAuth2" : "Error configurando OAuth2", "Enable encryption" : "Habilitar cifrado", "Enable previews" : "Habilitar previsualizaciones", "Check for changes" : "Comprobar si hay cambios", @@ -39,12 +41,18 @@ OC.L10N.register( "Saved" : "Guardado", "Generate keys" : "Generar claves", "Error generating key pair" : "Error al generar el par de claves", + "Access key" : "Clave de acceso", + "Secret key" : "Clave secreta", "None" : "Ninguno", + "OAuth1" : "OAuth1", "App key" : "App principal", "App secret" : "App secreta", + "OAuth2" : "OAuth2", "Client ID" : "ID de Cliente", "Client secret" : "Cliente secreto", + "Username and password" : "Nombre de usuario y contraseña", "Password" : "Contraseña", + "Session credentials" : "Credenciales de la sesión", "Amazon S3" : "Amazon S3", "Hostname" : "Nombre de equipo", "Port" : "Puerto", @@ -55,11 +63,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "—Seguro— https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "—Seguro— ftps://", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Ubicación", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Raíz", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Nota: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", @@ -71,6 +83,7 @@ OC.L10N.register( "Scope" : "Ámbito", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", + "Authentication" : "Autenticación", "Configuration" : "Configuración", "Available for" : "Disponible para", "Advanced settings" : "Configuración avanzada", diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json index e5131d2154..b44592016d 100644 --- a/apps/files_external/l10n/es.json +++ b/apps/files_external/l10n/es.json @@ -26,6 +26,8 @@ "System" : "Sistema", "Grant access" : "Conceder acceso", "Access granted" : "Acceso concedido", + "Error configuring OAuth1" : "Error configurando OAuth1", + "Error configuring OAuth2" : "Error configurando OAuth2", "Enable encryption" : "Habilitar cifrado", "Enable previews" : "Habilitar previsualizaciones", "Check for changes" : "Comprobar si hay cambios", @@ -37,12 +39,18 @@ "Saved" : "Guardado", "Generate keys" : "Generar claves", "Error generating key pair" : "Error al generar el par de claves", + "Access key" : "Clave de acceso", + "Secret key" : "Clave secreta", "None" : "Ninguno", + "OAuth1" : "OAuth1", "App key" : "App principal", "App secret" : "App secreta", + "OAuth2" : "OAuth2", "Client ID" : "ID de Cliente", "Client secret" : "Cliente secreto", + "Username and password" : "Nombre de usuario y contraseña", "Password" : "Contraseña", + "Session credentials" : "Credenciales de la sesión", "Amazon S3" : "Amazon S3", "Hostname" : "Nombre de equipo", "Port" : "Puerto", @@ -53,11 +61,15 @@ "URL" : "URL", "Secure https://" : "—Seguro— https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "—Seguro— ftps://", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Ubicación", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Raíz", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Nota: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de cURL en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: El soporte de FTP en PHP no está activado o instalado. No se puede montar %s. Pídale al administrador del sistema que lo instale.", @@ -69,6 +81,7 @@ "Scope" : "Ámbito", "External Storage" : "Almacenamiento externo", "Folder name" : "Nombre de la carpeta", + "Authentication" : "Autenticación", "Configuration" : "Configuración", "Available for" : "Disponible para", "Advanced settings" : "Configuración avanzada", diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js index 0888c8b714..54fdd01751 100644 --- a/apps/files_external/l10n/fi_FI.js +++ b/apps/files_external/l10n/fi_FI.js @@ -23,6 +23,8 @@ OC.L10N.register( "System" : "Järjestelmä", "Grant access" : "Salli pääsy", "Access granted" : "Pääsy sallittu", + "Error configuring OAuth1" : "Virhe OAuth1:n asetuksia tehdessä", + "Error configuring OAuth2" : "Virhe OAuth2:n asetuksia tehdessä", "Enable encryption" : "Käytä salausta", "Check for changes" : "Tarkista muutokset", "Never" : "Ei koskaan", @@ -34,10 +36,13 @@ OC.L10N.register( "Generate keys" : "Luo avaimet", "Error generating key pair" : "Virhe luotaessa avainparia", "None" : "Ei mitään", + "OAuth1" : "OAuth1", "App key" : "Sovellusavain", "App secret" : "Sovellussalaisuus", + "OAuth2" : "OAuth2", "Client ID" : "Asiakkaan tunniste", "Client secret" : "Asiakassalaisuus", + "Username and password" : "Käyttäjätunnus ja salasana", "Password" : "Salasana", "Amazon S3" : "Amazon S3", "Port" : "Portti", @@ -47,10 +52,14 @@ OC.L10N.register( "URL" : "Verkko-osoite", "Secure https://" : "Salattu https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Salattu ftps://", + "Google Drive" : "Google Drive", "Local" : "Paikallinen", "Location" : "Sijainti", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Huomio: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", @@ -61,6 +70,7 @@ OC.L10N.register( "Storage type" : "Tallennustilan tyyppi", "External Storage" : "Erillinen tallennusväline", "Folder name" : "Kansion nimi", + "Authentication" : "Tunnistautuminen", "Configuration" : "Asetukset", "Available for" : "Saatavuus", "Advanced settings" : "Lisäasetukset", diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json index 94d5707e9b..33db4d9d5d 100644 --- a/apps/files_external/l10n/fi_FI.json +++ b/apps/files_external/l10n/fi_FI.json @@ -21,6 +21,8 @@ "System" : "Järjestelmä", "Grant access" : "Salli pääsy", "Access granted" : "Pääsy sallittu", + "Error configuring OAuth1" : "Virhe OAuth1:n asetuksia tehdessä", + "Error configuring OAuth2" : "Virhe OAuth2:n asetuksia tehdessä", "Enable encryption" : "Käytä salausta", "Check for changes" : "Tarkista muutokset", "Never" : "Ei koskaan", @@ -32,10 +34,13 @@ "Generate keys" : "Luo avaimet", "Error generating key pair" : "Virhe luotaessa avainparia", "None" : "Ei mitään", + "OAuth1" : "OAuth1", "App key" : "Sovellusavain", "App secret" : "Sovellussalaisuus", + "OAuth2" : "OAuth2", "Client ID" : "Asiakkaan tunniste", "Client secret" : "Asiakassalaisuus", + "Username and password" : "Käyttäjätunnus ja salasana", "Password" : "Salasana", "Amazon S3" : "Amazon S3", "Port" : "Portti", @@ -45,10 +50,14 @@ "URL" : "Verkko-osoite", "Secure https://" : "Salattu https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Salattu ftps://", + "Google Drive" : "Google Drive", "Local" : "Paikallinen", "Location" : "Sijainti", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Huomio: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: PHP:n cURL-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan cURL-tuki käyttöön.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Huomio: PHP:n FTP-tuki ei ole käytössä tai sitä ei ole asennettu. Kohteen %s liittäminen ei ole mahdollista. Pyydä järjestelmän ylläpitäjää ottamaan FTP-tuki käyttöön.", @@ -59,6 +68,7 @@ "Storage type" : "Tallennustilan tyyppi", "External Storage" : "Erillinen tallennusväline", "Folder name" : "Kansion nimi", + "Authentication" : "Tunnistautuminen", "Configuration" : "Asetukset", "Available for" : "Saatavuus", "Advanced settings" : "Lisäasetukset", diff --git a/apps/files_external/l10n/is.js b/apps/files_external/l10n/is.js index 5c79a94b0a..ae7dfcdac0 100644 --- a/apps/files_external/l10n/is.js +++ b/apps/files_external/l10n/is.js @@ -7,6 +7,7 @@ OC.L10N.register( "Personal" : "Um mig", "Grant access" : "Veita aðgengi", "Access granted" : "Aðgengi veitt", + "Saved" : "Vistað", "None" : "Ekkert", "Password" : "Lykilorð", "WebDAV" : "WebDAV", diff --git a/apps/files_external/l10n/is.json b/apps/files_external/l10n/is.json index 19670ab0a8..9b1e9a315c 100644 --- a/apps/files_external/l10n/is.json +++ b/apps/files_external/l10n/is.json @@ -5,6 +5,7 @@ "Personal" : "Um mig", "Grant access" : "Veita aðgengi", "Access granted" : "Aðgengi veitt", + "Saved" : "Vistað", "None" : "Ekkert", "Password" : "Lykilorð", "WebDAV" : "WebDAV", diff --git a/apps/files_external/l10n/it.js b/apps/files_external/l10n/it.js index bcfdcf522d..42cd6429bc 100644 --- a/apps/files_external/l10n/it.js +++ b/apps/files_external/l10n/it.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Il recupero dei token di richiesta non è riuscito. Verifica che la chiave e il segreto dell'applicazione siano corretti.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Il recupero dei token di accesso non è riuscito. Verifica che la chiave e il segreto dell'applicazione siano corretti.", + "Please provide a valid app key and secret." : "Fornisci chiave e segreto dell'applicazione validi.", "Step 1 failed. Exception: %s" : "Fase 1 non riuscita. Eccezione: %s", "Step 2 failed. Exception: %s" : "Fase 2 non riuscita. Eccezione: %s", "External storage" : "Archiviazione esterna", @@ -22,12 +25,17 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP con accesso a chiave segreta", "Public key" : "Chiave pubblica", "Storage with id \"%i\" not found" : "Archiviazione con ID \"%i\" non trovata", + "Invalid backend or authentication mechanism class" : "Motore o classe del meccanismo di autenticazione non valido", "Invalid mount point" : "Punto di mount non valido", "Invalid storage backend \"%s\"" : "Motore di archiviazione \"%s\" non valido", + "Unsatisfied backend parameters" : "Parametri del motore non soddisfatti", + "Unsatisfied authentication mechanism parameters" : "Parametri del meccanismo di autenticazione non soddisfatti", "Personal" : "Personale", "System" : "Sistema", "Grant access" : "Concedi l'accesso", "Access granted" : "Accesso consentito", + "Error configuring OAuth1" : "Errore di configurazione OAuth1", + "Error configuring OAuth2" : "Errore di configurazione OAuth2", "Enable encryption" : "Abilita cifratura", "Enable previews" : "Abilita le anteprime", "Check for changes" : "Controlla le modifiche", @@ -39,12 +47,19 @@ OC.L10N.register( "Saved" : "Salvato", "Generate keys" : "Genera la chiavi", "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", + "Access key" : "Chiave di accesso", + "Secret key" : "Chiave segreta", + "Builtin" : "Integrata", "None" : "Nessuno", + "OAuth1" : "OAuth1", "App key" : "Chiave applicazione", "App secret" : "Segreto applicazione", + "OAuth2" : "OAuth2", "Client ID" : "ID client", "Client secret" : "Segreto del client", + "Username and password" : "Nome utente e password", "Password" : "Password", + "Session credentials" : "Credenziali di sessione", "Amazon S3" : "Amazon S3", "Hostname" : "Nome host", "Port" : "Porta", @@ -55,11 +70,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "Sicuro https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Sicuro ftps://", + "Google Drive" : "Google Drive", "Local" : "Locale", "Location" : "Posizione", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Radice", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Nota:", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", @@ -71,6 +90,7 @@ OC.L10N.register( "Scope" : "Ambito", "External Storage" : "Archiviazione esterna", "Folder name" : "Nome della cartella", + "Authentication" : "Autenticazione", "Configuration" : "Configurazione", "Available for" : "Disponibile per", "Advanced settings" : "Impostazioni avanzate", diff --git a/apps/files_external/l10n/it.json b/apps/files_external/l10n/it.json index f59787e3ce..27e33f9ada 100644 --- a/apps/files_external/l10n/it.json +++ b/apps/files_external/l10n/it.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Il recupero dei token di richiesta non è riuscito. Verifica che la chiave e il segreto dell'applicazione siano corretti.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Il recupero dei token di accesso non è riuscito. Verifica che la chiave e il segreto dell'applicazione siano corretti.", + "Please provide a valid app key and secret." : "Fornisci chiave e segreto dell'applicazione validi.", "Step 1 failed. Exception: %s" : "Fase 1 non riuscita. Eccezione: %s", "Step 2 failed. Exception: %s" : "Fase 2 non riuscita. Eccezione: %s", "External storage" : "Archiviazione esterna", @@ -20,12 +23,17 @@ "SFTP with secret key login" : "SFTP con accesso a chiave segreta", "Public key" : "Chiave pubblica", "Storage with id \"%i\" not found" : "Archiviazione con ID \"%i\" non trovata", + "Invalid backend or authentication mechanism class" : "Motore o classe del meccanismo di autenticazione non valido", "Invalid mount point" : "Punto di mount non valido", "Invalid storage backend \"%s\"" : "Motore di archiviazione \"%s\" non valido", + "Unsatisfied backend parameters" : "Parametri del motore non soddisfatti", + "Unsatisfied authentication mechanism parameters" : "Parametri del meccanismo di autenticazione non soddisfatti", "Personal" : "Personale", "System" : "Sistema", "Grant access" : "Concedi l'accesso", "Access granted" : "Accesso consentito", + "Error configuring OAuth1" : "Errore di configurazione OAuth1", + "Error configuring OAuth2" : "Errore di configurazione OAuth2", "Enable encryption" : "Abilita cifratura", "Enable previews" : "Abilita le anteprime", "Check for changes" : "Controlla le modifiche", @@ -37,12 +45,19 @@ "Saved" : "Salvato", "Generate keys" : "Genera la chiavi", "Error generating key pair" : "Errore durante la generazione della coppia di chiavi", + "Access key" : "Chiave di accesso", + "Secret key" : "Chiave segreta", + "Builtin" : "Integrata", "None" : "Nessuno", + "OAuth1" : "OAuth1", "App key" : "Chiave applicazione", "App secret" : "Segreto applicazione", + "OAuth2" : "OAuth2", "Client ID" : "ID client", "Client secret" : "Segreto del client", + "Username and password" : "Nome utente e password", "Password" : "Password", + "Session credentials" : "Credenziali di sessione", "Amazon S3" : "Amazon S3", "Hostname" : "Nome host", "Port" : "Porta", @@ -53,11 +68,15 @@ "URL" : "URL", "Secure https://" : "Sicuro https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Sicuro ftps://", + "Google Drive" : "Google Drive", "Local" : "Locale", "Location" : "Posizione", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Radice", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Nota:", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: il supporto a cURL di PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: il supporto a FTP in PHP non è abilitato o installato. Impossibile montare %s. Chiedi al tuo amministratore di sistema di installarlo.", @@ -69,6 +88,7 @@ "Scope" : "Ambito", "External Storage" : "Archiviazione esterna", "Folder name" : "Nome della cartella", + "Authentication" : "Autenticazione", "Configuration" : "Configurazione", "Available for" : "Disponibile per", "Advanced settings" : "Impostazioni avanzate", diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index e1b0af63ae..58c15fa0b0 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -42,9 +42,12 @@ OC.L10N.register( "None" : "Nenhum", "App key" : "Chave do Aplicativo", "App secret" : "Segredo da Aplicação", + "OAuth2" : "OAuth2", "Client ID" : "ID do Cliente", "Client secret" : "Segredo do cliente", + "Username and password" : "Nome de Usuário e senha", "Password" : "Senha", + "Session credentials" : "Credenciais de Sessão", "Amazon S3" : "Amazon S3", "Hostname" : "Nome do Host", "Port" : "Porta", @@ -55,11 +58,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "https:// segura", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Seguro ftps://", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Localização", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Raiz", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Nota:", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", @@ -71,6 +78,7 @@ OC.L10N.register( "Scope" : "Escopo", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", + "Authentication" : "Autenticação", "Configuration" : "Configuração", "Available for" : "Disponível para", "Advanced settings" : "Configurações avançadas", diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index c9a6beefab..089da37f0d 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -40,9 +40,12 @@ "None" : "Nenhum", "App key" : "Chave do Aplicativo", "App secret" : "Segredo da Aplicação", + "OAuth2" : "OAuth2", "Client ID" : "ID do Cliente", "Client secret" : "Segredo do cliente", + "Username and password" : "Nome de Usuário e senha", "Password" : "Senha", + "Session credentials" : "Credenciais de Sessão", "Amazon S3" : "Amazon S3", "Hostname" : "Nome do Host", "Port" : "Porta", @@ -53,11 +56,15 @@ "URL" : "URL", "Secure https://" : "https:// segura", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Seguro ftps://", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Localização", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Raiz", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Nota:", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: O suporte cURL do PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Nota: O suporte FTP no PHP não está habilitado ou instalado. Montagem de %s não é possível. Por favor, solicite ao seu administrador do sistema para instalá-lo.", @@ -69,6 +76,7 @@ "Scope" : "Escopo", "External Storage" : "Armazenamento Externo", "Folder name" : "Nome da pasta", + "Authentication" : "Autenticação", "Configuration" : "Configuração", "Available for" : "Disponível para", "Advanced settings" : "Configurações avançadas", diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js index dbcb9b3e31..19d519f59d 100644 --- a/apps/files_sharing/l10n/is.js +++ b/apps/files_sharing/l10n/is.js @@ -4,6 +4,7 @@ OC.L10N.register( "Cancel" : "Hætta við", "Shared by" : "Deilt af", "Password" : "Lykilorð", + "No entries found in this folder" : "Engar skrár fundust í þessari möppu", "Name" : "Nafn", "Download" : "Niðurhal" }, diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json index 2f0d08c3db..21fb8e1239 100644 --- a/apps/files_sharing/l10n/is.json +++ b/apps/files_sharing/l10n/is.json @@ -2,6 +2,7 @@ "Cancel" : "Hætta við", "Shared by" : "Deilt af", "Password" : "Lykilorð", + "No entries found in this folder" : "Engar skrár fundust í þessari möppu", "Name" : "Nafn", "Download" : "Niðurhal" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" diff --git a/apps/files_trashbin/l10n/is.js b/apps/files_trashbin/l10n/is.js index fb7f47295c..38858a5a94 100644 --- a/apps/files_trashbin/l10n/is.js +++ b/apps/files_trashbin/l10n/is.js @@ -1,8 +1,19 @@ OC.L10N.register( "files_trashbin", { + "Couldn't delete %s permanently" : "Ekki tókst að eyða %s varanlega", + "Couldn't restore %s" : "Gat ekki endurheimt %s", + "Deleted files" : "eyddar skrár", + "Restore" : "Endurheimta", + "Delete permanently" : "Eyða varanlega", "Error" : "Villa", + "restored" : "endurheimt", + "No deleted files" : "Engar eyddar skrár", + "You will be able to recover deleted files from here" : "Þú getur endurheimt eyddum skrám héðan", + "No entries found in this folder" : "Engar skrár fundust í þessari möppu", + "Select all" : "Velja allt", "Name" : "Nafn", + "Deleted" : "Eytt", "Delete" : "Eyða" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_trashbin/l10n/is.json b/apps/files_trashbin/l10n/is.json index d6c73d91af..ea2257a68a 100644 --- a/apps/files_trashbin/l10n/is.json +++ b/apps/files_trashbin/l10n/is.json @@ -1,6 +1,17 @@ { "translations": { + "Couldn't delete %s permanently" : "Ekki tókst að eyða %s varanlega", + "Couldn't restore %s" : "Gat ekki endurheimt %s", + "Deleted files" : "eyddar skrár", + "Restore" : "Endurheimta", + "Delete permanently" : "Eyða varanlega", "Error" : "Villa", + "restored" : "endurheimt", + "No deleted files" : "Engar eyddar skrár", + "You will be able to recover deleted files from here" : "Þú getur endurheimt eyddum skrám héðan", + "No entries found in this folder" : "Engar skrár fundust í þessari möppu", + "Select all" : "Velja allt", "Name" : "Nafn", + "Deleted" : "Eytt", "Delete" : "Eyða" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/files_versions/l10n/is.js b/apps/files_versions/l10n/is.js index cf470a3702..69ce27ca3e 100644 --- a/apps/files_versions/l10n/is.js +++ b/apps/files_versions/l10n/is.js @@ -1,6 +1,11 @@ OC.L10N.register( "files_versions", { - "Versions" : "Útgáfur" + "Could not revert: %s" : "Gat ekki endurheimt: %s", + "Versions" : "Útgáfur", + "Failed to revert {file} to revision {timestamp}." : "Mistókst að endurheimta {file} útgáfu {timestamp}.", + "More versions..." : "Fleiri útgáfur ...", + "No other versions available" : "Engar aðrar útgáfur í boði", + "Restore" : "Endurheimta" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_versions/l10n/is.json b/apps/files_versions/l10n/is.json index 1f77366034..3059c07e1f 100644 --- a/apps/files_versions/l10n/is.json +++ b/apps/files_versions/l10n/is.json @@ -1,4 +1,9 @@ { "translations": { - "Versions" : "Útgáfur" + "Could not revert: %s" : "Gat ekki endurheimt: %s", + "Versions" : "Útgáfur", + "Failed to revert {file} to revision {timestamp}." : "Mistókst að endurheimta {file} útgáfu {timestamp}.", + "More versions..." : "Fleiri útgáfur ...", + "No other versions available" : "Engar aðrar útgáfur í boði", + "Restore" : "Endurheimta" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/user_ldap/l10n/is.js b/apps/user_ldap/l10n/is.js index a77b22a417..ed3ac95aae 100644 --- a/apps/user_ldap/l10n/is.js +++ b/apps/user_ldap/l10n/is.js @@ -7,6 +7,7 @@ OC.L10N.register( "Help" : "Hjálp", "Host" : "Netþjónn", "Password" : "Lykilorð", + "Continue" : "Halda áfram", "Advanced" : "Ítarlegt" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/user_ldap/l10n/is.json b/apps/user_ldap/l10n/is.json index 0abb0fcb0d..aa48708e8b 100644 --- a/apps/user_ldap/l10n/is.json +++ b/apps/user_ldap/l10n/is.json @@ -5,6 +5,7 @@ "Help" : "Hjálp", "Host" : "Netþjónn", "Password" : "Lykilorð", + "Continue" : "Halda áfram", "Advanced" : "Ítarlegt" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/apps/user_webdavauth/l10n/is.js b/apps/user_webdavauth/l10n/is.js index e6935d9ec7..1a09c2729e 100644 --- a/apps/user_webdavauth/l10n/is.js +++ b/apps/user_webdavauth/l10n/is.js @@ -2,6 +2,8 @@ OC.L10N.register( "user_webdavauth", { "WebDAV Authentication" : "WebDAV Auðkenni", - "Save" : "Vista" + "Address:" : "Netfang:", + "Save" : "Vista", + "The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." : "Notanda auðkenni verður sent á þetta netfang. Þessi viðbót fer yfir viðbrögð og túlkar HTTP statuscodes 401 og 403 sem ógilda auðkenni, og öll önnur svör sem gilt auðkenni." }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/user_webdavauth/l10n/is.json b/apps/user_webdavauth/l10n/is.json index 69ae2b559d..08ff2d6df3 100644 --- a/apps/user_webdavauth/l10n/is.json +++ b/apps/user_webdavauth/l10n/is.json @@ -1,5 +1,7 @@ { "translations": { "WebDAV Authentication" : "WebDAV Auðkenni", - "Save" : "Vista" + "Address:" : "Netfang:", + "Save" : "Vista", + "The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." : "Notanda auðkenni verður sent á þetta netfang. Þessi viðbót fer yfir viðbrögð og túlkar HTTP statuscodes 401 og 403 sem ógilda auðkenni, og öll önnur svör sem gilt auðkenni." },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/core/l10n/da.js b/core/l10n/da.js index 841b61a674..da1e2106a3 100644 --- a/core/l10n/da.js +++ b/core/l10n/da.js @@ -172,6 +172,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "Opdateringen blev gennemført. Der fremkom advarsler.", "The update was successful. Redirecting you to ownCloud now." : "Opdateringen blev udført korrekt. Du bliver nu viderestillet til ownCloud.", "Couldn't reset password because the token is invalid" : "Kunne ikke nulstille kodeordet, fordi symboludtrykket er ugyldigt", + "Couldn't reset password because the token is expired" : "Kunne ikke nulstille kodeord, da tokenet er udløbet", "Couldn't send reset email. Please make sure your username is correct." : "Der opstod et problem under afsendelse af nulstillings-e-mailen. Kontroller venligst om dit brugernavnet er korrekt", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Der opstod et problem under afsendelse af nulstillings-e-mailen. Der ikke er nogen email adresse tilknyttet denne bruger konto. Kontakt venligst systemadministratoren", "%s password reset" : "%s adgangskode nulstillet", diff --git a/core/l10n/da.json b/core/l10n/da.json index 6b8286bd8e..287bc96afd 100644 --- a/core/l10n/da.json +++ b/core/l10n/da.json @@ -170,6 +170,7 @@ "The update was successful. There were warnings." : "Opdateringen blev gennemført. Der fremkom advarsler.", "The update was successful. Redirecting you to ownCloud now." : "Opdateringen blev udført korrekt. Du bliver nu viderestillet til ownCloud.", "Couldn't reset password because the token is invalid" : "Kunne ikke nulstille kodeordet, fordi symboludtrykket er ugyldigt", + "Couldn't reset password because the token is expired" : "Kunne ikke nulstille kodeord, da tokenet er udløbet", "Couldn't send reset email. Please make sure your username is correct." : "Der opstod et problem under afsendelse af nulstillings-e-mailen. Kontroller venligst om dit brugernavnet er korrekt", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Der opstod et problem under afsendelse af nulstillings-e-mailen. Der ikke er nogen email adresse tilknyttet denne bruger konto. Kontakt venligst systemadministratoren", "%s password reset" : "%s adgangskode nulstillet", diff --git a/core/l10n/es.js b/core/l10n/es.js index a8933a7a0d..376fd97dc9 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -36,6 +36,13 @@ OC.L10N.register( "Thu." : "Jue.", "Fri." : "Vie.", "Sat." : "Sab.", + "Su" : "Do", + "Mo" : "Lu", + "Tu" : "Ma", + "We" : "Mi", + "Th" : "Ju", + "Fr" : "Vi", + "Sa" : "Sa", "January" : "Enero", "February" : "Febrero", "March" : "Marzo", @@ -236,6 +243,7 @@ OC.L10N.register( "Please contact your administrator." : "Por favor, contacte con el administrador.", "An internal error occured." : "Un error interno ocurrió.", "Please try again or contact your administrator." : "Por favor reintente nuevamente o contáctese con su administrador.", + "Wrong password. Reset it?" : "Contraseña incorrecta. ¿Restablecerla?", "remember" : "recordar", "Log in" : "Entrar", "Alternative Logins" : "Inicios de sesión alternativos", @@ -248,6 +256,10 @@ OC.L10N.register( "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contacte con su administrador. Si usted es el administrador, configure \"trusted_domain\" en config/config.php. En config/config.sample.php se encuentra un ejemplo para la configuración.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependiendo de su configuración, como administrador, debería poder usar el botón de abajo para confiar en este dominio.", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como dominio de confianza", + "App update required" : "Es necesaria una actualización en la aplicación", + "%s will be updated to version %s" : "%s será actualizada a la versión %s", + "These apps will be updated:" : "Estas aplicaciones serán actualizadas:", + "These incompatible apps will be disabled:" : "Estas aplicaciones incompatibles serán deshabilitadas:", "The theme %s has been disabled." : "El tema %s ha sido desactivado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Antes de proceder, asegúrese de que se haya hecho un respaldo de la base de datos, la carpeta de configuración y la carpeta de datos.", "Start update" : "Iniciar actualización", diff --git a/core/l10n/es.json b/core/l10n/es.json index a50eafc43d..6975ce15c6 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -34,6 +34,13 @@ "Thu." : "Jue.", "Fri." : "Vie.", "Sat." : "Sab.", + "Su" : "Do", + "Mo" : "Lu", + "Tu" : "Ma", + "We" : "Mi", + "Th" : "Ju", + "Fr" : "Vi", + "Sa" : "Sa", "January" : "Enero", "February" : "Febrero", "March" : "Marzo", @@ -234,6 +241,7 @@ "Please contact your administrator." : "Por favor, contacte con el administrador.", "An internal error occured." : "Un error interno ocurrió.", "Please try again or contact your administrator." : "Por favor reintente nuevamente o contáctese con su administrador.", + "Wrong password. Reset it?" : "Contraseña incorrecta. ¿Restablecerla?", "remember" : "recordar", "Log in" : "Entrar", "Alternative Logins" : "Inicios de sesión alternativos", @@ -246,6 +254,10 @@ "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Contacte con su administrador. Si usted es el administrador, configure \"trusted_domain\" en config/config.php. En config/config.sample.php se encuentra un ejemplo para la configuración.", "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Dependiendo de su configuración, como administrador, debería poder usar el botón de abajo para confiar en este dominio.", "Add \"%s\" as trusted domain" : "Agregar \"%s\" como dominio de confianza", + "App update required" : "Es necesaria una actualización en la aplicación", + "%s will be updated to version %s" : "%s será actualizada a la versión %s", + "These apps will be updated:" : "Estas aplicaciones serán actualizadas:", + "These incompatible apps will be disabled:" : "Estas aplicaciones incompatibles serán deshabilitadas:", "The theme %s has been disabled." : "El tema %s ha sido desactivado.", "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Antes de proceder, asegúrese de que se haya hecho un respaldo de la base de datos, la carpeta de configuración y la carpeta de datos.", "Start update" : "Iniciar actualización", diff --git a/core/l10n/is.js b/core/l10n/is.js index 8c766a2950..16860e5afc 100644 --- a/core/l10n/is.js +++ b/core/l10n/is.js @@ -1,6 +1,27 @@ OC.L10N.register( "core", { + "Couldn't send mail to following users: %s " : "Gat ekki sent póst á eftirfarandi notanda: %s", + "Turned on maintenance mode" : "Kveikt á viðhaldsham", + "Turned off maintenance mode" : "Slökkt á viðhaldsham", + "Maintenance mode is kept active" : "viðhaldshami er haldið virkur", + "Updated database" : "Uppfært gagnagrunn", + "Checked database schema update" : "Athugað gagnagrunns skema uppfærslu.", + "Checked database schema update for apps" : "Athugað gagnagrunns skema uppfærslur fyrir öpp", + "Updated \"%s\" to %s" : "Uppfært \\\"%s\\\" to %s", + "Repair warning: " : "Viðgerðar viðvörun:", + "Repair error: " : "Viðgerðar villa:", + "Following incompatible apps have been disabled: %s" : "Eftirfarandi forrit eru ósamhæfð hafa verið gerð óvirk: %s", + "Following apps have been disabled: %s" : "Eftirfarandi forrit hafa verið gerð óvirk: %s", + "File is too big" : "Skrá er of stór", + "Invalid file provided" : "Ógild skrá veitt", + "No image or file provided" : "Engin mynd eða skrá veitt", + "Unknown filetype" : "Óþekkt skráartegund", + "Invalid image" : "Ógild mynd", + "No temporary profile picture available, try again" : "Engin tímabundin prófíl mynd í boði, reyndu aftur", + "No crop data provided" : "Enginn klippi gögn veit", + "No valid crop data provided" : "Ógild klippi gögn veit", + "Crop is not square" : "Skurður er ekki ferhyrntur", "Sunday" : "Sunnudagur", "Monday" : "Mánudagur", "Tuesday" : "Þriðjudagur", @@ -15,6 +36,13 @@ OC.L10N.register( "Thu." : "Fim.", "Fri." : "Fös.", "Sat." : "Lau.", + "Su" : "Su", + "Mo" : "Má", + "Tu" : "Þr", + "We" : "Mi", + "Th" : "Fi", + "Fr" : "Fö", + "Sa" : "La", "January" : "Janúar", "February" : "Febrúar", "March" : "Mars", @@ -41,31 +69,82 @@ OC.L10N.register( "Dec." : "Des.", "Settings" : "Stillingar", "Saving..." : "Er að vista ...", + "Couldn't send reset email. Please contact your administrator." : "Gat ekki sent endursetningar tölvupóst. Vinsamlegast hafðu samband við kerfisstjóra.", + "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.
If it is not there ask your local administrator." : "Hlekkurinn til að endurstilla lykilorðið þitt hefur verið sent á netfangið þitt. Ef þú færð ekki póstinn innan hæfilegs tíma, athugaðu þá í ruslpóst möppu.
Ef það er ekki þar spurðu þá kerfisstjórann þinn.", + "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.
If you are not sure what to do, please contact your administrator before you continue.
Do you really want to continue?" : "Skrárnar þínar eru dulkóðaðar. Ef þú hefur ekki kveikt á vara lykill, það verður engin leið til að fá þinn gögn til baka eftir lykilorðið þitt er endurstillt.
Ef þú ert ekki viss hvað á að gera, skaltu hafa samband við kerfisstjórann áður en þú heldur áfram.
Viltu halda áfram?", + "I know what I'm doing" : "Ég veit hvað ég er að gera", + "Password can not be changed. Please contact your administrator." : "Ekki hægt að breyta lykilorði. Vinsamlegast hafðu samband við kerfisstjóra.", "No" : "Nei", "Yes" : "Já", "Choose" : "Veldu", + "Error loading file picker template: {error}" : "Villa við að hlaða skrá Picker sniðmát: {error}", "Ok" : "Í lagi", + "Error loading message template: {error}" : "Villa við að hlaða skilaboða sniðmáti: {error}", + "read-only" : "lesa-eingöngu", + "_{count} file conflict_::_{count} file conflicts_" : ["{count} skrá stangast á","{count} skrár stangast á"], + "One file conflict" : "Einn skrá stangast á", + "New Files" : "Nýjar Skrár", + "Already existing files" : "Skrá er nú þegar til", + "Which files do you want to keep?" : "Hvaða skrár vilt þú vilt halda?", + "If you select both versions, the copied file will have a number added to its name." : "Ef þú velur báðar útgáfur, þá mun afritaða skráin fá tölustaf bætt við nafn sitt.", "Cancel" : "Hætta við", + "Continue" : "Halda áfram", + "(all selected)" : "(allt valið)", + "({count} selected)" : "({count} valið)", + "Error loading file exists template" : "Villa við að hlaða skrá núverandi sniðmáts", + "Very weak password" : "Mjög veikt lykilorð", + "Weak password" : "Veikt lykilorð", + "So-so password" : "Svo-svo lykilorð", + "Good password" : "Gott lykilorð", + "Strong password" : "Sterkt lykilorð", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Vefþjónninn er ekki enn sett upp á réttan hátt til að leyfa skráar samstillingu því WebDAV viðmótið virðist vera brotinn.", + "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Þessi miðlari hefur ekki virka nettengingu. Þetta þýðir að sumir eginleikar eins og virkja ytri gagnageymslu, tilkynningar um uppfærslur eða uppsetningu á foritum þriðja aðila mun ekki virka. Fjar aðgangur af skrám og senda tilkynningar í tölvupósti vika líklega ekki heldur. Við leggjum til að virkja internet tengingu fyrir þennan vefþjóni ef þú vilt hafa alla eiginleika.", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Gagnamappa og skrá eru líklega aðgengilegar af internetinu vegna þess að .htaccess skrá er ekki virk. Við mælum eindregið með að þú stillir vefþjón þinn á þann hátt að gagnamappa er ekki lengur aðgengileg eða þú færir gagnamöppu út fyrir rót vefþjóns.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Ekkert skyndiminni hefur verið stillt. Til að auka afköst skaltu stilla skyndiminni ef í boði. Nánari upplýsingar má finna á documentation.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom er ekki læsileg af PHP, Sterklega er mælt með því að leyfa PHP að lesa /dev/urandom af öryggisástæðum. Nánari upplýsingar má finna á documentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "PHP útgáfan þín ({version}) er ekki lengur supported by PHP. Við hvetjum þig til að uppfæra PHP útgáfuna til að nýta afkasta og öryggis nýjungar hjá PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Gagnstæður proxy haus stilling er röng, eða þú ert að tengjast ownCloud frá traustum proxy. Ef þú ert ekki að tengjast ownCloud frá traustum proxy, þetta er öryggismál og getur leyft árásir að skopstæling IP tölu þeirra sem sýnilega ownCloud. Nánari upplýsingar má finna á documentation.", + "Error occurred while checking server setup" : "Villa kom upp við athugun á uppsetingu miðlara", + "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 haus er ekki stilltur til jafns við \\\"{expected}\\\". Þetta er mögulegur öryggis eða næðis áhætta, við mælum með því að aðlaga þessa stillingu.", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "\\\"Strangt-Transport-Security\\\" HTTP haus er ekki stilltur á minst \\\"{seconds}\\\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í security tips.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : " Þú ert að tengjast með HTTP. Við mælum eindregið með að þú stillir miðlara á HTTPS í staðin eins og lýst er í okkar security tips.", "Shared" : "Deilt", + "Shared with {recipients}" : "Deilt með {recipients}", "Error" : "Villa", "Error while sharing" : "Villa við deilingu", "Error while unsharing" : "Villa við að hætta deilingu", "Error while changing permissions" : "Villa við að breyta aðgangsheimildum", "Shared with you and the group {group} by {owner}" : "Deilt með þér og hópnum {group} af {owner}", "Shared with you by {owner}" : "Deilt með þér af {owner}", + "Share with users or groups …" : "Deila með notendum eða hópum ...", + "Share with users, groups or remote users …" : "Deila með notendum, hópa eða ytri notendum ...", "Share" : "Deila", + "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Deila með fólk í öðrum ownClouds með skipuninni username@example.com/owncloud", + "Share link" : "Deila hlekk", + "The public link will expire no later than {days} days after it is created" : "Almennings hlekkur rennur út eigi síðar en {days} daga eftir að hann er búinn til", + "Link" : "Hlekkur", "Password protect" : "Verja með lykilorði", "Password" : "Lykilorð", + "Choose a password for the public link" : "Veldu þér lykilorð fyrir almennings hlekk", + "Allow editing" : "Leyfa breytingar", "Email link to person" : "Senda vefhlekk í tölvupóstu til notenda", "Send" : "Senda", "Set expiration date" : "Setja gildistíma", + "Expiration" : "Rennurút", "Expiration date" : "Gildir til", + "An error occured. Please try again" : "Villa kom upp. Vinsamlegast reyndu aftur", + "Adding user..." : "Bæta við notanda...", + "group" : "hópur", + "remote" : "fjarlægur", "Resharing is not allowed" : "Endurdeiling er ekki leyfð", "Shared in {item} with {user}" : "Deilt með {item} ásamt {user}", "Unshare" : "Hætta deilingu", + "notify by email" : "tilkynna með tölvupósti", + "can share" : "getur deilt", "can edit" : "getur breytt", "access control" : "aðgangsstýring", "create" : "mynda", + "change" : "breyta", "delete" : "eyða", "Password protected" : "Verja með lykilorði", "Error unsetting expiration date" : "Villa við að aftengja gildistíma", @@ -74,31 +153,121 @@ OC.L10N.register( "Email sent" : "Tölvupóstur sendur", "Warning" : "Aðvörun", "The object type is not specified." : "Tegund ekki tilgreind", + "Enter new" : "Sláðu inn nýtt", "Delete" : "Eyða", "Add" : "Bæta við", + "Edit tags" : "Breyta tögum", + "Error loading dialog template: {error}" : "Villa við að hlaða valmynd sniðmátið: {error}", + "No tags selected for deletion." : "Engin tögg valin til að eyða.", + "unknown text" : "óþekktur texti", + "Hello world!" : "Halló heimur!", + "sunny" : "sólríkur", + "Hello {name}, the weather is {weather}" : "Halló {name},veðrið er {weather}", + "Hello {name}" : "Halló {name}", + "_download %n file_::_download %n files_" : ["sækja %n skrá","sækja %n skrár"], + "{version} is available. Get more information on how to update." : "{version} er í boði. Fá frekari upplýsingar um hvernig á að uppfæra.", + "Updating {productName} to version {version}, this may take a while." : "Uppfæri {productName} í útgáfu {version}, þetta getur tekið smá stund.", + "Please reload the page." : "Vinsamlega endurhlaðið síðunni.", + "The update was unsuccessful. " : "Uppfærslan tókst ekki.", + "The update was successful. There were warnings." : "Uppfærslan tókst. Það voru viðvaranir.", "The update was successful. Redirecting you to ownCloud now." : "Uppfærslan heppnaðist. Beini þér til ownCloud nú.", + "Couldn't reset password because the token is invalid" : "Gat ekki endurstillt lykilorðið vegna þess að tóki ógilt", + "Couldn't reset password because the token is expired" : "Gat ekki endurstillt lykilorðið vegna þess að tóki er útrunnið", + "Couldn't send reset email. Please make sure your username is correct." : "Gat ekki sent endurstillingu í tölvupóst. Vinsamlegast gakktu úr skugga um að notandanafn þitt sé rétt.", + "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Gat ekki sent endurstillingu í tölvupóst vegna þess að það er ekkert netfang fyrir þetta notandanafn. Vinsamlegast hafðu samband við kerfisstjóra.", + "%s password reset" : "%s lykilorð endurstillt", "Use the following link to reset your password: {link}" : "Notað eftirfarandi veftengil til að endursetja lykilorðið þitt: {link}", "New password" : "Nýtt lykilorð", + "New Password" : "Nýtt Lykilorð", "Reset password" : "Endursetja lykilorð", + "Searching other places" : "Leitað á öðrum stöðum", + "No search results in other places" : "Engar leitarniðurstöður á öðrum stöðum", + "_{count} search result in other places_::_{count} search results in other places_" : ["{count} Leitarniðurstaða á öðrum stöðum","{count} Leitarniðurstöður á öðrum stöðum"], "Personal" : "Um mig", "Users" : "Notendur", "Apps" : "Forrit", "Admin" : "Stjórnun", "Help" : "Hjálp", + "Error loading tags" : "Villa við að hlaða tagg", + "Tag already exists" : "Tagg er þegar til", + "Error deleting tag(s)" : "Villa við að eyða töggum", + "Error tagging" : "Villa við töggun", + "Error untagging" : "Villa við af töggun", + "Error favoriting" : "Villa við bókmerkingu ", + "Error unfavoriting" : "Villa við afmá bókmerkingu", "Access forbidden" : "Aðgangur bannaður", + "File not found" : "Skrá finnst ekki", + "The specified document has not been found on the server." : "Tilgreint skjal hefur ekki fundist á þjóninum.", + "You can click here to return to %s." : "Þú getur smellt hér til að fara aftur á %s.", + "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Sælir,\n\nbara láta þig vita að %s deildi %s með þér.\\n\nSkoða það: %s\n\n", + "The share will expire on %s." : "Gildistími deilingar rennur út %s.", + "Cheers!" : "Skál!", + "Internal Server Error" : "Innri villa", + "The server encountered an internal error and was unable to complete your request." : "Innri villa kom upp og ekki náðist að afgreiða beiðnina.", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Vinsamlegast hafið samband við kerfisstjóra ef þessi villa birtist aftur mörgum sinnum, vinsamlegast látu tæknilegar upplýsingar hér að neðan filgja með.", + "More details can be found in the server log." : "Nánari upplýsingar er að finna í atburðaskrá miðlara.", + "Technical details" : "Tæknilegar upplýsingar", + "Remote Address: %s" : "fjar vistfang: %s", + "Request ID: %s" : "Beiðni auðkenni: %s", + "Type: %s" : "Tegund: %s", + "Code: %s" : "Kóði: %s", + "Message: %s" : "Skilaboð: %s", + "File: %s" : "Skrá: %s", + "Line: %s" : "Lína: %s", + "Trace" : "Rekja", + "Security warning" : "Öryggi viðvörun", + "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Gagnamappa og skrá eru líklega aðgengilegar af internetinu vegna þess að .htaccess skrá er ekki virk.", + "For information how to properly configure your server, please see the documentation." : "Til að fá upplýsingar hvernig á að stilla miðlara almennilega, skaltu skoða handbók.", "Create an admin account" : "Útbúa vefstjóra aðgang", "Username" : "Notendanafn", + "Storage & database" : "Geymsla & gagnagrunnur", "Data folder" : "Gagnamappa", "Configure the database" : "Stilla gagnagrunn", + "Only %s is available." : "Aðeins %s eru laus.", + "Install and activate additional PHP modules to choose other database types." : "Setja upp og virkja viðbótar PHP einingar til að velja aðrar tegundir gagnagrunna.", + "For more details check out the documentation." : "Frekari upplýsingar í handbók.", "Database user" : "Gagnagrunns notandi", "Database password" : "Gagnagrunns lykilorð", "Database name" : "Nafn gagnagrunns", "Database tablespace" : "Töflusvæði gagnagrunns", "Database host" : "Netþjónn gagnagrunns", + "Performance warning" : "Afkastar viðvörun", + "SQLite will be used as database." : "SQLite verður notað fyrir gagnagrunn.", + "For larger installations we recommend to choose a different database backend." : "Fyrir stærri uppsetingar mælum við með að velja annan gagnagrunns bakenda.", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Sérstaklega þegar tölvu forrit er notað til samræmingar þá er ekki mælt með notkunn SQLite.", "Finish setup" : "Virkja uppsetningu", + "Finishing …" : "Að klára ...", + "Need help?" : "Þarftu hjálp?", + "See the documentation" : "Sjá handbók", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Þetta forrit krefst JavaScript fyrir rétta virkni. Vinsamlegast {linkstart} virkjaðu JavaScript {linkend} og endurhladdu síðunni.", "Log out" : "Útskrá", "Search" : "Leita", + "Server side authentication failed!" : "Netþjóns hlið auðkenningar tókst ekki!", + "Please contact your administrator." : "Vinsamlegast hafðu samband við kerfisstjóra.", + "An internal error occured." : "Innri villa kom upp.", + "Please try again or contact your administrator." : "Vinsamlegast reyndu aftur eða hafðu samband við kerfisstjóra.", + "Wrong password. Reset it?" : "Rangt lykilorð. Endursetja?", "remember" : "muna eftir mér", - "Log in" : "Skrá inn" + "Log in" : "Skrá inn", + "Alternative Logins" : "Aðrar Innskráningar", + "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Sælir ,

bara láta þig vita að %s deildi %s með þér.
Skoða það!

", + "This ownCloud instance is currently in single user mode." : "Þetta ownCloud eintak er nú í einnar notandaham.", + "This means only administrators can use the instance." : "Þetta þýðir aðeins stjórnendur geta notað eintak.", + "Contact your system administrator if this message persists or appeared unexpectedly." : "Hafðu samband við kerfisstjóra ef þessi skilaboð eru viðvarandi eða birtist óvænt.", + "Thank you for your patience." : "Þakka þér fyrir biðlundina.", + "You are accessing the server from an untrusted domain." : "Þú ert að tengjast þjóninum frá ótraustu umdæmi.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Vinsamlegast hafðu samband við kerfisstjóra. Ef þú ert stjórnandi á þessu eintaki, stiltu þá \"trusted_domain\" stillingu í config/config.php. Dæmigerðar stillingar er að finna í config/config.sample.php", + "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Það fer eftir stillingum þínum, sem stjórnandi þá gætir þú einnig notað hnappinn hér fyrir neðan til að treysta þessu léni.", + "Add \"%s\" as trusted domain" : "Bæta við \"%s\" sem treyst lén", + "App update required" : "App þarfnast uppfærslu ", + "%s will be updated to version %s" : "%s verður uppfærð í útgáfu %s.", + "These apps will be updated:" : "Eftirfarandi öpp verða uppfærð:", + "These incompatible apps will be disabled:" : "Eftirfarandi forrit eru ósamhæfð og verið gerð óvirk: %s", + "The theme %s has been disabled." : "Þema %s hefur verið gerð óvirk.", + "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Vinsamlegast gakktu úr skugga um að gagnagrunnurinn, config mappan og gagna mappan hafi verið afritaðar áður en lengra er haldið.", + "Start update" : "Hefja uppfærslu", + "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Til að forðast að vinnslufrestur með stærri uppsetningum renni út, getur þú í staðinn að keyra eftirfarandi skipun frá uppsetingar möppu:", + "This %s instance is currently in maintenance mode, which may take a while." : "Þessi %s er nú í viðhald ham, sem getur tekið smá stund.", + "This page will refresh itself when the %s instance is available again." : "Þessi síða mun uppfæra sig þegar %s er í boði á ný." }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/core/l10n/is.json b/core/l10n/is.json index 9d31cea8c9..7fb3457de9 100644 --- a/core/l10n/is.json +++ b/core/l10n/is.json @@ -1,4 +1,25 @@ { "translations": { + "Couldn't send mail to following users: %s " : "Gat ekki sent póst á eftirfarandi notanda: %s", + "Turned on maintenance mode" : "Kveikt á viðhaldsham", + "Turned off maintenance mode" : "Slökkt á viðhaldsham", + "Maintenance mode is kept active" : "viðhaldshami er haldið virkur", + "Updated database" : "Uppfært gagnagrunn", + "Checked database schema update" : "Athugað gagnagrunns skema uppfærslu.", + "Checked database schema update for apps" : "Athugað gagnagrunns skema uppfærslur fyrir öpp", + "Updated \"%s\" to %s" : "Uppfært \\\"%s\\\" to %s", + "Repair warning: " : "Viðgerðar viðvörun:", + "Repair error: " : "Viðgerðar villa:", + "Following incompatible apps have been disabled: %s" : "Eftirfarandi forrit eru ósamhæfð hafa verið gerð óvirk: %s", + "Following apps have been disabled: %s" : "Eftirfarandi forrit hafa verið gerð óvirk: %s", + "File is too big" : "Skrá er of stór", + "Invalid file provided" : "Ógild skrá veitt", + "No image or file provided" : "Engin mynd eða skrá veitt", + "Unknown filetype" : "Óþekkt skráartegund", + "Invalid image" : "Ógild mynd", + "No temporary profile picture available, try again" : "Engin tímabundin prófíl mynd í boði, reyndu aftur", + "No crop data provided" : "Enginn klippi gögn veit", + "No valid crop data provided" : "Ógild klippi gögn veit", + "Crop is not square" : "Skurður er ekki ferhyrntur", "Sunday" : "Sunnudagur", "Monday" : "Mánudagur", "Tuesday" : "Þriðjudagur", @@ -13,6 +34,13 @@ "Thu." : "Fim.", "Fri." : "Fös.", "Sat." : "Lau.", + "Su" : "Su", + "Mo" : "Má", + "Tu" : "Þr", + "We" : "Mi", + "Th" : "Fi", + "Fr" : "Fö", + "Sa" : "La", "January" : "Janúar", "February" : "Febrúar", "March" : "Mars", @@ -39,31 +67,82 @@ "Dec." : "Des.", "Settings" : "Stillingar", "Saving..." : "Er að vista ...", + "Couldn't send reset email. Please contact your administrator." : "Gat ekki sent endursetningar tölvupóst. Vinsamlegast hafðu samband við kerfisstjóra.", + "The link to reset your password has been sent to your email. If you do not receive it within a reasonable amount of time, check your spam/junk folders.
If it is not there ask your local administrator." : "Hlekkurinn til að endurstilla lykilorðið þitt hefur verið sent á netfangið þitt. Ef þú færð ekki póstinn innan hæfilegs tíma, athugaðu þá í ruslpóst möppu.
Ef það er ekki þar spurðu þá kerfisstjórann þinn.", + "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset.
If you are not sure what to do, please contact your administrator before you continue.
Do you really want to continue?" : "Skrárnar þínar eru dulkóðaðar. Ef þú hefur ekki kveikt á vara lykill, það verður engin leið til að fá þinn gögn til baka eftir lykilorðið þitt er endurstillt.
Ef þú ert ekki viss hvað á að gera, skaltu hafa samband við kerfisstjórann áður en þú heldur áfram.
Viltu halda áfram?", + "I know what I'm doing" : "Ég veit hvað ég er að gera", + "Password can not be changed. Please contact your administrator." : "Ekki hægt að breyta lykilorði. Vinsamlegast hafðu samband við kerfisstjóra.", "No" : "Nei", "Yes" : "Já", "Choose" : "Veldu", + "Error loading file picker template: {error}" : "Villa við að hlaða skrá Picker sniðmát: {error}", "Ok" : "Í lagi", + "Error loading message template: {error}" : "Villa við að hlaða skilaboða sniðmáti: {error}", + "read-only" : "lesa-eingöngu", + "_{count} file conflict_::_{count} file conflicts_" : ["{count} skrá stangast á","{count} skrár stangast á"], + "One file conflict" : "Einn skrá stangast á", + "New Files" : "Nýjar Skrár", + "Already existing files" : "Skrá er nú þegar til", + "Which files do you want to keep?" : "Hvaða skrár vilt þú vilt halda?", + "If you select both versions, the copied file will have a number added to its name." : "Ef þú velur báðar útgáfur, þá mun afritaða skráin fá tölustaf bætt við nafn sitt.", "Cancel" : "Hætta við", + "Continue" : "Halda áfram", + "(all selected)" : "(allt valið)", + "({count} selected)" : "({count} valið)", + "Error loading file exists template" : "Villa við að hlaða skrá núverandi sniðmáts", + "Very weak password" : "Mjög veikt lykilorð", + "Weak password" : "Veikt lykilorð", + "So-so password" : "Svo-svo lykilorð", + "Good password" : "Gott lykilorð", + "Strong password" : "Sterkt lykilorð", + "Your web server is not yet set up properly to allow file synchronization because the WebDAV interface seems to be broken." : "Vefþjónninn er ekki enn sett upp á réttan hátt til að leyfa skráar samstillingu því WebDAV viðmótið virðist vera brotinn.", + "This server has no working Internet connection. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. We suggest to enable Internet connection for this server if you want to have all features." : "Þessi miðlari hefur ekki virka nettengingu. Þetta þýðir að sumir eginleikar eins og virkja ytri gagnageymslu, tilkynningar um uppfærslur eða uppsetningu á foritum þriðja aðila mun ekki virka. Fjar aðgangur af skrám og senda tilkynningar í tölvupósti vika líklega ekki heldur. Við leggjum til að virkja internet tengingu fyrir þennan vefþjóni ef þú vilt hafa alla eiginleika.", + "Your data directory and your files are probably accessible from the Internet. The .htaccess file is not working. We strongly suggest 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." : "Gagnamappa og skrá eru líklega aðgengilegar af internetinu vegna þess að .htaccess skrá er ekki virk. Við mælum eindregið með að þú stillir vefþjón þinn á þann hátt að gagnamappa er ekki lengur aðgengileg eða þú færir gagnamöppu út fyrir rót vefþjóns.", + "No memory cache has been configured. To enhance your performance please configure a memcache if available. Further information can be found in our documentation." : "Ekkert skyndiminni hefur verið stillt. Til að auka afköst skaltu stilla skyndiminni ef í boði. Nánari upplýsingar má finna á documentation.", + "/dev/urandom is not readable by PHP which is highly discouraged for security reasons. Further information can be found in our documentation." : "/dev/urandom er ekki læsileg af PHP, Sterklega er mælt með því að leyfa PHP að lesa /dev/urandom af öryggisástæðum. Nánari upplýsingar má finna á documentation.", + "Your PHP version ({version}) is no longer supported by PHP. We encourage you to upgrade your PHP version to take advantage of performance and security updates provided by PHP." : "PHP útgáfan þín ({version}) er ekki lengur supported by PHP. Við hvetjum þig til að uppfæra PHP útgáfuna til að nýta afkasta og öryggis nýjungar hjá PHP.", + "The reverse proxy headers configuration is incorrect, or you are accessing ownCloud from a trusted proxy. If you are not accessing ownCloud from a trusted proxy, this is a security issue and can allow an attacker to spoof their IP address as visible to ownCloud. Further information can be found in our documentation." : "Gagnstæður proxy haus stilling er röng, eða þú ert að tengjast ownCloud frá traustum proxy. Ef þú ert ekki að tengjast ownCloud frá traustum proxy, þetta er öryggismál og getur leyft árásir að skopstæling IP tölu þeirra sem sýnilega ownCloud. Nánari upplýsingar má finna á documentation.", + "Error occurred while checking server setup" : "Villa kom upp við athugun á uppsetingu miðlara", + "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 haus er ekki stilltur til jafns við \\\"{expected}\\\". Þetta er mögulegur öryggis eða næðis áhætta, við mælum með því að aðlaga þessa stillingu.", + "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "\\\"Strangt-Transport-Security\\\" HTTP haus er ekki stilltur á minst \\\"{seconds}\\\" sekúndur. Fyrir aukið öryggi mælum við með því að virkja HSTS eins og lýst er í security tips.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : " Þú ert að tengjast með HTTP. Við mælum eindregið með að þú stillir miðlara á HTTPS í staðin eins og lýst er í okkar security tips.", "Shared" : "Deilt", + "Shared with {recipients}" : "Deilt með {recipients}", "Error" : "Villa", "Error while sharing" : "Villa við deilingu", "Error while unsharing" : "Villa við að hætta deilingu", "Error while changing permissions" : "Villa við að breyta aðgangsheimildum", "Shared with you and the group {group} by {owner}" : "Deilt með þér og hópnum {group} af {owner}", "Shared with you by {owner}" : "Deilt með þér af {owner}", + "Share with users or groups …" : "Deila með notendum eða hópum ...", + "Share with users, groups or remote users …" : "Deila með notendum, hópa eða ytri notendum ...", "Share" : "Deila", + "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Deila með fólk í öðrum ownClouds með skipuninni username@example.com/owncloud", + "Share link" : "Deila hlekk", + "The public link will expire no later than {days} days after it is created" : "Almennings hlekkur rennur út eigi síðar en {days} daga eftir að hann er búinn til", + "Link" : "Hlekkur", "Password protect" : "Verja með lykilorði", "Password" : "Lykilorð", + "Choose a password for the public link" : "Veldu þér lykilorð fyrir almennings hlekk", + "Allow editing" : "Leyfa breytingar", "Email link to person" : "Senda vefhlekk í tölvupóstu til notenda", "Send" : "Senda", "Set expiration date" : "Setja gildistíma", + "Expiration" : "Rennurút", "Expiration date" : "Gildir til", + "An error occured. Please try again" : "Villa kom upp. Vinsamlegast reyndu aftur", + "Adding user..." : "Bæta við notanda...", + "group" : "hópur", + "remote" : "fjarlægur", "Resharing is not allowed" : "Endurdeiling er ekki leyfð", "Shared in {item} with {user}" : "Deilt með {item} ásamt {user}", "Unshare" : "Hætta deilingu", + "notify by email" : "tilkynna með tölvupósti", + "can share" : "getur deilt", "can edit" : "getur breytt", "access control" : "aðgangsstýring", "create" : "mynda", + "change" : "breyta", "delete" : "eyða", "Password protected" : "Verja með lykilorði", "Error unsetting expiration date" : "Villa við að aftengja gildistíma", @@ -72,31 +151,121 @@ "Email sent" : "Tölvupóstur sendur", "Warning" : "Aðvörun", "The object type is not specified." : "Tegund ekki tilgreind", + "Enter new" : "Sláðu inn nýtt", "Delete" : "Eyða", "Add" : "Bæta við", + "Edit tags" : "Breyta tögum", + "Error loading dialog template: {error}" : "Villa við að hlaða valmynd sniðmátið: {error}", + "No tags selected for deletion." : "Engin tögg valin til að eyða.", + "unknown text" : "óþekktur texti", + "Hello world!" : "Halló heimur!", + "sunny" : "sólríkur", + "Hello {name}, the weather is {weather}" : "Halló {name},veðrið er {weather}", + "Hello {name}" : "Halló {name}", + "_download %n file_::_download %n files_" : ["sækja %n skrá","sækja %n skrár"], + "{version} is available. Get more information on how to update." : "{version} er í boði. Fá frekari upplýsingar um hvernig á að uppfæra.", + "Updating {productName} to version {version}, this may take a while." : "Uppfæri {productName} í útgáfu {version}, þetta getur tekið smá stund.", + "Please reload the page." : "Vinsamlega endurhlaðið síðunni.", + "The update was unsuccessful. " : "Uppfærslan tókst ekki.", + "The update was successful. There were warnings." : "Uppfærslan tókst. Það voru viðvaranir.", "The update was successful. Redirecting you to ownCloud now." : "Uppfærslan heppnaðist. Beini þér til ownCloud nú.", + "Couldn't reset password because the token is invalid" : "Gat ekki endurstillt lykilorðið vegna þess að tóki ógilt", + "Couldn't reset password because the token is expired" : "Gat ekki endurstillt lykilorðið vegna þess að tóki er útrunnið", + "Couldn't send reset email. Please make sure your username is correct." : "Gat ekki sent endurstillingu í tölvupóst. Vinsamlegast gakktu úr skugga um að notandanafn þitt sé rétt.", + "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Gat ekki sent endurstillingu í tölvupóst vegna þess að það er ekkert netfang fyrir þetta notandanafn. Vinsamlegast hafðu samband við kerfisstjóra.", + "%s password reset" : "%s lykilorð endurstillt", "Use the following link to reset your password: {link}" : "Notað eftirfarandi veftengil til að endursetja lykilorðið þitt: {link}", "New password" : "Nýtt lykilorð", + "New Password" : "Nýtt Lykilorð", "Reset password" : "Endursetja lykilorð", + "Searching other places" : "Leitað á öðrum stöðum", + "No search results in other places" : "Engar leitarniðurstöður á öðrum stöðum", + "_{count} search result in other places_::_{count} search results in other places_" : ["{count} Leitarniðurstaða á öðrum stöðum","{count} Leitarniðurstöður á öðrum stöðum"], "Personal" : "Um mig", "Users" : "Notendur", "Apps" : "Forrit", "Admin" : "Stjórnun", "Help" : "Hjálp", + "Error loading tags" : "Villa við að hlaða tagg", + "Tag already exists" : "Tagg er þegar til", + "Error deleting tag(s)" : "Villa við að eyða töggum", + "Error tagging" : "Villa við töggun", + "Error untagging" : "Villa við af töggun", + "Error favoriting" : "Villa við bókmerkingu ", + "Error unfavoriting" : "Villa við afmá bókmerkingu", "Access forbidden" : "Aðgangur bannaður", + "File not found" : "Skrá finnst ekki", + "The specified document has not been found on the server." : "Tilgreint skjal hefur ekki fundist á þjóninum.", + "You can click here to return to %s." : "Þú getur smellt hér til að fara aftur á %s.", + "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Sælir,\n\nbara láta þig vita að %s deildi %s með þér.\\n\nSkoða það: %s\n\n", + "The share will expire on %s." : "Gildistími deilingar rennur út %s.", + "Cheers!" : "Skál!", + "Internal Server Error" : "Innri villa", + "The server encountered an internal error and was unable to complete your request." : "Innri villa kom upp og ekki náðist að afgreiða beiðnina.", + "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Vinsamlegast hafið samband við kerfisstjóra ef þessi villa birtist aftur mörgum sinnum, vinsamlegast látu tæknilegar upplýsingar hér að neðan filgja með.", + "More details can be found in the server log." : "Nánari upplýsingar er að finna í atburðaskrá miðlara.", + "Technical details" : "Tæknilegar upplýsingar", + "Remote Address: %s" : "fjar vistfang: %s", + "Request ID: %s" : "Beiðni auðkenni: %s", + "Type: %s" : "Tegund: %s", + "Code: %s" : "Kóði: %s", + "Message: %s" : "Skilaboð: %s", + "File: %s" : "Skrá: %s", + "Line: %s" : "Lína: %s", + "Trace" : "Rekja", + "Security warning" : "Öryggi viðvörun", + "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Gagnamappa og skrá eru líklega aðgengilegar af internetinu vegna þess að .htaccess skrá er ekki virk.", + "For information how to properly configure your server, please see the documentation." : "Til að fá upplýsingar hvernig á að stilla miðlara almennilega, skaltu skoða handbók.", "Create an admin account" : "Útbúa vefstjóra aðgang", "Username" : "Notendanafn", + "Storage & database" : "Geymsla & gagnagrunnur", "Data folder" : "Gagnamappa", "Configure the database" : "Stilla gagnagrunn", + "Only %s is available." : "Aðeins %s eru laus.", + "Install and activate additional PHP modules to choose other database types." : "Setja upp og virkja viðbótar PHP einingar til að velja aðrar tegundir gagnagrunna.", + "For more details check out the documentation." : "Frekari upplýsingar í handbók.", "Database user" : "Gagnagrunns notandi", "Database password" : "Gagnagrunns lykilorð", "Database name" : "Nafn gagnagrunns", "Database tablespace" : "Töflusvæði gagnagrunns", "Database host" : "Netþjónn gagnagrunns", + "Performance warning" : "Afkastar viðvörun", + "SQLite will be used as database." : "SQLite verður notað fyrir gagnagrunn.", + "For larger installations we recommend to choose a different database backend." : "Fyrir stærri uppsetingar mælum við með að velja annan gagnagrunns bakenda.", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Sérstaklega þegar tölvu forrit er notað til samræmingar þá er ekki mælt með notkunn SQLite.", "Finish setup" : "Virkja uppsetningu", + "Finishing …" : "Að klára ...", + "Need help?" : "Þarftu hjálp?", + "See the documentation" : "Sjá handbók", + "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Þetta forrit krefst JavaScript fyrir rétta virkni. Vinsamlegast {linkstart} virkjaðu JavaScript {linkend} og endurhladdu síðunni.", "Log out" : "Útskrá", "Search" : "Leita", + "Server side authentication failed!" : "Netþjóns hlið auðkenningar tókst ekki!", + "Please contact your administrator." : "Vinsamlegast hafðu samband við kerfisstjóra.", + "An internal error occured." : "Innri villa kom upp.", + "Please try again or contact your administrator." : "Vinsamlegast reyndu aftur eða hafðu samband við kerfisstjóra.", + "Wrong password. Reset it?" : "Rangt lykilorð. Endursetja?", "remember" : "muna eftir mér", - "Log in" : "Skrá inn" + "Log in" : "Skrá inn", + "Alternative Logins" : "Aðrar Innskráningar", + "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Sælir ,

bara láta þig vita að %s deildi %s með þér.
Skoða það!

", + "This ownCloud instance is currently in single user mode." : "Þetta ownCloud eintak er nú í einnar notandaham.", + "This means only administrators can use the instance." : "Þetta þýðir aðeins stjórnendur geta notað eintak.", + "Contact your system administrator if this message persists or appeared unexpectedly." : "Hafðu samband við kerfisstjóra ef þessi skilaboð eru viðvarandi eða birtist óvænt.", + "Thank you for your patience." : "Þakka þér fyrir biðlundina.", + "You are accessing the server from an untrusted domain." : "Þú ert að tengjast þjóninum frá ótraustu umdæmi.", + "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Vinsamlegast hafðu samband við kerfisstjóra. Ef þú ert stjórnandi á þessu eintaki, stiltu þá \"trusted_domain\" stillingu í config/config.php. Dæmigerðar stillingar er að finna í config/config.sample.php", + "Depending on your configuration, as an administrator you might also be able to use the button below to trust this domain." : "Það fer eftir stillingum þínum, sem stjórnandi þá gætir þú einnig notað hnappinn hér fyrir neðan til að treysta þessu léni.", + "Add \"%s\" as trusted domain" : "Bæta við \"%s\" sem treyst lén", + "App update required" : "App þarfnast uppfærslu ", + "%s will be updated to version %s" : "%s verður uppfærð í útgáfu %s.", + "These apps will be updated:" : "Eftirfarandi öpp verða uppfærð:", + "These incompatible apps will be disabled:" : "Eftirfarandi forrit eru ósamhæfð og verið gerð óvirk: %s", + "The theme %s has been disabled." : "Þema %s hefur verið gerð óvirk.", + "Please make sure that the database, the config folder and the data folder have been backed up before proceeding." : "Vinsamlegast gakktu úr skugga um að gagnagrunnurinn, config mappan og gagna mappan hafi verið afritaðar áður en lengra er haldið.", + "Start update" : "Hefja uppfærslu", + "To avoid timeouts with larger installations, you can instead run the following command from your installation directory:" : "Til að forðast að vinnslufrestur með stærri uppsetningum renni út, getur þú í staðinn að keyra eftirfarandi skipun frá uppsetingar möppu:", + "This %s instance is currently in maintenance mode, which may take a while." : "Þessi %s er nú í viðhald ham, sem getur tekið smá stund.", + "This page will refresh itself when the %s instance is available again." : "Þessi síða mun uppfæra sig þegar %s er í boði á ný." },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" } \ No newline at end of file diff --git a/core/l10n/it.js b/core/l10n/it.js index 40db606eea..9c84001e66 100644 --- a/core/l10n/it.js +++ b/core/l10n/it.js @@ -172,6 +172,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "L'aggiornamento è stato effettuato correttamente. Ci sono degli avvisi.", "The update was successful. Redirecting you to ownCloud now." : "L'aggiornamento è stato effettuato correttamente. Stai per essere reindirizzato a ownCloud.", "Couldn't reset password because the token is invalid" : "Impossibile reimpostare la password poiché il token non è valido", + "Couldn't reset password because the token is expired" : "Impossibile reimpostare la password poiché il token è scaduto", "Couldn't send reset email. Please make sure your username is correct." : "Impossibile inviare l'email di reimpostazione. Assicurati che il nome utente sia corretto.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Impossibile inviare l'email di reimpostazione poiché non è presente un indirizzo email per questo nome utente. Contatta il tuo amministratore.", "%s password reset" : "Ripristino password di %s", diff --git a/core/l10n/it.json b/core/l10n/it.json index f603577e47..003ed1883d 100644 --- a/core/l10n/it.json +++ b/core/l10n/it.json @@ -170,6 +170,7 @@ "The update was successful. There were warnings." : "L'aggiornamento è stato effettuato correttamente. Ci sono degli avvisi.", "The update was successful. Redirecting you to ownCloud now." : "L'aggiornamento è stato effettuato correttamente. Stai per essere reindirizzato a ownCloud.", "Couldn't reset password because the token is invalid" : "Impossibile reimpostare la password poiché il token non è valido", + "Couldn't reset password because the token is expired" : "Impossibile reimpostare la password poiché il token è scaduto", "Couldn't send reset email. Please make sure your username is correct." : "Impossibile inviare l'email di reimpostazione. Assicurati che il nome utente sia corretto.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Impossibile inviare l'email di reimpostazione poiché non è presente un indirizzo email per questo nome utente. Contatta il tuo amministratore.", "%s password reset" : "Ripristino password di %s", diff --git a/lib/l10n/da.js b/lib/l10n/da.js index 877f97ad8b..42f367d21c 100644 --- a/lib/l10n/da.js +++ b/lib/l10n/da.js @@ -49,6 +49,7 @@ OC.L10N.register( "Can't read file" : "Kan ikke læse filen", "App directory already exists" : "App-mappe findes allerede", "Can't create app folder. Please fix permissions. %s" : "Kan ikke oprette app-mappe. Ret tilladelser. %s", + "Archive does not contain a directory named %s" : "Arkivet indeholder ike en mappe kaldet %s", "No source specified when installing app" : "Ingen kilde angivet under installation af app", "No href specified when installing app from http" : "Ingen href angivet under installation af app via http", "No path specified when installing app from local file" : "Ingen sti angivet under installation af app fra lokal fil", diff --git a/lib/l10n/da.json b/lib/l10n/da.json index bf5429d002..0e20adc31b 100644 --- a/lib/l10n/da.json +++ b/lib/l10n/da.json @@ -47,6 +47,7 @@ "Can't read file" : "Kan ikke læse filen", "App directory already exists" : "App-mappe findes allerede", "Can't create app folder. Please fix permissions. %s" : "Kan ikke oprette app-mappe. Ret tilladelser. %s", + "Archive does not contain a directory named %s" : "Arkivet indeholder ike en mappe kaldet %s", "No source specified when installing app" : "Ingen kilde angivet under installation af app", "No href specified when installing app from http" : "Ingen href angivet under installation af app via http", "No path specified when installing app from local file" : "Ingen sti angivet under installation af app fra lokal fil", diff --git a/lib/l10n/es.js b/lib/l10n/es.js index d071dc624e..5c66377bc5 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -49,6 +49,7 @@ OC.L10N.register( "Can't read file" : "No se puede leer archivo", "App directory already exists" : "El directorio de la aplicación ya existe", "Can't create app folder. Please fix permissions. %s" : "No se puede crear la carpeta de la aplicación. Corrija los permisos. %s", + "Archive does not contain a directory named %s" : "El archivo no contiene un directorio llamado %s", "No source specified when installing app" : "No se ha especificado origen cuando se ha instalado la aplicación", "No href specified when installing app from http" : "No href especificado cuando se ha instalado la aplicación", "No path specified when installing app from local file" : "Ninguna ruta especificada al instalar la aplicación desde el fichero local", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index 28655f2c92..57b4f936e8 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -47,6 +47,7 @@ "Can't read file" : "No se puede leer archivo", "App directory already exists" : "El directorio de la aplicación ya existe", "Can't create app folder. Please fix permissions. %s" : "No se puede crear la carpeta de la aplicación. Corrija los permisos. %s", + "Archive does not contain a directory named %s" : "El archivo no contiene un directorio llamado %s", "No source specified when installing app" : "No se ha especificado origen cuando se ha instalado la aplicación", "No href specified when installing app from http" : "No href especificado cuando se ha instalado la aplicación", "No path specified when installing app from local file" : "Ninguna ruta especificada al instalar la aplicación desde el fichero local", diff --git a/lib/l10n/fi_FI.js b/lib/l10n/fi_FI.js index 3a06e5e4f6..d82d26645d 100644 --- a/lib/l10n/fi_FI.js +++ b/lib/l10n/fi_FI.js @@ -47,6 +47,7 @@ OC.L10N.register( "Can't read file" : "Tiedostoa ei voi lukea", "App directory already exists" : "Sovelluskansio on jo olemassa", "Can't create app folder. Please fix permissions. %s" : "Sovelluskansion luominen ei onnistu. Korjaa käyttöoikeudet. %s", + "Archive does not contain a directory named %s" : "Arkisto ei sisällä kansiota nimeltä %s", "No source specified when installing app" : "Lähdettä ei määritelty sovellusta asennettaessa", "No href specified when installing app from http" : "Href-määritettä ei asetettu asennettaessa sovellusta http:n yli", "No path specified when installing app from local file" : "Polkua ei määritelty sovellusta asennettaessa paikallisesta tiedostosta", diff --git a/lib/l10n/fi_FI.json b/lib/l10n/fi_FI.json index 27fe774588..de6d474e46 100644 --- a/lib/l10n/fi_FI.json +++ b/lib/l10n/fi_FI.json @@ -45,6 +45,7 @@ "Can't read file" : "Tiedostoa ei voi lukea", "App directory already exists" : "Sovelluskansio on jo olemassa", "Can't create app folder. Please fix permissions. %s" : "Sovelluskansion luominen ei onnistu. Korjaa käyttöoikeudet. %s", + "Archive does not contain a directory named %s" : "Arkisto ei sisällä kansiota nimeltä %s", "No source specified when installing app" : "Lähdettä ei määritelty sovellusta asennettaessa", "No href specified when installing app from http" : "Href-määritettä ei asetettu asennettaessa sovellusta http:n yli", "No path specified when installing app from local file" : "Polkua ei määritelty sovellusta asennettaessa paikallisesta tiedostosta", diff --git a/lib/l10n/is.js b/lib/l10n/is.js index df3ab14309..7661ee829f 100644 --- a/lib/l10n/is.js +++ b/lib/l10n/is.js @@ -5,6 +5,8 @@ OC.L10N.register( "Personal" : "Um mig", "Users" : "Notendur", "Admin" : "Stjórnun", + "Unknown filetype" : "Óþekkt skráartegund", + "Invalid image" : "Ógild mynd", "today" : "í dag", "yesterday" : "í gær", "last month" : "síðasta mánuði", diff --git a/lib/l10n/is.json b/lib/l10n/is.json index 385796128b..81fec382eb 100644 --- a/lib/l10n/is.json +++ b/lib/l10n/is.json @@ -3,6 +3,8 @@ "Personal" : "Um mig", "Users" : "Notendur", "Admin" : "Stjórnun", + "Unknown filetype" : "Óþekkt skráartegund", + "Invalid image" : "Ógild mynd", "today" : "í dag", "yesterday" : "í gær", "last month" : "síðasta mánuði", diff --git a/lib/l10n/it.js b/lib/l10n/it.js index df79ffed2e..d0c0022fd0 100644 --- a/lib/l10n/it.js +++ b/lib/l10n/it.js @@ -49,6 +49,7 @@ OC.L10N.register( "Can't read file" : "Impossibile leggere il file", "App directory already exists" : "La cartella dell'applicazione esiste già", "Can't create app folder. Please fix permissions. %s" : "Impossibile creare la cartella dell'applicazione. Correggi i permessi. %s", + "Archive does not contain a directory named %s" : "L'archivio non contiene una cartella con nome %s", "No source specified when installing app" : "Nessuna fonte specificata durante l'installazione dell'applicazione", "No href specified when installing app from http" : "Nessun href specificato durante l'installazione dell'applicazione da http", "No path specified when installing app from local file" : "Nessun percorso specificato durante l'installazione dell'applicazione da file locale", diff --git a/lib/l10n/it.json b/lib/l10n/it.json index 8f5681d596..1183b588eb 100644 --- a/lib/l10n/it.json +++ b/lib/l10n/it.json @@ -47,6 +47,7 @@ "Can't read file" : "Impossibile leggere il file", "App directory already exists" : "La cartella dell'applicazione esiste già", "Can't create app folder. Please fix permissions. %s" : "Impossibile creare la cartella dell'applicazione. Correggi i permessi. %s", + "Archive does not contain a directory named %s" : "L'archivio non contiene una cartella con nome %s", "No source specified when installing app" : "Nessuna fonte specificata durante l'installazione dell'applicazione", "No href specified when installing app from http" : "Nessun href specificato durante l'installazione dell'applicazione da http", "No path specified when installing app from local file" : "Nessun percorso specificato durante l'installazione dell'applicazione da file locale", diff --git a/lib/l10n/pt_BR.js b/lib/l10n/pt_BR.js index d348ac705f..a53e5f01a1 100644 --- a/lib/l10n/pt_BR.js +++ b/lib/l10n/pt_BR.js @@ -49,6 +49,7 @@ OC.L10N.register( "Can't read file" : "Não é possível ler arquivo", "App directory already exists" : "Diretório App já existe", "Can't create app folder. Please fix permissions. %s" : "Não é possível criar pasta app. Corrija as permissões. %s", + "Archive does not contain a directory named %s" : "O arquivo não contém um diretório chamado %s", "No source specified when installing app" : "Nenhuma fonte foi especificada enquanto instalava o aplicativo", "No href specified when installing app from http" : "Nenhuma href foi especificada enquanto instalava o aplicativo de http", "No path specified when installing app from local file" : "Nenhum caminho foi especificado enquanto instalava o aplicativo do arquivo local", diff --git a/lib/l10n/pt_BR.json b/lib/l10n/pt_BR.json index 63192f8a5b..cef167c209 100644 --- a/lib/l10n/pt_BR.json +++ b/lib/l10n/pt_BR.json @@ -47,6 +47,7 @@ "Can't read file" : "Não é possível ler arquivo", "App directory already exists" : "Diretório App já existe", "Can't create app folder. Please fix permissions. %s" : "Não é possível criar pasta app. Corrija as permissões. %s", + "Archive does not contain a directory named %s" : "O arquivo não contém um diretório chamado %s", "No source specified when installing app" : "Nenhuma fonte foi especificada enquanto instalava o aplicativo", "No href specified when installing app from http" : "Nenhuma href foi especificada enquanto instalava o aplicativo de http", "No path specified when installing app from local file" : "Nenhum caminho foi especificado enquanto instalava o aplicativo do arquivo local", diff --git a/settings/l10n/da.js b/settings/l10n/da.js index fc8098e4f4..e7c7baf4e3 100644 --- a/settings/l10n/da.js +++ b/settings/l10n/da.js @@ -132,6 +132,7 @@ OC.L10N.register( "If your installation is not installed in 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\")" : "Hvis din installation ikke er installeret i roden af domænet, og bruger systemets cron, så kan der være problemer med URL-oprettelsen. For at undgå disse problemer, så angiv tilvalget \"overwrite.cli.url\" i din fil config.php til webrodens sti for din installation (foreslået værdi: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke muligt at udføre cronjobbet via kommandolinjefladen CLI. Følgende tekniske fejl fremkom:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Dobbelttjek venligst , og tjek om der er fejl eller advarsler i loggen.", + "All checks passed." : "Alle tjek blev gennemført.", "Open documentation" : "Åben dokumentation", "Allow apps to use the Share API" : "Tillad apps til at bruge Share API", "Allow users to share via link" : "Tillad brugere at dele via link", @@ -154,6 +155,12 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registreret til at en webcron service skal kalde cron.php hvert 15 minut over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Brug systemets cron service til at kalde cron.php hver 15. minut", "Enable server-side encryption" : "Slå kryptering til på serversiden", + "Please read carefully before activating server-side encryption: " : "Læs venligst dette omhyggeligt, før der aktivere kryptering på serversiden:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Kryptering på serversiden er en envejsproces. Når krypteringen slås til, så vil alle filer fremefter blive krypteret på serveren, og det vil ikke være muligt at slå kryptering fra efterfølgende", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Enhver med priviligeret adgang til din ownCloud-server kan dekryptere dine filer, enten ved at opsnappe forespørgsler eller aflæse brugerkodeord, der bliver lagret i sessionsfiler med klartekst. Kryptering af serversiden beskytter derfor ikke mod ondsindede administratorer, men kan hjælpe til at beskytte dine data når de lagres hos eksterne værter.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Afhængig af det faktiske krypteringsmodul, så øges den generelle filstørrelse (med 35%% eller mere ved brug af standardmodulet)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Du bør jævnligt foretage sikkerhedskopiering af alle krypteringsnøgler, for at forhindre permanente tab af data (data//files_encryption and data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Dette er den sidste advarsel: Sikker på at du vil slå kryptering til?", "Enable encryption" : "Slå kryptering til", "No encryption module loaded, please enable an encryption module in the app menu." : "Der er ikke indlæst et krypteringsmodul - slå venligst et krypteringsmodul til i app-menuen.", "Select default encryption module:" : "Vælg standardmodulet til kryptering:", diff --git a/settings/l10n/da.json b/settings/l10n/da.json index 116cdca4b9..4656d40709 100644 --- a/settings/l10n/da.json +++ b/settings/l10n/da.json @@ -130,6 +130,7 @@ "If your installation is not installed in 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\")" : "Hvis din installation ikke er installeret i roden af domænet, og bruger systemets cron, så kan der være problemer med URL-oprettelsen. For at undgå disse problemer, så angiv tilvalget \"overwrite.cli.url\" i din fil config.php til webrodens sti for din installation (foreslået værdi: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Det var ikke muligt at udføre cronjobbet via kommandolinjefladen CLI. Følgende tekniske fejl fremkom:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Dobbelttjek venligst , og tjek om der er fejl eller advarsler i loggen.", + "All checks passed." : "Alle tjek blev gennemført.", "Open documentation" : "Åben dokumentation", "Allow apps to use the Share API" : "Tillad apps til at bruge Share API", "Allow users to share via link" : "Tillad brugere at dele via link", @@ -152,6 +153,12 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php er registreret til at en webcron service skal kalde cron.php hvert 15 minut over http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Brug systemets cron service til at kalde cron.php hver 15. minut", "Enable server-side encryption" : "Slå kryptering til på serversiden", + "Please read carefully before activating server-side encryption: " : "Læs venligst dette omhyggeligt, før der aktivere kryptering på serversiden:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Kryptering på serversiden er en envejsproces. Når krypteringen slås til, så vil alle filer fremefter blive krypteret på serveren, og det vil ikke være muligt at slå kryptering fra efterfølgende", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Enhver med priviligeret adgang til din ownCloud-server kan dekryptere dine filer, enten ved at opsnappe forespørgsler eller aflæse brugerkodeord, der bliver lagret i sessionsfiler med klartekst. Kryptering af serversiden beskytter derfor ikke mod ondsindede administratorer, men kan hjælpe til at beskytte dine data når de lagres hos eksterne værter.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Afhængig af det faktiske krypteringsmodul, så øges den generelle filstørrelse (med 35%% eller mere ved brug af standardmodulet)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Du bør jævnligt foretage sikkerhedskopiering af alle krypteringsnøgler, for at forhindre permanente tab af data (data//files_encryption and data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Dette er den sidste advarsel: Sikker på at du vil slå kryptering til?", "Enable encryption" : "Slå kryptering til", "No encryption module loaded, please enable an encryption module in the app menu." : "Der er ikke indlæst et krypteringsmodul - slå venligst et krypteringsmodul til i app-menuen.", "Select default encryption module:" : "Vælg standardmodulet til kryptering:", diff --git a/settings/l10n/es.js b/settings/l10n/es.js index 4ff5e89f53..96baa987a8 100644 --- a/settings/l10n/es.js +++ b/settings/l10n/es.js @@ -154,6 +154,8 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar cifrado en el servidor", + "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del servidor.", + "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?", "Enable encryption" : "Habilitar cifrado", "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:", diff --git a/settings/l10n/es.json b/settings/l10n/es.json index a8ee0598f2..f2e3b2ebd3 100644 --- a/settings/l10n/es.json +++ b/settings/l10n/es.json @@ -152,6 +152,8 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php se registra en un servicio webcron para llamar a cron.php cada 15 minutos a través de HTTP.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar el servicio cron del sistema para llamar al archivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar cifrado en el servidor", + "Please read carefully before activating server-side encryption: " : "Por favor lea cuidadosamente antes de activar el cifrado del lado del servidor.", + "This is the final warning: Do you really want to enable encryption?" : "Esta es la advertencia final. ¿Realmente quiere activar el cifrado?", "Enable encryption" : "Habilitar cifrado", "No encryption module loaded, please enable an encryption module in the app menu." : "No se ha cargado el modulo de cifrado. Por favor habilite un modulo de cifrado en el menú de aplicaciones.", "Select default encryption module:" : "Seleccione el módulo de cifrado por defecto:", diff --git a/settings/l10n/fi_FI.js b/settings/l10n/fi_FI.js index 06551d1cf7..63456c91a9 100644 --- a/settings/l10n/fi_FI.js +++ b/settings/l10n/fi_FI.js @@ -124,6 +124,7 @@ OC.L10N.register( "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Suosittelemme asentamaan vaaditut paketit järjestelmään, jotta järjestelmässä on tuki yhdelle seuraavista maa-asetuksista: %s.", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Cron-työn suorittaminen komentorivin kautta ei onnistunut. Ilmeni seuraavia teknisiä virheitä:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Lue tarkasti asennusohjeet ↗, tarkista myös mahdolliset virheet ja varoitukset lokitiedostosta.", + "All checks passed." : "Läpäistiin kaikki tarkistukset.", "Open documentation" : "Avaa dokumentaatio", "Allow apps to use the Share API" : "Salli sovellusten käyttää jakamisen ohjelmointirajapintaa", "Allow users to share via link" : "Salli käyttäjien jakaa linkkien kautta", @@ -146,9 +147,13 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.", "Enable server-side encryption" : "Käytä palvelinpään salausta", + "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Salausta ei voi perua. Kun salaus on käytössä, kaikki tiedostot siitä hetkestä eteenpäin palvelimella on salattu, eikä salausta voi enää poistaa käytöstä.", + "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", "Enable encryption" : "Käytä salausta", "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.", "Start migration" : "Käynnistä migraatio", "This is used for sending out notifications." : "Tätä käytetään ilmoitusten lähettämiseen.", @@ -228,6 +233,7 @@ OC.L10N.register( "Upload new" : "Lähetä uusi", "Select new from Files" : "Valitse uusi tiedostoista", "Remove image" : "Poista kuva", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Joko png- tai jpg-kuva. Mieluiten neliö, voit kuitenkin rajata kuvaa. Tiedosto voi olla korkeintaan 20 megatavun kokoinen.", "Your avatar is provided by your original account." : "Avatar-kuvasi pohjautuu alkuperäiseen tiliisi.", "Cancel" : "Peru", "Choose as profile image" : "Valitse profiilikuvaksi", diff --git a/settings/l10n/fi_FI.json b/settings/l10n/fi_FI.json index 5934a5a5d8..932c395052 100644 --- a/settings/l10n/fi_FI.json +++ b/settings/l10n/fi_FI.json @@ -122,6 +122,7 @@ "We strongly suggest installing the required packages on your system to support one of the following locales: %s." : "Suosittelemme asentamaan vaaditut paketit järjestelmään, jotta järjestelmässä on tuki yhdelle seuraavista maa-asetuksista: %s.", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Cron-työn suorittaminen komentorivin kautta ei onnistunut. Ilmeni seuraavia teknisiä virheitä:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Lue tarkasti asennusohjeet ↗, tarkista myös mahdolliset virheet ja varoitukset lokitiedostosta.", + "All checks passed." : "Läpäistiin kaikki tarkistukset.", "Open documentation" : "Avaa dokumentaatio", "Allow apps to use the Share API" : "Salli sovellusten käyttää jakamisen ohjelmointirajapintaa", "Allow users to share via link" : "Salli käyttäjien jakaa linkkien kautta", @@ -144,9 +145,13 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php kutsuu webcron-palvelun kautta cron.php:ta 15 minuutin välein http:tä käyttäen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Käytä järjestelmän cron-palvelua cron.php-tiedoston kutsumista varten 15 minuutin välein.", "Enable server-side encryption" : "Käytä palvelinpään salausta", + "Please read carefully before activating server-side encryption: " : "Lue tarkasti, ennen kuin otat palvelinpään salauksen käyttöön:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Salausta ei voi perua. Kun salaus on käytössä, kaikki tiedostot siitä hetkestä eteenpäin palvelimella on salattu, eikä salausta voi enää poistaa käytöstä.", + "This is the final warning: Do you really want to enable encryption?" : "Tämä on viimeinen varoitus: haluatko varmasti ottaa salauksen käyttöön?", "Enable encryption" : "Käytä salausta", "No encryption module loaded, please enable an encryption module in the app menu." : "Salausmoduulia ei ole käytössä. Ota salausmoduuli käyttöön sovellusvalikosta.", "Select default encryption module:" : "Valitse oletuksena käytettävä salausmoduuli:", + "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen. Ota \"Default encryption module\" käyttöön ja suorita komento 'occ encryption:migrate'", "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Sinun täytyy siirtää salausavaimet vanhasta salaustekniikasta (ownCloud <= 8.0) uuteen.", "Start migration" : "Käynnistä migraatio", "This is used for sending out notifications." : "Tätä käytetään ilmoitusten lähettämiseen.", @@ -226,6 +231,7 @@ "Upload new" : "Lähetä uusi", "Select new from Files" : "Valitse uusi tiedostoista", "Remove image" : "Poista kuva", + "Either png or jpg. Ideally square but you will be able to crop it. The file is not allowed to exceed the maximum size of 20 MB." : "Joko png- tai jpg-kuva. Mieluiten neliö, voit kuitenkin rajata kuvaa. Tiedosto voi olla korkeintaan 20 megatavun kokoinen.", "Your avatar is provided by your original account." : "Avatar-kuvasi pohjautuu alkuperäiseen tiliisi.", "Cancel" : "Peru", "Choose as profile image" : "Valitse profiilikuvaksi", diff --git a/settings/l10n/is.js b/settings/l10n/is.js index dce4e7e8f8..994011a098 100644 --- a/settings/l10n/is.js +++ b/settings/l10n/is.js @@ -8,6 +8,7 @@ OC.L10N.register( "Admins can't remove themself from the admin group" : "Stjórnendur geta ekki fjarlægt sjálfa sig úr stjórnendahóp", "Unable to add user to group %s" : "Ekki tókst að bæta notenda við hópinn %s", "Unable to remove user from group %s" : "Ekki tókst að fjarlægja notanda úr hópnum %s", + "Saved" : "Vistað", "Email sent" : "Tölvupóstur sendur", "Email saved" : "Netfang vistað", "Please wait...." : "Andartak....", @@ -15,6 +16,11 @@ OC.L10N.register( "Enable" : "Virkja", "Updating...." : "Uppfæri...", "Updated" : "Uppfært", + "Very weak password" : "Mjög veikt lykilorð", + "Weak password" : "Veikt lykilorð", + "So-so password" : "Svo-svo lykilorð", + "Good password" : "Gott lykilorð", + "Strong password" : "Sterkt lykilorð", "Delete" : "Eyða", "Groups" : "Hópar", "undo" : "afturkalla", @@ -26,8 +32,10 @@ OC.L10N.register( "Server address" : "Host nafn netþjóns", "More" : "Meira", "Less" : "Minna", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Sérstaklega þegar tölvu forrit er notað til samræmingar þá er ekki mælt með notkunn SQLite.", "Version" : "Útgáfa", "by" : "af", + "Cheers!" : "Skál!", "Forum" : "Vefspjall", "You have used %s of the available %s" : "Þú hefur notað %s af tiltæku %s", "Password" : "Lykilorð", diff --git a/settings/l10n/is.json b/settings/l10n/is.json index ddc783ecbe..5e2507a549 100644 --- a/settings/l10n/is.json +++ b/settings/l10n/is.json @@ -6,6 +6,7 @@ "Admins can't remove themself from the admin group" : "Stjórnendur geta ekki fjarlægt sjálfa sig úr stjórnendahóp", "Unable to add user to group %s" : "Ekki tókst að bæta notenda við hópinn %s", "Unable to remove user from group %s" : "Ekki tókst að fjarlægja notanda úr hópnum %s", + "Saved" : "Vistað", "Email sent" : "Tölvupóstur sendur", "Email saved" : "Netfang vistað", "Please wait...." : "Andartak....", @@ -13,6 +14,11 @@ "Enable" : "Virkja", "Updating...." : "Uppfæri...", "Updated" : "Uppfært", + "Very weak password" : "Mjög veikt lykilorð", + "Weak password" : "Veikt lykilorð", + "So-so password" : "Svo-svo lykilorð", + "Good password" : "Gott lykilorð", + "Strong password" : "Sterkt lykilorð", "Delete" : "Eyða", "Groups" : "Hópar", "undo" : "afturkalla", @@ -24,8 +30,10 @@ "Server address" : "Host nafn netþjóns", "More" : "Meira", "Less" : "Minna", + "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Sérstaklega þegar tölvu forrit er notað til samræmingar þá er ekki mælt með notkunn SQLite.", "Version" : "Útgáfa", "by" : "af", + "Cheers!" : "Skál!", "Forum" : "Vefspjall", "You have used %s of the available %s" : "Þú hefur notað %s af tiltæku %s", "Password" : "Lykilorð", diff --git a/settings/l10n/it.js b/settings/l10n/it.js index ad4e145707..55493ffbcd 100644 --- a/settings/l10n/it.js +++ b/settings/l10n/it.js @@ -132,6 +132,7 @@ OC.L10N.register( "If your installation is not installed in 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\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Leggi attentamente le guide d'installazione ↗, e controlla gli errori o gli avvisi nel log.", + "All checks passed." : "Tutti i controlli passati.", "Open documentation" : "Apri la documentazione", "Allow apps to use the Share API" : "Consenti alle applicazioni di utilizzare le API di condivisione", "Allow users to share via link" : "Consenti agli utenti di condivere tramite collegamento", @@ -154,6 +155,12 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.", "Enable server-side encryption" : "Abilita cifratura lato server", + "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "La cifratura è un processo a senso unico. Una volta che la cifratura è abilitata, tutti i file da quel momento in poi saranno cifrati sul server e non sarà possibile disattivare la cifratura successivamente", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Chiunque abbia un accesso privilegiato al tuo server ownCloud può decifrare i tuoi file intercettando le richieste o leggendo le password degli utenti che sono memorizzate come testo semplice nei file di sessione. La cifratura lato server non protegge perciò dagli amministratori scorretti, ma è utile per proteggere i tuoi dati sulle archiviazioni ospitate esternamente.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "In base all'attuale modulo di cifratura, la dimensione generale dei file è \nincrementata (del 35%% o più quando si utilizza il modulo predefinito)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Dovresti fare regolarmente una copia di sicurezza di tutte le chiavi di cifratura per evitare perdite di dati definitive (data//files_encryption and data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?", "Enable encryption" : "Abilita cifratura", "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.", "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:", diff --git a/settings/l10n/it.json b/settings/l10n/it.json index bf21aa66b3..a3dd09a0b4 100644 --- a/settings/l10n/it.json +++ b/settings/l10n/it.json @@ -130,6 +130,7 @@ "If your installation is not installed in 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\")" : "Se la tua installazione non si trova nella radice del dominio e utilizza il cron di sistema, potrebbero esserci problemi con la generazione degli URL. Per evitare questi problemi, imposta l'opzione \"overwrite.cli.url\" nel file config.php al percorso della radice del sito della tua installazione (Consigliato: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Non è stato possibile eseguire il job di cron tramite CLI. Sono apparsi i seguenti errori tecnici:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Leggi attentamente le guide d'installazione ↗, e controlla gli errori o gli avvisi nel log.", + "All checks passed." : "Tutti i controlli passati.", "Open documentation" : "Apri la documentazione", "Allow apps to use the Share API" : "Consenti alle applicazioni di utilizzare le API di condivisione", "Allow users to share via link" : "Consenti agli utenti di condivere tramite collegamento", @@ -152,6 +153,12 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php è registrato su un servizio webcron per invocare cron.php ogni 15 minuti su http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usa il servizio cron di sistema per invocare il file cron.php ogni 15 minuti.", "Enable server-side encryption" : "Abilita cifratura lato server", + "Please read carefully before activating server-side encryption: " : "Leggi attentamente prima di attivare la cifratura lato server:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "La cifratura è un processo a senso unico. Una volta che la cifratura è abilitata, tutti i file da quel momento in poi saranno cifrati sul server e non sarà possibile disattivare la cifratura successivamente", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Chiunque abbia un accesso privilegiato al tuo server ownCloud può decifrare i tuoi file intercettando le richieste o leggendo le password degli utenti che sono memorizzate come testo semplice nei file di sessione. La cifratura lato server non protegge perciò dagli amministratori scorretti, ma è utile per proteggere i tuoi dati sulle archiviazioni ospitate esternamente.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "In base all'attuale modulo di cifratura, la dimensione generale dei file è \nincrementata (del 35%% o più quando si utilizza il modulo predefinito)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Dovresti fare regolarmente una copia di sicurezza di tutte le chiavi di cifratura per evitare perdite di dati definitive (data//files_encryption and data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Questo è l'ultimo avviso: vuoi davvero abilitare la cifratura?", "Enable encryption" : "Abilita cifratura", "No encryption module loaded, please enable an encryption module in the app menu." : "Nessun modulo di cifratura caricato, carica un modulo di cifratura nel menu delle applicazioni.", "Select default encryption module:" : "Seleziona il modulo di cifratura predefinito:", diff --git a/settings/l10n/pt_BR.js b/settings/l10n/pt_BR.js index 95bc6480df..d6d7fad075 100644 --- a/settings/l10n/pt_BR.js +++ b/settings/l10n/pt_BR.js @@ -132,6 +132,7 @@ OC.L10N.register( "If your installation is not installed in 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\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usa cron do sistema, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwrite.cli.url\" em seu arquivo config.php para o caminho webroot de sua instalação (Sugestão: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cron via CLI. Os seguintes erros técnicos têm aparecido:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Por favor, verifique os guias de instalação ↗, e verificar se há erros ou avisos no log.", + "All checks passed." : "Todas as verificações passaram.", "Open documentation" : "Abrir documentação", "Allow apps to use the Share API" : "Permitir que aplicativos usem a API de Compartilhamento", "Allow users to share via link" : "Permitir que os usuários compartilhem por link", @@ -154,6 +155,12 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sobre http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar a Criptografia do Lado do Servidor", + "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado do servidor:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Encriptação do lado do servidor é um processo de uma direção. Uma vez que a criptografia está habilitada, todos os arquivos a partir desse ponto em diante serão criptografados no servidor e não será possível desativar a criptografia em uma data posterior", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Qualquer pessoa que tenha acesso privilegiado ao seu servidor ownCloud pode descriptografar os arquivos quer, interceptando pedidos ou a leitura de senhas de usuários que são armazenados em arquivos de sessão texto simples. Encriptação do lado do servidor, portanto, não protege contra os administradores mal-intencionados, mas é útil para proteger seus dados em armazenamento hospedados externamente.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Dependendo do módulo atual de criptografia o tamanho geral do arquivo será aumentado (por 35 %% ou mais quando se usa o módulo padrão)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Você deve regularmente fazer backup de todas as chaves de criptografia para evitar a perda de dados permanente (data//files_encryption e data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?", "Enable encryption" : "Ativar criptografia", "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado, por favor, ative um módulo de criptografia no menu de aplicativos.", "Select default encryption module:" : "Selecione o módulo de criptografia padrão:", diff --git a/settings/l10n/pt_BR.json b/settings/l10n/pt_BR.json index 3df92f448d..d06ae0f7dd 100644 --- a/settings/l10n/pt_BR.json +++ b/settings/l10n/pt_BR.json @@ -130,6 +130,7 @@ "If your installation is not installed in 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\")" : "Se a sua instalação não estiver instalada na raiz do domínio e usa cron do sistema, pode haver problemas com a geração de URL. Para evitar esses problemas, por favor, defina a opção \"overwrite.cli.url\" em seu arquivo config.php para o caminho webroot de sua instalação (Sugestão: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Não foi possível executar o cron via CLI. Os seguintes erros técnicos têm aparecido:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Por favor, verifique os guias de instalação ↗, e verificar se há erros ou avisos no log.", + "All checks passed." : "Todas as verificações passaram.", "Open documentation" : "Abrir documentação", "Allow apps to use the Share API" : "Permitir que aplicativos usem a API de Compartilhamento", "Allow users to share via link" : "Permitir que os usuários compartilhem por link", @@ -152,6 +153,12 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php está registrado no serviço webcron para chamar cron.php a cada 15 minutos sobre http.", "Use system's cron service to call the cron.php file every 15 minutes." : "Usar o serviço cron do sistema para chamar o arquivo cron.php cada 15 minutos.", "Enable server-side encryption" : "Habilitar a Criptografia do Lado do Servidor", + "Please read carefully before activating server-side encryption: " : "Por favor, leia com atenção antes de ativar a criptografia do lado do servidor:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Encriptação do lado do servidor é um processo de uma direção. Uma vez que a criptografia está habilitada, todos os arquivos a partir desse ponto em diante serão criptografados no servidor e não será possível desativar a criptografia em uma data posterior", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Qualquer pessoa que tenha acesso privilegiado ao seu servidor ownCloud pode descriptografar os arquivos quer, interceptando pedidos ou a leitura de senhas de usuários que são armazenados em arquivos de sessão texto simples. Encriptação do lado do servidor, portanto, não protege contra os administradores mal-intencionados, mas é útil para proteger seus dados em armazenamento hospedados externamente.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Dependendo do módulo atual de criptografia o tamanho geral do arquivo será aumentado (por 35 %% ou mais quando se usa o módulo padrão)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Você deve regularmente fazer backup de todas as chaves de criptografia para evitar a perda de dados permanente (data//files_encryption e data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Este é o aviso final: Você realmente quer ativar a criptografia?", "Enable encryption" : "Ativar criptografia", "No encryption module loaded, please enable an encryption module in the app menu." : "Nenhum módulo de criptografia carregado, por favor, ative um módulo de criptografia no menu de aplicativos.", "Select default encryption module:" : "Selecione o módulo de criptografia padrão:", From 898243a5ee9a4922a17934419717816a6dd427a0 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 26 Aug 2015 10:27:55 +0200 Subject: [PATCH 079/329] fix share icons of shared items being placed off on mobile --- core/js/share.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/js/share.js b/core/js/share.js index 7e0d0b7a2d..cd4a614e9d 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -127,7 +127,7 @@ OC.Share={ if (img.attr('src') !== OC.imagePath('core', 'actions/public')) { img.attr('src', image); $(actions[i]).addClass('permanent'); - $(actions[i]).html(' '+t('core', 'Shared')+'').prepend(img); + $(actions[i]).html(' '+t('core', 'Shared')+'').prepend(img); } } for(i = 0; i < files.length; i++) { @@ -276,7 +276,7 @@ OC.Share={ else if (recipients) { message = t('core', 'Shared with {recipients}', {recipients: this._formatShareList(recipients.split(", ")).join(", ")}, 0, {escape: false}); } - action.html(' ' + message + '').prepend(img); + action.html(' ' + message + '').prepend(img); if (owner || recipients) { action.find('.remoteAddress').tipsy({gravity: 's'}); } From 90ed32ebc509edc5bf4978c304db79e6140d2b09 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Wed, 26 Aug 2015 10:30:24 +0200 Subject: [PATCH 080/329] Properly show token errors in ajax/update.php event source --- core/ajax/update.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/core/ajax/update.php b/core/ajax/update.php index 14b4f913f7..c25ef1b908 100644 --- a/core/ajax/update.php +++ b/core/ajax/update.php @@ -28,15 +28,19 @@ set_time_limit(0); require_once '../../lib/base.php'; -\OCP\JSON::callCheck(); +$l = \OC::$server->getL10N('core'); + +$eventSource = \OC::$server->createEventSource(); +// need to send an initial message to force-init the event source, +// which will then trigger its own CSRF check and produces its own CSRF error +// message +$eventSource->send('success', (string)$l->t('Preparing update')); if (OC::checkUpgrade(false)) { // if a user is currently logged in, their session must be ignored to // avoid side effects \OC_User::setIncognitoMode(true); - $l = new \OC_L10N('core'); - $eventSource = \OC::$server->createEventSource(); $logger = \OC::$server->getLogger(); $updater = new \OC\Updater( \OC::$server->getHTTPHelper(), @@ -96,6 +100,10 @@ if (OC::checkUpgrade(false)) { (string)$l->t('Following apps have been disabled: %s', implode(', ', $disabledThirdPartyApps))); } - $eventSource->send('done', ''); - $eventSource->close(); +} else { + $eventSource->send('notice', (string)$l->t('Already up to date')); } + +$eventSource->send('done', ''); +$eventSource->close(); + From ce6045f84b833c35de5b507c4d15b2a753e476b9 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Wed, 26 Aug 2015 10:56:27 +0200 Subject: [PATCH 081/329] Properly show update exception --- core/ajax/update.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/ajax/update.php b/core/ajax/update.php index c25ef1b908..a693deeb9c 100644 --- a/core/ajax/update.php +++ b/core/ajax/update.php @@ -89,7 +89,13 @@ if (OC::checkUpgrade(false)) { OC_Config::setValue('maintenance', false); }); - $updater->upgrade(); + try { + $updater->upgrade(); + } catch (\Exception $e) { + $eventSource->send('failure', get_class($e) . ': ' . $e->getMessage()); + $eventSource->close(); + exit(); + } if (!empty($incompatibleApps)) { $eventSource->send('notice', From 23aa44b6b5b456988005559c4617f9a8da4521d3 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Wed, 26 Aug 2015 11:04:39 +0200 Subject: [PATCH 082/329] Make maintenance/update text white Removing the color makes it default to white as defined in the parent style. --- core/css/styles.css | 1 - 1 file changed, 1 deletion(-) diff --git a/core/css/styles.css b/core/css/styles.css index 5ad81fd12a..b196b4f1b3 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -680,7 +680,6 @@ label.infield { #body-login .update { width: inherit; text-align: center; - color: #ccc; } #body-login .update .appList { From c11ea056d06be7859071eb3176462a9d4d56964e Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 26 Aug 2015 11:07:29 +0200 Subject: [PATCH 083/329] properly shade file actions and menu items, don't differentiate between mobile and desktop --- apps/files/css/files.css | 41 +++++++++++++++++++++++++++++++++------ apps/files/css/mobile.css | 16 +-------------- core/css/apps.css | 30 ++++++++++++++++++---------- 3 files changed, 56 insertions(+), 31 deletions(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index ba82455c37..f8c1d03b66 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -594,9 +594,9 @@ a.action > img { #fileList tr:focus a.action.disabled:focus, #fileList .name:focus a.action.disabled:focus, #fileList a.action.disabled img { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; - filter: alpha(opacity=50); - opacity: .5; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + filter: alpha(opacity=30); + opacity: .3; display:inline; } .ie8 #fileList a.action:hover img, @@ -606,15 +606,44 @@ a.action > img { #fileList tr:hover a.action:hover, #fileList tr:focus a.action:focus, #fileList .name:focus a.action:focus { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; - filter: alpha(opacity=100); - opacity: 1; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + filter: alpha(opacity=70); + opacity: 7; display:inline; } #fileList tr a.action.disabled { background: none; } +/* show share action of shared items darker to distinguish from non-shared */ +#fileList a.action.permanent.shared-style { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)" !important; + filter: alpha(opacity=70) !important; + opacity: .7 !important; +} +/* always show actions on mobile, not only on hover */ +#fileList a.action, +#fileList a.action.action-menu.permanent { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)" !important; + filter: alpha(opacity=30) !important; + opacity: .3 !important; + display: inline !important; +} + +/* properly display actions in the popover menu */ +#fileList .fileActionsMenu .action { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)" !important; + filter: alpha(opacity=50) !important; + opacity: .5 !important; +} +#fileList .fileActionsMenu .action:hover, +#fileList .fileActionsMenu .action:focus { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important; + filter: alpha(opacity=100) !important; + opacity: 1 !important; +} + + #selectedActionsList a.download.disabled, #fileList tr a.action.action-download.disabled { color: #000000; diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css index b43bd3cfce..c5507a1e26 100644 --- a/apps/files/css/mobile.css +++ b/apps/files/css/mobile.css @@ -32,26 +32,12 @@ table td.filename .nametext { width: 100%; } -/* show share action of shared items darker to distinguish from non-shared */ -#fileList a.action.permanent.shared-style { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)" !important; - filter: alpha(opacity=70) !important; - opacity: .7 !important; -} -/* always show actions on mobile, not only on hover */ -#fileList a.action, -#fileList a.action.action-menu.permanent { - -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)" !important; - filter: alpha(opacity=20) !important; - opacity: .2 !important; - display: inline !important; -} #fileList a.action.action-menu img { padding-left: 0; } #fileList .fileActionsMenu { - margin-right: 12px; + margin-right: 6px; } /* hide text of the share action on mobile */ #fileList a.action-share span { diff --git a/core/css/apps.css b/core/css/apps.css index ee0f7516b1..17595479ae 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -292,6 +292,7 @@ list-style-type: none; } +/* menu bubble / popover */ .bubble, #app-navigation .app-navigation-entry-menu { position: absolute; @@ -308,15 +309,6 @@ -o-filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); filter: drop-shadow(0 0 5px rgba(150, 150, 150, 0.75)); } - -#app-navigation .app-navigation-entry-menu { - display: none; -} - -#app-navigation .app-navigation-entry-menu.open { - display: block; -} - /* miraculous border arrow stuff */ .bubble:after, #app-navigation .app-navigation-entry-menu:after { @@ -329,7 +321,6 @@ position: absolute; pointer-events: none; } - .bubble:after, #app-navigation .app-navigation-entry-menu:after { border-color: rgba(238, 238, 238, 0); @@ -337,6 +328,25 @@ border-width: 10px; margin-left: -10px; } +.bubble .action { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)" !important; + filter: alpha(opacity=50) !important; + opacity: .5 !important; +} +.bubble .action:hover, +.bubble .action:focus { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important; + filter: alpha(opacity=100) !important; + opacity: 1 !important; +} + +#app-navigation .app-navigation-entry-menu { + display: none; +} + +#app-navigation .app-navigation-entry-menu.open { + display: block; +} /* list of options for an entry */ #app-navigation .app-navigation-entry-menu ul { From 202af1e3229278abde5dd4597917ff3c390d5f6f Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Wed, 26 Aug 2015 11:39:22 +0200 Subject: [PATCH 084/329] fix unit tests --- apps/files_sharing/tests/js/shareSpec.js | 16 ++++++++-------- core/js/tests/specs/shareSpec.js | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/apps/files_sharing/tests/js/shareSpec.js b/apps/files_sharing/tests/js/shareSpec.js index 581e15caf9..b6368b901e 100644 --- a/apps/files_sharing/tests/js/shareSpec.js +++ b/apps/files_sharing/tests/js/shareSpec.js @@ -117,7 +117,7 @@ describe('OCA.Sharing.Util tests', function() { $tr = fileList.$el.find('tbody tr:first'); $action = $tr.find('.action-share'); expect($action.hasClass('permanent')).toEqual(true); - expect($action.find('>span').text()).toEqual('Shared'); + expect($action.find('>span').text().trim()).toEqual('Shared'); expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg'); expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-shared.svg'); expect($action.find('img').length).toEqual(1); @@ -138,7 +138,7 @@ describe('OCA.Sharing.Util tests', function() { $tr = fileList.$el.find('tbody tr:first'); $action = $tr.find('.action-share'); expect($action.hasClass('permanent')).toEqual(true); - expect($action.find('>span').text()).toEqual('Shared'); + expect($action.find('>span').text().trim()).toEqual('Shared'); expect(OC.basename($action.find('img').attr('src'))).toEqual('public.svg'); expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-public.svg'); expect($action.find('img').length).toEqual(1); @@ -159,7 +159,7 @@ describe('OCA.Sharing.Util tests', function() { $tr = fileList.$el.find('tbody tr:first'); $action = $tr.find('.action-share'); expect($action.hasClass('permanent')).toEqual(true); - expect($action.find('>span').text()).toEqual('User One'); + expect($action.find('>span').text().trim()).toEqual('User One'); expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg'); expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-shared.svg'); }); @@ -179,7 +179,7 @@ describe('OCA.Sharing.Util tests', function() { $tr = fileList.$el.find('tbody tr:first'); $action = $tr.find('.action-share'); expect($action.hasClass('permanent')).toEqual(true); - expect($action.find('>span').text()).toEqual('Shared with User One, User Two'); + expect($action.find('>span').text().trim()).toEqual('Shared with User One, User Two'); expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg'); expect(OC.basename(getImageUrl($tr.find('.filename .thumbnail')))).toEqual('folder-shared.svg'); expect($action.find('img').length).toEqual(1); @@ -275,7 +275,7 @@ describe('OCA.Sharing.Util tests', function() { OC.Share.updateIcon('file', 1); expect($action.hasClass('permanent')).toEqual(true); - expect($action.find('>span').text()).toEqual('Shared with Group One, Group Two, User One, User Two'); + expect($action.find('>span').text().trim()).toEqual('Shared with Group One, Group Two, User One, User Two'); expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg'); }); it('updates share icon after updating shares of a file', function() { @@ -311,7 +311,7 @@ describe('OCA.Sharing.Util tests', function() { OC.Share.updateIcon('file', 1); expect($action.hasClass('permanent')).toEqual(true); - expect($action.find('>span').text()).toEqual('Shared with User One, User Three, User Two'); + expect($action.find('>span').text().trim()).toEqual('Shared with User One, User Three, User Two'); expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg'); }); it('removes share icon after removing all shares from a file', function() { @@ -380,7 +380,7 @@ describe('OCA.Sharing.Util tests', function() { OC.Share.updateIcon('file', 1); expect($action.hasClass('permanent')).toEqual(true); - expect($action.find('>span').text()).toEqual('User One'); + expect($action.find('>span').text().trim()).toEqual('User One'); expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg'); }); it('keep share text after unsharing reshare', function() { @@ -416,7 +416,7 @@ describe('OCA.Sharing.Util tests', function() { OC.Share.updateIcon('file', 1); expect($action.hasClass('permanent')).toEqual(true); - expect($action.find('>span').text()).toEqual('User One'); + expect($action.find('>span').text().trim()).toEqual('User One'); expect(OC.basename($action.find('img').attr('src'))).toEqual('share.svg'); }); }); diff --git a/core/js/tests/specs/shareSpec.js b/core/js/tests/specs/shareSpec.js index 3dc25134f5..5a59a117d7 100644 --- a/core/js/tests/specs/shareSpec.js +++ b/core/js/tests/specs/shareSpec.js @@ -1132,7 +1132,7 @@ describe('OC.Share tests', function() { OC.Share.markFileAsShared($file); $action = $file.find('.action-share>span'); - expect($action.text()).toEqual(output); + expect($action.text().trim()).toEqual(output); if (_.isString(title)) { expect($action.find('.remoteAddress').attr('title')).toEqual(title); } else { @@ -1236,7 +1236,7 @@ describe('OC.Share tests', function() { OC.Share.markFileAsShared($file, true); $action = $file.find('.action-share>span'); - expect($action.text()).toEqual(output); + expect($action.text().trim()).toEqual(output); if (_.isString(title)) { expect($action.find('.remoteAddress').attr('title')).toEqual(title); } else if (_.isArray(title)) { From 98301210a9172e6b0a44bcaf43b4ecf4b31f938e Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Sat, 8 Aug 2015 22:15:12 +0200 Subject: [PATCH 085/329] Start of OCS Share API sharees endpoint --- apps/files_sharing/api/sharees.php | 234 ++++++++++++++++++++++++++ apps/files_sharing/appinfo/routes.php | 11 ++ 2 files changed, 245 insertions(+) create mode 100644 apps/files_sharing/api/sharees.php diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php new file mode 100644 index 0000000000..83acdd086c --- /dev/null +++ b/apps/files_sharing/api/sharees.php @@ -0,0 +1,234 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ +namespace OCA\Files_Sharing\API; + +use OCP\IGroupManager; +use OCP\IUserManager; +use OCP\IAppConfig; +use OCP\IUserSession; +use OCP\IURLGenerator; + +class Sharees { + + /** @var IGroupManager */ + private $groupManager; + + /** @var IUserManager */ + private $userManager; + + /** @var \OCP\Contacts\IManager */ + private $contactsManager; + + /** @var IAppConfig */ + private $appConfig; + + /** @var IUserSession */ + private $userSession; + + /** @var IURLGenerator */ + private $urlGenerator; + + /** + * @param IGroupManager $groupManager + * @param IUserManager $userManager + * @param \OCP\Contacts\IManager $contactsManager + * @param IAppConfig $appConfig + * @param IUserSession $userSession + */ + public function __construct(IGroupManager $groupManager, + IUserManager $userManager, + \OCP\Contacts\IManager $contactsManager, + IAppConfig $appConfig, + IUserSession $userSession, + IURLGenerator $urlGenerator) { + $this->groupManager = $groupManager; + $this->userManager = $userManager; + $this->contactsManager = $contactsManager; + $this->appConfig = $appConfig; + $this->userSession = $userSession; + $this->urlGenerator = $urlGenerator; + } + + /** + * @param string $search + * @param bool $shareWithGroupOnly + * + * @return array possible sharees + */ + private function getUsers($search, $shareWithGroupOnly) { + $sharees = []; + + $users = []; + if ($shareWithGroupOnly) { + // Search in all the groups this user is part of + $userGroups = $this->groupManager->getUserGroupsIds($this->userSession->getUser()); + foreach ($userGroups as $userGroup) { + $users = array_merge($users, $this->groupManager->displayNamesInGroup($userGroup, $search)); + } + $users = array_unique($users); + } else { + // Search in all users + $users_tmp = $this->userManager->searchDisplayName($search); + + // Put in array that maps uid => displayName + foreach($users_tmp as $user) { + $users[$user->getUID()] = $user->getDisplayName(); + } + } + + + foreach ($users as $uid => $displayName) { + $sharees[] = [ + 'label' => $displayName, + 'value' => [ + 'shareType' => \OCP\Share::SHARE_TYPE_USER, + 'shareWith' => $uid + ] + ]; + } + + return $sharees; + } + + /** + * @param string $search + * @param bool $shareWithGroupOnly + * + * @return array possible sharees + */ + private function getGroups($search, $shareWithGroupOnly) { + $sharees = []; + $groups = $this->groupManager->search($search); + + if ($shareWithGroupOnly) { + // Intersect all the groups that match with the groups this user is a member of + $userGroups = $this->groupManager->getUserGroups($this->userSession->getUser()); + $groups = array_intersect($groups, $userGroups); + } + + foreach ($groups as $group) { + $sharees[] = [ + 'label' => $group->getGID(), + 'value' => [ + 'shareType' => \OCP\Share::SHARE_TYPE_GROUP, + 'shareWith' => $group->getGID() + ] + ]; + } + + return $sharees; + } + + /** + * @param string $search + * + * @return array possible sharees + */ + private function getRemote($search) { + $sharees = []; + + if (substr_count($search, '@') >= 1) { + $sharees[] = [ + 'label' => $search, + 'value' => [ + 'shareType' => \OCP\Share::SHARE_TYPE_REMOTE, + 'shareWith' => $search + ] + ]; + } + + // Search in contacts + $addressBookContacts = $this->contactsManager->search($search, ['CLOUD', 'FN']); + foreach ($addressBookContacts as $contact) { + if (isset($contact['CLOUD'])) { + foreach ($contact['CLOUD'] as $cloudId) { + $sharees[] = [ + 'label' => $contact['FN'] . ' (' . $cloudId . ')', + 'value' => [ + 'shareType' => \OCP\Share::SHARE_TYPE_REMOTE, + 'shareWith' => $cloudId + ] + ]; + } + } + } + + return $sharees; + } + + public function search($params) { + $search = isset($_GET['search']) ? (string)$_GET['search'] : ''; + $item_type = isset($_GET['item_type']) ? (string)$_GET['item_type'] : null; + $share_type = isset($_GET['share_type']) ? intval($_GET['share_type']) : null; + $page = isset($_GET['page']) ? intval($_GET['page']) : 1; + $per_page = isset($_GET['per_page']) ? intval($_GET['per_page']) : 200; + + // Verify arguments + if ($item_type === null) { + return new \OC_OCS_Result(null, 400, 'missing item_type'); + } + + $shareWithGroupOnly = $this->appConfig->getValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes' ? true : false; + + $sharees = []; + // Get users + if ($share_type === null || $share_type === \OCP\Share::SHARE_TYPE_USER) { + $sharees = array_merge($sharees, $this->getUsers($search, $shareWithGroupOnly)); + } + + // Get groups + if ($share_type === null || $share_type === \OCP\Share::SHARE_TYPE_GROUP) { + $sharees = array_merge($sharees, $this->getGroups($search, $shareWithGroupOnly)); + } + + // Get remote + if (($share_type === null || $share_type === \OCP\Share::SHARE_TYPE_REMOTE) && + \OCP\Share::getBackend($item_type)->isShareTypeAllowed(\OCP\Share::SHARE_TYPE_REMOTE)) { + $sharees = array_merge($sharees, $this->getRemote($search)); + } + + //Pagination + $start = ($page - 1) * $per_page; + $end = $page * $per_page; + $tot = count($sharees); + + $sharees = array_slice($sharees, $start, $per_page); + $response = new \OC_OCS_Result($sharees); + + // FIXME: Do this? + $response->setTotalItems($tot); + $response->setItemsPerPage($per_page); + + // TODO add other link rels + + if ($tot > $end) { + $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees?') . + 'search=' . $search . + '&item_type=' . $item_type . + '&share_type=' . $share_type . + '&page=' . ($page + 1) . + '&per_page=' . $per_page; + $response->addHeader('Link', '<' . $url . '> rel="next"'); + } + + return $response; + } +} diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 184ad29bba..498b0eb55e 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -102,3 +102,14 @@ API::register('delete', array('\OCA\Files_Sharing\API\Remote', 'declineShare'), 'files_sharing'); +$sharees = new \OCA\Files_Sharing\API\Sharees(\OC::$server->getGroupManager(), + \OC::$server->getUserManager(), + \OC::$server->getContactsManager(), + \OC::$server->getAppConfig(), + \OC::$server->getUserSession(), + \OC::$server->getURLGenerator()); + +API::register('get', + '/apps/files_sharing/api/v1/sharees', + [$sharees, 'search'], + 'files_sharing', API::USER_AUTH); From 8a5c1e6d4d63b2efc2c3e8acca98043973295863 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Sun, 9 Aug 2015 20:47:49 +0200 Subject: [PATCH 086/329] Sort sharees To ensure that pagination is working properly we need to make sure the shares are always in the same order. Sorting is first done by label (catches most instances) If there is a user and a group with the same label we sort by shareType If there are multiple users with the same label we sort those by shareWith --- apps/files_sharing/api/sharees.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 83acdd086c..8146c98b01 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -205,6 +205,24 @@ class Sharees { $sharees = array_merge($sharees, $this->getRemote($search)); } + + // Sort sharees + usort($sharees, function($a, $b) { + $res = strcmp($a['label'], $b['label']); + + // If labels are equal sort by share type + if ($res === 0) { + $res = $a['value']['shareType'] - $b['value']['shareType']; + } + + // If sharetype is equal compare shareWith + if ($res === 0) { + $res = strcmp($a['value']['shareWith'], $b['value']['shareWith']); + } + + return $res; + }); + //Pagination $start = ($page - 1) * $per_page; $end = $page * $per_page; From b2fbecc39fa5d0538a946244e5b85a7145cb4505 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Sun, 9 Aug 2015 21:19:35 +0200 Subject: [PATCH 087/329] Empty skeleton for tests --- apps/files_sharing/tests/sharees.php | 50 ++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 apps/files_sharing/tests/sharees.php diff --git a/apps/files_sharing/tests/sharees.php b/apps/files_sharing/tests/sharees.php new file mode 100644 index 0000000000..a9e3350ceb --- /dev/null +++ b/apps/files_sharing/tests/sharees.php @@ -0,0 +1,50 @@ + Date: Tue, 11 Aug 2015 14:57:51 +0200 Subject: [PATCH 088/329] Move test file to subdir --- apps/files_sharing/api/sharees.php | 2 +- apps/files_sharing/tests/{ => api}/sharees.php | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename apps/files_sharing/tests/{ => api}/sharees.php (100%) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 8146c98b01..5dd0da55de 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -54,7 +54,7 @@ class Sharees { * @param IUserSession $userSession */ public function __construct(IGroupManager $groupManager, - IUserManager $userManager, + IUserManager $userManager, \OCP\Contacts\IManager $contactsManager, IAppConfig $appConfig, IUserSession $userSession, diff --git a/apps/files_sharing/tests/sharees.php b/apps/files_sharing/tests/api/sharees.php similarity index 100% rename from apps/files_sharing/tests/sharees.php rename to apps/files_sharing/tests/api/sharees.php From be257bc9cc2330d0e67957525cb66646b346a850 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 11 Aug 2015 15:43:44 +0200 Subject: [PATCH 089/329] Add tests for "getUsers()" --- apps/files_sharing/api/sharees.php | 2 +- apps/files_sharing/tests/api/sharees.php | 255 +++++++++++++++++++---- 2 files changed, 219 insertions(+), 38 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 5dd0da55de..6853bd8a26 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -79,7 +79,7 @@ class Sharees { $users = []; if ($shareWithGroupOnly) { // Search in all the groups this user is part of - $userGroups = $this->groupManager->getUserGroupsIds($this->userSession->getUser()); + $userGroups = $this->groupManager->getUserGroupIds($this->userSession->getUser()); foreach ($userGroups as $userGroup) { $users = array_merge($users, $this->groupManager->displayNamesInGroup($userGroup, $search)); } diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index a9e3350ceb..30397ba867 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -1,50 +1,231 @@ + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_Sharing\Tests\API; use OCA\Files_Sharing\API\Sharees; use OCA\Files_sharing\Tests\TestCase; class ShareesTest extends TestCase { + /** @var Sharees */ + protected $sharees; + + /** @var \OCP\IUserManager|\PHPUnit_Framework_MockObject_MockObject */ + protected $userManager; + + /** @var \OCP\IGroupManager|\PHPUnit_Framework_MockObject_MockObject */ + protected $groupManager; + + /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */ + protected $session; + + protected function setUp() { + parent::setUp(); + + $this->userManager = $this->getMockBuilder('OCP\IUserManager') + ->disableOriginalConstructor() + ->getMock(); + + $this->groupManager = $this->getMockBuilder('OCP\IGroupManager') + ->disableOriginalConstructor() + ->getMock(); + + $this->session = $this->getMockBuilder('OCP\IUserSession') + ->disableOriginalConstructor() + ->getMock(); + + $this->sharees = new Sharees( + $this->groupManager, + $this->userManager, + $this->getMockBuilder('OCP\Contacts\IManager')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCP\IAppConfig')->disableOriginalConstructor()->getMock(), + $this->session, + $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() + ); + } + + protected function getUserMock($uid, $displayName) { + $user = $this->getMockBuilder('OCP\IUser') + ->disableOriginalConstructor() + ->getMock(); + + $user->expects($this->any()) + ->method('getUID') + ->willReturn($uid); + + $user->expects($this->any()) + ->method('getDisplayName') + ->willReturn($displayName); + + return $user; + } + + public function dataGetUsers() { + return [ + ['test', false, [], [], []], + ['test', true, [], [], []], + [ + 'test', + false, + [], + [ + $this->getUserMock('test1', 'Test One'), + ], + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ] + ], + [ + 'test', + false, + [], + [ + $this->getUserMock('test1', 'Test One'), + $this->getUserMock('test2', 'Test Two'), + ], + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ] + ], + [ + 'test', + true, + ['abc', 'xyz'], + [ + ['abc', 'test', -1, 0, ['test1' => 'Test One']], + ['xyz', 'test', -1, 0, []], + ], + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ] + ], + [ + 'test', + true, + ['abc', 'xyz'], + [ + ['abc', 'test', -1, 0, [ + 'test1' => 'Test One', + 'test2' => 'Test Two', + ]], + ['xyz', 'test', -1, 0, [ + 'test1' => 'Test One', + 'test2' => 'Test Two', + ]], + ], + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ] + ], + [ + 'test', + true, + ['abc', 'xyz'], + [ + ['abc', 'test', -1, 0, [ + 'test1' => 'Test One', + ]], + ['xyz', 'test', -1, 0, [ + 'test2' => 'Test Two', + ]], + ], + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ] + ], + ]; + } /** - * Properly mock all injected elements + * @dataProvider dataGetUsers + * + * @param string $searchTerm + * @param bool $shareWithGroupOnly + * @param array $groupResponse + * @param array $userResponse + * @param array $expected */ - protected function setup() { + public function testGetUsers($searchTerm, $shareWithGroupOnly, $groupResponse, $userResponse, $expected) { + if (!$shareWithGroupOnly) { + $this->userManager->expects($this->once()) + ->method('searchDisplayName') + ->with($searchTerm) + ->willReturn($userResponse); + } else { + $this->session->expects($this->any()) + ->method('getUser') + ->willReturn($this->getUserMock('admin', 'Administrator')); + $this->groupManager->expects($this->once()) + ->method('getUserGroupIds') + ->with($this->anything()) + ->willReturn($groupResponse); + + $this->groupManager->expects($this->exactly(sizeof($groupResponse))) + ->method('displayNamesInGroup') + ->with($this->anything(), $searchTerm) + ->willReturnMap($userResponse); + } + + $users = $this->invokePrivate($this->sharees, 'getUsers', [$searchTerm, $shareWithGroupOnly]); + + $this->assertEquals($expected, $users); } - public function testArguments() { - - } - - public function testsOnlyUsers() { - - } - - public function testOnlyGroups() { - - } - - public function testRemoteAddress() { - - } - - public function testRemoteFromContacts() { - - } - - public function testAll() { - - } - - public function testSorting() { - - } - - public function testPagination() { - - } - - public function testShareWithinGroup() { - - } +// public function testArguments() { +// +// } +// +// public function testsOnlyUsers() { +// +// } +// +// public function testOnlyGroups() { +// +// } +// +// public function testRemoteAddress() { +// +// } +// +// public function testRemoteFromContacts() { +// +// } +// +// public function testAll() { +// +// } +// +// public function testSorting() { +// +// } +// +// public function testPagination() { +// +// } +// +// public function testShareWithinGroup() { +// +// } } From ad450d4f0ed4ebbb5e9e6256750061b0adb950e1 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 11 Aug 2015 16:22:05 +0200 Subject: [PATCH 090/329] Add tests for "getGroups()" --- apps/files_sharing/api/sharees.php | 21 ++++--- apps/files_sharing/tests/api/sharees.php | 72 +++++++++++++++++++++++- 2 files changed, 82 insertions(+), 11 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 6853bd8a26..7a3555e0a5 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -20,6 +20,7 @@ */ namespace OCA\Files_Sharing\API; +use OCP\IGroup; use OCP\IGroupManager; use OCP\IUserManager; use OCP\IAppConfig; @@ -100,8 +101,8 @@ class Sharees { 'label' => $displayName, 'value' => [ 'shareType' => \OCP\Share::SHARE_TYPE_USER, - 'shareWith' => $uid - ] + 'shareWith' => $uid, + ], ]; } @@ -117,20 +118,22 @@ class Sharees { private function getGroups($search, $shareWithGroupOnly) { $sharees = []; $groups = $this->groupManager->search($search); + $groups = array_map(function (IGroup $group) { return $group->getGID(); }, $groups); - if ($shareWithGroupOnly) { + if (!empty($groups) && $shareWithGroupOnly) { // Intersect all the groups that match with the groups this user is a member of $userGroups = $this->groupManager->getUserGroups($this->userSession->getUser()); + $userGroups = array_map(function (IGroup $group) { return $group->getGID(); }, $userGroups); $groups = array_intersect($groups, $userGroups); } - foreach ($groups as $group) { + foreach ($groups as $gid) { $sharees[] = [ - 'label' => $group->getGID(), + 'label' => $gid, 'value' => [ 'shareType' => \OCP\Share::SHARE_TYPE_GROUP, - 'shareWith' => $group->getGID() - ] + 'shareWith' => $gid, + ], ]; } @@ -150,8 +153,8 @@ class Sharees { 'label' => $search, 'value' => [ 'shareType' => \OCP\Share::SHARE_TYPE_REMOTE, - 'shareWith' => $search - ] + 'shareWith' => $search, + ], ]; } diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 30397ba867..25074e4e8c 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -78,6 +78,18 @@ class ShareesTest extends TestCase { return $user; } + protected function getGroupMock($gid) { + $group = $this->getMockBuilder('OCP\IGroup') + ->disableOriginalConstructor() + ->getMock(); + + $group->expects($this->any()) + ->method('getGID') + ->willReturn($gid); + + return $group; + } + public function dataGetUsers() { return [ ['test', false, [], [], []], @@ -173,13 +185,14 @@ class ShareesTest extends TestCase { ->with($searchTerm) ->willReturn($userResponse); } else { + $user = $this->getUserMock('admin', 'Administrator'); $this->session->expects($this->any()) ->method('getUser') - ->willReturn($this->getUserMock('admin', 'Administrator')); + ->willReturn($user); $this->groupManager->expects($this->once()) ->method('getUserGroupIds') - ->with($this->anything()) + ->with($user) ->willReturn($groupResponse); $this->groupManager->expects($this->exactly(sizeof($groupResponse))) @@ -193,6 +206,61 @@ class ShareesTest extends TestCase { $this->assertEquals($expected, $users); } + public function dataGetGroups() { + return [ + ['test', false, [], [], []], + [ + 'test', false, + [$this->getGroupMock('test1')], + [], + [['label' => 'test1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + ], + ['test', true, [], [], []], + [ + 'test', true, + [ + $this->getGroupMock('test1'), + $this->getGroupMock('test2'), + ], + [$this->getGroupMock('test1')], + [['label' => 'test1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + ], + ]; + } + + /** + * @dataProvider dataGetGroups + * + * @param string $searchTerm + * @param bool $shareWithGroupOnly + * @param array $groupResponse + * @param array $userGroupsResponse + * @param array $expected + */ + public function testGetGroups($searchTerm, $shareWithGroupOnly, $groupResponse, $userGroupsResponse, $expected) { + $this->groupManager->expects($this->once()) + ->method('search') + ->with($searchTerm) + ->willReturn($groupResponse); + + if ($shareWithGroupOnly) { + $user = $this->getUserMock('admin', 'Administrator'); + $this->session->expects($this->any()) + ->method('getUser') + ->willReturn($user); + + $numGetUserGroupsCalls = empty($groupResponse) ? 0 : 1; + $this->groupManager->expects($this->exactly($numGetUserGroupsCalls)) + ->method('getUserGroups') + ->with($user) + ->willReturn($userGroupsResponse); + } + + $users = $this->invokePrivate($this->sharees, 'getGroups', [$searchTerm, $shareWithGroupOnly]); + + $this->assertEquals($expected, $users); + } + // public function testArguments() { // // } From 16e5c15c283c40fd9c7a3f009f054b825bcadbb7 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 11 Aug 2015 16:31:54 +0200 Subject: [PATCH 091/329] Add tests for "getRemote()" --- apps/files_sharing/tests/api/sharees.php | 85 +++++++++++++++++++++++- 1 file changed, 84 insertions(+), 1 deletion(-) diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 25074e4e8c..04b8ef5025 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -34,6 +34,9 @@ class ShareesTest extends TestCase { /** @var \OCP\IGroupManager|\PHPUnit_Framework_MockObject_MockObject */ protected $groupManager; + /** @var \OCP\Contacts\IManager|\PHPUnit_Framework_MockObject_MockObject */ + protected $contactsManager; + /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */ protected $session; @@ -48,6 +51,10 @@ class ShareesTest extends TestCase { ->disableOriginalConstructor() ->getMock(); + $this->contactsManager = $this->getMockBuilder('OCP\Contacts\IManager') + ->disableOriginalConstructor() + ->getMock(); + $this->session = $this->getMockBuilder('OCP\IUserSession') ->disableOriginalConstructor() ->getMock(); @@ -55,7 +62,7 @@ class ShareesTest extends TestCase { $this->sharees = new Sharees( $this->groupManager, $this->userManager, - $this->getMockBuilder('OCP\Contacts\IManager')->disableOriginalConstructor()->getMock(), + $this->contactsManager, $this->getMockBuilder('OCP\IAppConfig')->disableOriginalConstructor()->getMock(), $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() @@ -261,6 +268,82 @@ class ShareesTest extends TestCase { $this->assertEquals($expected, $users); } + public function dataGetRemote() { + return [ + ['test', [], []], + [ + 'test@remote', + [], + [ + ['label' => 'test@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']], + ], + ], + [ + 'test', + [ + [ + 'FN' => 'User3 @ Localhost', + ], + [ + 'FN' => 'User2 @ Localhost', + 'CLOUD' => [ + ], + ], + [ + 'FN' => 'User @ Localhost', + 'CLOUD' => [ + 'username@localhost', + ], + ], + ], + [ + ['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']], + ], + ], + [ + 'test@remote', + [ + [ + 'FN' => 'User3 @ Localhost', + ], + [ + 'FN' => 'User2 @ Localhost', + 'CLOUD' => [ + ], + ], + [ + 'FN' => 'User @ Localhost', + 'CLOUD' => [ + 'username@localhost', + ], + ], + ], + [ + ['label' => 'test@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']], + ['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']], + ], + ], + ]; + } + + /** + * @dataProvider dataGetRemote + * + * @param string $searchTerm + * @param array $contacts + * @param array $expected + */ + public function testGetRemote($searchTerm, $contacts, $expected) { + $this->contactsManager->expects($this->any()) + ->method('search') + ->with($searchTerm, ['CLOUD', 'FN']) + ->willReturn($contacts); + + $users = $this->invokePrivate($this->sharees, 'getRemote', [$searchTerm]); + + $this->assertEquals($expected, $users); + } + // public function testArguments() { // // } From 4b08783946c8b2b1e731b3193e581b59bbbb15f5 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 11 Aug 2015 17:24:54 +0200 Subject: [PATCH 092/329] Use SearchResultSorter --- apps/files_sharing/api/sharees.php | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 7a3555e0a5..120df126a7 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -210,21 +210,10 @@ class Sharees { // Sort sharees - usort($sharees, function($a, $b) { - $res = strcmp($a['label'], $b['label']); - - // If labels are equal sort by share type - if ($res === 0) { - $res = $a['value']['shareType'] - $b['value']['shareType']; - } - - // If sharetype is equal compare shareWith - if ($res === 0) { - $res = strcmp($a['value']['shareWith'], $b['value']['shareWith']); - } - - return $res; - }); + $sorter = new \OC\Share\SearchResultSorter($search, + 'label', + \OC::$server->getLogger()); + usort($sharees, array($sorter, 'sort')); //Pagination $start = ($page - 1) * $per_page; @@ -239,7 +228,6 @@ class Sharees { $response->setItemsPerPage($per_page); // TODO add other link rels - if ($tot > $end) { $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees?') . 'search=' . $search . From a66aa1fe02038d70bd567cbcdc486441017d3172 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 11 Aug 2015 18:03:07 +0200 Subject: [PATCH 093/329] Filter the sharees with the existing shares --- apps/files_sharing/api/sharees.php | 92 ++++++++++++++++++++---------- 1 file changed, 63 insertions(+), 29 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 120df126a7..a499b0ec6d 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -178,33 +178,49 @@ class Sharees { } public function search($params) { - $search = isset($_GET['search']) ? (string)$_GET['search'] : ''; - $item_type = isset($_GET['item_type']) ? (string)$_GET['item_type'] : null; - $share_type = isset($_GET['share_type']) ? intval($_GET['share_type']) : null; - $page = isset($_GET['page']) ? intval($_GET['page']) : 1; - $per_page = isset($_GET['per_page']) ? intval($_GET['per_page']) : 200; + $search = isset($_GET['search']) ? (string) $_GET['search'] : ''; + $itemType = isset($_GET['itemType']) ? (string) $_GET['itemType'] : null; + $existingShares = isset($_GET['existingShares']) ? (array) $_GET['existingShares'] : []; + $shareType = isset($_GET['shareType']) ? intval($_GET['shareType']) : null; + $page = !empty($_GET['page']) ? intval($_GET['page']) : 1; + $perPage = !empty($_GET['limit']) ? intval($_GET['limit']) : 200; + + $sharedUsers = $sharedGroups = []; + if (!empty($existingShares)) { + if (!empty($existingShares[\OCP\Share::SHARE_TYPE_USER]) && + is_array($existingShares[\OCP\Share::SHARE_TYPE_USER])) { + $sharedUsers = $existingShares[\OCP\Share::SHARE_TYPE_USER]; + } + + if (!empty($existingShares[\OCP\Share::SHARE_TYPE_GROUP]) && + is_array($existingShares[\OCP\Share::SHARE_TYPE_GROUP])) { + $sharedGroups = $existingShares[\OCP\Share::SHARE_TYPE_GROUP]; + } + } // Verify arguments - if ($item_type === null) { - return new \OC_OCS_Result(null, 400, 'missing item_type'); + if ($itemType === null) { + return new \OC_OCS_Result(null, 400, 'missing itemType'); } $shareWithGroupOnly = $this->appConfig->getValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes' ? true : false; $sharees = []; // Get users - if ($share_type === null || $share_type === \OCP\Share::SHARE_TYPE_USER) { - $sharees = array_merge($sharees, $this->getUsers($search, $shareWithGroupOnly)); + if ($shareType === null || $shareType === \OCP\Share::SHARE_TYPE_USER) { + $potentialSharees = $this->getUsers($search, $shareWithGroupOnly); + $sharees = array_merge($sharees, $this->filterSharees($potentialSharees, $sharedUsers)); } // Get groups - if ($share_type === null || $share_type === \OCP\Share::SHARE_TYPE_GROUP) { - $sharees = array_merge($sharees, $this->getGroups($search, $shareWithGroupOnly)); + if ($shareType === null || $shareType === \OCP\Share::SHARE_TYPE_GROUP) { + $potentialSharees = $this->getGroups($search, $shareWithGroupOnly); + $sharees = array_merge($sharees, $this->filterSharees($potentialSharees, $sharedGroups)); } // Get remote - if (($share_type === null || $share_type === \OCP\Share::SHARE_TYPE_REMOTE) && - \OCP\Share::getBackend($item_type)->isShareTypeAllowed(\OCP\Share::SHARE_TYPE_REMOTE)) { + if (($shareType === null || $shareType === \OCP\Share::SHARE_TYPE_REMOTE) && + \OCP\Share::getBackend($itemType)->isShareTypeAllowed(\OCP\Share::SHARE_TYPE_REMOTE)) { $sharees = array_merge($sharees, $this->getRemote($search)); } @@ -216,28 +232,46 @@ class Sharees { usort($sharees, array($sorter, 'sort')); //Pagination - $start = ($page - 1) * $per_page; - $end = $page * $per_page; - $tot = count($sharees); + $start = ($page - 1) * $perPage; + $end = $page * $perPage; + $total = sizeof($sharees); + + $sharees = array_slice($sharees, $start, $perPage); - $sharees = array_slice($sharees, $start, $per_page); $response = new \OC_OCS_Result($sharees); + $response->setTotalItems($total); + $response->setItemsPerPage($perPage); - // FIXME: Do this? - $response->setTotalItems($tot); - $response->setItemsPerPage($per_page); - - // TODO add other link rels - if ($tot > $end) { - $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees?') . - 'search=' . $search . - '&item_type=' . $item_type . - '&share_type=' . $share_type . - '&page=' . ($page + 1) . - '&per_page=' . $per_page; + if ($total > $end) { + $params = [ + 'search' => $search, + 'itemType' => $itemType, + 'existingShares' => $existingShares, + 'page' => $page + 1, + 'limit' => $perPage, + ]; + if ($shareType !== null) { + $params['shareType'] = $shareType; + } + $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees') . '?' . http_build_query($params); $response->addHeader('Link', '<' . $url . '> rel="next"'); } return $response; } + + /** + * Filter out already existing shares from a list of potential sharees + * + * @param array $potentialSharees + * @param array $existingSharees + * @return array + */ + private function filterSharees($potentialSharees, $existingSharees) { + $sharees = array_map(function ($sharee) use ($existingSharees) { + return in_array($sharee['value']['shareWith'], $existingSharees) ? null : $sharee; + }, $potentialSharees); + + return array_filter($sharees); + } } From 3f64e9423bf190629f867be20f17444a00257f8a Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 12 Aug 2015 14:19:34 +0200 Subject: [PATCH 094/329] Split logic and global usage and add tests for "searchSharees()" --- apps/files_sharing/api/sharees.php | 39 +++- apps/files_sharing/tests/api/sharees.php | 222 +++++++++++++++++++---- 2 files changed, 217 insertions(+), 44 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index a499b0ec6d..573fd8f2ab 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -74,7 +74,7 @@ class Sharees { * * @return array possible sharees */ - private function getUsers($search, $shareWithGroupOnly) { + protected function getUsers($search, $shareWithGroupOnly) { $sharees = []; $users = []; @@ -115,7 +115,7 @@ class Sharees { * * @return array possible sharees */ - private function getGroups($search, $shareWithGroupOnly) { + protected function getGroups($search, $shareWithGroupOnly) { $sharees = []; $groups = $this->groupManager->search($search); $groups = array_map(function (IGroup $group) { return $group->getGID(); }, $groups); @@ -145,7 +145,7 @@ class Sharees { * * @return array possible sharees */ - private function getRemote($search) { + protected function getRemote($search) { $sharees = []; if (substr_count($search, '@') >= 1) { @@ -177,14 +177,37 @@ class Sharees { return $sharees; } + /** + * @param array $params + * @return \OC_OCS_Result + */ public function search($params) { - $search = isset($_GET['search']) ? (string) $_GET['search'] : ''; - $itemType = isset($_GET['itemType']) ? (string) $_GET['itemType'] : null; - $existingShares = isset($_GET['existingShares']) ? (array) $_GET['existingShares'] : []; + $search = isset($_GET['search']) ? (string)$_GET['search'] : ''; + $itemType = isset($_GET['itemType']) ? (string)$_GET['itemType'] : null; + $existingShares = isset($_GET['existingShares']) ? (array)$_GET['existingShares'] : []; $shareType = isset($_GET['shareType']) ? intval($_GET['shareType']) : null; $page = !empty($_GET['page']) ? intval($_GET['page']) : 1; $perPage = !empty($_GET['limit']) ? intval($_GET['limit']) : 200; + $shareWithGroupOnly = $this->appConfig->getValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; + + return $this->searchSharees($search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly); + } + + /** + * Testable search function that does not need globals + * + * @param string $search + * @param string $itemType + * @param array $existingShares + * @param int $shareType + * @param int $page + * @param int $perPage + * @param bool $shareWithGroupOnly + * @return \OC_OCS_Result + */ + protected function searchSharees($search, $itemType, array $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly) { + $sharedUsers = $sharedGroups = []; if (!empty($existingShares)) { if (!empty($existingShares[\OCP\Share::SHARE_TYPE_USER]) && @@ -203,8 +226,6 @@ class Sharees { return new \OC_OCS_Result(null, 400, 'missing itemType'); } - $shareWithGroupOnly = $this->appConfig->getValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes' ? true : false; - $sharees = []; // Get users if ($shareType === null || $shareType === \OCP\Share::SHARE_TYPE_USER) { @@ -267,7 +288,7 @@ class Sharees { * @param array $existingSharees * @return array */ - private function filterSharees($potentialSharees, $existingSharees) { + protected function filterSharees($potentialSharees, $existingSharees) { $sharees = array_map(function ($sharee) use ($existingSharees) { return in_array($sharee['value']['shareWith'], $existingSharees) ? null : $sharee; }, $potentialSharees); diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 04b8ef5025..93a8d5c3d7 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -344,39 +344,191 @@ class ShareesTest extends TestCase { $this->assertEquals($expected, $users); } -// public function testArguments() { -// -// } -// -// public function testsOnlyUsers() { -// -// } -// -// public function testOnlyGroups() { -// -// } -// -// public function testRemoteAddress() { -// -// } -// -// public function testRemoteFromContacts() { -// -// } -// -// public function testAll() { -// -// } -// -// public function testSorting() { -// -// } -// -// public function testPagination() { -// -// } -// -// public function testShareWithinGroup() { -// -// } + public function dataSearchSharees() { + return [ + ['test', 'folder', [], null, 1, 2, false, [], [], [], [], 0, false], + ['test', 'folder', [0 => ['test1'], 1 => ['test2 group']], null, 1, 2, false, [], [], [], [], 0, false], + // First page with 2 of 3 results + [ + 'test', 'folder', [], null, 1, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], [ + ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], + ], [ + ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], + ], 3, true, + ], + // Second page with the 3rd result + [ + 'test', 'folder', [], null, 2, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], [ + ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], + ], [ + ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], [ + ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], 3, false, + ], + // Ingnoring already shared user + [ + 'test', 'folder', [\OCP\Share::SHARE_TYPE_USER => ['test1']], null, 1, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], [ + ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], + ], [ + ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], [ + ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], + ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], 2, false, + ], + // Share type restricted to user - Only one user + [ + 'test', 'folder', [], \OCP\Share::SHARE_TYPE_USER, 1, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], null, null, [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], 1, false, + ], + // Share type restricted to user - Multipage result + [ + 'test', 'folder', [], \OCP\Share::SHARE_TYPE_USER, 1, 2, false, [ + ['label' => 'test 1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'test 2', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ['label' => 'test 3', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test3']], + ], null, null, [ + ['label' => 'test 1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'test 2', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], 3, true, + ], + // Share type restricted to user - Only user already shared + [ + 'test', 'folder', [\OCP\Share::SHARE_TYPE_USER => ['test1']], \OCP\Share::SHARE_TYPE_USER, 1, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], null, null, [], 0, false, + ], + ]; + } + + /** + * @dataProvider dataSearchSharees + * + * @param string $searchTerm + * @param string $itemType + * @param array $existingShares + * @param int $shareType + * @param int $page + * @param int $perPage + * @param bool $shareWithGroupOnly + * @param array $expected + */ + public function testSearchSharees($searchTerm, $itemType, array $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly, + $mockedUserResult, $mockedGroupsResult, $mockedRemotesResult, $expected, $totalItems, $nextLink) { + /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */ + $sharees = $this->getMockBuilder('\OCA\Files_Sharing\API\Sharees') + ->setConstructorArgs([ + $this->groupManager, + $this->userManager, + $this->contactsManager, + $this->getMockBuilder('OCP\IAppConfig')->disableOriginalConstructor()->getMock(), + $this->session, + $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() + ]) + ->setMethods(array('getUsers', 'getGroups', 'getRemote')) + ->getMock(); + $sharees->expects(($mockedUserResult === null) ? $this->never() : $this->once()) + ->method('getUsers') + ->with($searchTerm, $shareWithGroupOnly) + ->willReturn($mockedUserResult); + $sharees->expects(($mockedGroupsResult === null) ? $this->never() : $this->once()) + ->method('getGroups') + ->with($searchTerm, $shareWithGroupOnly) + ->willReturn($mockedGroupsResult); + $sharees->expects(($mockedRemotesResult === null) ? $this->never() : $this->once()) + ->method('getRemote') + ->with($searchTerm) + ->willReturn($mockedRemotesResult); + + /** @var \OC_OCS_Result $ocs */ + $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly]); + + $this->assertEquals($expected, $ocs->getData()); + + // Check number of total results + $meta = $ocs->getMeta(); + $this->assertArrayHasKey('totalitems', $meta); + $this->assertSame($totalItems, $meta['totalitems']); + + // Check if next link is set + if ($nextLink) { + $headers = $ocs->getHeaders(); + $this->assertArrayHasKey('Link', $headers); + $this->assertStringStartsWith('<', $headers['Link']); + $this->assertStringEndsWith('> rel="next"', $headers['Link']); + } + } + + public function testSearchShareesNoItemType() { + /** @var \OC_OCS_Result $ocs */ + $ocs = $this->invokePrivate($this->sharees, 'searchSharees', ['', null, [], null, 0, 0, false]); + + $this->assertSame(400, $ocs->getStatusCode(), 'Expected status code 400'); + $this->assertSame([], $ocs->getData(), 'Expected that no data is send'); + + $meta = $ocs->getMeta(); + $this->assertNotEmpty($meta); + $this->assertArrayHasKey('message', $meta); + $this->assertSame('missing itemType', $meta['message']); + } + + + public function dataFilterSharees() { + return [ + [[], [], []], + [ + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], + [], + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], + ], + [ + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], + ['test1'], + [ + 1 => ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], + ], + [ + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], + ['test2'], + [ + 0 => ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], + ], + ]; + } + + /** + * @dataProvider dataFilterSharees + * + * @param array $potentialSharees + * @param array $existingSharees + * @param array $expectedSharees + */ + public function testFilterSharees($potentialSharees, $existingSharees, $expectedSharees) { + $this->assertEquals($expectedSharees, $this->invokePrivate($this->sharees, 'filterSharees', [$potentialSharees, $existingSharees])); + } } From 327c47a9894cb6f8730e5824e3bda1b5e51db9d5 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 12 Aug 2015 14:23:48 +0200 Subject: [PATCH 095/329] Do not use deprecated method in new code --- apps/files_sharing/api/sharees.php | 17 ++++++++--------- apps/files_sharing/appinfo/routes.php | 2 +- apps/files_sharing/tests/api/sharees.php | 4 ++-- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 573fd8f2ab..4ae6784c3d 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -23,7 +23,7 @@ namespace OCA\Files_Sharing\API; use OCP\IGroup; use OCP\IGroupManager; use OCP\IUserManager; -use OCP\IAppConfig; +use OCP\IConfig; use OCP\IUserSession; use OCP\IURLGenerator; @@ -38,8 +38,8 @@ class Sharees { /** @var \OCP\Contacts\IManager */ private $contactsManager; - /** @var IAppConfig */ - private $appConfig; + /** @var IConfig */ + private $config; /** @var IUserSession */ private $userSession; @@ -51,19 +51,19 @@ class Sharees { * @param IGroupManager $groupManager * @param IUserManager $userManager * @param \OCP\Contacts\IManager $contactsManager - * @param IAppConfig $appConfig + * @param IConfig $config * @param IUserSession $userSession */ public function __construct(IGroupManager $groupManager, IUserManager $userManager, \OCP\Contacts\IManager $contactsManager, - IAppConfig $appConfig, + IConfig $config, IUserSession $userSession, IURLGenerator $urlGenerator) { $this->groupManager = $groupManager; $this->userManager = $userManager; $this->contactsManager = $contactsManager; - $this->appConfig = $appConfig; + $this->config = $config; $this->userSession = $userSession; $this->urlGenerator = $urlGenerator; } @@ -178,10 +178,9 @@ class Sharees { } /** - * @param array $params * @return \OC_OCS_Result */ - public function search($params) { + public function search() { $search = isset($_GET['search']) ? (string)$_GET['search'] : ''; $itemType = isset($_GET['itemType']) ? (string)$_GET['itemType'] : null; $existingShares = isset($_GET['existingShares']) ? (array)$_GET['existingShares'] : []; @@ -189,7 +188,7 @@ class Sharees { $page = !empty($_GET['page']) ? intval($_GET['page']) : 1; $perPage = !empty($_GET['limit']) ? intval($_GET['limit']) : 200; - $shareWithGroupOnly = $this->appConfig->getValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; + $shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; return $this->searchSharees($search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly); } diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 498b0eb55e..45ea85ff72 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -105,7 +105,7 @@ API::register('delete', $sharees = new \OCA\Files_Sharing\API\Sharees(\OC::$server->getGroupManager(), \OC::$server->getUserManager(), \OC::$server->getContactsManager(), - \OC::$server->getAppConfig(), + \OC::$server->getConfig(), \OC::$server->getUserSession(), \OC::$server->getURLGenerator()); diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 93a8d5c3d7..863dc193ae 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -63,7 +63,7 @@ class ShareesTest extends TestCase { $this->groupManager, $this->userManager, $this->contactsManager, - $this->getMockBuilder('OCP\IAppConfig')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(), $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() ); @@ -434,7 +434,7 @@ class ShareesTest extends TestCase { $this->groupManager, $this->userManager, $this->contactsManager, - $this->getMockBuilder('OCP\IAppConfig')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(), $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() ]) From 068a81897e0a307b7823aeab48595ed7b6f613b0 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 12 Aug 2015 15:03:50 +0200 Subject: [PATCH 096/329] Add tests for "search()" --- apps/files_sharing/api/sharees.php | 12 +- apps/files_sharing/tests/api/sharees.php | 151 ++++++++++++++++++++++- 2 files changed, 156 insertions(+), 7 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 4ae6784c3d..bfde21deb2 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -181,12 +181,12 @@ class Sharees { * @return \OC_OCS_Result */ public function search() { - $search = isset($_GET['search']) ? (string)$_GET['search'] : ''; - $itemType = isset($_GET['itemType']) ? (string)$_GET['itemType'] : null; - $existingShares = isset($_GET['existingShares']) ? (array)$_GET['existingShares'] : []; - $shareType = isset($_GET['shareType']) ? intval($_GET['shareType']) : null; - $page = !empty($_GET['page']) ? intval($_GET['page']) : 1; - $perPage = !empty($_GET['limit']) ? intval($_GET['limit']) : 200; + $search = isset($_GET['search']) ? (string) $_GET['search'] : ''; + $itemType = isset($_GET['itemType']) ? (string) $_GET['itemType'] : null; + $existingShares = isset($_GET['existingShares']) ? (array) $_GET['existingShares'] : []; + $shareType = isset($_GET['shareType']) && is_numeric($_GET['shareType']) ? (int) $_GET['shareType'] : null; + $page = !empty($_GET['page']) ? (int) $_GET['page'] : 1; + $perPage = !empty($_GET['limit']) ? (int) $_GET['limit'] : 200; $shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 863dc193ae..1a25266fe0 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -344,6 +344,154 @@ class ShareesTest extends TestCase { $this->assertEquals($expected, $users); } + public function dataSearch() { + return [ + [[], '', '', null, [], null, 1, 200, false], + + // Test itemType + [[ + 'search' => '', + ], '', '', null, [], null, 1, 200, false], + [[ + 'search' => 'foobar', + ], '', 'foobar', null, [], null, 1, 200, false], + [[ + 'search' => 0, + ], '', '0', null, [], null, 1, 200, false], + + // Test itemType + [[ + 'itemType' => '', + ], '', '', '', [], null, 1, 200, false], + [[ + 'itemType' => 'folder', + ], '', '', 'folder', [], null, 1, 200, false], + [[ + 'itemType' => 0, + ], '', '', '0', [], null, 1, 200, false], + + // Test existingShares + [[ + 'existingShares' => [], + ], '', '', null, [], null, 1, 200, false], + [[ + 'existingShares' => [0 => ['test'], 1 => ['foobar']], + ], '', '', null, [0 => ['test'], 1 => ['foobar']], null, 1, 200, false], + + // Test shareType + [[ + ], '', '', null, [], null, 1, 200, false], + [[ + 'shareType' => 0, + ], '', '', null, [], 0, 1, 200, false], + [[ + 'shareType' => '0', + ], '', '', null, [], 0, 1, 200, false], + [[ + 'shareType' => 1, + ], '', '', null, [], 1, 1, 200, false], + [[ + 'shareType' => 10, + ], '', '', null, [], 10, 1, 200, false], + [[ + 'shareType' => 'foobar', + ], '', '', null, [], null, 1, 200, false], + + // Test pagination + [[ + 'page' => 0, + ], '', '', null, [], null, 1, 200, false], + [[ + 'page' => '0', + ], '', '', null, [], null, 1, 200, false], + [[ + 'page' => 1, + ], '', '', null, [], null, 1, 200, false], + [[ + 'page' => 10, + ], '', '', null, [], null, 10, 200, false], + + // Test limit + [[ + 'limit' => 0, + ], '', '', null, [], null, 1, 200, false], + [[ + 'limit' => '0', + ], '', '', null, [], null, 1, 200, false], + [[ + 'limit' => 1, + ], '', '', null, [], null, 1, 1, false], + [[ + 'limit' => 10, + ], '', '', null, [], null, 1, 10, false], + + // Test $shareWithGroupOnly setting + [[], 'no', '', null, [], null, 1, 200, false], + [[], 'yes', '', null, [], null, 1, 200, true], + + ]; + } + + /** + * @dataProvider dataSearch + * + * @param array $getData + * @param string $apiSetting + * @param string $search + * @param string $itemType + * @param array $existingShares + * @param int $shareType + * @param int $page + * @param int $perPage + * @param bool $shareWithGroupOnly + */ + public function testSearch($getData, $apiSetting, $search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly) { + $oldGet = $_GET; + $_GET = $getData; + + $config = $this->getMockBuilder('OCP\IConfig') + ->disableOriginalConstructor() + ->getMock(); + $config->expects($this->once()) + ->method('getAppValue') + ->with('core', 'shareapi_only_share_with_group_members', 'no') + ->willReturn($apiSetting); + + $sharees = $this->getMockBuilder('\OCA\Files_Sharing\API\Sharees') + ->setConstructorArgs([ + $this->groupManager, + $this->userManager, + $this->contactsManager, + $config, + $this->session, + $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() + ]) + ->setMethods(array('searchSharees')) + ->getMock(); + $sharees->expects($this->once()) + ->method('searchSharees') + ->with($search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly) + ->willReturnCallback(function + ($isearch, $iitemType, $iexistingShares, $ishareType, $ipage, $iperPage, $ishareWithGroupOnly) + use ($search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly) { + + // We are doing strict comparisons here, so we can differ 0/'' and null on shareType/itemType + $this->assertSame($search, $isearch); + $this->assertSame($itemType, $iitemType); + $this->assertSame($existingShares, $iexistingShares); + $this->assertSame($shareType, $ishareType); + $this->assertSame($page, $ipage); + $this->assertSame($perPage, $iperPage); + $this->assertSame($shareWithGroupOnly, $ishareWithGroupOnly); + return new \OC_OCS_Result([]); + }); + + /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */ + $this->assertInstanceOf('\OC_OCS_Result', $sharees->search()); + + $_GET = $oldGet; + } + public function dataSearchSharees() { return [ ['test', 'folder', [], null, 1, 2, false, [], [], [], [], 0, false], @@ -455,6 +603,7 @@ class ShareesTest extends TestCase { /** @var \OC_OCS_Result $ocs */ $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly]); + $this->assertInstanceOf('\OC_OCS_Result', $ocs); $this->assertEquals($expected, $ocs->getData()); @@ -475,6 +624,7 @@ class ShareesTest extends TestCase { public function testSearchShareesNoItemType() { /** @var \OC_OCS_Result $ocs */ $ocs = $this->invokePrivate($this->sharees, 'searchSharees', ['', null, [], null, 0, 0, false]); + $this->assertInstanceOf('\OC_OCS_Result', $ocs); $this->assertSame(400, $ocs->getStatusCode(), 'Expected status code 400'); $this->assertSame([], $ocs->getData(), 'Expected that no data is send'); @@ -485,7 +635,6 @@ class ShareesTest extends TestCase { $this->assertSame('missing itemType', $meta['message']); } - public function dataFilterSharees() { return [ [[], [], []], From c6ed40c9f891454d8f9ceeb67c45ff3d8ce22537 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 12 Aug 2015 17:05:20 +0200 Subject: [PATCH 097/329] Make shareType an array --- apps/files_sharing/api/sharees.php | 57 +++++++-- apps/files_sharing/tests/api/sharees.php | 145 ++++++++++++++++------- 2 files changed, 144 insertions(+), 58 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index bfde21deb2..de5f9c8cbf 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -184,13 +184,46 @@ class Sharees { $search = isset($_GET['search']) ? (string) $_GET['search'] : ''; $itemType = isset($_GET['itemType']) ? (string) $_GET['itemType'] : null; $existingShares = isset($_GET['existingShares']) ? (array) $_GET['existingShares'] : []; - $shareType = isset($_GET['shareType']) && is_numeric($_GET['shareType']) ? (int) $_GET['shareType'] : null; - $page = !empty($_GET['page']) ? (int) $_GET['page'] : 1; - $perPage = !empty($_GET['limit']) ? (int) $_GET['limit'] : 200; + $page = !empty($_GET['page']) ? max(1, (int) $_GET['page']) : 1; + $perPage = !empty($_GET['limit']) ? max(1, (int) $_GET['limit']) : 200; + + $shareTypes = [ + \OCP\Share::SHARE_TYPE_USER, + \OCP\Share::SHARE_TYPE_GROUP, + \OCP\Share::SHARE_TYPE_REMOTE, + ]; + if (isset($_GET['shareType']) && is_array($_GET['shareType'])) { + $shareTypes = array_intersect($shareTypes, $_GET['shareType']); + sort($shareTypes); + + } else if (isset($_GET['shareType']) && is_numeric($_GET['shareType'])) { + $shareTypes = array_intersect($shareTypes, [(int) $_GET['shareType']]); + sort($shareTypes); + } + + if (in_array(\OCP\Share::SHARE_TYPE_REMOTE, $shareTypes) && !$this->isRemoteSharingAllowed($itemType)) { + // Remove remote shares from type array, because it is not allowed. + $shareTypes = array_diff($shareTypes, [\OCP\Share::SHARE_TYPE_REMOTE]); + } $shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; - return $this->searchSharees($search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly); + return $this->searchSharees($search, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly); + } + + /** + * Method to get out the static call for better testing + * + * @param string $itemType + * @return bool + */ + protected function isRemoteSharingAllowed($itemType) { + try { + $backend = \OCP\Share::getBackend($itemType); + return $backend->isShareTypeAllowed(\OCP\Share::SHARE_TYPE_REMOTE); + } catch (\Exception $e) { + return false; + } } /** @@ -199,13 +232,13 @@ class Sharees { * @param string $search * @param string $itemType * @param array $existingShares - * @param int $shareType + * @param array $shareTypes * @param int $page * @param int $perPage * @param bool $shareWithGroupOnly * @return \OC_OCS_Result */ - protected function searchSharees($search, $itemType, array $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly) { + protected function searchSharees($search, $itemType, array $existingShares, array $shareTypes, $page, $perPage, $shareWithGroupOnly) { $sharedUsers = $sharedGroups = []; if (!empty($existingShares)) { @@ -227,20 +260,19 @@ class Sharees { $sharees = []; // Get users - if ($shareType === null || $shareType === \OCP\Share::SHARE_TYPE_USER) { + if (in_array(\OCP\Share::SHARE_TYPE_USER, $shareTypes)) { $potentialSharees = $this->getUsers($search, $shareWithGroupOnly); $sharees = array_merge($sharees, $this->filterSharees($potentialSharees, $sharedUsers)); } // Get groups - if ($shareType === null || $shareType === \OCP\Share::SHARE_TYPE_GROUP) { + if (in_array(\OCP\Share::SHARE_TYPE_GROUP, $shareTypes)) { $potentialSharees = $this->getGroups($search, $shareWithGroupOnly); $sharees = array_merge($sharees, $this->filterSharees($potentialSharees, $sharedGroups)); } // Get remote - if (($shareType === null || $shareType === \OCP\Share::SHARE_TYPE_REMOTE) && - \OCP\Share::getBackend($itemType)->isShareTypeAllowed(\OCP\Share::SHARE_TYPE_REMOTE)) { + if (in_array(\OCP\Share::SHARE_TYPE_REMOTE, $shareTypes)) { $sharees = array_merge($sharees, $this->getRemote($search)); } @@ -267,12 +299,11 @@ class Sharees { 'search' => $search, 'itemType' => $itemType, 'existingShares' => $existingShares, + 'shareType' => $shareTypes, 'page' => $page + 1, 'limit' => $perPage, ]; - if ($shareType !== null) { - $params['shareType'] = $shareType; - } + $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees') . '?' . http_build_query($params); $response->addHeader('Link', '<' . $url . '> rel="next"'); } diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 1a25266fe0..ec19036bb8 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -345,89 +345,109 @@ class ShareesTest extends TestCase { } public function dataSearch() { + $allTypes = [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE]; + return [ - [[], '', '', null, [], null, 1, 200, false], + [[], '', true, '', null, [], $allTypes, 1, 200, false], // Test itemType [[ 'search' => '', - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], [[ 'search' => 'foobar', - ], '', 'foobar', null, [], null, 1, 200, false], + ], '', true, 'foobar', null, [], $allTypes, 1, 200, false], [[ 'search' => 0, - ], '', '0', null, [], null, 1, 200, false], + ], '', true, '0', null, [], $allTypes, 1, 200, false], // Test itemType [[ 'itemType' => '', - ], '', '', '', [], null, 1, 200, false], + ], '', true, '', '', [], $allTypes, 1, 200, false], [[ 'itemType' => 'folder', - ], '', '', 'folder', [], null, 1, 200, false], + ], '', true, '', 'folder', [], $allTypes, 1, 200, false], [[ 'itemType' => 0, - ], '', '', '0', [], null, 1, 200, false], + ], '', true, '', '0', [], $allTypes, 1, 200, false], // Test existingShares [[ 'existingShares' => [], - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], [[ 'existingShares' => [0 => ['test'], 1 => ['foobar']], - ], '', '', null, [0 => ['test'], 1 => ['foobar']], null, 1, 200, false], + ], '', true, '', null, [0 => ['test'], 1 => ['foobar']], $allTypes, 1, 200, false], // Test shareType [[ - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], [[ 'shareType' => 0, - ], '', '', null, [], 0, 1, 200, false], + ], '', true, '', null, [], [0], 1, 200, false], [[ 'shareType' => '0', - ], '', '', null, [], 0, 1, 200, false], + ], '', true, '', null, [], [0], 1, 200, false], [[ 'shareType' => 1, - ], '', '', null, [], 1, 1, 200, false], + ], '', true, '', null, [], [1], 1, 200, false], [[ - 'shareType' => 10, - ], '', '', null, [], 10, 1, 200, false], + 'shareType' => 12, + ], '', true, '', null, [], [], 1, 200, false], [[ 'shareType' => 'foobar', - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], + [[ + 'shareType' => [0, 1, 2], + ], '', true, '', null, [], [0, 1], 1, 200, false], + [[ + 'shareType' => [0, 1], + ], '', true, '', null, [], [0, 1], 1, 200, false], + [[ + 'shareType' => $allTypes, + ], '', true, '', null, [], $allTypes, 1, 200, false], + [[ + 'shareType' => $allTypes, + ], '', false, '', null, [], [0, 1], 1, 200, false], // Test pagination [[ 'page' => 0, - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], [[ 'page' => '0', - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], + [[ + 'page' => -1, + ], '', true, '', null, [], $allTypes, 1, 200, false], [[ 'page' => 1, - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], [[ 'page' => 10, - ], '', '', null, [], null, 10, 200, false], + ], '', true, '', null, [], $allTypes, 10, 200, false], // Test limit [[ 'limit' => 0, - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], [[ 'limit' => '0', - ], '', '', null, [], null, 1, 200, false], + ], '', true, '', null, [], $allTypes, 1, 200, false], + [[ + 'limit' => -1, + ], '', true, '', null, [], $allTypes, 1, 1, false], [[ 'limit' => 1, - ], '', '', null, [], null, 1, 1, false], + ], '', true, '', null, [], $allTypes, 1, 1, false], [[ 'limit' => 10, - ], '', '', null, [], null, 1, 10, false], + ], '', true, '', null, [], $allTypes, 1, 10, false], // Test $shareWithGroupOnly setting - [[], 'no', '', null, [], null, 1, 200, false], - [[], 'yes', '', null, [], null, 1, 200, true], + [[], 'no', true, '', null, [], $allTypes, 1, 200, false], + [[], 'yes', true, '', null, [], $allTypes, 1, 200, true], ]; } @@ -437,15 +457,16 @@ class ShareesTest extends TestCase { * * @param array $getData * @param string $apiSetting + * @param bool $remoteSharingEnabled * @param string $search * @param string $itemType * @param array $existingShares - * @param int $shareType + * @param array $shareTypes * @param int $page * @param int $perPage * @param bool $shareWithGroupOnly */ - public function testSearch($getData, $apiSetting, $search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly) { + public function testSearch($getData, $apiSetting, $remoteSharingEnabled, $search, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly) { $oldGet = $_GET; $_GET = $getData; @@ -466,25 +487,29 @@ class ShareesTest extends TestCase { $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() ]) - ->setMethods(array('searchSharees')) + ->setMethods(array('searchSharees', 'isRemoteSharingAllowed')) ->getMock(); $sharees->expects($this->once()) ->method('searchSharees') - ->with($search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly) + ->with($search, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly) ->willReturnCallback(function - ($isearch, $iitemType, $iexistingShares, $ishareType, $ipage, $iperPage, $ishareWithGroupOnly) - use ($search, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly) { + ($isearch, $iitemType, $iexistingShares, $ishareTypes, $ipage, $iperPage, $ishareWithGroupOnly) + use ($search, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly) { // We are doing strict comparisons here, so we can differ 0/'' and null on shareType/itemType $this->assertSame($search, $isearch); $this->assertSame($itemType, $iitemType); $this->assertSame($existingShares, $iexistingShares); - $this->assertSame($shareType, $ishareType); + $this->assertSame($shareTypes, $ishareTypes); $this->assertSame($page, $ipage); $this->assertSame($perPage, $iperPage); $this->assertSame($shareWithGroupOnly, $ishareWithGroupOnly); return new \OC_OCS_Result([]); }); + $sharees->expects($this->any()) + ->method('isRemoteSharingAllowed') + ->with($itemType) + ->willReturn($remoteSharingEnabled); /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */ $this->assertInstanceOf('\OC_OCS_Result', $sharees->search()); @@ -492,13 +517,32 @@ class ShareesTest extends TestCase { $_GET = $oldGet; } + public function dataIsRemoteSharingAllowed() { + return [ + ['file', true], + ['folder', true], + ['', false], + ['contacts', false], + ]; + } + + /** + * @dataProvider dataIsRemoteSharingAllowed + * + * @param string $itemType + * @param bool $expected + */ + public function testIsRemoteSharingAllowed($itemType, $expected) { + $this->assertSame($expected, $this->invokePrivate($this->sharees, 'isRemoteSharingAllowed', [$itemType])); + } + public function dataSearchSharees() { return [ - ['test', 'folder', [], null, 1, 2, false, [], [], [], [], 0, false], - ['test', 'folder', [0 => ['test1'], 1 => ['test2 group']], null, 1, 2, false, [], [], [], [], 0, false], + ['test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], [], 0, false], + ['test', 'folder', [0 => ['test1'], 1 => ['test2 group']], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], [], 0, false], // First page with 2 of 3 results [ - 'test', 'folder', [], null, 1, 2, false, [ + 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], [ ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], @@ -511,7 +555,7 @@ class ShareesTest extends TestCase { ], // Second page with the 3rd result [ - 'test', 'folder', [], null, 2, 2, false, [ + 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 2, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], [ ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], @@ -521,9 +565,20 @@ class ShareesTest extends TestCase { ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], ], 3, false, ], + // No groups requested + [ + 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], null, [ + ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], [ + ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], 2, false, + ], // Ingnoring already shared user [ - 'test', 'folder', [\OCP\Share::SHARE_TYPE_USER => ['test1']], null, 1, 2, false, [ + 'test', 'folder', [\OCP\Share::SHARE_TYPE_USER => ['test1']], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], [ ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], @@ -536,7 +591,7 @@ class ShareesTest extends TestCase { ], // Share type restricted to user - Only one user [ - 'test', 'folder', [], \OCP\Share::SHARE_TYPE_USER, 1, 2, false, [ + 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], null, null, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], @@ -544,7 +599,7 @@ class ShareesTest extends TestCase { ], // Share type restricted to user - Multipage result [ - 'test', 'folder', [], \OCP\Share::SHARE_TYPE_USER, 1, 2, false, [ + 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ ['label' => 'test 1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ['label' => 'test 2', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], ['label' => 'test 3', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test3']], @@ -555,7 +610,7 @@ class ShareesTest extends TestCase { ], // Share type restricted to user - Only user already shared [ - 'test', 'folder', [\OCP\Share::SHARE_TYPE_USER => ['test1']], \OCP\Share::SHARE_TYPE_USER, 1, 2, false, [ + 'test', 'folder', [\OCP\Share::SHARE_TYPE_USER => ['test1']], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], null, null, [], 0, false, ], @@ -568,13 +623,13 @@ class ShareesTest extends TestCase { * @param string $searchTerm * @param string $itemType * @param array $existingShares - * @param int $shareType + * @param array $shareTypes * @param int $page * @param int $perPage * @param bool $shareWithGroupOnly * @param array $expected */ - public function testSearchSharees($searchTerm, $itemType, array $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly, + public function testSearchSharees($searchTerm, $itemType, array $existingShares, array $shareTypes, $page, $perPage, $shareWithGroupOnly, $mockedUserResult, $mockedGroupsResult, $mockedRemotesResult, $expected, $totalItems, $nextLink) { /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */ $sharees = $this->getMockBuilder('\OCA\Files_Sharing\API\Sharees') @@ -602,7 +657,7 @@ class ShareesTest extends TestCase { ->willReturn($mockedRemotesResult); /** @var \OC_OCS_Result $ocs */ - $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $existingShares, $shareType, $page, $perPage, $shareWithGroupOnly]); + $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly]); $this->assertInstanceOf('\OC_OCS_Result', $ocs); $this->assertEquals($expected, $ocs->getData()); @@ -623,7 +678,7 @@ class ShareesTest extends TestCase { public function testSearchShareesNoItemType() { /** @var \OC_OCS_Result $ocs */ - $ocs = $this->invokePrivate($this->sharees, 'searchSharees', ['', null, [], null, 0, 0, false]); + $ocs = $this->invokePrivate($this->sharees, 'searchSharees', ['', null, [], [], 0, 0, false]); $this->assertInstanceOf('\OC_OCS_Result', $ocs); $this->assertSame(400, $ocs->getStatusCode(), 'Expected status code 400'); From a0ab7a257858b305434255df2f33ef4b323ac81d Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 13 Aug 2015 10:57:08 +0200 Subject: [PATCH 098/329] Add all possible links next, prev, first and last --- apps/files_sharing/api/sharees.php | 54 +++++++++++++++++------- apps/files_sharing/tests/api/sharees.php | 50 +++++++++++++++++++++- 2 files changed, 88 insertions(+), 16 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index de5f9c8cbf..714b4950c5 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -285,7 +285,6 @@ class Sharees { //Pagination $start = ($page - 1) * $perPage; - $end = $page * $perPage; $total = sizeof($sharees); $sharees = array_slice($sharees, $start, $perPage); @@ -294,18 +293,16 @@ class Sharees { $response->setTotalItems($total); $response->setItemsPerPage($perPage); - if ($total > $end) { - $params = [ - 'search' => $search, - 'itemType' => $itemType, - 'existingShares' => $existingShares, - 'shareType' => $shareTypes, - 'page' => $page + 1, - 'limit' => $perPage, - ]; + $links = $this->getPaginationLinks($page, $total, [ + 'search' => $search, + 'itemType' => $itemType, + 'existingShares' => $existingShares, + 'shareType' => $shareTypes, + 'limit' => $perPage, + ]); - $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees') . '?' . http_build_query($params); - $response->addHeader('Link', '<' . $url . '> rel="next"'); + if (!empty($links)) { + $response->addHeader('Link', implode(', ', $links)); } return $response; @@ -319,10 +316,37 @@ class Sharees { * @return array */ protected function filterSharees($potentialSharees, $existingSharees) { - $sharees = array_map(function ($sharee) use ($existingSharees) { + $sharees = array_filter($potentialSharees, function ($sharee) use ($existingSharees) { return in_array($sharee['value']['shareWith'], $existingSharees) ? null : $sharee; - }, $potentialSharees); + }); - return array_filter($sharees); + return $sharees; + } + + /** + * Generates a bunch of pagination links for the current page + * + * @param int $page Current page + * @param int $total Number of total items that need to be paginated + * @param array $params Parameters for the URL + * @return array + */ + protected function getPaginationLinks($page, $total, array $params) { + $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees') . '?'; + + $links = []; + if ($page > 1) { + $params['page'] = 1; + $links[] = '<' . $url . http_build_query($params) . '>; rel="first"'; + $params['page'] = $page - 1; + $links[] = '<' . $url . http_build_query($params) . '>; rel="prev"'; + } + if ($page * $params['limit'] < $total) { + $params['page'] = $page + 1; + $links[] = '<' . $url . http_build_query($params) . '>; rel="next"'; + $params['page'] = ceil($total / $params['limit']); + $links[] = '<' . $url . http_build_query($params) . '>; rel="last"'; + } + return $links; } } diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index ec19036bb8..7efd29e592 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -672,7 +672,7 @@ class ShareesTest extends TestCase { $headers = $ocs->getHeaders(); $this->assertArrayHasKey('Link', $headers); $this->assertStringStartsWith('<', $headers['Link']); - $this->assertStringEndsWith('> rel="next"', $headers['Link']); + $this->assertStringEndsWith('"', $headers['Link']); } } @@ -735,4 +735,52 @@ class ShareesTest extends TestCase { public function testFilterSharees($potentialSharees, $existingSharees, $expectedSharees) { $this->assertEquals($expectedSharees, $this->invokePrivate($this->sharees, 'filterSharees', [$potentialSharees, $existingSharees])); } + + public function dataGetPaginationLinks() { + return [ + [1, 1, ['limit' => 2], []], + [1, 3, ['limit' => 2], [ + '; rel="next"', + '; rel="last"', + ]], + [1, 21, ['limit' => 2], [ + '; rel="next"', + '; rel="last"', + ]], + [2, 21, ['limit' => 2], [ + '; rel="first"', + '; rel="prev"', + '; rel="next"', + '; rel="last"', + ]], + [5, 21, ['limit' => 2], [ + '; rel="first"', + '; rel="prev"', + '; rel="next"', + '; rel="last"', + ]], + [10, 21, ['limit' => 2], [ + '; rel="first"', + '; rel="prev"', + '; rel="next"', + '; rel="last"', + ]], + [11, 21, ['limit' => 2], [ + '; rel="first"', + '; rel="prev"', + ]], + ]; + } + + /** + * @dataProvider dataGetPaginationLinks + * + * @param int $page + * @param int $total + * @param array $params + * @param array $expected + */ + public function testGetPaginationLinks($page, $total, $params, $expected) { + $this->assertEquals($expected, $this->invokePrivate($this->sharees, 'getPaginationLinks', [$page, $total, $params])); + } } From 5c4fbf519133cc0e017581a29151911f685a64b0 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 13 Aug 2015 11:06:03 +0200 Subject: [PATCH 099/329] Inject the logger as well --- apps/files_sharing/api/sharees.php | 63 ++++++++++++++---------- apps/files_sharing/appinfo/routes.php | 3 +- apps/files_sharing/tests/api/sharees.php | 9 ++-- 3 files changed, 44 insertions(+), 31 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 714b4950c5..129a66851a 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -20,12 +20,16 @@ */ namespace OCA\Files_Sharing\API; +use OC\Share\SearchResultSorter; +use OCP\Contacts\IManager; use OCP\IGroup; use OCP\IGroupManager; +use OCP\ILogger; use OCP\IUserManager; use OCP\IConfig; use OCP\IUserSession; use OCP\IURLGenerator; +use OCP\Share; class Sharees { @@ -35,7 +39,7 @@ class Sharees { /** @var IUserManager */ private $userManager; - /** @var \OCP\Contacts\IManager */ + /** @var IManager */ private $contactsManager; /** @var IConfig */ @@ -47,25 +51,32 @@ class Sharees { /** @var IURLGenerator */ private $urlGenerator; + /** @var ILogger */ + private $logger; + /** * @param IGroupManager $groupManager * @param IUserManager $userManager - * @param \OCP\Contacts\IManager $contactsManager + * @param IManager $contactsManager * @param IConfig $config * @param IUserSession $userSession + * @param IURLGenerator $urlGenerator + * @param ILogger $logger */ public function __construct(IGroupManager $groupManager, IUserManager $userManager, - \OCP\Contacts\IManager $contactsManager, + IManager $contactsManager, IConfig $config, IUserSession $userSession, - IURLGenerator $urlGenerator) { + IURLGenerator $urlGenerator, + ILogger $logger) { $this->groupManager = $groupManager; $this->userManager = $userManager; $this->contactsManager = $contactsManager; $this->config = $config; $this->userSession = $userSession; $this->urlGenerator = $urlGenerator; + $this->logger = $logger; } /** @@ -100,7 +111,7 @@ class Sharees { $sharees[] = [ 'label' => $displayName, 'value' => [ - 'shareType' => \OCP\Share::SHARE_TYPE_USER, + 'shareType' => Share::SHARE_TYPE_USER, 'shareWith' => $uid, ], ]; @@ -131,7 +142,7 @@ class Sharees { $sharees[] = [ 'label' => $gid, 'value' => [ - 'shareType' => \OCP\Share::SHARE_TYPE_GROUP, + 'shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => $gid, ], ]; @@ -152,7 +163,7 @@ class Sharees { $sharees[] = [ 'label' => $search, 'value' => [ - 'shareType' => \OCP\Share::SHARE_TYPE_REMOTE, + 'shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => $search, ], ]; @@ -166,7 +177,7 @@ class Sharees { $sharees[] = [ 'label' => $contact['FN'] . ' (' . $cloudId . ')', 'value' => [ - 'shareType' => \OCP\Share::SHARE_TYPE_REMOTE, + 'shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => $cloudId ] ]; @@ -188,9 +199,9 @@ class Sharees { $perPage = !empty($_GET['limit']) ? max(1, (int) $_GET['limit']) : 200; $shareTypes = [ - \OCP\Share::SHARE_TYPE_USER, - \OCP\Share::SHARE_TYPE_GROUP, - \OCP\Share::SHARE_TYPE_REMOTE, + Share::SHARE_TYPE_USER, + Share::SHARE_TYPE_GROUP, + Share::SHARE_TYPE_REMOTE, ]; if (isset($_GET['shareType']) && is_array($_GET['shareType'])) { $shareTypes = array_intersect($shareTypes, $_GET['shareType']); @@ -201,9 +212,9 @@ class Sharees { sort($shareTypes); } - if (in_array(\OCP\Share::SHARE_TYPE_REMOTE, $shareTypes) && !$this->isRemoteSharingAllowed($itemType)) { + if (in_array(Share::SHARE_TYPE_REMOTE, $shareTypes) && !$this->isRemoteSharingAllowed($itemType)) { // Remove remote shares from type array, because it is not allowed. - $shareTypes = array_diff($shareTypes, [\OCP\Share::SHARE_TYPE_REMOTE]); + $shareTypes = array_diff($shareTypes, [Share::SHARE_TYPE_REMOTE]); } $shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; @@ -219,8 +230,8 @@ class Sharees { */ protected function isRemoteSharingAllowed($itemType) { try { - $backend = \OCP\Share::getBackend($itemType); - return $backend->isShareTypeAllowed(\OCP\Share::SHARE_TYPE_REMOTE); + $backend = Share::getBackend($itemType); + return $backend->isShareTypeAllowed(Share::SHARE_TYPE_REMOTE); } catch (\Exception $e) { return false; } @@ -242,14 +253,14 @@ class Sharees { $sharedUsers = $sharedGroups = []; if (!empty($existingShares)) { - if (!empty($existingShares[\OCP\Share::SHARE_TYPE_USER]) && - is_array($existingShares[\OCP\Share::SHARE_TYPE_USER])) { - $sharedUsers = $existingShares[\OCP\Share::SHARE_TYPE_USER]; + if (!empty($existingShares[Share::SHARE_TYPE_USER]) && + is_array($existingShares[Share::SHARE_TYPE_USER])) { + $sharedUsers = $existingShares[Share::SHARE_TYPE_USER]; } - if (!empty($existingShares[\OCP\Share::SHARE_TYPE_GROUP]) && - is_array($existingShares[\OCP\Share::SHARE_TYPE_GROUP])) { - $sharedGroups = $existingShares[\OCP\Share::SHARE_TYPE_GROUP]; + if (!empty($existingShares[Share::SHARE_TYPE_GROUP]) && + is_array($existingShares[Share::SHARE_TYPE_GROUP])) { + $sharedGroups = $existingShares[Share::SHARE_TYPE_GROUP]; } } @@ -260,27 +271,25 @@ class Sharees { $sharees = []; // Get users - if (in_array(\OCP\Share::SHARE_TYPE_USER, $shareTypes)) { + if (in_array(Share::SHARE_TYPE_USER, $shareTypes)) { $potentialSharees = $this->getUsers($search, $shareWithGroupOnly); $sharees = array_merge($sharees, $this->filterSharees($potentialSharees, $sharedUsers)); } // Get groups - if (in_array(\OCP\Share::SHARE_TYPE_GROUP, $shareTypes)) { + if (in_array(Share::SHARE_TYPE_GROUP, $shareTypes)) { $potentialSharees = $this->getGroups($search, $shareWithGroupOnly); $sharees = array_merge($sharees, $this->filterSharees($potentialSharees, $sharedGroups)); } // Get remote - if (in_array(\OCP\Share::SHARE_TYPE_REMOTE, $shareTypes)) { + if (in_array(Share::SHARE_TYPE_REMOTE, $shareTypes)) { $sharees = array_merge($sharees, $this->getRemote($search)); } // Sort sharees - $sorter = new \OC\Share\SearchResultSorter($search, - 'label', - \OC::$server->getLogger()); + $sorter = new SearchResultSorter($search, 'label', $this->logger); usort($sharees, array($sorter, 'sort')); //Pagination diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 45ea85ff72..2000eab651 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -107,7 +107,8 @@ $sharees = new \OCA\Files_Sharing\API\Sharees(\OC::$server->getGroupManager(), \OC::$server->getContactsManager(), \OC::$server->getConfig(), \OC::$server->getUserSession(), - \OC::$server->getURLGenerator()); + \OC::$server->getURLGenerator(), + \OC::$server->getLogger()); API::register('get', '/apps/files_sharing/api/v1/sharees', diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 7efd29e592..ddce7fddcd 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -65,7 +65,8 @@ class ShareesTest extends TestCase { $this->contactsManager, $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(), $this->session, - $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() + $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() ); } @@ -485,7 +486,8 @@ class ShareesTest extends TestCase { $this->contactsManager, $config, $this->session, - $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() + $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() ]) ->setMethods(array('searchSharees', 'isRemoteSharingAllowed')) ->getMock(); @@ -639,7 +641,8 @@ class ShareesTest extends TestCase { $this->contactsManager, $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(), $this->session, - $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock() + $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() ]) ->setMethods(array('getUsers', 'getGroups', 'getRemote')) ->getMock(); From 0227cfff081a79627d038f7e30a1bdece9df4d3a Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 13 Aug 2015 10:13:23 +0200 Subject: [PATCH 100/329] Take a list of share IDs instead of the user and group names --- apps/files_sharing/api/sharees.php | 68 +++++++++++--- apps/files_sharing/appinfo/routes.php | 3 +- apps/files_sharing/tests/api/sharees.php | 114 ++++++++++++----------- 3 files changed, 118 insertions(+), 67 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 129a66851a..3e802b3028 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -20,8 +20,10 @@ */ namespace OCA\Files_Sharing\API; +use Doctrine\DBAL\Connection; use OC\Share\SearchResultSorter; use OCP\Contacts\IManager; +use OCP\IDBConnection; use OCP\IGroup; use OCP\IGroupManager; use OCP\ILogger; @@ -54,6 +56,9 @@ class Sharees { /** @var ILogger */ private $logger; + /** @var IDBConnection */ + private $connection; + /** * @param IGroupManager $groupManager * @param IUserManager $userManager @@ -62,6 +67,7 @@ class Sharees { * @param IUserSession $userSession * @param IURLGenerator $urlGenerator * @param ILogger $logger + * @param IDBConnection $connection */ public function __construct(IGroupManager $groupManager, IUserManager $userManager, @@ -69,7 +75,8 @@ class Sharees { IConfig $config, IUserSession $userSession, IURLGenerator $urlGenerator, - ILogger $logger) { + ILogger $logger, + IDBConnection $connection) { $this->groupManager = $groupManager; $this->userManager = $userManager; $this->contactsManager = $contactsManager; @@ -77,6 +84,7 @@ class Sharees { $this->userSession = $userSession; $this->urlGenerator = $urlGenerator; $this->logger = $logger; + $this->connection = $connection; } /** @@ -194,7 +202,7 @@ class Sharees { public function search() { $search = isset($_GET['search']) ? (string) $_GET['search'] : ''; $itemType = isset($_GET['itemType']) ? (string) $_GET['itemType'] : null; - $existingShares = isset($_GET['existingShares']) ? (array) $_GET['existingShares'] : []; + $shareIds = isset($_GET['existingShares']) ? (array) $_GET['existingShares'] : []; $page = !empty($_GET['page']) ? max(1, (int) $_GET['page']) : 1; $perPage = !empty($_GET['limit']) ? max(1, (int) $_GET['limit']) : 200; @@ -219,7 +227,7 @@ class Sharees { $shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; - return $this->searchSharees($search, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly); + return $this->searchSharees($search, $itemType, $shareIds, $shareTypes, $page, $perPage, $shareWithGroupOnly); } /** @@ -242,25 +250,27 @@ class Sharees { * * @param string $search * @param string $itemType - * @param array $existingShares + * @param array $shareIds * @param array $shareTypes * @param int $page * @param int $perPage * @param bool $shareWithGroupOnly * @return \OC_OCS_Result */ - protected function searchSharees($search, $itemType, array $existingShares, array $shareTypes, $page, $perPage, $shareWithGroupOnly) { + protected function searchSharees($search, $itemType, array $shareIds, array $shareTypes, $page, $perPage, $shareWithGroupOnly) { $sharedUsers = $sharedGroups = []; - if (!empty($existingShares)) { - if (!empty($existingShares[Share::SHARE_TYPE_USER]) && - is_array($existingShares[Share::SHARE_TYPE_USER])) { - $sharedUsers = $existingShares[Share::SHARE_TYPE_USER]; + $existingSharees = $this->getShareesForShareIds($shareIds); + + if (!empty($existingSharees)) { + if (!empty($existingSharees[Share::SHARE_TYPE_USER]) && + is_array($existingSharees[Share::SHARE_TYPE_USER])) { + $sharedUsers = $existingSharees[Share::SHARE_TYPE_USER]; } - if (!empty($existingShares[Share::SHARE_TYPE_GROUP]) && - is_array($existingShares[Share::SHARE_TYPE_GROUP])) { - $sharedGroups = $existingShares[Share::SHARE_TYPE_GROUP]; + if (!empty($existingSharees[Share::SHARE_TYPE_GROUP]) && + is_array($existingSharees[Share::SHARE_TYPE_GROUP])) { + $sharedGroups = $existingSharees[Share::SHARE_TYPE_GROUP]; } } @@ -305,7 +315,7 @@ class Sharees { $links = $this->getPaginationLinks($page, $total, [ 'search' => $search, 'itemType' => $itemType, - 'existingShares' => $existingShares, + 'existingShares' => $shareIds, 'shareType' => $shareTypes, 'limit' => $perPage, ]); @@ -332,6 +342,38 @@ class Sharees { return $sharees; } + /** + * Get a list of existing share_with's for the given share IDs (if the current user owns them) + * + * @param array $shareIds + * @return array + */ + protected function getShareesForShareIds($shareIds) { + if (empty($shareIds)) { + return []; + } + + $queryBuilder = $this->connection->getQueryBuilder(); + $exprBuilder = $queryBuilder->expr(); + + $queryBuilder->select(['share_type', 'share_with']) + ->from('share') + ->where($exprBuilder->in('id', $queryBuilder->createParameter('shareIds'))) + ->andWhere($exprBuilder->eq('uid_owner', $queryBuilder->createParameter('user'))) + ->andWhere($exprBuilder->isNull('parent')) + ->setParameter('shareIds', $shareIds, Connection::PARAM_INT_ARRAY) + ->setParameter('user', $this->userSession->getUser()->getUID()); + $query = $queryBuilder->execute(); + + $sharees = []; + while ($row = $query->fetch()) { + $sharees[$row['share_type']][] = $row['share_with']; + } + $query->closeCursor(); + + return $sharees; + } + /** * Generates a bunch of pagination links for the current page * diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 2000eab651..28dc3ab967 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -108,7 +108,8 @@ $sharees = new \OCA\Files_Sharing\API\Sharees(\OC::$server->getGroupManager(), \OC::$server->getConfig(), \OC::$server->getUserSession(), \OC::$server->getURLGenerator(), - \OC::$server->getLogger()); + \OC::$server->getLogger(), + \OC::$server->getDatabaseConnection()); API::register('get', '/apps/files_sharing/api/v1/sharees', diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index ddce7fddcd..24a659eb06 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -66,7 +66,8 @@ class ShareesTest extends TestCase { $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(), $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), - $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock(), + \OC::$server->getDatabaseConnection() ); } @@ -349,106 +350,106 @@ class ShareesTest extends TestCase { $allTypes = [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE]; return [ - [[], '', true, '', null, [], $allTypes, 1, 200, false], + [[], '', true, [], '', null, $allTypes, 1, 200, false], // Test itemType [[ 'search' => '', - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'search' => 'foobar', - ], '', true, 'foobar', null, [], $allTypes, 1, 200, false], + ], '', true, [], 'foobar', null, $allTypes, 1, 200, false], [[ 'search' => 0, - ], '', true, '0', null, [], $allTypes, 1, 200, false], + ], '', true, [], '0', null, $allTypes, 1, 200, false], // Test itemType [[ 'itemType' => '', - ], '', true, '', '', [], $allTypes, 1, 200, false], + ], '', true, [], '', '', $allTypes, 1, 200, false], [[ 'itemType' => 'folder', - ], '', true, '', 'folder', [], $allTypes, 1, 200, false], + ], '', true, [], '', 'folder', $allTypes, 1, 200, false], [[ 'itemType' => 0, - ], '', true, '', '0', [], $allTypes, 1, 200, false], + ], '', true, [], '', '0', $allTypes, 1, 200, false], // Test existingShares [[ 'existingShares' => [], - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ - 'existingShares' => [0 => ['test'], 1 => ['foobar']], - ], '', true, '', null, [0 => ['test'], 1 => ['foobar']], $allTypes, 1, 200, false], + 'existingShares' => [12, 42], + ], '', true, [12, 42], '', null, $allTypes, 1, 200, false], // Test shareType [[ - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'shareType' => 0, - ], '', true, '', null, [], [0], 1, 200, false], + ], '', true, [], '', null, [0], 1, 200, false], [[ 'shareType' => '0', - ], '', true, '', null, [], [0], 1, 200, false], + ], '', true, [], '', null, [0], 1, 200, false], [[ 'shareType' => 1, - ], '', true, '', null, [], [1], 1, 200, false], + ], '', true, [], '', null, [1], 1, 200, false], [[ 'shareType' => 12, - ], '', true, '', null, [], [], 1, 200, false], + ], '', true, [], '', null, [], 1, 200, false], [[ 'shareType' => 'foobar', - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'shareType' => [0, 1, 2], - ], '', true, '', null, [], [0, 1], 1, 200, false], + ], '', true, [], '', null, [0, 1], 1, 200, false], [[ 'shareType' => [0, 1], - ], '', true, '', null, [], [0, 1], 1, 200, false], + ], '', true, [], '', null, [0, 1], 1, 200, false], [[ 'shareType' => $allTypes, - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'shareType' => $allTypes, - ], '', false, '', null, [], [0, 1], 1, 200, false], + ], '', false, [], '', null, [0, 1], 1, 200, false], // Test pagination [[ 'page' => 0, - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'page' => '0', - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'page' => -1, - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'page' => 1, - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'page' => 10, - ], '', true, '', null, [], $allTypes, 10, 200, false], + ], '', true, [], '', null, $allTypes, 10, 200, false], // Test limit [[ 'limit' => 0, - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'limit' => '0', - ], '', true, '', null, [], $allTypes, 1, 200, false], + ], '', true, [], '', null, $allTypes, 1, 200, false], [[ 'limit' => -1, - ], '', true, '', null, [], $allTypes, 1, 1, false], + ], '', true, [], '', null, $allTypes, 1, 1, false], [[ 'limit' => 1, - ], '', true, '', null, [], $allTypes, 1, 1, false], + ], '', true, [], '', null, $allTypes, 1, 1, false], [[ 'limit' => 10, - ], '', true, '', null, [], $allTypes, 1, 10, false], + ], '', true, [], '', null, $allTypes, 1, 10, false], // Test $shareWithGroupOnly setting - [[], 'no', true, '', null, [], $allTypes, 1, 200, false], - [[], 'yes', true, '', null, [], $allTypes, 1, 200, true], + [[], 'no', true, [], '', null, $allTypes, 1, 200, false], + [[], 'yes', true, [], '', null, $allTypes, 1, 200, true], ]; } @@ -459,15 +460,15 @@ class ShareesTest extends TestCase { * @param array $getData * @param string $apiSetting * @param bool $remoteSharingEnabled + * @param array $shareIds * @param string $search * @param string $itemType - * @param array $existingShares * @param array $shareTypes * @param int $page * @param int $perPage * @param bool $shareWithGroupOnly */ - public function testSearch($getData, $apiSetting, $remoteSharingEnabled, $search, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly) { + public function testSearch($getData, $apiSetting, $remoteSharingEnabled, $shareIds, $search, $itemType, $shareTypes, $page, $perPage, $shareWithGroupOnly) { $oldGet = $_GET; $_GET = $getData; @@ -487,21 +488,22 @@ class ShareesTest extends TestCase { $config, $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), - $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock(), + \OC::$server->getDatabaseConnection() ]) ->setMethods(array('searchSharees', 'isRemoteSharingAllowed')) ->getMock(); $sharees->expects($this->once()) ->method('searchSharees') - ->with($search, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly) + ->with($search, $itemType, $shareIds, $shareTypes, $page, $perPage, $shareWithGroupOnly) ->willReturnCallback(function - ($isearch, $iitemType, $iexistingShares, $ishareTypes, $ipage, $iperPage, $ishareWithGroupOnly) - use ($search, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly) { + ($isearch, $iitemType, $ishareIds, $ishareTypes, $ipage, $iperPage, $ishareWithGroupOnly) + use ($search, $itemType, $shareIds, $shareTypes, $page, $perPage, $shareWithGroupOnly) { // We are doing strict comparisons here, so we can differ 0/'' and null on shareType/itemType $this->assertSame($search, $isearch); $this->assertSame($itemType, $iitemType); - $this->assertSame($existingShares, $iexistingShares); + $this->assertSame($shareIds, $ishareIds); $this->assertSame($shareTypes, $ishareTypes); $this->assertSame($page, $ipage); $this->assertSame($perPage, $iperPage); @@ -540,11 +542,11 @@ class ShareesTest extends TestCase { public function dataSearchSharees() { return [ - ['test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], [], 0, false], - ['test', 'folder', [0 => ['test1'], 1 => ['test2 group']], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], [], 0, false], + ['test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], [], 0, false], + ['test', 'folder', [1, 2], [0 => ['test1'], 1 => ['test2 group']], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], [], 0, false], // First page with 2 of 3 results [ - 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ + 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], [ ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], @@ -557,7 +559,7 @@ class ShareesTest extends TestCase { ], // Second page with the 3rd result [ - 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 2, 2, false, [ + 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 2, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], [ ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], @@ -569,7 +571,7 @@ class ShareesTest extends TestCase { ], // No groups requested [ - 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ + 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], null, [ ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], @@ -580,7 +582,7 @@ class ShareesTest extends TestCase { ], // Ingnoring already shared user [ - 'test', 'folder', [\OCP\Share::SHARE_TYPE_USER => ['test1']], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ + 'test', 'folder', [1], [\OCP\Share::SHARE_TYPE_USER => ['test1']], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], [ ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], @@ -593,7 +595,7 @@ class ShareesTest extends TestCase { ], // Share type restricted to user - Only one user [ - 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ + 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], null, null, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], @@ -601,7 +603,7 @@ class ShareesTest extends TestCase { ], // Share type restricted to user - Multipage result [ - 'test', 'folder', [], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ + 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ ['label' => 'test 1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ['label' => 'test 2', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], ['label' => 'test 3', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test3']], @@ -612,7 +614,7 @@ class ShareesTest extends TestCase { ], // Share type restricted to user - Only user already shared [ - 'test', 'folder', [\OCP\Share::SHARE_TYPE_USER => ['test1']], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ + 'test', 'folder', [1], [\OCP\Share::SHARE_TYPE_USER => ['test1']], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], null, null, [], 0, false, ], @@ -624,6 +626,7 @@ class ShareesTest extends TestCase { * * @param string $searchTerm * @param string $itemType + * @param array $shareIds * @param array $existingShares * @param array $shareTypes * @param int $page @@ -631,7 +634,7 @@ class ShareesTest extends TestCase { * @param bool $shareWithGroupOnly * @param array $expected */ - public function testSearchSharees($searchTerm, $itemType, array $existingShares, array $shareTypes, $page, $perPage, $shareWithGroupOnly, + public function testSearchSharees($searchTerm, $itemType, array $shareIds, array $existingShares, array $shareTypes, $page, $perPage, $shareWithGroupOnly, $mockedUserResult, $mockedGroupsResult, $mockedRemotesResult, $expected, $totalItems, $nextLink) { /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */ $sharees = $this->getMockBuilder('\OCA\Files_Sharing\API\Sharees') @@ -642,10 +645,15 @@ class ShareesTest extends TestCase { $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(), $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), - $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock(), + \OC::$server->getDatabaseConnection() ]) - ->setMethods(array('getUsers', 'getGroups', 'getRemote')) + ->setMethods(array('getShareesForShareIds', 'getUsers', 'getGroups', 'getRemote')) ->getMock(); + $sharees->expects($this->once()) + ->method('getShareesForShareIds') + ->with($shareIds) + ->willReturn($existingShares); $sharees->expects(($mockedUserResult === null) ? $this->never() : $this->once()) ->method('getUsers') ->with($searchTerm, $shareWithGroupOnly) @@ -660,7 +668,7 @@ class ShareesTest extends TestCase { ->willReturn($mockedRemotesResult); /** @var \OC_OCS_Result $ocs */ - $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $existingShares, $shareTypes, $page, $perPage, $shareWithGroupOnly]); + $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $shareIds, $shareTypes, $page, $perPage, $shareWithGroupOnly]); $this->assertInstanceOf('\OC_OCS_Result', $ocs); $this->assertEquals($expected, $ocs->getData()); From 83b88c9a264a46f393df95e6c57793f0300495da Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 17 Aug 2015 12:13:49 +0200 Subject: [PATCH 101/329] Do not return the current user himself --- apps/files_sharing/api/sharees.php | 5 +++ apps/files_sharing/tests/api/sharees.php | 44 +++++++++++++++++++++--- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 3e802b3028..f12677265b 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -116,6 +116,11 @@ class Sharees { foreach ($users as $uid => $displayName) { + if ($uid === $this->userSession->getUser()->getUID()) { + // Skip the current user + continue; + } + $sharees[] = [ 'label' => $displayName, 'value' => [ diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 24a659eb06..9b7a21b063 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -127,6 +127,20 @@ class ShareesTest extends TestCase { ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], ] ], + [ + 'test', + false, + [], + [ + $this->getUserMock('test1', 'Test One'), + $this->getUserMock('test2', 'Test Two'), + $this->getUserMock('admin', 'Should be removed'), + ], + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ] + ], [ 'test', true, @@ -175,6 +189,26 @@ class ShareesTest extends TestCase { ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], ] ], + [ + 'test', + true, + ['abc', 'xyz'], + [ + ['abc', 'test', -1, 0, [ + 'test1' => 'Test One', + ]], + ['xyz', 'test', -1, 0, [ + 'test2' => 'Test Two', + ]], + ['admin', 'Should be removed', -1, 0, [ + 'test2' => 'Test Two', + ]], + ], + [ + ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ] + ], ]; } @@ -188,17 +222,17 @@ class ShareesTest extends TestCase { * @param array $expected */ public function testGetUsers($searchTerm, $shareWithGroupOnly, $groupResponse, $userResponse, $expected) { + $user = $this->getUserMock('admin', 'Administrator'); + $this->session->expects($this->any()) + ->method('getUser') + ->willReturn($user); + if (!$shareWithGroupOnly) { $this->userManager->expects($this->once()) ->method('searchDisplayName') ->with($searchTerm) ->willReturn($userResponse); } else { - $user = $this->getUserMock('admin', 'Administrator'); - $this->session->expects($this->any()) - ->method('getUser') - ->willReturn($user); - $this->groupManager->expects($this->once()) ->method('getUserGroupIds') ->with($user) From 6b69e7b1dae71601db8486df4c30ab9d73419694 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 17 Aug 2015 12:43:20 +0200 Subject: [PATCH 102/329] Add tests for "getShareesForShareIds()" --- apps/files_sharing/tests/api/sharees.php | 93 ++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/sharees.php index 9b7a21b063..675cc7bede 100644 --- a/apps/files_sharing/tests/api/sharees.php +++ b/apps/files_sharing/tests/api/sharees.php @@ -21,6 +21,8 @@ namespace OCA\Files_Sharing\Tests\API; +use Doctrine\DBAL\Connection; +use OC\Share\Constants; use OCA\Files_Sharing\API\Sharees; use OCA\Files_sharing\Tests\TestCase; @@ -781,6 +783,97 @@ class ShareesTest extends TestCase { $this->assertEquals($expectedSharees, $this->invokePrivate($this->sharees, 'filterSharees', [$potentialSharees, $existingSharees])); } + public function dataGetShareesForShareIds() { + return [ + [[], []], + [[1, 2, 3], [Constants::SHARE_TYPE_USER => ['user1'], Constants::SHARE_TYPE_GROUP => ['group1']]], + ]; + } + + /** + * @dataProvider dataGetShareesForShareIds + * + * @param array $shareIds + * @param array $expectedSharees + */ + public function testGetShareesForShareIds(array $shareIds, array $expectedSharees) { + $owner = $this->getUniqueID('test'); + $shares2delete = []; + + if (!empty($shareIds)) { + $userShare = $this->createShare(Constants::SHARE_TYPE_USER, 'user1', $owner, null); + $shares2delete[] = $userShare; + $shares2delete[] = $this->createShare(Constants::SHARE_TYPE_USER, 'user3', $owner . '2', null); + + $groupShare = $this->createShare(Constants::SHARE_TYPE_GROUP, 'group1', $owner, null); + $shares2delete[] = $groupShare; + $groupShare2 = $this->createShare(Constants::SHARE_TYPE_GROUP, 'group2', $owner . '2', null); + $shares2delete[] = $groupShare2; + + $shares2delete[] = $this->createShare($this->invokePrivate(new Constants(), 'shareTypeGroupUserUnique'), 'user2', $owner, $groupShare); + $shares2delete[] = $this->createShare($this->invokePrivate(new Constants(), 'shareTypeGroupUserUnique'), 'user4', $owner, $groupShare2); + } + + $user = $this->getUserMock($owner, 'Sharee OCS test user'); + $this->session->expects($this->any()) + ->method('getUser') + ->willReturn($user); + $this->assertEquals($expectedSharees, $this->invokePrivate($this->sharees, 'getShareesForShareIds', [$shares2delete])); + + $this->deleteShares($shares2delete); + } + + /** + * @param int $type + * @param string $with + * @param string $owner + * @param int $parent + * @return int + */ + protected function createShare($type, $with, $owner, $parent) { + $connection = \OC::$server->getDatabaseConnection(); + $queryBuilder = $connection->getQueryBuilder(); + $queryBuilder->insert('share') + ->values([ + 'share_type' => $queryBuilder->createParameter('share_type'), + 'share_with' => $queryBuilder->createParameter('share_with'), + 'uid_owner' => $queryBuilder->createParameter('uid_owner'), + 'parent' => $queryBuilder->createParameter('parent'), + 'item_type' => $queryBuilder->expr()->literal('fake'), + 'item_source' => $queryBuilder->expr()->literal(''), + 'item_target' => $queryBuilder->expr()->literal(''), + 'file_source' => $queryBuilder->expr()->literal(0), + 'file_target' => $queryBuilder->expr()->literal(''), + 'permissions' => $queryBuilder->expr()->literal(0), + 'stime' => $queryBuilder->expr()->literal(0), + 'accepted' => $queryBuilder->expr()->literal(0), + 'expiration' => $queryBuilder->expr()->literal(''), + 'token' => $queryBuilder->expr()->literal(''), + 'mail_send' => $queryBuilder->expr()->literal(0), + ]) + ->setParameters([ + 'share_type' => $type, + 'share_with' => $with, + 'uid_owner' => $owner, + 'parent' => $parent, + ]) + ->execute(); + return $connection->lastInsertId('share'); + } + + /** + * @param int[] $shareIds + * @return null + */ + protected function deleteShares(array $shareIds) { + $connection = \OC::$server->getDatabaseConnection(); + $queryBuilder = $connection->getQueryBuilder(); + $queryBuilder->delete('share') + ->where($queryBuilder->expr()->in('id', $queryBuilder->createParameter('ids'))) + ->setParameter('ids', $shareIds, Connection::PARAM_INT_ARRAY) + ->execute(); + } + public function dataGetPaginationLinks() { return [ [1, 1, ['limit' => 2], []], From 937586a3f0260bbc976d13637a708c530c708517 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Mon, 17 Aug 2015 12:44:23 +0200 Subject: [PATCH 103/329] Rename file to match the class name --- apps/files_sharing/tests/api/{sharees.php => shareestest.php} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename apps/files_sharing/tests/api/{sharees.php => shareestest.php} (100%) diff --git a/apps/files_sharing/tests/api/sharees.php b/apps/files_sharing/tests/api/shareestest.php similarity index 100% rename from apps/files_sharing/tests/api/sharees.php rename to apps/files_sharing/tests/api/shareestest.php From f4186d3dfccc80c6a819c94ece8883c981a9d013 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 19 Aug 2015 10:14:15 +0200 Subject: [PATCH 104/329] Fix wrong value for datetime field --- apps/files_sharing/tests/api/shareestest.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/files_sharing/tests/api/shareestest.php b/apps/files_sharing/tests/api/shareestest.php index 675cc7bede..c856b93d0f 100644 --- a/apps/files_sharing/tests/api/shareestest.php +++ b/apps/files_sharing/tests/api/shareestest.php @@ -847,7 +847,7 @@ class ShareesTest extends TestCase { 'permissions' => $queryBuilder->expr()->literal(0), 'stime' => $queryBuilder->expr()->literal(0), 'accepted' => $queryBuilder->expr()->literal(0), - 'expiration' => $queryBuilder->expr()->literal(''), + 'expiration' => $queryBuilder->createParameter('expiration'), 'token' => $queryBuilder->expr()->literal(''), 'mail_send' => $queryBuilder->expr()->literal(0), ]) @@ -857,6 +857,7 @@ class ShareesTest extends TestCase { 'uid_owner' => $owner, 'parent' => $parent, ]) + ->setParameter('expiration', null, 'datetime') ->execute(); return $connection->lastInsertId('share'); } From ac8941f6ac919464b672db5961f14604d681c628 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 19 Aug 2015 12:06:00 +0200 Subject: [PATCH 105/329] Manually query for the last id --- apps/files_sharing/tests/api/shareestest.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/files_sharing/tests/api/shareestest.php b/apps/files_sharing/tests/api/shareestest.php index c856b93d0f..3b2e17d9fd 100644 --- a/apps/files_sharing/tests/api/shareestest.php +++ b/apps/files_sharing/tests/api/shareestest.php @@ -859,7 +859,17 @@ class ShareesTest extends TestCase { ]) ->setParameter('expiration', null, 'datetime') ->execute(); - return $connection->lastInsertId('share'); + + $queryBuilder = $connection->getQueryBuilder(); + $query = $queryBuilder->select('id') + ->from('share') + ->orderBy('id', 'DESC') + ->setMaxResults(1) + ->execute(); + $share = $query->fetch(); + $query->closeCursor(); + + return (int) $share['id']; } /** From aa2a894eb0b1e7df6384abc56b0d3a375a062936 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 26 Aug 2015 09:40:20 +0200 Subject: [PATCH 106/329] Fix performance issues of the sharees api --- apps/files_sharing/api/sharees.php | 334 ++++++++++++-------------- apps/files_sharing/appinfo/routes.php | 4 +- 2 files changed, 155 insertions(+), 183 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index f12677265b..4454d647b1 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -20,13 +20,12 @@ */ namespace OCA\Files_Sharing\API; -use Doctrine\DBAL\Connection; -use OC\Share\SearchResultSorter; use OCP\Contacts\IManager; -use OCP\IDBConnection; use OCP\IGroup; use OCP\IGroupManager; use OCP\ILogger; +use OCP\IRequest; +use OCP\IUser; use OCP\IUserManager; use OCP\IConfig; use OCP\IUserSession; @@ -50,14 +49,37 @@ class Sharees { /** @var IUserSession */ private $userSession; + /** @var IRequest */ + private $request; + /** @var IURLGenerator */ private $urlGenerator; /** @var ILogger */ private $logger; - /** @var IDBConnection */ - private $connection; + /** @var bool */ + private $shareWithGroupOnly; + + /** @var int */ + protected $offset = 0; + + /** @var int */ + protected $limit = 10; + + /** @var array */ + protected $result = [ + 'exact' => [ + 'users' => [], + 'groups' => [], + 'remotes' => [], + ], + 'users' => [], + 'groups' => [], + 'remotes' => [], + ]; + + protected $reachedEndFor = []; /** * @param IGroupManager $groupManager @@ -66,8 +88,8 @@ class Sharees { * @param IConfig $config * @param IUserSession $userSession * @param IURLGenerator $urlGenerator + * @param IRequest $request * @param ILogger $logger - * @param IDBConnection $connection */ public function __construct(IGroupManager $groupManager, IUserManager $userManager, @@ -75,8 +97,8 @@ class Sharees { IConfig $config, IUserSession $userSession, IURLGenerator $urlGenerator, - ILogger $logger, - IDBConnection $connection) { + IRequest $request, + ILogger $logger) { $this->groupManager = $groupManager; $this->userManager = $userManager; $this->contactsManager = $contactsManager; @@ -84,67 +106,82 @@ class Sharees { $this->userSession = $userSession; $this->urlGenerator = $urlGenerator; $this->logger = $logger; - $this->connection = $connection; } /** * @param string $search - * @param bool $shareWithGroupOnly - * - * @return array possible sharees */ - protected function getUsers($search, $shareWithGroupOnly) { - $sharees = []; - - $users = []; - if ($shareWithGroupOnly) { + protected function getUsers($search) { + $this->result['users'] = $this->result['exact']['users'] = $users = []; + + if ($this->shareWithGroupOnly) { // Search in all the groups this user is part of $userGroups = $this->groupManager->getUserGroupIds($this->userSession->getUser()); foreach ($userGroups as $userGroup) { - $users = array_merge($users, $this->groupManager->displayNamesInGroup($userGroup, $search)); + $users = $this->groupManager->displayNamesInGroup($userGroup, $search, $this->limit, $this->offset); + foreach ($users as $uid => $userDisplayName) { + $users[$uid] = $userDisplayName; + } } - $users = array_unique($users); } else { // Search in all users - $users_tmp = $this->userManager->searchDisplayName($search); + $usersTmp = $this->userManager->searchDisplayName($search, $this->limit, $this->offset); - // Put in array that maps uid => displayName - foreach($users_tmp as $user) { + foreach ($usersTmp as $user) { $users[$user->getUID()] = $user->getDisplayName(); } } - - foreach ($users as $uid => $displayName) { - if ($uid === $this->userSession->getUser()->getUID()) { - // Skip the current user - continue; - } - - $sharees[] = [ - 'label' => $displayName, - 'value' => [ - 'shareType' => Share::SHARE_TYPE_USER, - 'shareWith' => $uid, - ], - ]; + if (sizeof($users) < $this->limit) { + $this->reachedEndFor[] = 'users'; } - return $sharees; + $foundUserById = false; + foreach ($users as $uid => $userDisplayName) { + if ($uid === $search || $userDisplayName === $search) { + if ($uid === $search) { + $foundUserById = true; + } + $this->result['exact']['users'][] = [ + 'shareWith' => $search, + 'label' => $search, + ]; + } else { + $this->result['users'][] = [ + 'shareWith' => $uid, + 'label' => $userDisplayName, + ]; + } + } + + if ($this->offset === 0 && !$foundUserById) { + // On page one we try if the search result has a direct hit on the + // user id and if so, we add that to the exact match list + $user = $this->userManager->get($search); + if ($user instanceof IUser) { + array_push($this->result['exact']['users'], [ + 'shareWith' => $user->getUID(), + 'label' => $user->getDisplayName(), + ]); + } + } } /** * @param string $search - * @param bool $shareWithGroupOnly - * - * @return array possible sharees */ - protected function getGroups($search, $shareWithGroupOnly) { - $sharees = []; - $groups = $this->groupManager->search($search); + protected function getGroups($search) { + $this->result['groups'] = $this->result['exact']['groups'] = []; + + $groups = $this->groupManager->search($search, $this->limit, $this->offset); $groups = array_map(function (IGroup $group) { return $group->getGID(); }, $groups); - if (!empty($groups) && $shareWithGroupOnly) { + if (sizeof($groups) < $this->limit) { + $this->reachedEndFor[] = 'groups'; + } + + $userGroups = []; + if (!empty($groups) && $this->shareWithGroupOnly) { // Intersect all the groups that match with the groups this user is a member of $userGroups = $this->groupManager->getUserGroups($this->userSession->getUser()); $userGroups = array_map(function (IGroup $group) { return $group->getGID(); }, $userGroups); @@ -152,53 +189,68 @@ class Sharees { } foreach ($groups as $gid) { - $sharees[] = [ - 'label' => $gid, - 'value' => [ - 'shareType' => Share::SHARE_TYPE_GROUP, + if ($gid === $search) { + $this->result['exact']['groups'][] = [ + 'shareWith' => $search, + 'label' => $search, + ]; + } else { + $this->result['groups'][] = [ 'shareWith' => $gid, - ], - ]; + 'label' => $gid, + ]; + } } - return $sharees; + if ($this->offset === 0 && empty($this->result['exact']['groups'])) { + // On page one we try if the search result has a direct hit on the + // user id and if so, we add that to the exact match list + $group = $this->groupManager->get($search); + if ($group instanceof IGroup && (!$this->shareWithGroupOnly || array_intersect([$group], $userGroups))) { + array_push($this->result['exact']['users'], [ + 'shareWith' => $group->getGID(), + 'label' => $group->getGID(), + ]); + } + } } /** * @param string $search - * * @return array possible sharees */ protected function getRemote($search) { - $sharees = []; + $this->result['remotes'] = []; - if (substr_count($search, '@') >= 1) { - $sharees[] = [ + if (substr_count($search, '@') >= 1 && $this->offset === 0) { + $this->result['exact']['remotes'][] = [ + 'shareWith' => $search, 'label' => $search, - 'value' => [ - 'shareType' => Share::SHARE_TYPE_REMOTE, - 'shareWith' => $search, - ], ]; } // Search in contacts + //@todo Pagination missing $addressBookContacts = $this->contactsManager->search($search, ['CLOUD', 'FN']); foreach ($addressBookContacts as $contact) { if (isset($contact['CLOUD'])) { foreach ($contact['CLOUD'] as $cloudId) { - $sharees[] = [ - 'label' => $contact['FN'] . ' (' . $cloudId . ')', - 'value' => [ - 'shareType' => Share::SHARE_TYPE_REMOTE, - 'shareWith' => $cloudId - ] - ]; + if ($contact['FN'] === $search || $cloudId === $search) { + $this->result['exact']['remotes'][] = [ + 'shareWith' => $cloudId, + 'label' => $contact['FN'], + ]; + } else { + $this->result['remotes'][] = [ + 'shareWith' => $cloudId, + 'label' => $contact['FN'], + ]; + } } } } - return $sharees; + $this->reachedEndFor[] = 'remotes'; } /** @@ -230,9 +282,11 @@ class Sharees { $shareTypes = array_diff($shareTypes, [Share::SHARE_TYPE_REMOTE]); } - $shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; + $this->shareWithGroupOnly = $this->config->getAppValue('core', 'shareapi_only_share_with_group_members', 'no') === 'yes'; + $this->limit = (int) $perPage; + $this->offset = $perPage * ($page - 1); - return $this->searchSharees($search, $itemType, $shareIds, $shareTypes, $page, $perPage, $shareWithGroupOnly); + return $this->searchSharees($search, $itemType, $shareIds, $shareTypes, $page, $perPage); } /** @@ -259,150 +313,68 @@ class Sharees { * @param array $shareTypes * @param int $page * @param int $perPage - * @param bool $shareWithGroupOnly * @return \OC_OCS_Result */ - protected function searchSharees($search, $itemType, array $shareIds, array $shareTypes, $page, $perPage, $shareWithGroupOnly) { - - $sharedUsers = $sharedGroups = []; - $existingSharees = $this->getShareesForShareIds($shareIds); - - if (!empty($existingSharees)) { - if (!empty($existingSharees[Share::SHARE_TYPE_USER]) && - is_array($existingSharees[Share::SHARE_TYPE_USER])) { - $sharedUsers = $existingSharees[Share::SHARE_TYPE_USER]; - } - - if (!empty($existingSharees[Share::SHARE_TYPE_GROUP]) && - is_array($existingSharees[Share::SHARE_TYPE_GROUP])) { - $sharedGroups = $existingSharees[Share::SHARE_TYPE_GROUP]; - } - } - + protected function searchSharees($search, $itemType, array $shareIds, array $shareTypes, $page, $perPage) { // Verify arguments if ($itemType === null) { return new \OC_OCS_Result(null, 400, 'missing itemType'); } - $sharees = []; // Get users if (in_array(Share::SHARE_TYPE_USER, $shareTypes)) { - $potentialSharees = $this->getUsers($search, $shareWithGroupOnly); - $sharees = array_merge($sharees, $this->filterSharees($potentialSharees, $sharedUsers)); + $this->getUsers($search); } // Get groups if (in_array(Share::SHARE_TYPE_GROUP, $shareTypes)) { - $potentialSharees = $this->getGroups($search, $shareWithGroupOnly); - $sharees = array_merge($sharees, $this->filterSharees($potentialSharees, $sharedGroups)); + $this->getGroups($search); } // Get remote if (in_array(Share::SHARE_TYPE_REMOTE, $shareTypes)) { - $sharees = array_merge($sharees, $this->getRemote($search)); + $this->getRemote($search); } - - // Sort sharees - $sorter = new SearchResultSorter($search, 'label', $this->logger); - usort($sharees, array($sorter, 'sort')); - - //Pagination - $start = ($page - 1) * $perPage; - $total = sizeof($sharees); - - $sharees = array_slice($sharees, $start, $perPage); - - $response = new \OC_OCS_Result($sharees); - $response->setTotalItems($total); + $response = new \OC_OCS_Result($this->result); $response->setItemsPerPage($perPage); - $links = $this->getPaginationLinks($page, $total, [ - 'search' => $search, - 'itemType' => $itemType, - 'existingShares' => $shareIds, - 'shareType' => $shareTypes, - 'limit' => $perPage, - ]); - - if (!empty($links)) { - $response->addHeader('Link', implode(', ', $links)); + if (sizeof($this->reachedEndFor) < 3) { + $response->addHeader('Link', $this->getPaginationLink($page, [ + 'search' => $search, + 'itemType' => $itemType, + 'existingShares' => $shareIds, + 'shareType' => $shareTypes, + 'limit' => $perPage, + ])); } return $response; } - /** - * Filter out already existing shares from a list of potential sharees - * - * @param array $potentialSharees - * @param array $existingSharees - * @return array - */ - protected function filterSharees($potentialSharees, $existingSharees) { - $sharees = array_filter($potentialSharees, function ($sharee) use ($existingSharees) { - return in_array($sharee['value']['shareWith'], $existingSharees) ? null : $sharee; - }); - - return $sharees; - } - - /** - * Get a list of existing share_with's for the given share IDs (if the current user owns them) - * - * @param array $shareIds - * @return array - */ - protected function getShareesForShareIds($shareIds) { - if (empty($shareIds)) { - return []; - } - - $queryBuilder = $this->connection->getQueryBuilder(); - $exprBuilder = $queryBuilder->expr(); - - $queryBuilder->select(['share_type', 'share_with']) - ->from('share') - ->where($exprBuilder->in('id', $queryBuilder->createParameter('shareIds'))) - ->andWhere($exprBuilder->eq('uid_owner', $queryBuilder->createParameter('user'))) - ->andWhere($exprBuilder->isNull('parent')) - ->setParameter('shareIds', $shareIds, Connection::PARAM_INT_ARRAY) - ->setParameter('user', $this->userSession->getUser()->getUID()); - $query = $queryBuilder->execute(); - - $sharees = []; - while ($row = $query->fetch()) { - $sharees[$row['share_type']][] = $row['share_with']; - } - $query->closeCursor(); - - return $sharees; - } - /** * Generates a bunch of pagination links for the current page * * @param int $page Current page - * @param int $total Number of total items that need to be paginated * @param array $params Parameters for the URL - * @return array + * @return string */ - protected function getPaginationLinks($page, $total, array $params) { - $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees') . '?'; + protected function getPaginationLink($page, array $params) { + if ($this->isV2()) { + $url = $this->urlGenerator->getAbsoluteURL('/ocs/v2.php/apps/files_sharing/api/v1/sharees') . '?'; + } else { + $url = $this->urlGenerator->getAbsoluteURL('/ocs/v1.php/apps/files_sharing/api/v1/sharees') . '?'; + } + $params['page'] = $page + 1; + $link = '<' . $url . http_build_query($params) . '>; rel="next"'; - $links = []; - if ($page > 1) { - $params['page'] = 1; - $links[] = '<' . $url . http_build_query($params) . '>; rel="first"'; - $params['page'] = $page - 1; - $links[] = '<' . $url . http_build_query($params) . '>; rel="prev"'; - } - if ($page * $params['limit'] < $total) { - $params['page'] = $page + 1; - $links[] = '<' . $url . http_build_query($params) . '>; rel="next"'; - $params['page'] = ceil($total / $params['limit']); - $links[] = '<' . $url . http_build_query($params) . '>; rel="last"'; - } - return $links; + return $link; + } + + /** + * @return bool + */ + protected function isV2() { + return $this->request->getScriptName() === '/ocs/v2.php'; } } diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php index 28dc3ab967..375124cb73 100644 --- a/apps/files_sharing/appinfo/routes.php +++ b/apps/files_sharing/appinfo/routes.php @@ -108,8 +108,8 @@ $sharees = new \OCA\Files_Sharing\API\Sharees(\OC::$server->getGroupManager(), \OC::$server->getConfig(), \OC::$server->getUserSession(), \OC::$server->getURLGenerator(), - \OC::$server->getLogger(), - \OC::$server->getDatabaseConnection()); + \OC::$server->getRequest(), + \OC::$server->getLogger()); API::register('get', '/apps/files_sharing/api/v1/sharees', From 2a6e676048f1f8e521e5b6c189e71e02bb2e5005 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 26 Aug 2015 10:51:26 +0200 Subject: [PATCH 107/329] Adjust tests --- apps/files_sharing/api/sharees.php | 77 ++- apps/files_sharing/tests/api/shareestest.php | 688 ++++++++----------- 2 files changed, 355 insertions(+), 410 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 4454d647b1..807b6b3314 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -35,31 +35,31 @@ use OCP\Share; class Sharees { /** @var IGroupManager */ - private $groupManager; + protected $groupManager; /** @var IUserManager */ - private $userManager; + protected $userManager; /** @var IManager */ - private $contactsManager; + protected $contactsManager; /** @var IConfig */ - private $config; + protected $config; /** @var IUserSession */ - private $userSession; + protected $userSession; /** @var IRequest */ - private $request; + protected $request; /** @var IURLGenerator */ - private $urlGenerator; + protected $urlGenerator; /** @var ILogger */ - private $logger; + protected $logger; /** @var bool */ - private $shareWithGroupOnly; + protected $shareWithGroupOnly = false; /** @var int */ protected $offset = 0; @@ -105,6 +105,7 @@ class Sharees { $this->config = $config; $this->userSession = $userSession; $this->urlGenerator = $urlGenerator; + $this->request = $request; $this->logger = $logger; } @@ -118,8 +119,8 @@ class Sharees { // Search in all the groups this user is part of $userGroups = $this->groupManager->getUserGroupIds($this->userSession->getUser()); foreach ($userGroups as $userGroup) { - $users = $this->groupManager->displayNamesInGroup($userGroup, $search, $this->limit, $this->offset); - foreach ($users as $uid => $userDisplayName) { + $usersTmp = $this->groupManager->displayNamesInGroup($userGroup, $search, $this->limit, $this->offset); + foreach ($usersTmp as $uid => $userDisplayName) { $users[$uid] = $userDisplayName; } } @@ -143,13 +144,19 @@ class Sharees { $foundUserById = true; } $this->result['exact']['users'][] = [ - 'shareWith' => $search, - 'label' => $search, + 'label' => $userDisplayName, + 'value' => [ + 'shareType' => Share::SHARE_TYPE_USER, + 'shareWith' => $uid, + ], ]; } else { $this->result['users'][] = [ - 'shareWith' => $uid, 'label' => $userDisplayName, + 'value' => [ + 'shareType' => Share::SHARE_TYPE_USER, + 'shareWith' => $uid, + ], ]; } } @@ -160,8 +167,11 @@ class Sharees { $user = $this->userManager->get($search); if ($user instanceof IUser) { array_push($this->result['exact']['users'], [ - 'shareWith' => $user->getUID(), 'label' => $user->getDisplayName(), + 'value' => [ + 'shareType' => Share::SHARE_TYPE_USER, + 'shareWith' => $user->getUID(), + ], ]); } } @@ -191,13 +201,19 @@ class Sharees { foreach ($groups as $gid) { if ($gid === $search) { $this->result['exact']['groups'][] = [ - 'shareWith' => $search, 'label' => $search, + 'value' => [ + 'shareType' => Share::SHARE_TYPE_GROUP, + 'shareWith' => $search, + ], ]; } else { $this->result['groups'][] = [ - 'shareWith' => $gid, 'label' => $gid, + 'value' => [ + 'shareType' => Share::SHARE_TYPE_GROUP, + 'shareWith' => $gid, + ], ]; } } @@ -208,8 +224,11 @@ class Sharees { $group = $this->groupManager->get($search); if ($group instanceof IGroup && (!$this->shareWithGroupOnly || array_intersect([$group], $userGroups))) { array_push($this->result['exact']['users'], [ - 'shareWith' => $group->getGID(), 'label' => $group->getGID(), + 'value' => [ + 'shareType' => Share::SHARE_TYPE_GROUP, + 'shareWith' => $group->getGID(), + ], ]); } } @@ -224,8 +243,11 @@ class Sharees { if (substr_count($search, '@') >= 1 && $this->offset === 0) { $this->result['exact']['remotes'][] = [ - 'shareWith' => $search, 'label' => $search, + 'value' => [ + 'shareType' => Share::SHARE_TYPE_REMOTE, + 'shareWith' => $search, + ], ]; } @@ -237,13 +259,19 @@ class Sharees { foreach ($contact['CLOUD'] as $cloudId) { if ($contact['FN'] === $search || $cloudId === $search) { $this->result['exact']['remotes'][] = [ - 'shareWith' => $cloudId, 'label' => $contact['FN'], + 'value' => [ + 'shareType' => Share::SHARE_TYPE_REMOTE, + 'shareWith' => $cloudId, + ], ]; } else { $this->result['remotes'][] = [ - 'shareWith' => $cloudId, 'label' => $contact['FN'], + 'value' => [ + 'shareType' => Share::SHARE_TYPE_REMOTE, + 'shareWith' => $cloudId, + ], ]; } } @@ -259,7 +287,6 @@ class Sharees { public function search() { $search = isset($_GET['search']) ? (string) $_GET['search'] : ''; $itemType = isset($_GET['itemType']) ? (string) $_GET['itemType'] : null; - $shareIds = isset($_GET['existingShares']) ? (array) $_GET['existingShares'] : []; $page = !empty($_GET['page']) ? max(1, (int) $_GET['page']) : 1; $perPage = !empty($_GET['limit']) ? max(1, (int) $_GET['limit']) : 200; @@ -286,7 +313,7 @@ class Sharees { $this->limit = (int) $perPage; $this->offset = $perPage * ($page - 1); - return $this->searchSharees($search, $itemType, $shareIds, $shareTypes, $page, $perPage); + return $this->searchSharees($search, $itemType, $shareTypes, $page, $perPage); } /** @@ -309,13 +336,12 @@ class Sharees { * * @param string $search * @param string $itemType - * @param array $shareIds * @param array $shareTypes * @param int $page * @param int $perPage * @return \OC_OCS_Result */ - protected function searchSharees($search, $itemType, array $shareIds, array $shareTypes, $page, $perPage) { + protected function searchSharees($search, $itemType, array $shareTypes, $page, $perPage) { // Verify arguments if ($itemType === null) { return new \OC_OCS_Result(null, 400, 'missing itemType'); @@ -343,7 +369,6 @@ class Sharees { $response->addHeader('Link', $this->getPaginationLink($page, [ 'search' => $search, 'itemType' => $itemType, - 'existingShares' => $shareIds, 'shareType' => $shareTypes, 'limit' => $perPage, ])); diff --git a/apps/files_sharing/tests/api/shareestest.php b/apps/files_sharing/tests/api/shareestest.php index 3b2e17d9fd..d9f3662334 100644 --- a/apps/files_sharing/tests/api/shareestest.php +++ b/apps/files_sharing/tests/api/shareestest.php @@ -25,6 +25,7 @@ use Doctrine\DBAL\Connection; use OC\Share\Constants; use OCA\Files_Sharing\API\Sharees; use OCA\Files_sharing\Tests\TestCase; +use OCP\Share; class ShareesTest extends TestCase { /** @var Sharees */ @@ -42,6 +43,9 @@ class ShareesTest extends TestCase { /** @var \OCP\IUserSession|\PHPUnit_Framework_MockObject_MockObject */ protected $session; + /** @var \OCP\IRequest|\PHPUnit_Framework_MockObject_MockObject */ + protected $request; + protected function setUp() { parent::setUp(); @@ -61,6 +65,10 @@ class ShareesTest extends TestCase { ->disableOriginalConstructor() ->getMock(); + $this->request = $this->getMockBuilder('OCP\IRequest') + ->disableOriginalConstructor() + ->getMock(); + $this->sharees = new Sharees( $this->groupManager, $this->userManager, @@ -68,8 +76,8 @@ class ShareesTest extends TestCase { $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(), $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), - $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock(), - \OC::$server->getDatabaseConnection() + $this->request, + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() ); } @@ -103,8 +111,8 @@ class ShareesTest extends TestCase { public function dataGetUsers() { return [ - ['test', false, [], [], []], - ['test', true, [], [], []], + ['test', false, [], [], [], [], true], + ['test', true, [], [], [], [], true], [ 'test', false, @@ -112,9 +120,11 @@ class ShareesTest extends TestCase { [ $this->getUserMock('test1', 'Test One'), ], + [], [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ] + ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], + true, ], [ 'test', @@ -124,92 +134,85 @@ class ShareesTest extends TestCase { $this->getUserMock('test1', 'Test One'), $this->getUserMock('test2', 'Test Two'), ], + [], [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ] + ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], + false, ], [ 'test', false, [], [ + $this->getUserMock('test', 'Test'), $this->getUserMock('test1', 'Test One'), $this->getUserMock('test2', 'Test Two'), - $this->getUserMock('admin', 'Should be removed'), ], [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ] + ['label' => 'Test', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test']], + ], + [ + ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], + false, ], [ 'test', true, ['abc', 'xyz'], [ - ['abc', 'test', -1, 0, ['test1' => 'Test One']], - ['xyz', 'test', -1, 0, []], + ['abc', 'test', 2, 0, ['test1' => 'Test One']], + ['xyz', 'test', 2, 0, []], ], + [], [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ] + ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], + true, ], [ 'test', true, ['abc', 'xyz'], [ - ['abc', 'test', -1, 0, [ + ['abc', 'test', 2, 0, [ 'test1' => 'Test One', 'test2' => 'Test Two', ]], - ['xyz', 'test', -1, 0, [ + ['xyz', 'test', 2, 0, [ 'test1' => 'Test One', 'test2' => 'Test Two', ]], ], + [], [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ] + ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], + false, ], [ 'test', true, ['abc', 'xyz'], [ - ['abc', 'test', -1, 0, [ - 'test1' => 'Test One', + ['abc', 'test', 2, 0, [ + 'test' => 'Test One', ]], - ['xyz', 'test', -1, 0, [ + ['xyz', 'test', 2, 0, [ 'test2' => 'Test Two', ]], ], [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ] - ], - [ - 'test', - true, - ['abc', 'xyz'], - [ - ['abc', 'test', -1, 0, [ - 'test1' => 'Test One', - ]], - ['xyz', 'test', -1, 0, [ - 'test2' => 'Test Two', - ]], - ['admin', 'Should be removed', -1, 0, [ - 'test2' => 'Test Two', - ]], + ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test']], ], [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ] + ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], + false, ], ]; } @@ -221,9 +224,15 @@ class ShareesTest extends TestCase { * @param bool $shareWithGroupOnly * @param array $groupResponse * @param array $userResponse + * @param array $exactExpected * @param array $expected + * @param bool $reachedEnd */ - public function testGetUsers($searchTerm, $shareWithGroupOnly, $groupResponse, $userResponse, $expected) { + public function testGetUsers($searchTerm, $shareWithGroupOnly, $groupResponse, $userResponse, $exactExpected, $expected, $reachedEnd) { + $this->invokePrivate($this->sharees, 'limit', [2]); + $this->invokePrivate($this->sharees, 'offset', [0]); + $this->invokePrivate($this->sharees, 'shareWithGroupOnly', [$shareWithGroupOnly]); + $user = $this->getUserMock('admin', 'Administrator'); $this->session->expects($this->any()) ->method('getUser') @@ -232,7 +241,7 @@ class ShareesTest extends TestCase { if (!$shareWithGroupOnly) { $this->userManager->expects($this->once()) ->method('searchDisplayName') - ->with($searchTerm) + ->with($searchTerm, $this->invokePrivate($this->sharees, 'limit'), $this->invokePrivate($this->sharees, 'offset')) ->willReturn($userResponse); } else { $this->groupManager->expects($this->once()) @@ -242,25 +251,41 @@ class ShareesTest extends TestCase { $this->groupManager->expects($this->exactly(sizeof($groupResponse))) ->method('displayNamesInGroup') - ->with($this->anything(), $searchTerm) + ->with($this->anything(), $searchTerm, $this->invokePrivate($this->sharees, 'limit'), $this->invokePrivate($this->sharees, 'offset')) ->willReturnMap($userResponse); } - $users = $this->invokePrivate($this->sharees, 'getUsers', [$searchTerm, $shareWithGroupOnly]); + $this->invokePrivate($this->sharees, 'getUsers', [$searchTerm]); + $result = $this->invokePrivate($this->sharees, 'result'); - $this->assertEquals($expected, $users); + $this->assertEquals($exactExpected, $result['exact']['users']); + $this->assertEquals($expected, $result['users']); + $this->assertCount((int) $reachedEnd, $this->invokePrivate($this->sharees, 'reachedEndFor')); } public function dataGetGroups() { return [ - ['test', false, [], [], []], + ['test', false, [], [], [], [], true], [ 'test', false, [$this->getGroupMock('test1')], [], - [['label' => 'test1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + [], + [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + true, ], - ['test', true, [], [], []], + [ + 'test', false, + [ + $this->getGroupMock('test'), + $this->getGroupMock('test1'), + ], + [], + [['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']]], + [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + false, + ], + ['test', true, [], [], [], [], true], [ 'test', true, [ @@ -268,7 +293,31 @@ class ShareesTest extends TestCase { $this->getGroupMock('test2'), ], [$this->getGroupMock('test1')], - [['label' => 'test1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + [], + [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + false, + ], + [ + 'test', true, + [ + $this->getGroupMock('test'), + $this->getGroupMock('test1'), + ], + [$this->getGroupMock('test')], + [['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']]], + [], + false, + ], + [ + 'test', true, + [ + $this->getGroupMock('test'), + $this->getGroupMock('test1'), + ], + [$this->getGroupMock('test1')], + [], + [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + false, ], ]; } @@ -280,12 +329,18 @@ class ShareesTest extends TestCase { * @param bool $shareWithGroupOnly * @param array $groupResponse * @param array $userGroupsResponse + * @param array $exactExpected * @param array $expected + * @param bool $reachedEnd */ - public function testGetGroups($searchTerm, $shareWithGroupOnly, $groupResponse, $userGroupsResponse, $expected) { + public function testGetGroups($searchTerm, $shareWithGroupOnly, $groupResponse, $userGroupsResponse, $exactExpected, $expected, $reachedEnd) { + $this->invokePrivate($this->sharees, 'limit', [2]); + $this->invokePrivate($this->sharees, 'offset', [0]); + $this->invokePrivate($this->sharees, 'shareWithGroupOnly', [$shareWithGroupOnly]); + $this->groupManager->expects($this->once()) ->method('search') - ->with($searchTerm) + ->with($searchTerm, $this->invokePrivate($this->sharees, 'limit'), $this->invokePrivate($this->sharees, 'offset')) ->willReturn($groupResponse); if ($shareWithGroupOnly) { @@ -301,20 +356,25 @@ class ShareesTest extends TestCase { ->willReturn($userGroupsResponse); } - $users = $this->invokePrivate($this->sharees, 'getGroups', [$searchTerm, $shareWithGroupOnly]); + $this->invokePrivate($this->sharees, 'getGroups', [$searchTerm]); + $result = $this->invokePrivate($this->sharees, 'result'); - $this->assertEquals($expected, $users); + $this->assertEquals($exactExpected, $result['exact']['groups']); + $this->assertEquals($expected, $result['groups']); + $this->assertCount((int) $reachedEnd, $this->invokePrivate($this->sharees, 'reachedEndFor')); } public function dataGetRemote() { return [ - ['test', [], []], + ['test', [], [], [], true], [ 'test@remote', [], [ - ['label' => 'test@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']], + ['label' => 'test@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']], ], + [], + true, ], [ 'test', @@ -334,9 +394,11 @@ class ShareesTest extends TestCase { ], ], ], + [], [ - ['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']], + ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']], ], + true, ], [ 'test@remote', @@ -357,9 +419,12 @@ class ShareesTest extends TestCase { ], ], [ - ['label' => 'test@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']], - ['label' => 'User @ Localhost (username@localhost)', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']], + ['label' => 'test@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'test@remote']], ], + [ + ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']], + ], + true, ], ]; } @@ -369,123 +434,120 @@ class ShareesTest extends TestCase { * * @param string $searchTerm * @param array $contacts + * @param array $exactExpected * @param array $expected + * @param bool $reachedEnd */ - public function testGetRemote($searchTerm, $contacts, $expected) { + public function testGetRemote($searchTerm, $contacts, $exactExpected, $expected, $reachedEnd) { $this->contactsManager->expects($this->any()) ->method('search') ->with($searchTerm, ['CLOUD', 'FN']) ->willReturn($contacts); - $users = $this->invokePrivate($this->sharees, 'getRemote', [$searchTerm]); + $this->invokePrivate($this->sharees, 'getRemote', [$searchTerm]); + $result = $this->invokePrivate($this->sharees, 'result'); - $this->assertEquals($expected, $users); + $this->assertEquals($exactExpected, $result['exact']['remotes']); + $this->assertEquals($expected, $result['remotes']); + $this->assertCount((int) $reachedEnd, $this->invokePrivate($this->sharees, 'reachedEndFor')); } public function dataSearch() { - $allTypes = [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE]; + $allTypes = [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE]; return [ - [[], '', true, [], '', null, $allTypes, 1, 200, false], + [[], '', true, '', null, $allTypes, 1, 200, false], // Test itemType [[ 'search' => '', - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'search' => 'foobar', - ], '', true, [], 'foobar', null, $allTypes, 1, 200, false], + ], '', true, 'foobar', null, $allTypes, 1, 200, false], [[ 'search' => 0, - ], '', true, [], '0', null, $allTypes, 1, 200, false], + ], '', true, '0', null, $allTypes, 1, 200, false], // Test itemType [[ 'itemType' => '', - ], '', true, [], '', '', $allTypes, 1, 200, false], + ], '', true, '', '', $allTypes, 1, 200, false], [[ 'itemType' => 'folder', - ], '', true, [], '', 'folder', $allTypes, 1, 200, false], + ], '', true, '', 'folder', $allTypes, 1, 200, false], [[ 'itemType' => 0, - ], '', true, [], '', '0', $allTypes, 1, 200, false], - - // Test existingShares - [[ - 'existingShares' => [], - ], '', true, [], '', null, $allTypes, 1, 200, false], - [[ - 'existingShares' => [12, 42], - ], '', true, [12, 42], '', null, $allTypes, 1, 200, false], + ], '', true, '', '0', $allTypes, 1, 200, false], // Test shareType [[ - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'shareType' => 0, - ], '', true, [], '', null, [0], 1, 200, false], + ], '', true, '', null, [0], 1, 200, false], [[ 'shareType' => '0', - ], '', true, [], '', null, [0], 1, 200, false], + ], '', true, '', null, [0], 1, 200, false], [[ 'shareType' => 1, - ], '', true, [], '', null, [1], 1, 200, false], + ], '', true, '', null, [1], 1, 200, false], [[ 'shareType' => 12, - ], '', true, [], '', null, [], 1, 200, false], + ], '', true, '', null, [], 1, 200, false], [[ 'shareType' => 'foobar', - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'shareType' => [0, 1, 2], - ], '', true, [], '', null, [0, 1], 1, 200, false], + ], '', true, '', null, [0, 1], 1, 200, false], [[ 'shareType' => [0, 1], - ], '', true, [], '', null, [0, 1], 1, 200, false], + ], '', true, '', null, [0, 1], 1, 200, false], [[ 'shareType' => $allTypes, - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'shareType' => $allTypes, - ], '', false, [], '', null, [0, 1], 1, 200, false], + ], '', false, '', null, [0, 1], 1, 200, false], // Test pagination [[ 'page' => 0, - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'page' => '0', - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'page' => -1, - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'page' => 1, - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'page' => 10, - ], '', true, [], '', null, $allTypes, 10, 200, false], + ], '', true, '', null, $allTypes, 10, 200, false], // Test limit [[ 'limit' => 0, - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'limit' => '0', - ], '', true, [], '', null, $allTypes, 1, 200, false], + ], '', true, '', null, $allTypes, 1, 200, false], [[ 'limit' => -1, - ], '', true, [], '', null, $allTypes, 1, 1, false], + ], '', true, '', null, $allTypes, 1, 1, false], [[ 'limit' => 1, - ], '', true, [], '', null, $allTypes, 1, 1, false], + ], '', true, '', null, $allTypes, 1, 1, false], [[ 'limit' => 10, - ], '', true, [], '', null, $allTypes, 1, 10, false], + ], '', true, '', null, $allTypes, 1, 10, false], // Test $shareWithGroupOnly setting - [[], 'no', true, [], '', null, $allTypes, 1, 200, false], - [[], 'yes', true, [], '', null, $allTypes, 1, 200, true], + [[], 'no', true, '', null, $allTypes, 1, 200, false], + [[], 'yes', true, '', null, $allTypes, 1, 200, true], ]; } @@ -496,7 +558,6 @@ class ShareesTest extends TestCase { * @param array $getData * @param string $apiSetting * @param bool $remoteSharingEnabled - * @param array $shareIds * @param string $search * @param string $itemType * @param array $shareTypes @@ -504,7 +565,7 @@ class ShareesTest extends TestCase { * @param int $perPage * @param bool $shareWithGroupOnly */ - public function testSearch($getData, $apiSetting, $remoteSharingEnabled, $shareIds, $search, $itemType, $shareTypes, $page, $perPage, $shareWithGroupOnly) { + public function testSearch($getData, $apiSetting, $remoteSharingEnabled, $search, $itemType, $shareTypes, $page, $perPage, $shareWithGroupOnly) { $oldGet = $_GET; $_GET = $getData; @@ -524,26 +585,24 @@ class ShareesTest extends TestCase { $config, $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), - $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock(), - \OC::$server->getDatabaseConnection() + $this->getMockBuilder('OCP\IRequest')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() ]) ->setMethods(array('searchSharees', 'isRemoteSharingAllowed')) ->getMock(); $sharees->expects($this->once()) ->method('searchSharees') - ->with($search, $itemType, $shareIds, $shareTypes, $page, $perPage, $shareWithGroupOnly) + ->with($search, $itemType, $shareTypes, $page, $perPage) ->willReturnCallback(function - ($isearch, $iitemType, $ishareIds, $ishareTypes, $ipage, $iperPage, $ishareWithGroupOnly) - use ($search, $itemType, $shareIds, $shareTypes, $page, $perPage, $shareWithGroupOnly) { + ($isearch, $iitemType, $ishareTypes, $ipage, $iperPage) + use ($search, $itemType, $shareTypes, $page, $perPage) { // We are doing strict comparisons here, so we can differ 0/'' and null on shareType/itemType $this->assertSame($search, $isearch); $this->assertSame($itemType, $iitemType); - $this->assertSame($shareIds, $ishareIds); $this->assertSame($shareTypes, $ishareTypes); $this->assertSame($page, $ipage); $this->assertSame($perPage, $iperPage); - $this->assertSame($shareWithGroupOnly, $ishareWithGroupOnly); return new \OC_OCS_Result([]); }); $sharees->expects($this->any()) @@ -554,6 +613,8 @@ class ShareesTest extends TestCase { /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */ $this->assertInstanceOf('\OC_OCS_Result', $sharees->search()); + $this->assertSame($shareWithGroupOnly, $this->invokePrivate($sharees, 'shareWithGroupOnly')); + $_GET = $oldGet; } @@ -578,81 +639,88 @@ class ShareesTest extends TestCase { public function dataSearchSharees() { return [ - ['test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], [], 0, false], - ['test', 'folder', [1, 2], [0 => ['test1'], 1 => ['test2 group']], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], [], 0, false], - // First page with 2 of 3 results + ['test', 'folder', [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], + [ + 'exact' => ['users' => [], 'groups' => [], 'remotes' => []], + 'users' => [], + 'groups' => [], + 'remotes' => [], + ], false], + ['test', 'folder', [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE], 1, 2, false, [], [], [], + [ + 'exact' => ['users' => [], 'groups' => [], 'remotes' => []], + 'users' => [], + 'groups' => [], + 'remotes' => [], + ], false], [ - 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + 'test', 'folder', [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_GROUP, Share::SHARE_TYPE_REMOTE], 1, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], [ - ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], + ['label' => 'testgroup1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], ], [ - ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], - ], [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], - ], 3, true, - ], - // Second page with the 3rd result - [ - 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 2, 2, false, [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], [ - ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], - ], [ - ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], - ], [ - ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], - ], 3, false, + ['label' => 'testz@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], + [ + 'exact' => ['users' => [], 'groups' => [], 'remotes' => []], + 'users' => [ + ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], + 'groups' => [ + ['label' => 'testgroup1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], + ], + 'remotes' => [ + ['label' => 'testz@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], + ], true, ], // No groups requested [ - 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], null, [ - ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], - ], [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], - ], 2, false, - ], - // Ingnoring already shared user - [ - 'test', 'folder', [1], [\OCP\Share::SHARE_TYPE_USER => ['test1']], [\OCP\Share::SHARE_TYPE_USER, \OCP\Share::SHARE_TYPE_GROUP, \OCP\Share::SHARE_TYPE_REMOTE], 1, 2, false, [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], [ - ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], - ], [ - ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], - ], [ - ['label' => 'testgroup1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_GROUP, 'shareWith' => 'testgroup1']], - ['label' => 'testz@remote', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], - ], 2, false, + 'test', 'folder', [Share::SHARE_TYPE_USER, Share::SHARE_TYPE_REMOTE], 1, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], null, [ + ['label' => 'testz@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], + [ + 'exact' => ['users' => [], 'groups' => [], 'remotes' => []], + 'users' => [ + ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], + 'groups' => [], + 'remotes' => [ + ['label' => 'testz@remote', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'testz@remote']], + ], + ], false, ], // Share type restricted to user - Only one user [ - 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], null, null, [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], 1, false, + 'test', 'folder', [Share::SHARE_TYPE_USER], 1, 2, false, [ + ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], null, null, + [ + 'exact' => ['users' => [], 'groups' => [], 'remotes' => []], + 'users' => [ + ['label' => 'test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ], + 'groups' => [], + 'remotes' => [], + ], false, ], // Share type restricted to user - Multipage result [ - 'test', 'folder', [], [], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ - ['label' => 'test 1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'test 2', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ['label' => 'test 3', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test3']], - ], null, null, [ - ['label' => 'test 1', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'test 2', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ], 3, true, - ], - // Share type restricted to user - Only user already shared - [ - 'test', 'folder', [1], [\OCP\Share::SHARE_TYPE_USER => ['test1']], [\OCP\Share::SHARE_TYPE_USER], 1, 2, false, [ - ['label' => 'test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], null, null, [], 0, false, + 'test', 'folder', [Share::SHARE_TYPE_USER], 1, 2, false, [ + ['label' => 'test 1', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'test 2', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], null, null, + [ + 'exact' => ['users' => [], 'groups' => [], 'remotes' => []], + 'users' => [ + ['label' => 'test 1', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], + ['label' => 'test 2', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], + ], + 'groups' => [], + 'remotes' => [], + ], true, ], ]; } @@ -662,16 +730,18 @@ class ShareesTest extends TestCase { * * @param string $searchTerm * @param string $itemType - * @param array $shareIds - * @param array $existingShares * @param array $shareTypes * @param int $page * @param int $perPage * @param bool $shareWithGroupOnly + * @param array $mockedUserResult + * @param array $mockedGroupsResult + * @param array $mockedRemotesResult * @param array $expected + * @param bool $nextLink */ - public function testSearchSharees($searchTerm, $itemType, array $shareIds, array $existingShares, array $shareTypes, $page, $perPage, $shareWithGroupOnly, - $mockedUserResult, $mockedGroupsResult, $mockedRemotesResult, $expected, $totalItems, $nextLink) { + public function testSearchSharees($searchTerm, $itemType, array $shareTypes, $page, $perPage, $shareWithGroupOnly, + $mockedUserResult, $mockedGroupsResult, $mockedRemotesResult, $expected, $nextLink) { /** @var \PHPUnit_Framework_MockObject_MockObject|\OCA\Files_Sharing\API\Sharees $sharees */ $sharees = $this->getMockBuilder('\OCA\Files_Sharing\API\Sharees') ->setConstructorArgs([ @@ -681,45 +751,47 @@ class ShareesTest extends TestCase { $this->getMockBuilder('OCP\IConfig')->disableOriginalConstructor()->getMock(), $this->session, $this->getMockBuilder('OCP\IURLGenerator')->disableOriginalConstructor()->getMock(), - $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock(), - \OC::$server->getDatabaseConnection() + $this->getMockBuilder('OCP\IRequest')->disableOriginalConstructor()->getMock(), + $this->getMockBuilder('OCP\ILogger')->disableOriginalConstructor()->getMock() ]) ->setMethods(array('getShareesForShareIds', 'getUsers', 'getGroups', 'getRemote')) ->getMock(); - $sharees->expects($this->once()) - ->method('getShareesForShareIds') - ->with($shareIds) - ->willReturn($existingShares); $sharees->expects(($mockedUserResult === null) ? $this->never() : $this->once()) ->method('getUsers') - ->with($searchTerm, $shareWithGroupOnly) - ->willReturn($mockedUserResult); + ->with($searchTerm) + ->willReturnCallback(function() use ($sharees, $mockedUserResult) { + $result = $this->invokePrivate($sharees, 'result'); + $result['users'] = $mockedUserResult; + $this->invokePrivate($sharees, 'result', [$result]); + }); $sharees->expects(($mockedGroupsResult === null) ? $this->never() : $this->once()) ->method('getGroups') - ->with($searchTerm, $shareWithGroupOnly) - ->willReturn($mockedGroupsResult); + ->with($searchTerm) + ->willReturnCallback(function() use ($sharees, $mockedGroupsResult) { + $result = $this->invokePrivate($sharees, 'result'); + $result['groups'] = $mockedGroupsResult; + $this->invokePrivate($sharees, 'result', [$result]); + }); $sharees->expects(($mockedRemotesResult === null) ? $this->never() : $this->once()) ->method('getRemote') ->with($searchTerm) - ->willReturn($mockedRemotesResult); + ->willReturnCallback(function() use ($sharees, $mockedRemotesResult) { + $result = $this->invokePrivate($sharees, 'result'); + $result['remotes'] = $mockedRemotesResult; + $this->invokePrivate($sharees, 'result', [$result]); + }); /** @var \OC_OCS_Result $ocs */ - $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $shareIds, $shareTypes, $page, $perPage, $shareWithGroupOnly]); + $ocs = $this->invokePrivate($sharees, 'searchSharees', [$searchTerm, $itemType, $shareTypes, $page, $perPage, $shareWithGroupOnly]); $this->assertInstanceOf('\OC_OCS_Result', $ocs); - $this->assertEquals($expected, $ocs->getData()); - // Check number of total results - $meta = $ocs->getMeta(); - $this->assertArrayHasKey('totalitems', $meta); - $this->assertSame($totalItems, $meta['totalitems']); - // Check if next link is set if ($nextLink) { $headers = $ocs->getHeaders(); $this->assertArrayHasKey('Link', $headers); $this->assertStringStartsWith('<', $headers['Link']); - $this->assertStringEndsWith('"', $headers['Link']); + $this->assertStringEndsWith('>; rel="next"', $headers['Link']); } } @@ -737,199 +809,47 @@ class ShareesTest extends TestCase { $this->assertSame('missing itemType', $meta['message']); } - public function dataFilterSharees() { + public function dataGetPaginationLink() { return [ - [[], [], []], - [ - [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], - [], - [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], - ], - [ - [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ], - ['test1'], - [ - 1 => ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ], - ], - [ - [ - ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ['label' => 'Test Two', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], - ], - ['test2'], - [ - 0 => ['label' => 'Test One', 'value' => ['shareType' => \OCP\Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], - ], - ], + [1, '/ocs/v1.php', ['limit' => 2], '; rel="next"'], + [10, '/ocs/v2.php', ['limit' => 2], '; rel="next"'], ]; } /** - * @dataProvider dataFilterSharees - * - * @param array $potentialSharees - * @param array $existingSharees - * @param array $expectedSharees - */ - public function testFilterSharees($potentialSharees, $existingSharees, $expectedSharees) { - $this->assertEquals($expectedSharees, $this->invokePrivate($this->sharees, 'filterSharees', [$potentialSharees, $existingSharees])); - } - - public function dataGetShareesForShareIds() { - return [ - [[], []], - [[1, 2, 3], [Constants::SHARE_TYPE_USER => ['user1'], Constants::SHARE_TYPE_GROUP => ['group1']]], - ]; - } - - /** - * @dataProvider dataGetShareesForShareIds - * - * @param array $shareIds - * @param array $expectedSharees - */ - public function testGetShareesForShareIds(array $shareIds, array $expectedSharees) { - $owner = $this->getUniqueID('test'); - $shares2delete = []; - - if (!empty($shareIds)) { - $userShare = $this->createShare(Constants::SHARE_TYPE_USER, 'user1', $owner, null); - $shares2delete[] = $userShare; - $shares2delete[] = $this->createShare(Constants::SHARE_TYPE_USER, 'user3', $owner . '2', null); - - $groupShare = $this->createShare(Constants::SHARE_TYPE_GROUP, 'group1', $owner, null); - $shares2delete[] = $groupShare; - $groupShare2 = $this->createShare(Constants::SHARE_TYPE_GROUP, 'group2', $owner . '2', null); - $shares2delete[] = $groupShare2; - - $shares2delete[] = $this->createShare($this->invokePrivate(new Constants(), 'shareTypeGroupUserUnique'), 'user2', $owner, $groupShare); - $shares2delete[] = $this->createShare($this->invokePrivate(new Constants(), 'shareTypeGroupUserUnique'), 'user4', $owner, $groupShare2); - } - - $user = $this->getUserMock($owner, 'Sharee OCS test user'); - $this->session->expects($this->any()) - ->method('getUser') - ->willReturn($user); - $this->assertEquals($expectedSharees, $this->invokePrivate($this->sharees, 'getShareesForShareIds', [$shares2delete])); - - $this->deleteShares($shares2delete); - } - - /** - * @param int $type - * @param string $with - * @param string $owner - * @param int $parent - * @return int - */ - protected function createShare($type, $with, $owner, $parent) { - $connection = \OC::$server->getDatabaseConnection(); - $queryBuilder = $connection->getQueryBuilder(); - $queryBuilder->insert('share') - ->values([ - 'share_type' => $queryBuilder->createParameter('share_type'), - 'share_with' => $queryBuilder->createParameter('share_with'), - 'uid_owner' => $queryBuilder->createParameter('uid_owner'), - 'parent' => $queryBuilder->createParameter('parent'), - 'item_type' => $queryBuilder->expr()->literal('fake'), - 'item_source' => $queryBuilder->expr()->literal(''), - 'item_target' => $queryBuilder->expr()->literal(''), - 'file_source' => $queryBuilder->expr()->literal(0), - 'file_target' => $queryBuilder->expr()->literal(''), - 'permissions' => $queryBuilder->expr()->literal(0), - 'stime' => $queryBuilder->expr()->literal(0), - 'accepted' => $queryBuilder->expr()->literal(0), - 'expiration' => $queryBuilder->createParameter('expiration'), - 'token' => $queryBuilder->expr()->literal(''), - 'mail_send' => $queryBuilder->expr()->literal(0), - ]) - ->setParameters([ - 'share_type' => $type, - 'share_with' => $with, - 'uid_owner' => $owner, - 'parent' => $parent, - ]) - ->setParameter('expiration', null, 'datetime') - ->execute(); - - $queryBuilder = $connection->getQueryBuilder(); - $query = $queryBuilder->select('id') - ->from('share') - ->orderBy('id', 'DESC') - ->setMaxResults(1) - ->execute(); - $share = $query->fetch(); - $query->closeCursor(); - - return (int) $share['id']; - } - - /** - * @param int[] $shareIds - * @return null - */ - protected function deleteShares(array $shareIds) { - $connection = \OC::$server->getDatabaseConnection(); - $queryBuilder = $connection->getQueryBuilder(); - $queryBuilder->delete('share') - ->where($queryBuilder->expr()->in('id', $queryBuilder->createParameter('ids'))) - ->setParameter('ids', $shareIds, Connection::PARAM_INT_ARRAY) - ->execute(); - } - - public function dataGetPaginationLinks() { - return [ - [1, 1, ['limit' => 2], []], - [1, 3, ['limit' => 2], [ - '; rel="next"', - '; rel="last"', - ]], - [1, 21, ['limit' => 2], [ - '; rel="next"', - '; rel="last"', - ]], - [2, 21, ['limit' => 2], [ - '; rel="first"', - '; rel="prev"', - '; rel="next"', - '; rel="last"', - ]], - [5, 21, ['limit' => 2], [ - '; rel="first"', - '; rel="prev"', - '; rel="next"', - '; rel="last"', - ]], - [10, 21, ['limit' => 2], [ - '; rel="first"', - '; rel="prev"', - '; rel="next"', - '; rel="last"', - ]], - [11, 21, ['limit' => 2], [ - '; rel="first"', - '; rel="prev"', - ]], - ]; - } - - /** - * @dataProvider dataGetPaginationLinks + * @dataProvider dataGetPaginationLink * * @param int $page - * @param int $total + * @param string $scriptName * @param array $params * @param array $expected */ - public function testGetPaginationLinks($page, $total, $params, $expected) { - $this->assertEquals($expected, $this->invokePrivate($this->sharees, 'getPaginationLinks', [$page, $total, $params])); + public function testGetPaginationLink($page, $scriptName, $params, $expected) { + $this->request->expects($this->once()) + ->method('getScriptName') + ->willReturn($scriptName); + + $this->assertEquals($expected, $this->invokePrivate($this->sharees, 'getPaginationLink', [$page, $params])); + } + + public function dataIsV2() { + return [ + ['/ocs/v1.php', false], + ['/ocs/v2.php', true], + ]; + } + + /** + * @dataProvider dataIsV2 + * + * @param string $scriptName + * @param bool $expected + */ + public function testIsV2($scriptName, $expected) { + $this->request->expects($this->once()) + ->method('getScriptName') + ->willReturn($scriptName); + + $this->assertEquals($expected, $this->invokePrivate($this->sharees, 'isV2')); } } From 199d1dc239a55f9be25b8779122420537f34ecf8 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Wed, 26 Aug 2015 11:45:11 +0200 Subject: [PATCH 108/329] Bring the coverage back to 100% --- apps/files_sharing/api/sharees.php | 38 +++-- apps/files_sharing/tests/api/shareestest.php | 156 ++++++++++++++++++- 2 files changed, 169 insertions(+), 25 deletions(-) diff --git a/apps/files_sharing/api/sharees.php b/apps/files_sharing/api/sharees.php index 807b6b3314..d7eabb9a55 100644 --- a/apps/files_sharing/api/sharees.php +++ b/apps/files_sharing/api/sharees.php @@ -139,8 +139,8 @@ class Sharees { $foundUserById = false; foreach ($users as $uid => $userDisplayName) { - if ($uid === $search || $userDisplayName === $search) { - if ($uid === $search) { + if (strtolower($uid) === $search || strtolower($userDisplayName) === $search) { + if (strtolower($uid) === $search) { $foundUserById = true; } $this->result['exact']['users'][] = [ @@ -199,7 +199,7 @@ class Sharees { } foreach ($groups as $gid) { - if ($gid === $search) { + if (strtolower($gid) === $search) { $this->result['exact']['groups'][] = [ 'label' => $search, 'value' => [ @@ -222,8 +222,8 @@ class Sharees { // On page one we try if the search result has a direct hit on the // user id and if so, we add that to the exact match list $group = $this->groupManager->get($search); - if ($group instanceof IGroup && (!$this->shareWithGroupOnly || array_intersect([$group], $userGroups))) { - array_push($this->result['exact']['users'], [ + if ($group instanceof IGroup && (!$this->shareWithGroupOnly || in_array($group->getGID(), $userGroups))) { + array_push($this->result['exact']['groups'], [ 'label' => $group->getGID(), 'value' => [ 'shareType' => Share::SHARE_TYPE_GROUP, @@ -241,23 +241,17 @@ class Sharees { protected function getRemote($search) { $this->result['remotes'] = []; - if (substr_count($search, '@') >= 1 && $this->offset === 0) { - $this->result['exact']['remotes'][] = [ - 'label' => $search, - 'value' => [ - 'shareType' => Share::SHARE_TYPE_REMOTE, - 'shareWith' => $search, - ], - ]; - } - // Search in contacts //@todo Pagination missing $addressBookContacts = $this->contactsManager->search($search, ['CLOUD', 'FN']); + $foundRemoteById = false; foreach ($addressBookContacts as $contact) { if (isset($contact['CLOUD'])) { foreach ($contact['CLOUD'] as $cloudId) { - if ($contact['FN'] === $search || $cloudId === $search) { + if (strtolower($contact['FN']) === $search || strtolower($cloudId) === $search) { + if (strtolower($cloudId) === $search) { + $foundRemoteById = true; + } $this->result['exact']['remotes'][] = [ 'label' => $contact['FN'], 'value' => [ @@ -278,6 +272,16 @@ class Sharees { } } + if (!$foundRemoteById && substr_count($search, '@') >= 1 && substr_count($search, ' ') === 0 && $this->offset === 0) { + $this->result['exact']['remotes'][] = [ + 'label' => $search, + 'value' => [ + 'shareType' => Share::SHARE_TYPE_REMOTE, + 'shareWith' => $search, + ], + ]; + } + $this->reachedEndFor[] = 'remotes'; } @@ -313,7 +317,7 @@ class Sharees { $this->limit = (int) $perPage; $this->offset = $perPage * ($page - 1); - return $this->searchSharees($search, $itemType, $shareTypes, $page, $perPage); + return $this->searchSharees(strtolower($search), $itemType, $shareTypes, $page, $perPage); } /** diff --git a/apps/files_sharing/tests/api/shareestest.php b/apps/files_sharing/tests/api/shareestest.php index d9f3662334..1e4438acd8 100644 --- a/apps/files_sharing/tests/api/shareestest.php +++ b/apps/files_sharing/tests/api/shareestest.php @@ -111,8 +111,20 @@ class ShareesTest extends TestCase { public function dataGetUsers() { return [ - ['test', false, [], [], [], [], true], - ['test', true, [], [], [], [], true], + ['test', false, [], [], [], [], true, false], + ['test', true, [], [], [], [], true, false], + [ + 'test', false, [], [], + [ + ['label' => 'Test', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test']], + ], [], true, $this->getUserMock('test', 'Test') + ], + [ + 'test', true, [], [], + [ + ['label' => 'Test', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test']], + ], [], true, $this->getUserMock('test', 'Test') + ], [ 'test', false, @@ -125,6 +137,7 @@ class ShareesTest extends TestCase { ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], true, + false, ], [ 'test', @@ -140,24 +153,26 @@ class ShareesTest extends TestCase { ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], ], false, + false, ], [ 'test', false, [], [ - $this->getUserMock('test', 'Test'), + $this->getUserMock('test0', 'Test'), $this->getUserMock('test1', 'Test One'), $this->getUserMock('test2', 'Test Two'), ], [ - ['label' => 'Test', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test']], + ['label' => 'Test', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test0']], ], [ ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], ], false, + false, ], [ 'test', @@ -172,6 +187,7 @@ class ShareesTest extends TestCase { ['label' => 'Test One', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test1']], ], true, + false, ], [ 'test', @@ -193,6 +209,7 @@ class ShareesTest extends TestCase { ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], ], false, + false, ], [ 'test', @@ -213,6 +230,7 @@ class ShareesTest extends TestCase { ['label' => 'Test Two', 'value' => ['shareType' => Share::SHARE_TYPE_USER, 'shareWith' => 'test2']], ], false, + false, ], ]; } @@ -227,8 +245,9 @@ class ShareesTest extends TestCase { * @param array $exactExpected * @param array $expected * @param bool $reachedEnd + * @param mixed $singleUser */ - public function testGetUsers($searchTerm, $shareWithGroupOnly, $groupResponse, $userResponse, $exactExpected, $expected, $reachedEnd) { + public function testGetUsers($searchTerm, $shareWithGroupOnly, $groupResponse, $userResponse, $exactExpected, $expected, $reachedEnd, $singleUser) { $this->invokePrivate($this->sharees, 'limit', [2]); $this->invokePrivate($this->sharees, 'offset', [0]); $this->invokePrivate($this->sharees, 'shareWithGroupOnly', [$shareWithGroupOnly]); @@ -255,6 +274,13 @@ class ShareesTest extends TestCase { ->willReturnMap($userResponse); } + if ($singleUser !== false) { + $this->userManager->expects($this->once()) + ->method('get') + ->with($searchTerm) + ->willReturn($singleUser); + } + $this->invokePrivate($this->sharees, 'getUsers', [$searchTerm]); $result = $this->invokePrivate($this->sharees, 'result'); @@ -265,7 +291,7 @@ class ShareesTest extends TestCase { public function dataGetGroups() { return [ - ['test', false, [], [], [], [], true], + ['test', false, [], [], [], [], true, false], [ 'test', false, [$this->getGroupMock('test1')], @@ -273,6 +299,7 @@ class ShareesTest extends TestCase { [], [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], true, + false, ], [ 'test', false, @@ -284,8 +311,41 @@ class ShareesTest extends TestCase { [['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']]], [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], false, + false, ], - ['test', true, [], [], [], [], true], + [ + 'test', false, + [ + $this->getGroupMock('test0'), + $this->getGroupMock('test1'), + ], + [], + [], + [ + ['label' => 'test0', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test0']], + ['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']], + ], + false, + null, + ], + [ + 'test', false, + [ + $this->getGroupMock('test0'), + $this->getGroupMock('test1'), + ], + [], + [ + ['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']], + ], + [ + ['label' => 'test0', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test0']], + ['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']], + ], + false, + $this->getGroupMock('test'), + ], + ['test', true, [], [], [], [], true, false], [ 'test', true, [ @@ -296,6 +356,7 @@ class ShareesTest extends TestCase { [], [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], false, + false, ], [ 'test', true, @@ -307,6 +368,7 @@ class ShareesTest extends TestCase { [['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']]], [], false, + false, ], [ 'test', true, @@ -318,6 +380,51 @@ class ShareesTest extends TestCase { [], [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], false, + false, + ], + [ + 'test', true, + [ + $this->getGroupMock('test'), + $this->getGroupMock('test1'), + ], + [$this->getGroupMock('test'), $this->getGroupMock('test0'), $this->getGroupMock('test1')], + [['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']]], + [['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']]], + false, + false, + ], + [ + 'test', true, + [ + $this->getGroupMock('test0'), + $this->getGroupMock('test1'), + ], + [$this->getGroupMock('test'), $this->getGroupMock('test0'), $this->getGroupMock('test1')], + [], + [ + ['label' => 'test0', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test0']], + ['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']], + ], + false, + null, + ], + [ + 'test', true, + [ + $this->getGroupMock('test0'), + $this->getGroupMock('test1'), + ], + [$this->getGroupMock('test'), $this->getGroupMock('test0'), $this->getGroupMock('test1')], + [ + ['label' => 'test', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test']], + ], + [ + ['label' => 'test0', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test0']], + ['label' => 'test1', 'value' => ['shareType' => Share::SHARE_TYPE_GROUP, 'shareWith' => 'test1']], + ], + false, + $this->getGroupMock('test'), ], ]; } @@ -332,8 +439,9 @@ class ShareesTest extends TestCase { * @param array $exactExpected * @param array $expected * @param bool $reachedEnd + * @param mixed $singleGroup */ - public function testGetGroups($searchTerm, $shareWithGroupOnly, $groupResponse, $userGroupsResponse, $exactExpected, $expected, $reachedEnd) { + public function testGetGroups($searchTerm, $shareWithGroupOnly, $groupResponse, $userGroupsResponse, $exactExpected, $expected, $reachedEnd, $singleGroup) { $this->invokePrivate($this->sharees, 'limit', [2]); $this->invokePrivate($this->sharees, 'offset', [0]); $this->invokePrivate($this->sharees, 'shareWithGroupOnly', [$shareWithGroupOnly]); @@ -343,6 +451,13 @@ class ShareesTest extends TestCase { ->with($searchTerm, $this->invokePrivate($this->sharees, 'limit'), $this->invokePrivate($this->sharees, 'offset')) ->willReturn($groupResponse); + if ($singleGroup !== false) { + $this->groupManager->expects($this->once()) + ->method('get') + ->with($searchTerm) + ->willReturn($singleGroup); + } + if ($shareWithGroupOnly) { $user = $this->getUserMock('admin', 'Administrator'); $this->session->expects($this->any()) @@ -426,6 +541,31 @@ class ShareesTest extends TestCase { ], true, ], + [ + 'username@localhost', + [ + [ + 'FN' => 'User3 @ Localhost', + ], + [ + 'FN' => 'User2 @ Localhost', + 'CLOUD' => [ + ], + ], + [ + 'FN' => 'User @ Localhost', + 'CLOUD' => [ + 'username@localhost', + ], + ], + ], + [ + ['label' => 'User @ Localhost', 'value' => ['shareType' => Share::SHARE_TYPE_REMOTE, 'shareWith' => 'username@localhost']], + ], + [ + ], + true, + ], ]; } From 40203d7d1e7b55f2b0eb32c1ad36ada2b060d987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 26 Aug 2015 12:19:24 +0200 Subject: [PATCH 109/329] Remove languages which are no longer maintained on transifex --- apps/files/l10n/af.js | 8 -- apps/files/l10n/af.json | 1 - apps/files/l10n/ca@valencia.js | 9 --- apps/files/l10n/ca@valencia.json | 7 -- apps/files/l10n/de_CH.js | 56 -------------- apps/files/l10n/de_CH.json | 54 -------------- apps/files/l10n/en_NZ.js | 9 --- apps/files/l10n/en_NZ.json | 7 -- apps/files/l10n/es_BO.js | 9 --- apps/files/l10n/es_BO.json | 7 -- apps/files/l10n/es_CO.js | 9 --- apps/files/l10n/es_CO.json | 7 -- apps/files/l10n/es_CR.js | 19 ----- apps/files/l10n/es_CR.json | 17 ----- apps/files/l10n/es_EC.js | 9 --- apps/files/l10n/es_EC.json | 7 -- apps/files/l10n/es_PE.js | 9 --- apps/files/l10n/es_PE.json | 7 -- apps/files/l10n/es_PY.js | 19 ----- apps/files/l10n/es_PY.json | 17 ----- apps/files/l10n/es_US.js | 9 --- apps/files/l10n/es_US.json | 7 -- apps/files/l10n/es_UY.js | 9 --- apps/files/l10n/es_UY.json | 7 -- apps/files/l10n/eu_ES.js | 8 -- apps/files/l10n/eu_ES.json | 6 -- apps/files/l10n/fi.js | 14 ---- apps/files/l10n/fi.json | 12 --- apps/files/l10n/fr_CA.js | 9 --- apps/files/l10n/fr_CA.json | 7 -- apps/files/l10n/hi_IN.js | 8 -- apps/files/l10n/hi_IN.json | 6 -- apps/files/l10n/sk.js | 9 --- apps/files/l10n/sk.json | 7 -- apps/files/l10n/ur.js | 6 -- apps/files/l10n/ur.json | 4 - apps/files_external/l10n/de_CH.js | 28 ------- apps/files_external/l10n/de_CH.json | 26 ------- apps/files_external/l10n/eu_ES.js | 8 -- apps/files_external/l10n/eu_ES.json | 6 -- apps/files_external/l10n/fi.js | 9 --- apps/files_external/l10n/fi.json | 7 -- apps/files_external/l10n/sk.js | 9 --- apps/files_external/l10n/sk.json | 7 -- apps/files_sharing/l10n/de_CH.js | 17 ----- apps/files_sharing/l10n/de_CH.json | 15 ---- apps/files_sharing/l10n/es_CR.js | 11 --- apps/files_sharing/l10n/es_CR.json | 9 --- apps/files_sharing/l10n/es_PY.js | 11 --- apps/files_sharing/l10n/es_PY.json | 9 --- apps/files_sharing/l10n/eu_ES.js | 7 -- apps/files_sharing/l10n/eu_ES.json | 5 -- apps/files_sharing/l10n/fi.js | 7 -- apps/files_sharing/l10n/fi.json | 5 -- apps/files_sharing/l10n/sk.js | 7 -- apps/files_sharing/l10n/sk.json | 5 -- apps/files_trashbin/l10n/de_CH.js | 15 ---- apps/files_trashbin/l10n/de_CH.json | 13 ---- apps/files_trashbin/l10n/eu_ES.js | 6 -- apps/files_trashbin/l10n/eu_ES.json | 4 - apps/files_trashbin/l10n/fi.js | 7 -- apps/files_trashbin/l10n/fi.json | 5 -- apps/files_trashbin/l10n/sk.js | 6 -- apps/files_trashbin/l10n/sk.json | 4 - apps/files_trashbin/l10n/ur.js | 6 -- apps/files_trashbin/l10n/ur.json | 4 - apps/files_versions/l10n/de_CH.js | 11 --- apps/files_versions/l10n/de_CH.json | 9 --- apps/user_ldap/l10n/ca@valencia.js | 7 -- apps/user_ldap/l10n/ca@valencia.json | 5 -- apps/user_ldap/l10n/de_CH.js | 80 -------------------- apps/user_ldap/l10n/de_CH.json | 78 -------------------- apps/user_ldap/l10n/en_NZ.js | 7 -- apps/user_ldap/l10n/en_NZ.json | 5 -- apps/user_ldap/l10n/es_BO.js | 7 -- apps/user_ldap/l10n/es_BO.json | 5 -- apps/user_ldap/l10n/es_CO.js | 7 -- apps/user_ldap/l10n/es_CO.json | 5 -- apps/user_ldap/l10n/es_CR.js | 7 -- apps/user_ldap/l10n/es_CR.json | 5 -- apps/user_ldap/l10n/es_EC.js | 7 -- apps/user_ldap/l10n/es_EC.json | 5 -- apps/user_ldap/l10n/es_PE.js | 7 -- apps/user_ldap/l10n/es_PE.json | 5 -- apps/user_ldap/l10n/es_PY.js | 7 -- apps/user_ldap/l10n/es_PY.json | 5 -- apps/user_ldap/l10n/es_US.js | 7 -- apps/user_ldap/l10n/es_US.json | 5 -- apps/user_ldap/l10n/es_UY.js | 7 -- apps/user_ldap/l10n/es_UY.json | 5 -- apps/user_ldap/l10n/eu_ES.js | 6 -- apps/user_ldap/l10n/eu_ES.json | 4 - apps/user_ldap/l10n/fi.js | 11 --- apps/user_ldap/l10n/fi.json | 9 --- apps/user_ldap/l10n/fr_CA.js | 7 -- apps/user_ldap/l10n/fr_CA.json | 5 -- apps/user_ldap/l10n/hi_IN.js | 7 -- apps/user_ldap/l10n/hi_IN.json | 5 -- apps/user_ldap/l10n/sk.js | 7 -- apps/user_ldap/l10n/sk.json | 5 -- apps/user_ldap/l10n/ur.js | 6 -- apps/user_ldap/l10n/ur.json | 4 - apps/user_webdavauth/l10n/de_CH.js | 8 -- apps/user_webdavauth/l10n/de_CH.json | 6 -- apps/user_webdavauth/l10n/eu_ES.js | 6 -- apps/user_webdavauth/l10n/eu_ES.json | 4 - apps/user_webdavauth/l10n/fi.js | 6 -- apps/user_webdavauth/l10n/fi.json | 4 - apps/user_webdavauth/l10n/sk.js | 6 -- apps/user_webdavauth/l10n/sk.json | 4 - core/l10n/ca@valencia.js | 8 -- core/l10n/ca@valencia.json | 6 -- core/l10n/de_CH.js | 105 --------------------------- core/l10n/de_CH.json | 103 -------------------------- core/l10n/en_NZ.js | 8 -- core/l10n/en_NZ.json | 6 -- core/l10n/es_BO.js | 8 -- core/l10n/es_BO.json | 6 -- core/l10n/es_CO.js | 8 -- core/l10n/es_CO.json | 6 -- core/l10n/es_CR.js | 8 -- core/l10n/es_CR.json | 6 -- core/l10n/es_EC.js | 8 -- core/l10n/es_EC.json | 6 -- core/l10n/es_PE.js | 8 -- core/l10n/es_PE.json | 6 -- core/l10n/es_PY.js | 8 -- core/l10n/es_PY.json | 6 -- core/l10n/es_US.js | 8 -- core/l10n/es_US.json | 6 -- core/l10n/es_UY.js | 8 -- core/l10n/es_UY.json | 6 -- core/l10n/eu_ES.js | 8 -- core/l10n/eu_ES.json | 6 -- core/l10n/fi.js | 18 ----- core/l10n/fi.json | 16 ---- core/l10n/fr_CA.js | 8 -- core/l10n/fr_CA.json | 6 -- core/l10n/hi_IN.js | 6 -- core/l10n/hi_IN.json | 4 - core/l10n/ignorelist | 1 - core/l10n/sk.js | 30 -------- core/l10n/sk.json | 28 ------- core/l10n/ur.js | 6 -- core/l10n/ur.json | 4 - lib/l10n/ca@valencia.js | 10 --- lib/l10n/ca@valencia.json | 8 -- lib/l10n/de_CH.js | 40 ---------- lib/l10n/de_CH.json | 38 ---------- lib/l10n/en_NZ.js | 10 --- lib/l10n/en_NZ.json | 8 -- lib/l10n/es_BO.js | 10 --- lib/l10n/es_BO.json | 8 -- lib/l10n/es_CO.js | 10 --- lib/l10n/es_CO.json | 8 -- lib/l10n/es_CR.js | 10 --- lib/l10n/es_CR.json | 8 -- lib/l10n/es_EC.js | 10 --- lib/l10n/es_EC.json | 8 -- lib/l10n/es_PE.js | 10 --- lib/l10n/es_PE.json | 8 -- lib/l10n/es_PY.js | 10 --- lib/l10n/es_PY.json | 8 -- lib/l10n/es_US.js | 10 --- lib/l10n/es_US.json | 8 -- lib/l10n/es_UY.js | 10 --- lib/l10n/es_UY.json | 8 -- lib/l10n/eu_ES.js | 6 -- lib/l10n/eu_ES.json | 4 - lib/l10n/fi.js | 7 -- lib/l10n/fi.json | 5 -- lib/l10n/fr_CA.js | 10 --- lib/l10n/fr_CA.json | 8 -- lib/l10n/hi_IN.js | 9 --- lib/l10n/hi_IN.json | 7 -- lib/l10n/sk.js | 7 -- lib/l10n/sk.json | 5 -- lib/l10n/ur.js | 9 --- lib/l10n/ur.json | 7 -- settings/l10n/de_CH.js | 102 -------------------------- settings/l10n/de_CH.json | 100 ------------------------- settings/l10n/eu_ES.js | 9 --- settings/l10n/eu_ES.json | 7 -- settings/l10n/fi.js | 11 --- settings/l10n/fi.json | 9 --- settings/l10n/sk.js | 9 --- settings/l10n/sk.json | 7 -- settings/l10n/ur.js | 6 -- settings/l10n/ur.json | 4 - 189 files changed, 2206 deletions(-) delete mode 100644 apps/files/l10n/af.js delete mode 100644 apps/files/l10n/af.json delete mode 100644 apps/files/l10n/ca@valencia.js delete mode 100644 apps/files/l10n/ca@valencia.json delete mode 100644 apps/files/l10n/de_CH.js delete mode 100644 apps/files/l10n/de_CH.json delete mode 100644 apps/files/l10n/en_NZ.js delete mode 100644 apps/files/l10n/en_NZ.json delete mode 100644 apps/files/l10n/es_BO.js delete mode 100644 apps/files/l10n/es_BO.json delete mode 100644 apps/files/l10n/es_CO.js delete mode 100644 apps/files/l10n/es_CO.json delete mode 100644 apps/files/l10n/es_CR.js delete mode 100644 apps/files/l10n/es_CR.json delete mode 100644 apps/files/l10n/es_EC.js delete mode 100644 apps/files/l10n/es_EC.json delete mode 100644 apps/files/l10n/es_PE.js delete mode 100644 apps/files/l10n/es_PE.json delete mode 100644 apps/files/l10n/es_PY.js delete mode 100644 apps/files/l10n/es_PY.json delete mode 100644 apps/files/l10n/es_US.js delete mode 100644 apps/files/l10n/es_US.json delete mode 100644 apps/files/l10n/es_UY.js delete mode 100644 apps/files/l10n/es_UY.json delete mode 100644 apps/files/l10n/eu_ES.js delete mode 100644 apps/files/l10n/eu_ES.json delete mode 100644 apps/files/l10n/fi.js delete mode 100644 apps/files/l10n/fi.json delete mode 100644 apps/files/l10n/fr_CA.js delete mode 100644 apps/files/l10n/fr_CA.json delete mode 100644 apps/files/l10n/hi_IN.js delete mode 100644 apps/files/l10n/hi_IN.json delete mode 100644 apps/files/l10n/sk.js delete mode 100644 apps/files/l10n/sk.json delete mode 100644 apps/files/l10n/ur.js delete mode 100644 apps/files/l10n/ur.json delete mode 100644 apps/files_external/l10n/de_CH.js delete mode 100644 apps/files_external/l10n/de_CH.json delete mode 100644 apps/files_external/l10n/eu_ES.js delete mode 100644 apps/files_external/l10n/eu_ES.json delete mode 100644 apps/files_external/l10n/fi.js delete mode 100644 apps/files_external/l10n/fi.json delete mode 100644 apps/files_external/l10n/sk.js delete mode 100644 apps/files_external/l10n/sk.json delete mode 100644 apps/files_sharing/l10n/de_CH.js delete mode 100644 apps/files_sharing/l10n/de_CH.json delete mode 100644 apps/files_sharing/l10n/es_CR.js delete mode 100644 apps/files_sharing/l10n/es_CR.json delete mode 100644 apps/files_sharing/l10n/es_PY.js delete mode 100644 apps/files_sharing/l10n/es_PY.json delete mode 100644 apps/files_sharing/l10n/eu_ES.js delete mode 100644 apps/files_sharing/l10n/eu_ES.json delete mode 100644 apps/files_sharing/l10n/fi.js delete mode 100644 apps/files_sharing/l10n/fi.json delete mode 100644 apps/files_sharing/l10n/sk.js delete mode 100644 apps/files_sharing/l10n/sk.json delete mode 100644 apps/files_trashbin/l10n/de_CH.js delete mode 100644 apps/files_trashbin/l10n/de_CH.json delete mode 100644 apps/files_trashbin/l10n/eu_ES.js delete mode 100644 apps/files_trashbin/l10n/eu_ES.json delete mode 100644 apps/files_trashbin/l10n/fi.js delete mode 100644 apps/files_trashbin/l10n/fi.json delete mode 100644 apps/files_trashbin/l10n/sk.js delete mode 100644 apps/files_trashbin/l10n/sk.json delete mode 100644 apps/files_trashbin/l10n/ur.js delete mode 100644 apps/files_trashbin/l10n/ur.json delete mode 100644 apps/files_versions/l10n/de_CH.js delete mode 100644 apps/files_versions/l10n/de_CH.json delete mode 100644 apps/user_ldap/l10n/ca@valencia.js delete mode 100644 apps/user_ldap/l10n/ca@valencia.json delete mode 100644 apps/user_ldap/l10n/de_CH.js delete mode 100644 apps/user_ldap/l10n/de_CH.json delete mode 100644 apps/user_ldap/l10n/en_NZ.js delete mode 100644 apps/user_ldap/l10n/en_NZ.json delete mode 100644 apps/user_ldap/l10n/es_BO.js delete mode 100644 apps/user_ldap/l10n/es_BO.json delete mode 100644 apps/user_ldap/l10n/es_CO.js delete mode 100644 apps/user_ldap/l10n/es_CO.json delete mode 100644 apps/user_ldap/l10n/es_CR.js delete mode 100644 apps/user_ldap/l10n/es_CR.json delete mode 100644 apps/user_ldap/l10n/es_EC.js delete mode 100644 apps/user_ldap/l10n/es_EC.json delete mode 100644 apps/user_ldap/l10n/es_PE.js delete mode 100644 apps/user_ldap/l10n/es_PE.json delete mode 100644 apps/user_ldap/l10n/es_PY.js delete mode 100644 apps/user_ldap/l10n/es_PY.json delete mode 100644 apps/user_ldap/l10n/es_US.js delete mode 100644 apps/user_ldap/l10n/es_US.json delete mode 100644 apps/user_ldap/l10n/es_UY.js delete mode 100644 apps/user_ldap/l10n/es_UY.json delete mode 100644 apps/user_ldap/l10n/eu_ES.js delete mode 100644 apps/user_ldap/l10n/eu_ES.json delete mode 100644 apps/user_ldap/l10n/fi.js delete mode 100644 apps/user_ldap/l10n/fi.json delete mode 100644 apps/user_ldap/l10n/fr_CA.js delete mode 100644 apps/user_ldap/l10n/fr_CA.json delete mode 100644 apps/user_ldap/l10n/hi_IN.js delete mode 100644 apps/user_ldap/l10n/hi_IN.json delete mode 100644 apps/user_ldap/l10n/sk.js delete mode 100644 apps/user_ldap/l10n/sk.json delete mode 100644 apps/user_ldap/l10n/ur.js delete mode 100644 apps/user_ldap/l10n/ur.json delete mode 100644 apps/user_webdavauth/l10n/de_CH.js delete mode 100644 apps/user_webdavauth/l10n/de_CH.json delete mode 100644 apps/user_webdavauth/l10n/eu_ES.js delete mode 100644 apps/user_webdavauth/l10n/eu_ES.json delete mode 100644 apps/user_webdavauth/l10n/fi.js delete mode 100644 apps/user_webdavauth/l10n/fi.json delete mode 100644 apps/user_webdavauth/l10n/sk.js delete mode 100644 apps/user_webdavauth/l10n/sk.json delete mode 100644 core/l10n/ca@valencia.js delete mode 100644 core/l10n/ca@valencia.json delete mode 100644 core/l10n/de_CH.js delete mode 100644 core/l10n/de_CH.json delete mode 100644 core/l10n/en_NZ.js delete mode 100644 core/l10n/en_NZ.json delete mode 100644 core/l10n/es_BO.js delete mode 100644 core/l10n/es_BO.json delete mode 100644 core/l10n/es_CO.js delete mode 100644 core/l10n/es_CO.json delete mode 100644 core/l10n/es_CR.js delete mode 100644 core/l10n/es_CR.json delete mode 100644 core/l10n/es_EC.js delete mode 100644 core/l10n/es_EC.json delete mode 100644 core/l10n/es_PE.js delete mode 100644 core/l10n/es_PE.json delete mode 100644 core/l10n/es_PY.js delete mode 100644 core/l10n/es_PY.json delete mode 100644 core/l10n/es_US.js delete mode 100644 core/l10n/es_US.json delete mode 100644 core/l10n/es_UY.js delete mode 100644 core/l10n/es_UY.json delete mode 100644 core/l10n/eu_ES.js delete mode 100644 core/l10n/eu_ES.json delete mode 100644 core/l10n/fi.js delete mode 100644 core/l10n/fi.json delete mode 100644 core/l10n/fr_CA.js delete mode 100644 core/l10n/fr_CA.json delete mode 100644 core/l10n/hi_IN.js delete mode 100644 core/l10n/hi_IN.json delete mode 100644 core/l10n/ignorelist delete mode 100644 core/l10n/sk.js delete mode 100644 core/l10n/sk.json delete mode 100644 core/l10n/ur.js delete mode 100644 core/l10n/ur.json delete mode 100644 lib/l10n/ca@valencia.js delete mode 100644 lib/l10n/ca@valencia.json delete mode 100644 lib/l10n/de_CH.js delete mode 100644 lib/l10n/de_CH.json delete mode 100644 lib/l10n/en_NZ.js delete mode 100644 lib/l10n/en_NZ.json delete mode 100644 lib/l10n/es_BO.js delete mode 100644 lib/l10n/es_BO.json delete mode 100644 lib/l10n/es_CO.js delete mode 100644 lib/l10n/es_CO.json delete mode 100644 lib/l10n/es_CR.js delete mode 100644 lib/l10n/es_CR.json delete mode 100644 lib/l10n/es_EC.js delete mode 100644 lib/l10n/es_EC.json delete mode 100644 lib/l10n/es_PE.js delete mode 100644 lib/l10n/es_PE.json delete mode 100644 lib/l10n/es_PY.js delete mode 100644 lib/l10n/es_PY.json delete mode 100644 lib/l10n/es_US.js delete mode 100644 lib/l10n/es_US.json delete mode 100644 lib/l10n/es_UY.js delete mode 100644 lib/l10n/es_UY.json delete mode 100644 lib/l10n/eu_ES.js delete mode 100644 lib/l10n/eu_ES.json delete mode 100644 lib/l10n/fi.js delete mode 100644 lib/l10n/fi.json delete mode 100644 lib/l10n/fr_CA.js delete mode 100644 lib/l10n/fr_CA.json delete mode 100644 lib/l10n/hi_IN.js delete mode 100644 lib/l10n/hi_IN.json delete mode 100644 lib/l10n/sk.js delete mode 100644 lib/l10n/sk.json delete mode 100644 lib/l10n/ur.js delete mode 100644 lib/l10n/ur.json delete mode 100644 settings/l10n/de_CH.js delete mode 100644 settings/l10n/de_CH.json delete mode 100644 settings/l10n/eu_ES.js delete mode 100644 settings/l10n/eu_ES.json delete mode 100644 settings/l10n/fi.js delete mode 100644 settings/l10n/fi.json delete mode 100644 settings/l10n/sk.js delete mode 100644 settings/l10n/sk.json delete mode 100644 settings/l10n/ur.js delete mode 100644 settings/l10n/ur.json diff --git a/apps/files/l10n/af.js b/apps/files/l10n/af.js deleted file mode 100644 index 5bdf101699..0000000000 --- a/apps/files/l10n/af.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : "[ ,]", - "_%n file_::_%n files_" : "[ ,]", - "_Uploading %n file_::_Uploading %n files_" : "[ ,]" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/af.json b/apps/files/l10n/af.json deleted file mode 100644 index 26e5833738..0000000000 --- a/apps/files/l10n/af.json +++ /dev/null @@ -1 +0,0 @@ -{"translations":{"_%n folder_::_%n folders_":["",""],"_%n file_::_%n files_":["",""],"_Uploading %n file_::_Uploading %n files_":["",""]},"pluralForm":"nplurals=2; plural=(n != 1);"} \ No newline at end of file diff --git a/apps/files/l10n/ca@valencia.js b/apps/files/l10n/ca@valencia.js deleted file mode 100644 index 7988332fa9..0000000000 --- a/apps/files/l10n/ca@valencia.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/ca@valencia.json b/apps/files/l10n/ca@valencia.json deleted file mode 100644 index ef5fc58675..0000000000 --- a/apps/files/l10n/ca@valencia.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/de_CH.js b/apps/files/l10n/de_CH.js deleted file mode 100644 index 7bccd43530..0000000000 --- a/apps/files/l10n/de_CH.js +++ /dev/null @@ -1,56 +0,0 @@ -OC.L10N.register( - "files", - { - "Unknown error" : "Unbekannter Fehler", - "Could not move %s - File with this name already exists" : "%s konnte nicht verschoben werden. Eine Datei mit diesem Namen existiert bereits.", - "Could not move %s" : "Konnte %s nicht verschieben", - "File name cannot be empty." : "Der Dateiname darf nicht leer sein.", - "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." : "Ungültiger Name, «\\», «/», «<», «>», «:», «\"», «|», «?» und «*» sind nicht zulässig.", - "Unable to set upload directory." : "Das Upload-Verzeichnis konnte nicht gesetzt werden.", - "Invalid Token" : "Ungültiges Merkmal", - "No file was uploaded. Unknown error" : "Keine Datei hochgeladen. Unbekannter Fehler", - "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", - "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist grösser, als die MAX_FILE_SIZE Vorgabe erlaubt, die im HTML-Formular spezifiziert ist", - "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden", - "No file was uploaded" : "Keine Datei konnte übertragen werden.", - "Missing a temporary folder" : "Kein temporärer Ordner vorhanden", - "Failed to write to disk" : "Fehler beim Schreiben auf die Festplatte", - "Not enough storage available" : "Nicht genug Speicher vorhanden.", - "Invalid directory." : "Ungültiges Verzeichnis.", - "Files" : "Dateien", - "Upload cancelled." : "Upload abgebrochen.", - "File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.", - "{new_name} already exists" : "{new_name} existiert bereits", - "Share" : "Teilen", - "Delete" : "Löschen", - "Unshare" : "Teilung aufheben", - "Delete permanently" : "Endgültig löschen", - "Rename" : "Umbenennen", - "Pending" : "Ausstehend", - "Error" : "Fehler", - "Name" : "Name", - "Size" : "Grösse", - "Modified" : "Geändert", - "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"], - "Your storage is full, files can not be updated or synced anymore!" : "Ihr Speicher ist voll, daher können keine Dateien mehr aktualisiert oder synchronisiert werden!", - "Your storage is almost full ({usedSpacePercent}%)" : "Ihr Speicher ist fast voll ({usedSpacePercent}%)", - "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." : "Die Verschlüsselung wurde deaktiviert, jedoch sind Ihre Dateien nach wie vor verschlüsselt. Bitte gehen Sie zu Ihren persönlichen Einstellungen, um Ihre Dateien zu entschlüsseln.", - "%s could not be renamed" : "%s konnte nicht umbenannt werden", - "File handling" : "Dateibehandlung", - "Maximum upload size" : "Maximale Upload-Grösse", - "max. possible: " : "maximal möglich:", - "Save" : "Speichern", - "WebDAV" : "WebDAV", - "New" : "Neu", - "Text file" : "Textdatei", - "New folder" : "Neues Verzeichnis", - "Folder" : "Ordner", - "From link" : "Von einem Link", - "Nothing in here. Upload something!" : "Alles leer. Laden Sie etwas hoch!", - "Download" : "Herunterladen", - "Upload too large" : "Der Upload ist zu gross", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgrösse für Uploads auf diesem Server.", - "Files are being scanned, please wait." : "Dateien werden gescannt, bitte warten." -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/de_CH.json b/apps/files/l10n/de_CH.json deleted file mode 100644 index c7a64d52c8..0000000000 --- a/apps/files/l10n/de_CH.json +++ /dev/null @@ -1,54 +0,0 @@ -{ "translations": { - "Unknown error" : "Unbekannter Fehler", - "Could not move %s - File with this name already exists" : "%s konnte nicht verschoben werden. Eine Datei mit diesem Namen existiert bereits.", - "Could not move %s" : "Konnte %s nicht verschieben", - "File name cannot be empty." : "Der Dateiname darf nicht leer sein.", - "Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." : "Ungültiger Name, «\\», «/», «<», «>», «:», «\"», «|», «?» und «*» sind nicht zulässig.", - "Unable to set upload directory." : "Das Upload-Verzeichnis konnte nicht gesetzt werden.", - "Invalid Token" : "Ungültiges Merkmal", - "No file was uploaded. Unknown error" : "Keine Datei hochgeladen. Unbekannter Fehler", - "There is no error, the file uploaded with success" : "Es ist kein Fehler aufgetreten. Die Datei wurde erfolgreich hochgeladen.", - "The uploaded file exceeds the upload_max_filesize directive in php.ini: " : "Die hochgeladene Datei überschreitet die upload_max_filesize Vorgabe in php.ini", - "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Die Datei ist grösser, als die MAX_FILE_SIZE Vorgabe erlaubt, die im HTML-Formular spezifiziert ist", - "The uploaded file was only partially uploaded" : "Die Datei konnte nur teilweise übertragen werden", - "No file was uploaded" : "Keine Datei konnte übertragen werden.", - "Missing a temporary folder" : "Kein temporärer Ordner vorhanden", - "Failed to write to disk" : "Fehler beim Schreiben auf die Festplatte", - "Not enough storage available" : "Nicht genug Speicher vorhanden.", - "Invalid directory." : "Ungültiges Verzeichnis.", - "Files" : "Dateien", - "Upload cancelled." : "Upload abgebrochen.", - "File upload is in progress. Leaving the page now will cancel the upload." : "Dateiupload läuft. Wenn Sie die Seite jetzt verlassen, wird der Upload abgebrochen.", - "{new_name} already exists" : "{new_name} existiert bereits", - "Share" : "Teilen", - "Delete" : "Löschen", - "Unshare" : "Teilung aufheben", - "Delete permanently" : "Endgültig löschen", - "Rename" : "Umbenennen", - "Pending" : "Ausstehend", - "Error" : "Fehler", - "Name" : "Name", - "Size" : "Grösse", - "Modified" : "Geändert", - "_Uploading %n file_::_Uploading %n files_" : ["%n Datei wird hochgeladen","%n Dateien werden hochgeladen"], - "Your storage is full, files can not be updated or synced anymore!" : "Ihr Speicher ist voll, daher können keine Dateien mehr aktualisiert oder synchronisiert werden!", - "Your storage is almost full ({usedSpacePercent}%)" : "Ihr Speicher ist fast voll ({usedSpacePercent}%)", - "Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." : "Die Verschlüsselung wurde deaktiviert, jedoch sind Ihre Dateien nach wie vor verschlüsselt. Bitte gehen Sie zu Ihren persönlichen Einstellungen, um Ihre Dateien zu entschlüsseln.", - "%s could not be renamed" : "%s konnte nicht umbenannt werden", - "File handling" : "Dateibehandlung", - "Maximum upload size" : "Maximale Upload-Grösse", - "max. possible: " : "maximal möglich:", - "Save" : "Speichern", - "WebDAV" : "WebDAV", - "New" : "Neu", - "Text file" : "Textdatei", - "New folder" : "Neues Verzeichnis", - "Folder" : "Ordner", - "From link" : "Von einem Link", - "Nothing in here. Upload something!" : "Alles leer. Laden Sie etwas hoch!", - "Download" : "Herunterladen", - "Upload too large" : "Der Upload ist zu gross", - "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Die Datei überschreitet die Maximalgrösse für Uploads auf diesem Server.", - "Files are being scanned, please wait." : "Dateien werden gescannt, bitte warten." -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/en_NZ.js b/apps/files/l10n/en_NZ.js deleted file mode 100644 index 7988332fa9..0000000000 --- a/apps/files/l10n/en_NZ.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/en_NZ.json b/apps/files/l10n/en_NZ.json deleted file mode 100644 index ef5fc58675..0000000000 --- a/apps/files/l10n/en_NZ.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/es_BO.js b/apps/files/l10n/es_BO.js deleted file mode 100644 index 7988332fa9..0000000000 --- a/apps/files/l10n/es_BO.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_BO.json b/apps/files/l10n/es_BO.json deleted file mode 100644 index ef5fc58675..0000000000 --- a/apps/files/l10n/es_BO.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/es_CO.js b/apps/files/l10n/es_CO.js deleted file mode 100644 index 7988332fa9..0000000000 --- a/apps/files/l10n/es_CO.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_CO.json b/apps/files/l10n/es_CO.json deleted file mode 100644 index ef5fc58675..0000000000 --- a/apps/files/l10n/es_CO.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/es_CR.js b/apps/files/l10n/es_CR.js deleted file mode 100644 index db0f96010e..0000000000 --- a/apps/files/l10n/es_CR.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "files", - { - "Files" : "Archivos", - "A new file or folder has been created" : "Un nuevo archivo o carpeta ha sido creado", - "A file or folder has been changed" : "Un archivo o carpeta ha sido cambiado", - "A file or folder has been deleted" : "Un archivo o carpeta ha sido eliminado", - "A file or folder has been restored" : "Un archivo o carpeta ha sido restaurado", - "You created %1$s" : "Usted creó %1$s", - "%2$s created %1$s" : "%2$s creó %1$s", - "%1$s was created in a public folder" : "%1$s fue creado en un folder público", - "You changed %1$s" : "Usted cambió %1$s", - "%2$s changed %1$s" : "%2$s cambió %1$s", - "You deleted %1$s" : "Usted eliminó %1$s", - "%2$s deleted %1$s" : "%2$s eliminó %1$s", - "You restored %1$s" : "Usted restauró %1$s", - "%2$s restored %1$s" : "%2$s restauró %1$s" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_CR.json b/apps/files/l10n/es_CR.json deleted file mode 100644 index 506baf10fb..0000000000 --- a/apps/files/l10n/es_CR.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "Files" : "Archivos", - "A new file or folder has been created" : "Un nuevo archivo o carpeta ha sido creado", - "A file or folder has been changed" : "Un archivo o carpeta ha sido cambiado", - "A file or folder has been deleted" : "Un archivo o carpeta ha sido eliminado", - "A file or folder has been restored" : "Un archivo o carpeta ha sido restaurado", - "You created %1$s" : "Usted creó %1$s", - "%2$s created %1$s" : "%2$s creó %1$s", - "%1$s was created in a public folder" : "%1$s fue creado en un folder público", - "You changed %1$s" : "Usted cambió %1$s", - "%2$s changed %1$s" : "%2$s cambió %1$s", - "You deleted %1$s" : "Usted eliminó %1$s", - "%2$s deleted %1$s" : "%2$s eliminó %1$s", - "You restored %1$s" : "Usted restauró %1$s", - "%2$s restored %1$s" : "%2$s restauró %1$s" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/es_EC.js b/apps/files/l10n/es_EC.js deleted file mode 100644 index 7988332fa9..0000000000 --- a/apps/files/l10n/es_EC.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_EC.json b/apps/files/l10n/es_EC.json deleted file mode 100644 index ef5fc58675..0000000000 --- a/apps/files/l10n/es_EC.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/es_PE.js b/apps/files/l10n/es_PE.js deleted file mode 100644 index 7988332fa9..0000000000 --- a/apps/files/l10n/es_PE.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_PE.json b/apps/files/l10n/es_PE.json deleted file mode 100644 index ef5fc58675..0000000000 --- a/apps/files/l10n/es_PE.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/es_PY.js b/apps/files/l10n/es_PY.js deleted file mode 100644 index 2cfff7608e..0000000000 --- a/apps/files/l10n/es_PY.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "files", - { - "Files" : "Archivos", - "A new file or folder has been created" : "Ha sido creado un nuevo archivo o carpeta", - "A file or folder has been changed" : "Ha sido modificado un archivo o carpeta", - "A file or folder has been deleted" : "Ha sido eliminado un archivo o carpeta", - "A file or folder has been restored" : "Se ha recuperado un archivo o carpeta", - "You created %1$s" : "Ha creado %1$s", - "%2$s created %1$s" : "%2$s ha creado %1$s", - "%1$s was created in a public folder" : "%1$s ha sido creado en una carpeta pública", - "You changed %1$s" : "Ha modificado %1$s", - "%2$s changed %1$s" : "%2$s ha modificado %1$s", - "You deleted %1$s" : "Usted ha eliminado %1$s", - "%2$s deleted %1$s" : "%2$s ha eliminado %1$s", - "You restored %1$s" : "Ha recuperado %1$s", - "%2$s restored %1$s" : "%2$s ha recuperado %1$s" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_PY.json b/apps/files/l10n/es_PY.json deleted file mode 100644 index 3739279469..0000000000 --- a/apps/files/l10n/es_PY.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "Files" : "Archivos", - "A new file or folder has been created" : "Ha sido creado un nuevo archivo o carpeta", - "A file or folder has been changed" : "Ha sido modificado un archivo o carpeta", - "A file or folder has been deleted" : "Ha sido eliminado un archivo o carpeta", - "A file or folder has been restored" : "Se ha recuperado un archivo o carpeta", - "You created %1$s" : "Ha creado %1$s", - "%2$s created %1$s" : "%2$s ha creado %1$s", - "%1$s was created in a public folder" : "%1$s ha sido creado en una carpeta pública", - "You changed %1$s" : "Ha modificado %1$s", - "%2$s changed %1$s" : "%2$s ha modificado %1$s", - "You deleted %1$s" : "Usted ha eliminado %1$s", - "%2$s deleted %1$s" : "%2$s ha eliminado %1$s", - "You restored %1$s" : "Ha recuperado %1$s", - "%2$s restored %1$s" : "%2$s ha recuperado %1$s" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/es_US.js b/apps/files/l10n/es_US.js deleted file mode 100644 index 7988332fa9..0000000000 --- a/apps/files/l10n/es_US.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_US.json b/apps/files/l10n/es_US.json deleted file mode 100644 index ef5fc58675..0000000000 --- a/apps/files/l10n/es_US.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/es_UY.js b/apps/files/l10n/es_UY.js deleted file mode 100644 index 7988332fa9..0000000000 --- a/apps/files/l10n/es_UY.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/es_UY.json b/apps/files/l10n/es_UY.json deleted file mode 100644 index ef5fc58675..0000000000 --- a/apps/files/l10n/es_UY.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/eu_ES.js b/apps/files/l10n/eu_ES.js deleted file mode 100644 index ed4c18dac7..0000000000 --- a/apps/files/l10n/eu_ES.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "files", - { - "Delete" : "Ezabatu", - "Save" : "Gorde", - "Download" : "Deskargatu" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/eu_ES.json b/apps/files/l10n/eu_ES.json deleted file mode 100644 index 6e8c511d42..0000000000 --- a/apps/files/l10n/eu_ES.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "Delete" : "Ezabatu", - "Save" : "Gorde", - "Download" : "Deskargatu" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js deleted file mode 100644 index 8733d6b179..0000000000 --- a/apps/files/l10n/fi.js +++ /dev/null @@ -1,14 +0,0 @@ -OC.L10N.register( - "files", - { - "Rename" : "Nimeä uudelleen", - "Delete" : "Poista", - "Error" : "Virhe", - "Favorite" : "Suosikit", - "Save" : "Tallenna", - "Settings" : "Asetukset", - "New folder" : "Luo kansio", - "Folder" : "Kansio", - "Upload" : "Lähetä" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json deleted file mode 100644 index 4a78a83735..0000000000 --- a/apps/files/l10n/fi.json +++ /dev/null @@ -1,12 +0,0 @@ -{ "translations": { - "Rename" : "Nimeä uudelleen", - "Delete" : "Poista", - "Error" : "Virhe", - "Favorite" : "Suosikit", - "Save" : "Tallenna", - "Settings" : "Asetukset", - "New folder" : "Luo kansio", - "Folder" : "Kansio", - "Upload" : "Lähetä" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/fr_CA.js b/apps/files/l10n/fr_CA.js deleted file mode 100644 index c50be1aa47..0000000000 --- a/apps/files/l10n/fr_CA.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -}, -"nplurals=2; plural=(n > 1);"); diff --git a/apps/files/l10n/fr_CA.json b/apps/files/l10n/fr_CA.json deleted file mode 100644 index 210ac153ba..0000000000 --- a/apps/files/l10n/fr_CA.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""], - "_matches '{filter}'_::_match '{filter}'_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n > 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/hi_IN.js b/apps/files/l10n/hi_IN.js deleted file mode 100644 index 329844854f..0000000000 --- a/apps/files/l10n/hi_IN.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "files", - { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/hi_IN.json b/apps/files/l10n/hi_IN.json deleted file mode 100644 index 37156658a8..0000000000 --- a/apps/files/l10n/hi_IN.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_%n folder_::_%n folders_" : ["",""], - "_%n file_::_%n files_" : ["",""], - "_Uploading %n file_::_Uploading %n files_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js deleted file mode 100644 index 47af64a493..0000000000 --- a/apps/files/l10n/sk.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files", - { - "Share" : "Zdieľať", - "Delete" : "Odstrániť", - "Save" : "Uložiť", - "Download" : "Stiahnuť" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json deleted file mode 100644 index a61d2917bc..0000000000 --- a/apps/files/l10n/sk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "Share" : "Zdieľať", - "Delete" : "Odstrániť", - "Save" : "Uložiť", - "Download" : "Stiahnuť" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/apps/files/l10n/ur.js b/apps/files/l10n/ur.js deleted file mode 100644 index 87ed21fd6c..0000000000 --- a/apps/files/l10n/ur.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "files", - { - "Error" : "خرابی" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/ur.json b/apps/files/l10n/ur.json deleted file mode 100644 index 1c1fc3d16c..0000000000 --- a/apps/files/l10n/ur.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Error" : "خرابی" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_external/l10n/de_CH.js b/apps/files_external/l10n/de_CH.js deleted file mode 100644 index b003957309..0000000000 --- a/apps/files_external/l10n/de_CH.js +++ /dev/null @@ -1,28 +0,0 @@ -OC.L10N.register( - "files_external", - { - "Please provide a valid Dropbox app key and secret." : "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.", - "External storage" : "Externer Speicher", - "Local" : "Lokal", - "Location" : "Ort", - "Port" : "Port", - "Host" : "Host", - "Username" : "Benutzername", - "Password" : "Passwort", - "Share" : "Freigeben", - "URL" : "URL", - "Access granted" : "Zugriff gestattet", - "Error configuring Dropbox storage" : "Fehler beim Einrichten von Dropbox", - "Grant access" : "Zugriff gestatten", - "Error configuring Google Drive storage" : "Fehler beim Einrichten von Google Drive", - "Personal" : "Persönlich", - "Saved" : "Gespeichert", - "Name" : "Name", - "External Storage" : "Externer Speicher", - "Folder name" : "Ordnername", - "Configuration" : "Konfiguration", - "Add storage" : "Speicher hinzufügen", - "Delete" : "Löschen", - "Enable User External Storage" : "Externen Speicher für Benutzer aktivieren" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/de_CH.json b/apps/files_external/l10n/de_CH.json deleted file mode 100644 index 955fae07f5..0000000000 --- a/apps/files_external/l10n/de_CH.json +++ /dev/null @@ -1,26 +0,0 @@ -{ "translations": { - "Please provide a valid Dropbox app key and secret." : "Bitte tragen Sie einen gültigen Dropbox-App-Key mit Secret ein.", - "External storage" : "Externer Speicher", - "Local" : "Lokal", - "Location" : "Ort", - "Port" : "Port", - "Host" : "Host", - "Username" : "Benutzername", - "Password" : "Passwort", - "Share" : "Freigeben", - "URL" : "URL", - "Access granted" : "Zugriff gestattet", - "Error configuring Dropbox storage" : "Fehler beim Einrichten von Dropbox", - "Grant access" : "Zugriff gestatten", - "Error configuring Google Drive storage" : "Fehler beim Einrichten von Google Drive", - "Personal" : "Persönlich", - "Saved" : "Gespeichert", - "Name" : "Name", - "External Storage" : "Externer Speicher", - "Folder name" : "Ordnername", - "Configuration" : "Konfiguration", - "Add storage" : "Speicher hinzufügen", - "Delete" : "Löschen", - "Enable User External Storage" : "Externen Speicher für Benutzer aktivieren" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_external/l10n/eu_ES.js b/apps/files_external/l10n/eu_ES.js deleted file mode 100644 index 513edcb534..0000000000 --- a/apps/files_external/l10n/eu_ES.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "files_external", - { - "Location" : "kokapena", - "Personal" : "Pertsonala", - "Delete" : "Ezabatu" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/eu_ES.json b/apps/files_external/l10n/eu_ES.json deleted file mode 100644 index 149a30d1a7..0000000000 --- a/apps/files_external/l10n/eu_ES.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "Location" : "kokapena", - "Personal" : "Pertsonala", - "Delete" : "Ezabatu" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_external/l10n/fi.js b/apps/files_external/l10n/fi.js deleted file mode 100644 index eaa9b89fc0..0000000000 --- a/apps/files_external/l10n/fi.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files_external", - { - "Username" : "Käyttäjätunnus", - "Password" : "Salasana", - "URL" : "URL", - "Delete" : "Poista" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_external/l10n/fi.json b/apps/files_external/l10n/fi.json deleted file mode 100644 index 8a702552ca..0000000000 --- a/apps/files_external/l10n/fi.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "Username" : "Käyttäjätunnus", - "Password" : "Salasana", - "URL" : "URL", - "Delete" : "Poista" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_external/l10n/sk.js b/apps/files_external/l10n/sk.js deleted file mode 100644 index edae863703..0000000000 --- a/apps/files_external/l10n/sk.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "files_external", - { - "Location" : "Poloha", - "Share" : "Zdieľať", - "Personal" : "Osobné", - "Delete" : "Odstrániť" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files_external/l10n/sk.json b/apps/files_external/l10n/sk.json deleted file mode 100644 index 4d6a95caf3..0000000000 --- a/apps/files_external/l10n/sk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "Location" : "Poloha", - "Share" : "Zdieľať", - "Personal" : "Osobné", - "Delete" : "Odstrániť" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/apps/files_sharing/l10n/de_CH.js b/apps/files_sharing/l10n/de_CH.js deleted file mode 100644 index 2cdb3d47c6..0000000000 --- a/apps/files_sharing/l10n/de_CH.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_sharing", - { - "Cancel" : "Abbrechen", - "Shared by" : "Geteilt von", - "The password is wrong. Try again." : "Das Passwort ist falsch. Bitte versuchen Sie es erneut.", - "Password" : "Passwort", - "Name" : "Name", - "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.", - "Reasons might be:" : "Gründe könnten sein:", - "the item was removed" : "Das Element wurde entfernt", - "the link expired" : "Der Link ist abgelaufen", - "sharing is disabled" : "Teilen ist deaktiviert", - "For more info, please ask the person who sent this link." : "Für mehr Informationen, fragen Sie bitte die Person, die Ihnen diesen Link geschickt hat.", - "Download" : "Herunterladen" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/de_CH.json b/apps/files_sharing/l10n/de_CH.json deleted file mode 100644 index a161e06bae..0000000000 --- a/apps/files_sharing/l10n/de_CH.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "Cancel" : "Abbrechen", - "Shared by" : "Geteilt von", - "The password is wrong. Try again." : "Das Passwort ist falsch. Bitte versuchen Sie es erneut.", - "Password" : "Passwort", - "Name" : "Name", - "Sorry, this link doesn’t seem to work anymore." : "Entschuldigung, dieser Link scheint nicht mehr zu funktionieren.", - "Reasons might be:" : "Gründe könnten sein:", - "the item was removed" : "Das Element wurde entfernt", - "the link expired" : "Der Link ist abgelaufen", - "sharing is disabled" : "Teilen ist deaktiviert", - "For more info, please ask the person who sent this link." : "Für mehr Informationen, fragen Sie bitte die Person, die Ihnen diesen Link geschickt hat.", - "Download" : "Herunterladen" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_sharing/l10n/es_CR.js b/apps/files_sharing/l10n/es_CR.js deleted file mode 100644 index 38387ee860..0000000000 --- a/apps/files_sharing/l10n/es_CR.js +++ /dev/null @@ -1,11 +0,0 @@ -OC.L10N.register( - "files_sharing", - { - "A file or folder has been shared" : "Un archivo o carpeta has sido compartido", - "You shared %1$s with %2$s" : "Usted compartió %1$s con %2$s", - "You shared %1$s with group %2$s" : "Usted compartió %1$s con el grupo %2$s", - "%2$s shared %1$s with you" : "%2$s compartió %1$s con usted", - "You shared %1$s via link" : "Usted compartió %1$s con un vínculo", - "Shares" : "Compartidos" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_CR.json b/apps/files_sharing/l10n/es_CR.json deleted file mode 100644 index 6a92ddc55b..0000000000 --- a/apps/files_sharing/l10n/es_CR.json +++ /dev/null @@ -1,9 +0,0 @@ -{ "translations": { - "A file or folder has been shared" : "Un archivo o carpeta has sido compartido", - "You shared %1$s with %2$s" : "Usted compartió %1$s con %2$s", - "You shared %1$s with group %2$s" : "Usted compartió %1$s con el grupo %2$s", - "%2$s shared %1$s with you" : "%2$s compartió %1$s con usted", - "You shared %1$s via link" : "Usted compartió %1$s con un vínculo", - "Shares" : "Compartidos" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_sharing/l10n/es_PY.js b/apps/files_sharing/l10n/es_PY.js deleted file mode 100644 index ca83052f99..0000000000 --- a/apps/files_sharing/l10n/es_PY.js +++ /dev/null @@ -1,11 +0,0 @@ -OC.L10N.register( - "files_sharing", - { - "A file or folder has been shared" : "Se ha compartido un archivo o carpeta", - "You shared %1$s with %2$s" : "Ha compartido %1$s con %2$s", - "You shared %1$s with group %2$s" : "Ha compartido %1$s con el grupo %2$s", - "%2$s shared %1$s with you" : "%2$s ha compartido %1$s con tigo", - "You shared %1$s via link" : "Ha compartido %1$s via enlace", - "Shares" : "Compartidos" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/es_PY.json b/apps/files_sharing/l10n/es_PY.json deleted file mode 100644 index ca21de5caa..0000000000 --- a/apps/files_sharing/l10n/es_PY.json +++ /dev/null @@ -1,9 +0,0 @@ -{ "translations": { - "A file or folder has been shared" : "Se ha compartido un archivo o carpeta", - "You shared %1$s with %2$s" : "Ha compartido %1$s con %2$s", - "You shared %1$s with group %2$s" : "Ha compartido %1$s con el grupo %2$s", - "%2$s shared %1$s with you" : "%2$s ha compartido %1$s con tigo", - "You shared %1$s via link" : "Ha compartido %1$s via enlace", - "Shares" : "Compartidos" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_sharing/l10n/eu_ES.js b/apps/files_sharing/l10n/eu_ES.js deleted file mode 100644 index 240f018155..0000000000 --- a/apps/files_sharing/l10n/eu_ES.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "files_sharing", - { - "Cancel" : "Ezeztatu", - "Download" : "Deskargatu" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/eu_ES.json b/apps/files_sharing/l10n/eu_ES.json deleted file mode 100644 index 9adbb2b818..0000000000 --- a/apps/files_sharing/l10n/eu_ES.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "Cancel" : "Ezeztatu", - "Download" : "Deskargatu" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_sharing/l10n/fi.js b/apps/files_sharing/l10n/fi.js deleted file mode 100644 index 1f1bf5377b..0000000000 --- a/apps/files_sharing/l10n/fi.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "files_sharing", - { - "Cancel" : "Peruuta", - "Password" : "Salasana" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_sharing/l10n/fi.json b/apps/files_sharing/l10n/fi.json deleted file mode 100644 index a80ddde0fe..0000000000 --- a/apps/files_sharing/l10n/fi.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "Cancel" : "Peruuta", - "Password" : "Salasana" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js deleted file mode 100644 index aa38585149..0000000000 --- a/apps/files_sharing/l10n/sk.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "files_sharing", - { - "Cancel" : "Zrušiť", - "Download" : "Stiahnuť" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json deleted file mode 100644 index 65bbffa419..0000000000 --- a/apps/files_sharing/l10n/sk.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "Cancel" : "Zrušiť", - "Download" : "Stiahnuť" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/apps/files_trashbin/l10n/de_CH.js b/apps/files_trashbin/l10n/de_CH.js deleted file mode 100644 index 70a428d4c9..0000000000 --- a/apps/files_trashbin/l10n/de_CH.js +++ /dev/null @@ -1,15 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't delete %s permanently" : "Konnte %s nicht dauerhaft löschen", - "Couldn't restore %s" : "Konnte %s nicht wiederherstellen", - "Deleted files" : "Gelöschte Dateien", - "Restore" : "Wiederherstellen", - "Error" : "Fehler", - "restored" : "Wiederhergestellt", - "Nothing in here. Your trash bin is empty!" : "Nichts zu löschen, Ihr Papierkorb ist leer!", - "Name" : "Name", - "Deleted" : "Gelöscht", - "Delete" : "Löschen" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/de_CH.json b/apps/files_trashbin/l10n/de_CH.json deleted file mode 100644 index 497b6c35d5..0000000000 --- a/apps/files_trashbin/l10n/de_CH.json +++ /dev/null @@ -1,13 +0,0 @@ -{ "translations": { - "Couldn't delete %s permanently" : "Konnte %s nicht dauerhaft löschen", - "Couldn't restore %s" : "Konnte %s nicht wiederherstellen", - "Deleted files" : "Gelöschte Dateien", - "Restore" : "Wiederherstellen", - "Error" : "Fehler", - "restored" : "Wiederhergestellt", - "Nothing in here. Your trash bin is empty!" : "Nichts zu löschen, Ihr Papierkorb ist leer!", - "Name" : "Name", - "Deleted" : "Gelöscht", - "Delete" : "Löschen" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_trashbin/l10n/eu_ES.js b/apps/files_trashbin/l10n/eu_ES.js deleted file mode 100644 index 8e988be3bf..0000000000 --- a/apps/files_trashbin/l10n/eu_ES.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Delete" : "Ezabatu" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/eu_ES.json b/apps/files_trashbin/l10n/eu_ES.json deleted file mode 100644 index 14a2375ad6..0000000000 --- a/apps/files_trashbin/l10n/eu_ES.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Delete" : "Ezabatu" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_trashbin/l10n/fi.js b/apps/files_trashbin/l10n/fi.js deleted file mode 100644 index e3b5a93ead..0000000000 --- a/apps/files_trashbin/l10n/fi.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Error" : "Virhe", - "Delete" : "Poista" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/fi.json b/apps/files_trashbin/l10n/fi.json deleted file mode 100644 index 639a5749f2..0000000000 --- a/apps/files_trashbin/l10n/fi.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "Error" : "Virhe", - "Delete" : "Poista" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_trashbin/l10n/sk.js b/apps/files_trashbin/l10n/sk.js deleted file mode 100644 index 1b73b5f3af..0000000000 --- a/apps/files_trashbin/l10n/sk.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Delete" : "Odstrániť" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/sk.json b/apps/files_trashbin/l10n/sk.json deleted file mode 100644 index 418f8874a6..0000000000 --- a/apps/files_trashbin/l10n/sk.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Delete" : "Odstrániť" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/apps/files_trashbin/l10n/ur.js b/apps/files_trashbin/l10n/ur.js deleted file mode 100644 index cfdfd80274..0000000000 --- a/apps/files_trashbin/l10n/ur.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Error" : "خرابی" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/ur.json b/apps/files_trashbin/l10n/ur.json deleted file mode 100644 index 1c1fc3d16c..0000000000 --- a/apps/files_trashbin/l10n/ur.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Error" : "خرابی" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/files_versions/l10n/de_CH.js b/apps/files_versions/l10n/de_CH.js deleted file mode 100644 index 9e970501fb..0000000000 --- a/apps/files_versions/l10n/de_CH.js +++ /dev/null @@ -1,11 +0,0 @@ -OC.L10N.register( - "files_versions", - { - "Could not revert: %s" : "Konnte %s nicht zurücksetzen", - "Versions" : "Versionen", - "Failed to revert {file} to revision {timestamp}." : "Konnte {file} der Revision {timestamp} nicht rückgänging machen.", - "More versions..." : "Mehrere Versionen...", - "No other versions available" : "Keine anderen Versionen verfügbar", - "Restore" : "Wiederherstellen" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_versions/l10n/de_CH.json b/apps/files_versions/l10n/de_CH.json deleted file mode 100644 index 8d4b76f8c2..0000000000 --- a/apps/files_versions/l10n/de_CH.json +++ /dev/null @@ -1,9 +0,0 @@ -{ "translations": { - "Could not revert: %s" : "Konnte %s nicht zurücksetzen", - "Versions" : "Versionen", - "Failed to revert {file} to revision {timestamp}." : "Konnte {file} der Revision {timestamp} nicht rückgänging machen.", - "More versions..." : "Mehrere Versionen...", - "No other versions available" : "Keine anderen Versionen verfügbar", - "Restore" : "Wiederherstellen" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/ca@valencia.js b/apps/user_ldap/l10n/ca@valencia.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/ca@valencia.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/ca@valencia.json b/apps/user_ldap/l10n/ca@valencia.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/ca@valencia.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/de_CH.js b/apps/user_ldap/l10n/de_CH.js deleted file mode 100644 index 2145f0d05e..0000000000 --- a/apps/user_ldap/l10n/de_CH.js +++ /dev/null @@ -1,80 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "Failed to clear the mappings." : "Löschen der Zuordnung fehlgeschlagen.", - "Failed to delete the server configuration" : "Löschen der Serverkonfiguration fehlgeschlagen", - "The configuration is valid and the connection could be established!" : "Die Konfiguration ist gültig und die Verbindung konnte hergestellt werden!", - "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Die Konfiguration ist gültig aber die Verbindung ist fehlgeschlagen. Bitte überprüfen Sie die Servereinstellungen und die Anmeldeinformationen.", - "Deletion failed" : "Löschen fehlgeschlagen", - "Take over settings from recent server configuration?" : "Einstellungen von letzter Konfiguration übernehmen?", - "Keep settings?" : "Einstellungen beibehalten?", - "Cannot add server configuration" : "Das Hinzufügen der Serverkonfiguration schlug fehl", - "mappings cleared" : "Zuordnungen gelöscht", - "Success" : "Erfolg", - "Error" : "Fehler", - "Select groups" : "Wähle Gruppen", - "Connection test succeeded" : "Verbindungstest erfolgreich", - "Connection test failed" : "Verbindungstest fehlgeschlagen", - "Do you really want to delete the current Server Configuration?" : "Möchten Sie die aktuelle Serverkonfiguration wirklich löschen?", - "Confirm Deletion" : "Löschung bestätigen", - "Group Filter" : "Gruppen-Filter", - "Save" : "Speichern", - "Test Configuration" : "Testkonfiguration", - "Help" : "Hilfe", - "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Bestimmt den Filter, welcher bei einer Anmeldung angewandt wird. %%uid ersetzt den Benutzernamen bei der Anmeldung. Beispiel: \"uid=%%uid\"", - "Add Server Configuration" : "Serverkonfiguration hinzufügen", - "Host" : "Host", - "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Sie können das Protokoll auslassen, ausser wenn Sie SSL benötigen. Beginnen Sie dann mit ldaps://", - "Port" : "Port", - "User DN" : "Benutzer-DN", - "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Der DN des Benutzers für LDAP-Bind, z.B.: uid=agent,dc=example,dc=com. Für einen anonymen Zugriff lassen Sie DN und Passwort leer.", - "Password" : "Passwort", - "For anonymous access, leave DN and Password empty." : "Lassen Sie die Felder DN und Passwort für einen anonymen Zugang leer.", - "One Base DN per line" : "Ein Basis-DN pro Zeile", - "You can specify Base DN for users and groups in the Advanced tab" : "Sie können Basis-DN für Benutzer und Gruppen in dem «Erweitert»-Reiter konfigurieren", - "Advanced" : "Erweitert", - "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwarteten Verhalten kommen. Bitten Sie Ihren Systemadministator eine der beiden Anwendungen zu deaktivieren.", - "Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "Warnung: Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren.", - "Connection Settings" : "Verbindungseinstellungen", - "Configuration Active" : "Konfiguration aktiv", - "When unchecked, this configuration will be skipped." : "Wenn nicht angehakt, wird diese Konfiguration übersprungen.", - "Backup (Replica) Host" : "Backup Host (Kopie)", - "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Geben Sie einen optionalen Backup Host an. Es muss sich um eine Kopie des Haupt LDAP/AD Servers handeln.", - "Backup (Replica) Port" : "Backup Port", - "Disable Main Server" : "Hauptserver deaktivieren", - "Only connect to the replica server." : "Nur zum Replikat-Server verbinden.", - "Turn off SSL certificate validation." : "Schalten Sie die SSL-Zertifikatsprüfung aus.", - "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, importieren Sie das SSL-Zertifikat des LDAP-Servers in Ihren %s Server.", - "Cache Time-To-Live" : "Speichere Time-To-Live zwischen", - "in seconds. A change empties the cache." : "in Sekunden. Eine Änderung leert den Cache.", - "Directory Settings" : "Ordnereinstellungen", - "User Display Name Field" : "Feld für den Anzeigenamen des Benutzers", - "The LDAP attribute to use to generate the user's display name." : "Das LDAP-Attribut zur Generierung des Anzeigenamens des Benutzers.", - "Base User Tree" : "Basis-Benutzerbaum", - "One User Base DN per line" : "Ein Benutzer Basis-DN pro Zeile", - "User Search Attributes" : "Benutzersucheigenschaften", - "Optional; one attribute per line" : "Optional; ein Attribut pro Zeile", - "Group Display Name Field" : "Feld für den Anzeigenamen der Gruppe", - "The LDAP attribute to use to generate the groups's display name." : "Das LDAP-Attribut zur Generierung des Anzeigenamens der Gruppen.", - "Base Group Tree" : "Basis-Gruppenbaum", - "One Group Base DN per line" : "Ein Gruppen Basis-DN pro Zeile", - "Group Search Attributes" : "Gruppensucheigenschaften", - "Group-Member association" : "Assoziation zwischen Gruppe und Benutzer", - "Special Attributes" : "Spezielle Eigenschaften", - "Quota Field" : "Kontingent-Feld", - "Quota Default" : "Standard-Kontingent", - "in bytes" : "in Bytes", - "Email Field" : "E-Mail-Feld", - "User Home Folder Naming Rule" : "Benennungsregel für das Home-Verzeichnis des Benutzers", - "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Ohne Eingabe wird der Benutzername (Standard) verwendet. Anderenfalls tragen Sie bitte ein LDAP/AD-Attribut ein.", - "Internal Username" : "Interner Benutzername", - "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. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standardmässig wird der interne Benutzername mittels des UUID-Attributes erzeugt. Dies stellt sicher, dass der Benutzername einzigartig ist und keinerlei Zeichen konvertiert werden müssen. Der interne Benutzername unterliegt Beschränkungen, die nur die nachfolgenden Zeichen erlauben: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden mittels ihrer korrespondierenden Zeichen ersetzt oder einfach ausgelassen. Bei Kollisionen wird ein Zähler hinzugefügt bzw. der Zähler um einen Wert erhöht. Der interne Benutzername wird benutzt, um einen Benutzer intern zu identifizieren. Es ist ebenso der standardmässig vorausgewählte Namen des Heimatverzeichnisses. Es ist auch ein Teil der Remote-URLs - zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten überschrieben werden. Um ein ähnliches Verhalten wie vor ownCloud 5 zu erzielen, fügen Sie das anzuzeigende Attribut des Benutzernamens in das nachfolgende Feld ein. Lassen Sie dies hingegen für das Standardverhalten leer. Die Änderungen werden sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer auswirken.", - "Internal Username Attribute:" : "Interne Eigenschaften des Benutzers:", - "Override UUID detection" : "UUID-Erkennung überschreiben", - "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." : "Standardmässig wird die UUID-Eigenschaft automatisch erkannt. Die UUID-Eigenschaft wird genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Ausserdem wird der interne Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Sie müssen allerdings sicherstellen, dass Ihre gewählten Eigenschaften zur Identifikation der Benutzer und Gruppen eindeutig sind und zugeordnet werden können. Lassen Sie es frei, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer und -Gruppen aus.", - "Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung", - "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Die Benutzernamen werden genutzt, um (Meta)Daten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung (mappen) von Benutzernamen zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit dem LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen durch gefunden. Der interne Benutzername, wird in überall verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste zurück. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Löschen Sie niemals die Zuordnungen in einer produktiven Umgebung. Löschen Sie die Zuordnungen nur in einer Test- oder Experimentierumgebung.", - "Clear Username-LDAP User Mapping" : "Lösche LDAP-Benutzernamenzuordnung", - "Clear Groupname-LDAP Group Mapping" : "Lösche LDAP-Gruppennamenzuordnung" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/de_CH.json b/apps/user_ldap/l10n/de_CH.json deleted file mode 100644 index b68fa0b234..0000000000 --- a/apps/user_ldap/l10n/de_CH.json +++ /dev/null @@ -1,78 +0,0 @@ -{ "translations": { - "Failed to clear the mappings." : "Löschen der Zuordnung fehlgeschlagen.", - "Failed to delete the server configuration" : "Löschen der Serverkonfiguration fehlgeschlagen", - "The configuration is valid and the connection could be established!" : "Die Konfiguration ist gültig und die Verbindung konnte hergestellt werden!", - "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "Die Konfiguration ist gültig aber die Verbindung ist fehlgeschlagen. Bitte überprüfen Sie die Servereinstellungen und die Anmeldeinformationen.", - "Deletion failed" : "Löschen fehlgeschlagen", - "Take over settings from recent server configuration?" : "Einstellungen von letzter Konfiguration übernehmen?", - "Keep settings?" : "Einstellungen beibehalten?", - "Cannot add server configuration" : "Das Hinzufügen der Serverkonfiguration schlug fehl", - "mappings cleared" : "Zuordnungen gelöscht", - "Success" : "Erfolg", - "Error" : "Fehler", - "Select groups" : "Wähle Gruppen", - "Connection test succeeded" : "Verbindungstest erfolgreich", - "Connection test failed" : "Verbindungstest fehlgeschlagen", - "Do you really want to delete the current Server Configuration?" : "Möchten Sie die aktuelle Serverkonfiguration wirklich löschen?", - "Confirm Deletion" : "Löschung bestätigen", - "Group Filter" : "Gruppen-Filter", - "Save" : "Speichern", - "Test Configuration" : "Testkonfiguration", - "Help" : "Hilfe", - "Defines the filter to apply, when login is attempted. %%uid replaces the username in the login action. Example: \"uid=%%uid\"" : "Bestimmt den Filter, welcher bei einer Anmeldung angewandt wird. %%uid ersetzt den Benutzernamen bei der Anmeldung. Beispiel: \"uid=%%uid\"", - "Add Server Configuration" : "Serverkonfiguration hinzufügen", - "Host" : "Host", - "You can omit the protocol, except you require SSL. Then start with ldaps://" : "Sie können das Protokoll auslassen, ausser wenn Sie SSL benötigen. Beginnen Sie dann mit ldaps://", - "Port" : "Port", - "User DN" : "Benutzer-DN", - "The DN of the client user with which the bind shall be done, e.g. uid=agent,dc=example,dc=com. For anonymous access, leave DN and Password empty." : "Der DN des Benutzers für LDAP-Bind, z.B.: uid=agent,dc=example,dc=com. Für einen anonymen Zugriff lassen Sie DN und Passwort leer.", - "Password" : "Passwort", - "For anonymous access, leave DN and Password empty." : "Lassen Sie die Felder DN und Passwort für einen anonymen Zugang leer.", - "One Base DN per line" : "Ein Basis-DN pro Zeile", - "You can specify Base DN for users and groups in the Advanced tab" : "Sie können Basis-DN für Benutzer und Gruppen in dem «Erweitert»-Reiter konfigurieren", - "Advanced" : "Erweitert", - "Warning: Apps user_ldap and user_webdavauth are incompatible. You may experience unexpected behavior. Please ask your system administrator to disable one of them." : "Warnung: Die Anwendungen user_ldap und user_webdavauth sind inkompatibel. Es kann demzufolge zu unerwarteten Verhalten kommen. Bitten Sie Ihren Systemadministator eine der beiden Anwendungen zu deaktivieren.", - "Warning: The PHP LDAP module is not installed, the backend will not work. Please ask your system administrator to install it." : "Warnung: Da das PHP-Modul für LDAP nicht installiert ist, wird das Backend nicht funktionieren. Bitten Sie Ihren Systemadministrator das Modul zu installieren.", - "Connection Settings" : "Verbindungseinstellungen", - "Configuration Active" : "Konfiguration aktiv", - "When unchecked, this configuration will be skipped." : "Wenn nicht angehakt, wird diese Konfiguration übersprungen.", - "Backup (Replica) Host" : "Backup Host (Kopie)", - "Give an optional backup host. It must be a replica of the main LDAP/AD server." : "Geben Sie einen optionalen Backup Host an. Es muss sich um eine Kopie des Haupt LDAP/AD Servers handeln.", - "Backup (Replica) Port" : "Backup Port", - "Disable Main Server" : "Hauptserver deaktivieren", - "Only connect to the replica server." : "Nur zum Replikat-Server verbinden.", - "Turn off SSL certificate validation." : "Schalten Sie die SSL-Zertifikatsprüfung aus.", - "Not recommended, use it for testing only! If connection only works with this option, import the LDAP server's SSL certificate in your %s server." : "Nur für Testzwecke geeignet, sollte Standardmäßig nicht verwendet werden. Falls die Verbindung nur mit dieser Option funktioniert, importieren Sie das SSL-Zertifikat des LDAP-Servers in Ihren %s Server.", - "Cache Time-To-Live" : "Speichere Time-To-Live zwischen", - "in seconds. A change empties the cache." : "in Sekunden. Eine Änderung leert den Cache.", - "Directory Settings" : "Ordnereinstellungen", - "User Display Name Field" : "Feld für den Anzeigenamen des Benutzers", - "The LDAP attribute to use to generate the user's display name." : "Das LDAP-Attribut zur Generierung des Anzeigenamens des Benutzers.", - "Base User Tree" : "Basis-Benutzerbaum", - "One User Base DN per line" : "Ein Benutzer Basis-DN pro Zeile", - "User Search Attributes" : "Benutzersucheigenschaften", - "Optional; one attribute per line" : "Optional; ein Attribut pro Zeile", - "Group Display Name Field" : "Feld für den Anzeigenamen der Gruppe", - "The LDAP attribute to use to generate the groups's display name." : "Das LDAP-Attribut zur Generierung des Anzeigenamens der Gruppen.", - "Base Group Tree" : "Basis-Gruppenbaum", - "One Group Base DN per line" : "Ein Gruppen Basis-DN pro Zeile", - "Group Search Attributes" : "Gruppensucheigenschaften", - "Group-Member association" : "Assoziation zwischen Gruppe und Benutzer", - "Special Attributes" : "Spezielle Eigenschaften", - "Quota Field" : "Kontingent-Feld", - "Quota Default" : "Standard-Kontingent", - "in bytes" : "in Bytes", - "Email Field" : "E-Mail-Feld", - "User Home Folder Naming Rule" : "Benennungsregel für das Home-Verzeichnis des Benutzers", - "Leave empty for user name (default). Otherwise, specify an LDAP/AD attribute." : "Ohne Eingabe wird der Benutzername (Standard) verwendet. Anderenfalls tragen Sie bitte ein LDAP/AD-Attribut ein.", - "Internal Username" : "Interner Benutzername", - "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. To achieve a similar behavior as before ownCloud 5 enter the user display name attribute in the following field. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users." : "Standardmässig wird der interne Benutzername mittels des UUID-Attributes erzeugt. Dies stellt sicher, dass der Benutzername einzigartig ist und keinerlei Zeichen konvertiert werden müssen. Der interne Benutzername unterliegt Beschränkungen, die nur die nachfolgenden Zeichen erlauben: [ a-zA-Z0-9_.@- ]. Andere Zeichen werden mittels ihrer korrespondierenden Zeichen ersetzt oder einfach ausgelassen. Bei Kollisionen wird ein Zähler hinzugefügt bzw. der Zähler um einen Wert erhöht. Der interne Benutzername wird benutzt, um einen Benutzer intern zu identifizieren. Es ist ebenso der standardmässig vorausgewählte Namen des Heimatverzeichnisses. Es ist auch ein Teil der Remote-URLs - zum Beispiel für alle *DAV-Dienste. Mit dieser Einstellung kann das Standardverhalten überschrieben werden. Um ein ähnliches Verhalten wie vor ownCloud 5 zu erzielen, fügen Sie das anzuzeigende Attribut des Benutzernamens in das nachfolgende Feld ein. Lassen Sie dies hingegen für das Standardverhalten leer. Die Änderungen werden sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer auswirken.", - "Internal Username Attribute:" : "Interne Eigenschaften des Benutzers:", - "Override UUID detection" : "UUID-Erkennung überschreiben", - "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." : "Standardmässig wird die UUID-Eigenschaft automatisch erkannt. Die UUID-Eigenschaft wird genutzt, um einen LDAP-Benutzer und Gruppen einwandfrei zu identifizieren. Ausserdem wird der interne Benutzername erzeugt, der auf Eigenschaften der UUID basiert, wenn es oben nicht anders angegeben wurde. Sie müssen allerdings sicherstellen, dass Ihre gewählten Eigenschaften zur Identifikation der Benutzer und Gruppen eindeutig sind und zugeordnet werden können. Lassen Sie es frei, um es beim Standardverhalten zu belassen. Änderungen wirken sich nur auf neu gemappte (hinzugefügte) LDAP-Benutzer und -Gruppen aus.", - "Username-LDAP User Mapping" : "LDAP-Benutzernamenzuordnung", - "Usernames are used to store and assign (meta) data. In order to precisely identify and recognize users, each LDAP user will have a internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Die Benutzernamen werden genutzt, um (Meta)Daten zuzuordnen und zu speichern. Um Benutzer eindeutig und präzise zu identifizieren, hat jeder LDAP-Benutzer einen internen Benutzernamen. Dies erfordert eine Zuordnung (mappen) von Benutzernamen zum LDAP-Benutzer. Der erstellte Benutzername wird der UUID des LDAP-Benutzernamens zugeordnet. Zusätzlich wird der DN zwischengespeichert, um die Interaktion mit dem LDAP zu minimieren, was aber nicht der Identifikation dient. Ändert sich der DN, werden die Änderungen durch gefunden. Der interne Benutzername, wird in überall verwendet. Werden die Zuordnungen gelöscht, bleiben überall Reste zurück. Die Löschung der Zuordnungen kann nicht in der Konfiguration vorgenommen werden, beeinflusst aber die LDAP-Konfiguration! Löschen Sie niemals die Zuordnungen in einer produktiven Umgebung. Löschen Sie die Zuordnungen nur in einer Test- oder Experimentierumgebung.", - "Clear Username-LDAP User Mapping" : "Lösche LDAP-Benutzernamenzuordnung", - "Clear Groupname-LDAP Group Mapping" : "Lösche LDAP-Gruppennamenzuordnung" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/en_NZ.js b/apps/user_ldap/l10n/en_NZ.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/en_NZ.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/en_NZ.json b/apps/user_ldap/l10n/en_NZ.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/en_NZ.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/es_BO.js b/apps/user_ldap/l10n/es_BO.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/es_BO.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/es_BO.json b/apps/user_ldap/l10n/es_BO.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/es_BO.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/es_CO.js b/apps/user_ldap/l10n/es_CO.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/es_CO.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/es_CO.json b/apps/user_ldap/l10n/es_CO.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/es_CO.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/es_CR.js b/apps/user_ldap/l10n/es_CR.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/es_CR.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/es_CR.json b/apps/user_ldap/l10n/es_CR.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/es_CR.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/es_EC.js b/apps/user_ldap/l10n/es_EC.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/es_EC.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/es_EC.json b/apps/user_ldap/l10n/es_EC.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/es_EC.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/es_PE.js b/apps/user_ldap/l10n/es_PE.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/es_PE.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/es_PE.json b/apps/user_ldap/l10n/es_PE.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/es_PE.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/es_PY.js b/apps/user_ldap/l10n/es_PY.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/es_PY.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/es_PY.json b/apps/user_ldap/l10n/es_PY.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/es_PY.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/es_US.js b/apps/user_ldap/l10n/es_US.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/es_US.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/es_US.json b/apps/user_ldap/l10n/es_US.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/es_US.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/es_UY.js b/apps/user_ldap/l10n/es_UY.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/es_UY.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/es_UY.json b/apps/user_ldap/l10n/es_UY.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/es_UY.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/eu_ES.js b/apps/user_ldap/l10n/eu_ES.js deleted file mode 100644 index e2907d4495..0000000000 --- a/apps/user_ldap/l10n/eu_ES.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "Save" : "Gorde" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/eu_ES.json b/apps/user_ldap/l10n/eu_ES.json deleted file mode 100644 index 7a78f4bece..0000000000 --- a/apps/user_ldap/l10n/eu_ES.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Save" : "Gorde" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/fi.js b/apps/user_ldap/l10n/fi.js deleted file mode 100644 index 7e8944002b..0000000000 --- a/apps/user_ldap/l10n/fi.js +++ /dev/null @@ -1,11 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "Error" : "Virhe", - "Server" : "Palvelin", - "Save" : "Tallenna", - "Help" : "Apua", - "Password" : "Salasana", - "Back" : "Takaisin" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/fi.json b/apps/user_ldap/l10n/fi.json deleted file mode 100644 index 7b82cac2bd..0000000000 --- a/apps/user_ldap/l10n/fi.json +++ /dev/null @@ -1,9 +0,0 @@ -{ "translations": { - "Error" : "Virhe", - "Server" : "Palvelin", - "Save" : "Tallenna", - "Help" : "Apua", - "Password" : "Salasana", - "Back" : "Takaisin" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/fr_CA.js b/apps/user_ldap/l10n/fr_CA.js deleted file mode 100644 index 95c97db2f9..0000000000 --- a/apps/user_ldap/l10n/fr_CA.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n > 1);"); diff --git a/apps/user_ldap/l10n/fr_CA.json b/apps/user_ldap/l10n/fr_CA.json deleted file mode 100644 index 8e0cd6f678..0000000000 --- a/apps/user_ldap/l10n/fr_CA.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n > 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/hi_IN.js b/apps/user_ldap/l10n/hi_IN.js deleted file mode 100644 index 37042a4f41..0000000000 --- a/apps/user_ldap/l10n/hi_IN.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/hi_IN.json b/apps/user_ldap/l10n/hi_IN.json deleted file mode 100644 index 521de7ba1a..0000000000 --- a/apps/user_ldap/l10n/hi_IN.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "_%s group found_::_%s groups found_" : ["",""], - "_%s user found_::_%s users found_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/sk.js b/apps/user_ldap/l10n/sk.js deleted file mode 100644 index 33b6d85e73..0000000000 --- a/apps/user_ldap/l10n/sk.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "Save" : "Uložiť", - "Advanced" : "Pokročilé" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/user_ldap/l10n/sk.json b/apps/user_ldap/l10n/sk.json deleted file mode 100644 index 52c7f32624..0000000000 --- a/apps/user_ldap/l10n/sk.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "Save" : "Uložiť", - "Advanced" : "Pokročilé" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/apps/user_ldap/l10n/ur.js b/apps/user_ldap/l10n/ur.js deleted file mode 100644 index 7dfbc33c3e..0000000000 --- a/apps/user_ldap/l10n/ur.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "user_ldap", - { - "Error" : "خرابی" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_ldap/l10n/ur.json b/apps/user_ldap/l10n/ur.json deleted file mode 100644 index 1c1fc3d16c..0000000000 --- a/apps/user_ldap/l10n/ur.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Error" : "خرابی" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_webdavauth/l10n/de_CH.js b/apps/user_webdavauth/l10n/de_CH.js deleted file mode 100644 index 84bcb9d4ef..0000000000 --- a/apps/user_webdavauth/l10n/de_CH.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "user_webdavauth", - { - "WebDAV Authentication" : "WebDAV-Authentifizierung", - "Save" : "Speichern", - "The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." : "Die Benutzerdaten werden an diese Adresse gesendet. Dieses Plugin prüft die Antwort und wird die HTTP-Statuscodes 401 und 403 als ungültige Daten interpretieren und alle anderen Antworten als gültige Daten." -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_webdavauth/l10n/de_CH.json b/apps/user_webdavauth/l10n/de_CH.json deleted file mode 100644 index 1c47d57a34..0000000000 --- a/apps/user_webdavauth/l10n/de_CH.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "WebDAV Authentication" : "WebDAV-Authentifizierung", - "Save" : "Speichern", - "The user credentials will be sent to this address. This plugin checks the response and will interpret the HTTP statuscodes 401 and 403 as invalid credentials, and all other responses as valid credentials." : "Die Benutzerdaten werden an diese Adresse gesendet. Dieses Plugin prüft die Antwort und wird die HTTP-Statuscodes 401 und 403 als ungültige Daten interpretieren und alle anderen Antworten als gültige Daten." -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_webdavauth/l10n/eu_ES.js b/apps/user_webdavauth/l10n/eu_ES.js deleted file mode 100644 index 68ab406f83..0000000000 --- a/apps/user_webdavauth/l10n/eu_ES.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "user_webdavauth", - { - "Save" : "Gorde" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_webdavauth/l10n/eu_ES.json b/apps/user_webdavauth/l10n/eu_ES.json deleted file mode 100644 index 7a78f4bece..0000000000 --- a/apps/user_webdavauth/l10n/eu_ES.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Save" : "Gorde" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_webdavauth/l10n/fi.js b/apps/user_webdavauth/l10n/fi.js deleted file mode 100644 index 09bd8e55e7..0000000000 --- a/apps/user_webdavauth/l10n/fi.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "user_webdavauth", - { - "Save" : "Tallenna" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/user_webdavauth/l10n/fi.json b/apps/user_webdavauth/l10n/fi.json deleted file mode 100644 index f4a8647859..0000000000 --- a/apps/user_webdavauth/l10n/fi.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Save" : "Tallenna" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/apps/user_webdavauth/l10n/sk.js b/apps/user_webdavauth/l10n/sk.js deleted file mode 100644 index 299b57be67..0000000000 --- a/apps/user_webdavauth/l10n/sk.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "user_webdavauth", - { - "Save" : "Uložiť" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/apps/user_webdavauth/l10n/sk.json b/apps/user_webdavauth/l10n/sk.json deleted file mode 100644 index 48cd128194..0000000000 --- a/apps/user_webdavauth/l10n/sk.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Save" : "Uložiť" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/core/l10n/ca@valencia.js b/core/l10n/ca@valencia.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/ca@valencia.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/ca@valencia.json b/core/l10n/ca@valencia.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/ca@valencia.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/de_CH.js b/core/l10n/de_CH.js deleted file mode 100644 index a95205b439..0000000000 --- a/core/l10n/de_CH.js +++ /dev/null @@ -1,105 +0,0 @@ -OC.L10N.register( - "core", - { - "Turned on maintenance mode" : "Wartungsmodus eingeschaltet", - "Turned off maintenance mode" : "Wartungsmodus ausgeschaltet", - "Updated database" : "Datenbank aktualisiert", - "Sunday" : "Sonntag", - "Monday" : "Montag", - "Tuesday" : "Dienstag", - "Wednesday" : "Mittwoch", - "Thursday" : "Donnerstag", - "Friday" : "Freitag", - "Saturday" : "Samstag", - "January" : "Januar", - "February" : "Februar", - "March" : "März", - "April" : "April", - "May" : "Mai", - "June" : "Juni", - "July" : "Juli", - "August" : "August", - "September" : "September", - "October" : "Oktober", - "November" : "November", - "December" : "Dezember", - "Settings" : "Einstellungen", - "Saving..." : "Speichern...", - "Reset password" : "Passwort zurücksetzen", - "No" : "Nein", - "Yes" : "Ja", - "Choose" : "Auswählen", - "Ok" : "OK", - "New Files" : "Neue Dateien", - "Cancel" : "Abbrechen", - "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." : "Ihr Web-Server ist noch nicht für eine Datei-Synchronisation konfiguriert, weil die WebDAV-Schnittstelle vermutlich defekt ist.", - "This server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features." : "Dieser Server hat keine funktionierende Internetverbindung. Dies bedeutet das einige Funktionen wie z.B. das Einbinden von externen Speichern, Update-Benachrichtigungen oder die Installation von Drittanbieter-Apps nicht funktionieren. Der Fernzugriff auf Dateien und das Senden von Benachrichtigungsmails funktioniert eventuell ebenfalls nicht. Wir empfehlen die Internetverbindung für diesen Server zu aktivieren wenn Sie alle Funktionen nutzen wollen.", - "Shared" : "Geteilt", - "Share" : "Teilen", - "Error" : "Fehler", - "Error while sharing" : "Fehler beim Teilen", - "Error while unsharing" : "Fehler beim Aufheben der Freigabe", - "Error while changing permissions" : "Fehler bei der Änderung der Rechte", - "Shared with you and the group {group} by {owner}" : "Von {owner} mit Ihnen und der Gruppe {group} geteilt.", - "Shared with you by {owner}" : "Von {owner} mit Ihnen geteilt.", - "Password protect" : "Passwortschutz", - "Allow Public Upload" : "Öffentliches Hochladen erlauben", - "Email link to person" : "Link per E-Mail verschicken", - "Send" : "Senden", - "Set expiration date" : "Ein Ablaufdatum setzen", - "Expiration date" : "Ablaufdatum", - "group" : "Gruppe", - "Resharing is not allowed" : "Das Weiterverteilen ist nicht erlaubt", - "Shared in {item} with {user}" : "Freigegeben in {item} von {user}", - "Unshare" : "Freigabe aufheben", - "can edit" : "kann bearbeiten", - "access control" : "Zugriffskontrolle", - "create" : "erstellen", - "update" : "aktualisieren", - "delete" : "löschen", - "Password protected" : "Passwortgeschützt", - "Error unsetting expiration date" : "Fehler beim Entfernen des Ablaufdatums", - "Error setting expiration date" : "Fehler beim Setzen des Ablaufdatums", - "Sending ..." : "Sende ...", - "Email sent" : "Email gesendet", - "Warning" : "Warnung", - "The object type is not specified." : "Der Objekttyp ist nicht angegeben.", - "Delete" : "Löschen", - "Add" : "Hinzufügen", - "The update was successful. Redirecting you to ownCloud now." : "Das Update war erfolgreich. Sie werden nun zu ownCloud weitergeleitet.", - "%s password reset" : "%s-Passwort zurücksetzen", - "Use the following link to reset your password: {link}" : "Nutzen Sie den nachfolgenden Link, um Ihr Passwort zurückzusetzen: {link}", - "You will receive a link to reset your password via Email." : "Sie erhalten einen Link per E-Mail, um Ihr Passwort zurückzusetzen.", - "Username" : "Benutzername", - "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?" : "Ihre Dateien sind verschlüsselt. Wenn Sie den Wiederherstellungsschlüssel nicht aktiviert haben, wird es keine Möglichkeit geben, um Ihre Daten wiederzubekommen, nachdem Ihr Passwort zurückgesetzt wurde. Wenn Sie sich nicht sicher sind, was Sie tun sollen, wenden Sie sich bitte an Ihren Administrator, bevor Sie fortfahren. Wollen Sie wirklich fortfahren?", - "Yes, I really want to reset my password now" : "Ja, ich möchte jetzt mein Passwort wirklich zurücksetzen.", - "Reset" : "Zurücksetzen", - "New password" : "Neues Passwort", - "Personal" : "Persönlich", - "Users" : "Benutzer", - "Apps" : "Apps", - "Admin" : "Administrator", - "Help" : "Hilfe", - "Access forbidden" : "Zugriff verboten", - "Security Warning" : "Sicherheitshinweis", - "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Ihre PHP Version ist durch die NULL Byte Attacke (CVE-2006-7243) angreifbar", - "Please update your PHP installation to use %s securely." : "Bitte aktualisieren Sie Ihre PHP-Installation um %s sicher nutzen zu können.", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar, weil die .htaccess-Datei nicht funktioniert.", - "For information how to properly configure your server, please see the documentation." : "Für Informationen, wie Sie Ihren Server richtig konfigurieren lesen Sie bitte die Dokumentation.", - "Create an admin account" : "Administrator-Konto anlegen", - "Password" : "Passwort", - "Data folder" : "Datenverzeichnis", - "Configure the database" : "Datenbank einrichten", - "Database user" : "Datenbank-Benutzer", - "Database password" : "Datenbank-Passwort", - "Database name" : "Datenbank-Name", - "Database tablespace" : "Datenbank-Tablespace", - "Database host" : "Datenbank-Host", - "Finish setup" : "Installation abschliessen", - "%s is available. Get more information on how to update." : "%s ist verfügbar. Holen Sie weitere Informationen zu Aktualisierungen ein.", - "Log out" : "Abmelden", - "remember" : "merken", - "Log in" : "Einloggen", - "Alternative Logins" : "Alternative Logins" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/de_CH.json b/core/l10n/de_CH.json deleted file mode 100644 index 8d84ade00c..0000000000 --- a/core/l10n/de_CH.json +++ /dev/null @@ -1,103 +0,0 @@ -{ "translations": { - "Turned on maintenance mode" : "Wartungsmodus eingeschaltet", - "Turned off maintenance mode" : "Wartungsmodus ausgeschaltet", - "Updated database" : "Datenbank aktualisiert", - "Sunday" : "Sonntag", - "Monday" : "Montag", - "Tuesday" : "Dienstag", - "Wednesday" : "Mittwoch", - "Thursday" : "Donnerstag", - "Friday" : "Freitag", - "Saturday" : "Samstag", - "January" : "Januar", - "February" : "Februar", - "March" : "März", - "April" : "April", - "May" : "Mai", - "June" : "Juni", - "July" : "Juli", - "August" : "August", - "September" : "September", - "October" : "Oktober", - "November" : "November", - "December" : "Dezember", - "Settings" : "Einstellungen", - "Saving..." : "Speichern...", - "Reset password" : "Passwort zurücksetzen", - "No" : "Nein", - "Yes" : "Ja", - "Choose" : "Auswählen", - "Ok" : "OK", - "New Files" : "Neue Dateien", - "Cancel" : "Abbrechen", - "Your web server is not yet properly setup to allow files synchronization because the WebDAV interface seems to be broken." : "Ihr Web-Server ist noch nicht für eine Datei-Synchronisation konfiguriert, weil die WebDAV-Schnittstelle vermutlich defekt ist.", - "This server has no working internet connection. This means that some of the features like mounting of external storage, notifications about updates or installation of 3rd party apps don´t work. Accessing files from remote and sending of notification emails might also not work. We suggest to enable internet connection for this server if you want to have all features." : "Dieser Server hat keine funktionierende Internetverbindung. Dies bedeutet das einige Funktionen wie z.B. das Einbinden von externen Speichern, Update-Benachrichtigungen oder die Installation von Drittanbieter-Apps nicht funktionieren. Der Fernzugriff auf Dateien und das Senden von Benachrichtigungsmails funktioniert eventuell ebenfalls nicht. Wir empfehlen die Internetverbindung für diesen Server zu aktivieren wenn Sie alle Funktionen nutzen wollen.", - "Shared" : "Geteilt", - "Share" : "Teilen", - "Error" : "Fehler", - "Error while sharing" : "Fehler beim Teilen", - "Error while unsharing" : "Fehler beim Aufheben der Freigabe", - "Error while changing permissions" : "Fehler bei der Änderung der Rechte", - "Shared with you and the group {group} by {owner}" : "Von {owner} mit Ihnen und der Gruppe {group} geteilt.", - "Shared with you by {owner}" : "Von {owner} mit Ihnen geteilt.", - "Password protect" : "Passwortschutz", - "Allow Public Upload" : "Öffentliches Hochladen erlauben", - "Email link to person" : "Link per E-Mail verschicken", - "Send" : "Senden", - "Set expiration date" : "Ein Ablaufdatum setzen", - "Expiration date" : "Ablaufdatum", - "group" : "Gruppe", - "Resharing is not allowed" : "Das Weiterverteilen ist nicht erlaubt", - "Shared in {item} with {user}" : "Freigegeben in {item} von {user}", - "Unshare" : "Freigabe aufheben", - "can edit" : "kann bearbeiten", - "access control" : "Zugriffskontrolle", - "create" : "erstellen", - "update" : "aktualisieren", - "delete" : "löschen", - "Password protected" : "Passwortgeschützt", - "Error unsetting expiration date" : "Fehler beim Entfernen des Ablaufdatums", - "Error setting expiration date" : "Fehler beim Setzen des Ablaufdatums", - "Sending ..." : "Sende ...", - "Email sent" : "Email gesendet", - "Warning" : "Warnung", - "The object type is not specified." : "Der Objekttyp ist nicht angegeben.", - "Delete" : "Löschen", - "Add" : "Hinzufügen", - "The update was successful. Redirecting you to ownCloud now." : "Das Update war erfolgreich. Sie werden nun zu ownCloud weitergeleitet.", - "%s password reset" : "%s-Passwort zurücksetzen", - "Use the following link to reset your password: {link}" : "Nutzen Sie den nachfolgenden Link, um Ihr Passwort zurückzusetzen: {link}", - "You will receive a link to reset your password via Email." : "Sie erhalten einen Link per E-Mail, um Ihr Passwort zurückzusetzen.", - "Username" : "Benutzername", - "Your files are encrypted. If you haven't enabled the recovery key, there will be no way to get your data back after your password is reset. If you are not sure what to do, please contact your administrator before you continue. Do you really want to continue?" : "Ihre Dateien sind verschlüsselt. Wenn Sie den Wiederherstellungsschlüssel nicht aktiviert haben, wird es keine Möglichkeit geben, um Ihre Daten wiederzubekommen, nachdem Ihr Passwort zurückgesetzt wurde. Wenn Sie sich nicht sicher sind, was Sie tun sollen, wenden Sie sich bitte an Ihren Administrator, bevor Sie fortfahren. Wollen Sie wirklich fortfahren?", - "Yes, I really want to reset my password now" : "Ja, ich möchte jetzt mein Passwort wirklich zurücksetzen.", - "Reset" : "Zurücksetzen", - "New password" : "Neues Passwort", - "Personal" : "Persönlich", - "Users" : "Benutzer", - "Apps" : "Apps", - "Admin" : "Administrator", - "Help" : "Hilfe", - "Access forbidden" : "Zugriff verboten", - "Security Warning" : "Sicherheitshinweis", - "Your PHP version is vulnerable to the NULL Byte attack (CVE-2006-7243)" : "Ihre PHP Version ist durch die NULL Byte Attacke (CVE-2006-7243) angreifbar", - "Please update your PHP installation to use %s securely." : "Bitte aktualisieren Sie Ihre PHP-Installation um %s sicher nutzen zu können.", - "Your data directory and files are probably accessible from the internet because the .htaccess file does not work." : "Ihr Datenverzeichnis und Ihre Dateien sind wahrscheinlich vom Internet aus erreichbar, weil die .htaccess-Datei nicht funktioniert.", - "For information how to properly configure your server, please see the documentation." : "Für Informationen, wie Sie Ihren Server richtig konfigurieren lesen Sie bitte die Dokumentation.", - "Create an admin account" : "Administrator-Konto anlegen", - "Password" : "Passwort", - "Data folder" : "Datenverzeichnis", - "Configure the database" : "Datenbank einrichten", - "Database user" : "Datenbank-Benutzer", - "Database password" : "Datenbank-Passwort", - "Database name" : "Datenbank-Name", - "Database tablespace" : "Datenbank-Tablespace", - "Database host" : "Datenbank-Host", - "Finish setup" : "Installation abschliessen", - "%s is available. Get more information on how to update." : "%s ist verfügbar. Holen Sie weitere Informationen zu Aktualisierungen ein.", - "Log out" : "Abmelden", - "remember" : "merken", - "Log in" : "Einloggen", - "Alternative Logins" : "Alternative Logins" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/en_NZ.js b/core/l10n/en_NZ.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/en_NZ.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/en_NZ.json b/core/l10n/en_NZ.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/en_NZ.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/es_BO.js b/core/l10n/es_BO.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/es_BO.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_BO.json b/core/l10n/es_BO.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/es_BO.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/es_CO.js b/core/l10n/es_CO.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/es_CO.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_CO.json b/core/l10n/es_CO.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/es_CO.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/es_CR.js b/core/l10n/es_CR.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/es_CR.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_CR.json b/core/l10n/es_CR.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/es_CR.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/es_EC.js b/core/l10n/es_EC.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/es_EC.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_EC.json b/core/l10n/es_EC.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/es_EC.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/es_PE.js b/core/l10n/es_PE.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/es_PE.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_PE.json b/core/l10n/es_PE.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/es_PE.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/es_PY.js b/core/l10n/es_PY.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/es_PY.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_PY.json b/core/l10n/es_PY.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/es_PY.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/es_US.js b/core/l10n/es_US.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/es_US.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_US.json b/core/l10n/es_US.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/es_US.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/es_UY.js b/core/l10n/es_UY.js deleted file mode 100644 index 4cb36aaaaa..0000000000 --- a/core/l10n/es_UY.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/es_UY.json b/core/l10n/es_UY.json deleted file mode 100644 index 43fce52c5c..0000000000 --- a/core/l10n/es_UY.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/eu_ES.js b/core/l10n/eu_ES.js deleted file mode 100644 index 847f4cc5da..0000000000 --- a/core/l10n/eu_ES.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "Cancel" : "Ezeztatu", - "Delete" : "Ezabatu", - "Personal" : "Pertsonala" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/eu_ES.json b/core/l10n/eu_ES.json deleted file mode 100644 index 0f7c86a7b9..0000000000 --- a/core/l10n/eu_ES.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "Cancel" : "Ezeztatu", - "Delete" : "Ezabatu", - "Personal" : "Pertsonala" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/fi.js b/core/l10n/fi.js deleted file mode 100644 index 84301350b9..0000000000 --- a/core/l10n/fi.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "core", - { - "Settings" : "Asetukset", - "No" : "EI", - "Yes" : "KYLLÄ", - "Choose" : "Valitse", - "Cancel" : "Peruuta", - "Error" : "Virhe", - "Share link" : "Jaa linkki", - "Password" : "Salasana", - "Delete" : "Poista", - "Add" : "Lisää", - "Help" : "Apua", - "Username" : "Käyttäjätunnus", - "Log in" : "Kirjaudu sisään" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/fi.json b/core/l10n/fi.json deleted file mode 100644 index d9a8d572f5..0000000000 --- a/core/l10n/fi.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "Settings" : "Asetukset", - "No" : "EI", - "Yes" : "KYLLÄ", - "Choose" : "Valitse", - "Cancel" : "Peruuta", - "Error" : "Virhe", - "Share link" : "Jaa linkki", - "Password" : "Salasana", - "Delete" : "Poista", - "Add" : "Lisää", - "Help" : "Apua", - "Username" : "Käyttäjätunnus", - "Log in" : "Kirjaudu sisään" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/fr_CA.js b/core/l10n/fr_CA.js deleted file mode 100644 index 572404948e..0000000000 --- a/core/l10n/fr_CA.js +++ /dev/null @@ -1,8 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -}, -"nplurals=2; plural=(n > 1);"); diff --git a/core/l10n/fr_CA.json b/core/l10n/fr_CA.json deleted file mode 100644 index b43ffe08ed..0000000000 --- a/core/l10n/fr_CA.json +++ /dev/null @@ -1,6 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""], - "_download %n file_::_download %n files_" : ["",""], - "_{count} search result in other places_::_{count} search results in other places_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n > 1);" -} \ No newline at end of file diff --git a/core/l10n/hi_IN.js b/core/l10n/hi_IN.js deleted file mode 100644 index c483b4ab65..0000000000 --- a/core/l10n/hi_IN.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "core", - { - "_{count} file conflict_::_{count} file conflicts_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/hi_IN.json b/core/l10n/hi_IN.json deleted file mode 100644 index 52ecaf565a..0000000000 --- a/core/l10n/hi_IN.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "_{count} file conflict_::_{count} file conflicts_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/core/l10n/ignorelist b/core/l10n/ignorelist deleted file mode 100644 index a2b225cbe4..0000000000 --- a/core/l10n/ignorelist +++ /dev/null @@ -1 +0,0 @@ -js/jquery-ui-1.8.16.custom.min.js diff --git a/core/l10n/sk.js b/core/l10n/sk.js deleted file mode 100644 index 6d446d1909..0000000000 --- a/core/l10n/sk.js +++ /dev/null @@ -1,30 +0,0 @@ -OC.L10N.register( - "core", - { - "Sunday" : "Nedeľa", - "Monday" : "Pondelok", - "Tuesday" : "Utorok", - "Wednesday" : "Streda", - "Thursday" : "Štvrtok", - "Friday" : "Piatok", - "Saturday" : "Sobota", - "January" : "Január", - "February" : "Február", - "March" : "Marec", - "April" : "Apríl", - "May" : "Máj", - "June" : "Jún", - "July" : "Júl", - "August" : "August", - "September" : "September", - "October" : "Október", - "November" : "November", - "December" : "December", - "Settings" : "Nastavenia", - "Cancel" : "Zrušiť", - "Share" : "Zdieľať", - "group" : "skupina", - "Delete" : "Odstrániť", - "Personal" : "Osobné" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/core/l10n/sk.json b/core/l10n/sk.json deleted file mode 100644 index 05064303da..0000000000 --- a/core/l10n/sk.json +++ /dev/null @@ -1,28 +0,0 @@ -{ "translations": { - "Sunday" : "Nedeľa", - "Monday" : "Pondelok", - "Tuesday" : "Utorok", - "Wednesday" : "Streda", - "Thursday" : "Štvrtok", - "Friday" : "Piatok", - "Saturday" : "Sobota", - "January" : "Január", - "February" : "Február", - "March" : "Marec", - "April" : "Apríl", - "May" : "Máj", - "June" : "Jún", - "July" : "Júl", - "August" : "August", - "September" : "September", - "October" : "Október", - "November" : "November", - "December" : "December", - "Settings" : "Nastavenia", - "Cancel" : "Zrušiť", - "Share" : "Zdieľať", - "group" : "skupina", - "Delete" : "Odstrániť", - "Personal" : "Osobné" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/core/l10n/ur.js b/core/l10n/ur.js deleted file mode 100644 index 442326e9ad..0000000000 --- a/core/l10n/ur.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "core", - { - "Error" : "خرابی" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/ur.json b/core/l10n/ur.json deleted file mode 100644 index 1c1fc3d16c..0000000000 --- a/core/l10n/ur.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Error" : "خرابی" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/ca@valencia.js b/lib/l10n/ca@valencia.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/ca@valencia.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/ca@valencia.json b/lib/l10n/ca@valencia.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/ca@valencia.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/de_CH.js b/lib/l10n/de_CH.js deleted file mode 100644 index d0d4be0f4e..0000000000 --- a/lib/l10n/de_CH.js +++ /dev/null @@ -1,40 +0,0 @@ -OC.L10N.register( - "lib", - { - "Help" : "Hilfe", - "Personal" : "Persönlich", - "Settings" : "Einstellungen", - "Users" : "Benutzer", - "Admin" : "Administrator", - "No app name specified" : "Kein App-Name spezifiziert", - "web services under your control" : "Web-Services unter Ihrer Kontrolle", - "App directory already exists" : "Anwendungsverzeichnis existiert bereits", - "App can't be installed because of not allowed code in the App" : "Anwendung kann wegen nicht erlaubten Codes nicht installiert werden", - "Application is not enabled" : "Die Anwendung ist nicht aktiviert", - "Authentication error" : "Authentifizierungs-Fehler", - "Token expired. Please reload page." : "Token abgelaufen. Bitte laden Sie die Seite neu.", - "%s enter the database username." : "%s geben Sie den Datenbank-Benutzernamen an.", - "%s enter the database name." : "%s geben Sie den Datenbank-Namen an.", - "%s you may not use dots in the database name" : "%s Der Datenbank-Name darf keine Punkte enthalten", - "MS SQL username and/or password not valid: %s" : "MS SQL Benutzername und/oder Passwort ungültig: %s", - "You need to enter either an existing account or the administrator." : "Sie müssen entweder ein existierendes Benutzerkonto oder das Administratoren-Konto angeben.", - "DB Error: \"%s\"" : "DB Fehler: \"%s\"", - "Offending command was: \"%s\"" : "Fehlerhafter Befehl war: \"%s\"", - "Oracle connection could not be established" : "Die Oracle-Verbindung konnte nicht aufgebaut werden.", - "Oracle username and/or password not valid" : "Oracle Benutzername und/oder Passwort ungültig", - "Offending command was: \"%s\", name: %s, password: %s" : "Fehlerhafter Befehl war: \"%s\", Name: %s, Passwort: %s", - "PostgreSQL username and/or password not valid" : "PostgreSQL Benutzername und/oder Passwort ungültig", - "Set an admin username." : "Setze Administrator Benutzername.", - "Set an admin password." : "Setze Administrator Passwort", - "%s shared »%s« with you" : "%s teilt »%s« mit Ihnen", - "Could not find category \"%s\"" : "Die Kategorie «%s» konnte nicht gefunden werden.", - "seconds ago" : "Gerade eben", - "today" : "Heute", - "yesterday" : "Gestern", - "last month" : "Letzten Monat", - "last year" : "Letztes Jahr", - "years ago" : "Vor Jahren", - "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", - "A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/de_CH.json b/lib/l10n/de_CH.json deleted file mode 100644 index 26ab7e1b20..0000000000 --- a/lib/l10n/de_CH.json +++ /dev/null @@ -1,38 +0,0 @@ -{ "translations": { - "Help" : "Hilfe", - "Personal" : "Persönlich", - "Settings" : "Einstellungen", - "Users" : "Benutzer", - "Admin" : "Administrator", - "No app name specified" : "Kein App-Name spezifiziert", - "web services under your control" : "Web-Services unter Ihrer Kontrolle", - "App directory already exists" : "Anwendungsverzeichnis existiert bereits", - "App can't be installed because of not allowed code in the App" : "Anwendung kann wegen nicht erlaubten Codes nicht installiert werden", - "Application is not enabled" : "Die Anwendung ist nicht aktiviert", - "Authentication error" : "Authentifizierungs-Fehler", - "Token expired. Please reload page." : "Token abgelaufen. Bitte laden Sie die Seite neu.", - "%s enter the database username." : "%s geben Sie den Datenbank-Benutzernamen an.", - "%s enter the database name." : "%s geben Sie den Datenbank-Namen an.", - "%s you may not use dots in the database name" : "%s Der Datenbank-Name darf keine Punkte enthalten", - "MS SQL username and/or password not valid: %s" : "MS SQL Benutzername und/oder Passwort ungültig: %s", - "You need to enter either an existing account or the administrator." : "Sie müssen entweder ein existierendes Benutzerkonto oder das Administratoren-Konto angeben.", - "DB Error: \"%s\"" : "DB Fehler: \"%s\"", - "Offending command was: \"%s\"" : "Fehlerhafter Befehl war: \"%s\"", - "Oracle connection could not be established" : "Die Oracle-Verbindung konnte nicht aufgebaut werden.", - "Oracle username and/or password not valid" : "Oracle Benutzername und/oder Passwort ungültig", - "Offending command was: \"%s\", name: %s, password: %s" : "Fehlerhafter Befehl war: \"%s\", Name: %s, Passwort: %s", - "PostgreSQL username and/or password not valid" : "PostgreSQL Benutzername und/oder Passwort ungültig", - "Set an admin username." : "Setze Administrator Benutzername.", - "Set an admin password." : "Setze Administrator Passwort", - "%s shared »%s« with you" : "%s teilt »%s« mit Ihnen", - "Could not find category \"%s\"" : "Die Kategorie «%s» konnte nicht gefunden werden.", - "seconds ago" : "Gerade eben", - "today" : "Heute", - "yesterday" : "Gestern", - "last month" : "Letzten Monat", - "last year" : "Letztes Jahr", - "years ago" : "Vor Jahren", - "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", - "A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/en_NZ.js b/lib/l10n/en_NZ.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/en_NZ.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/en_NZ.json b/lib/l10n/en_NZ.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/en_NZ.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/es_BO.js b/lib/l10n/es_BO.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/es_BO.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_BO.json b/lib/l10n/es_BO.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/es_BO.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/es_CO.js b/lib/l10n/es_CO.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/es_CO.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_CO.json b/lib/l10n/es_CO.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/es_CO.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/es_CR.js b/lib/l10n/es_CR.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/es_CR.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_CR.json b/lib/l10n/es_CR.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/es_CR.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/es_EC.js b/lib/l10n/es_EC.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/es_EC.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_EC.json b/lib/l10n/es_EC.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/es_EC.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/es_PE.js b/lib/l10n/es_PE.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/es_PE.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_PE.json b/lib/l10n/es_PE.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/es_PE.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/es_PY.js b/lib/l10n/es_PY.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/es_PY.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_PY.json b/lib/l10n/es_PY.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/es_PY.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/es_US.js b/lib/l10n/es_US.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/es_US.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_US.json b/lib/l10n/es_US.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/es_US.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/es_UY.js b/lib/l10n/es_UY.js deleted file mode 100644 index a12702211c..0000000000 --- a/lib/l10n/es_UY.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/es_UY.json b/lib/l10n/es_UY.json deleted file mode 100644 index b994fa289e..0000000000 --- a/lib/l10n/es_UY.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/eu_ES.js b/lib/l10n/eu_ES.js deleted file mode 100644 index f547910d4a..0000000000 --- a/lib/l10n/eu_ES.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "lib", - { - "Personal" : "Pertsonala" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/eu_ES.json b/lib/l10n/eu_ES.json deleted file mode 100644 index 711c235ddc..0000000000 --- a/lib/l10n/eu_ES.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Personal" : "Pertsonala" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/fi.js b/lib/l10n/fi.js deleted file mode 100644 index f134642533..0000000000 --- a/lib/l10n/fi.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "lib", - { - "Help" : "Apua", - "Settings" : "Asetukset" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/fi.json b/lib/l10n/fi.json deleted file mode 100644 index b556f7f181..0000000000 --- a/lib/l10n/fi.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "Help" : "Apua", - "Settings" : "Asetukset" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/fr_CA.js b/lib/l10n/fr_CA.js deleted file mode 100644 index 9408adc0dc..0000000000 --- a/lib/l10n/fr_CA.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -}, -"nplurals=2; plural=(n > 1);"); diff --git a/lib/l10n/fr_CA.json b/lib/l10n/fr_CA.json deleted file mode 100644 index 2a227e468c..0000000000 --- a/lib/l10n/fr_CA.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "_%n day ago_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""], - "_%n year ago_::_%n years ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n minute ago_::_%n minutes ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n > 1);" -} \ No newline at end of file diff --git a/lib/l10n/hi_IN.js b/lib/l10n/hi_IN.js deleted file mode 100644 index da0dcc6bdd..0000000000 --- a/lib/l10n/hi_IN.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n minute ago_::_%n minutes ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n day go_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/hi_IN.json b/lib/l10n/hi_IN.json deleted file mode 100644 index 4286553dd0..0000000000 --- a/lib/l10n/hi_IN.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n minute ago_::_%n minutes ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n day go_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/lib/l10n/sk.js b/lib/l10n/sk.js deleted file mode 100644 index 1eed1a5720..0000000000 --- a/lib/l10n/sk.js +++ /dev/null @@ -1,7 +0,0 @@ -OC.L10N.register( - "lib", - { - "Personal" : "Osobné", - "Settings" : "Nastavenia" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/lib/l10n/sk.json b/lib/l10n/sk.json deleted file mode 100644 index bd84c129e9..0000000000 --- a/lib/l10n/sk.json +++ /dev/null @@ -1,5 +0,0 @@ -{ "translations": { - "Personal" : "Osobné", - "Settings" : "Nastavenia" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/lib/l10n/ur.js b/lib/l10n/ur.js deleted file mode 100644 index da0dcc6bdd..0000000000 --- a/lib/l10n/ur.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "lib", - { - "_%n minute ago_::_%n minutes ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n day go_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""] -}, -"nplurals=2; plural=(n != 1);"); diff --git a/lib/l10n/ur.json b/lib/l10n/ur.json deleted file mode 100644 index 4286553dd0..0000000000 --- a/lib/l10n/ur.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "_%n minute ago_::_%n minutes ago_" : ["",""], - "_%n hour ago_::_%n hours ago_" : ["",""], - "_%n day go_::_%n days ago_" : ["",""], - "_%n month ago_::_%n months ago_" : ["",""] -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/settings/l10n/de_CH.js b/settings/l10n/de_CH.js deleted file mode 100644 index af913b8d81..0000000000 --- a/settings/l10n/de_CH.js +++ /dev/null @@ -1,102 +0,0 @@ -OC.L10N.register( - "settings", - { - "Enabled" : "Aktiviert", - "Authentication error" : "Authentifizierungs-Fehler", - "Group already exists" : "Die Gruppe existiert bereits", - "Unable to add group" : "Die Gruppe konnte nicht angelegt werden", - "Email saved" : "E-Mail-Adresse gespeichert", - "Invalid email" : "Ungültige E-Mail-Adresse", - "Unable to delete group" : "Die Gruppe konnte nicht gelöscht werden", - "Unable to delete user" : "Der Benutzer konnte nicht gelöscht werden", - "Language changed" : "Sprache geändert", - "Invalid request" : "Ungültige Anforderung", - "Admins can't remove themself from the admin group" : "Administratoren können sich nicht selbst aus der admin-Gruppe löschen", - "Unable to add user to group %s" : "Der Benutzer konnte nicht zur Gruppe %s hinzugefügt werden", - "Unable to remove user from group %s" : "Der Benutzer konnte nicht aus der Gruppe %s entfernt werden", - "Couldn't update app." : "Die App konnte nicht aktualisiert werden.", - "Saved" : "Gespeichert", - "Email sent" : "Email gesendet", - "All" : "Alle", - "Please wait...." : "Bitte warten....", - "Error while disabling app" : "Fehler während der Deaktivierung der Anwendung", - "Disable" : "Deaktivieren", - "Enable" : "Aktivieren", - "Error while enabling app" : "Fehler während der Aktivierung der Anwendung", - "Updating...." : "Update...", - "Error while updating app" : "Es ist ein Fehler während des Updates aufgetreten", - "Updated" : "Aktualisiert", - "Delete" : "Löschen", - "Decrypting files... Please wait, this can take some time." : "Entschlüssel Dateien ... Bitte warten Sie, denn dieser Vorgang kann einige Zeit beanspruchen.", - "Groups" : "Gruppen", - "undo" : "rückgängig machen", - "never" : "niemals", - "add group" : "Gruppe hinzufügen", - "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", - "Error creating user" : "Beim Erstellen des Benutzers ist ein Fehler aufgetreten", - "A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden", - "__language_name__" : "Deutsch (Schweiz)", - "SSL root certificates" : "SSL-Root-Zertifikate", - "Encryption" : "Verschlüsselung", - "Login" : "Anmelden", - "Security Warning" : "Sicherheitshinweis", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Ihr Datenverzeichnis und Ihre Dateien sind möglicher Weise aus dem Internet erreichbar. Die .htaccess-Datei funktioniert nicht. Wir raten Ihnen dringend, dass Sie Ihren Webserver dahingehend konfigurieren, dass Ihr Datenverzeichnis nicht länger aus dem Internet erreichbar ist, oder Sie verschieben das Datenverzeichnis ausserhalb des Wurzelverzeichnisses des Webservers.", - "Setup Warning" : "Einrichtungswarnung", - "Module 'fileinfo' missing" : "Das Modul 'fileinfo' fehlt", - "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen Ihnen dieses Modul zu aktivieren, um die besten Resultate bei der Bestimmung der Dateitypen zu erzielen.", - "Locale not working" : "Die Lokalisierung funktioniert nicht", - "Please double check the installation guides." : "Bitte prüfen Sie die Installationsanleitungen.", - "Cron" : "Cron", - "Execute one task with each page loaded" : "Eine Aufgabe bei jedem Laden der Seite ausführen", - "Sharing" : "Teilen", - "Allow apps to use the Share API" : "Anwendungen erlauben, die Share-API zu benutzen", - "Allow public uploads" : "Erlaube öffentliches hochladen", - "Allow resharing" : "Erlaube Weiterverteilen", - "Security" : "Sicherheit", - "Enforce HTTPS" : "HTTPS erzwingen", - "Forces the clients to connect to %s via an encrypted connection." : "Zwingt die Clients, sich über eine verschlüsselte Verbindung zu %s zu verbinden.", - "Please connect to your %s via HTTPS to enable or disable the SSL enforcement." : "Bitte verbinden Sie sich zu Ihrem %s über HTTPS um die SSL-Erzwingung zu aktivieren oder zu deaktivieren.", - "Server address" : "Adresse des Servers", - "Port" : "Port", - "Log" : "Log", - "Log level" : "Log-Level", - "More" : "Mehr", - "Less" : "Weniger", - "Version" : "Version", - "Developed by the ownCloud community, the source code is licensed under the AGPL." : "Entwickelt von der ownCloud-Community. Der Quellcode ist unter der AGPL lizenziert.", - "More apps" : "Mehr Apps", - "by" : "von", - "User Documentation" : "Dokumentation für Benutzer", - "Administrator Documentation" : "Dokumentation für Administratoren", - "Online Documentation" : "Online-Dokumentation", - "Forum" : "Forum", - "Bugtracker" : "Bugtracker", - "Commercial Support" : "Kommerzieller Support", - "Get the apps to sync your files" : "Installieren Sie die Anwendungen, um Ihre Dateien zu synchronisieren", - "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", - "You have used %s of the available %s" : "Sie verwenden %s der verfügbaren %s", - "Password" : "Passwort", - "Your password was changed" : "Ihr Passwort wurde geändert.", - "Unable to change your password" : "Das Passwort konnte nicht geändert werden", - "Current password" : "Aktuelles Passwort", - "New password" : "Neues Passwort", - "Change password" : "Passwort ändern", - "Email" : "E-Mail", - "Your email address" : "Ihre E-Mail-Adresse", - "Cancel" : "Abbrechen", - "Language" : "Sprache", - "Help translate" : "Helfen Sie bei der Übersetzung", - "Import Root Certificate" : "Root-Zertifikate importieren", - "Log-in password" : "Login-Passwort", - "Decrypt all Files" : "Alle Dateien entschlüsseln", - "Login Name" : "Loginname", - "Create" : "Erstellen", - "Admin Recovery Password" : "Admin-Passwort-Wiederherstellung", - "Enter the recovery password in order to recover the users files during password change" : "Geben Sie das Wiederherstellungspasswort ein, um die Benutzerdateien während Passwortänderung wiederherzustellen", - "Unlimited" : "Unbegrenzt", - "Other" : "Andere", - "Username" : "Benutzername", - "set new password" : "Neues Passwort setzen", - "Default" : "Standard" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/de_CH.json b/settings/l10n/de_CH.json deleted file mode 100644 index ad7338d33b..0000000000 --- a/settings/l10n/de_CH.json +++ /dev/null @@ -1,100 +0,0 @@ -{ "translations": { - "Enabled" : "Aktiviert", - "Authentication error" : "Authentifizierungs-Fehler", - "Group already exists" : "Die Gruppe existiert bereits", - "Unable to add group" : "Die Gruppe konnte nicht angelegt werden", - "Email saved" : "E-Mail-Adresse gespeichert", - "Invalid email" : "Ungültige E-Mail-Adresse", - "Unable to delete group" : "Die Gruppe konnte nicht gelöscht werden", - "Unable to delete user" : "Der Benutzer konnte nicht gelöscht werden", - "Language changed" : "Sprache geändert", - "Invalid request" : "Ungültige Anforderung", - "Admins can't remove themself from the admin group" : "Administratoren können sich nicht selbst aus der admin-Gruppe löschen", - "Unable to add user to group %s" : "Der Benutzer konnte nicht zur Gruppe %s hinzugefügt werden", - "Unable to remove user from group %s" : "Der Benutzer konnte nicht aus der Gruppe %s entfernt werden", - "Couldn't update app." : "Die App konnte nicht aktualisiert werden.", - "Saved" : "Gespeichert", - "Email sent" : "Email gesendet", - "All" : "Alle", - "Please wait...." : "Bitte warten....", - "Error while disabling app" : "Fehler während der Deaktivierung der Anwendung", - "Disable" : "Deaktivieren", - "Enable" : "Aktivieren", - "Error while enabling app" : "Fehler während der Aktivierung der Anwendung", - "Updating...." : "Update...", - "Error while updating app" : "Es ist ein Fehler während des Updates aufgetreten", - "Updated" : "Aktualisiert", - "Delete" : "Löschen", - "Decrypting files... Please wait, this can take some time." : "Entschlüssel Dateien ... Bitte warten Sie, denn dieser Vorgang kann einige Zeit beanspruchen.", - "Groups" : "Gruppen", - "undo" : "rückgängig machen", - "never" : "niemals", - "add group" : "Gruppe hinzufügen", - "A valid username must be provided" : "Es muss ein gültiger Benutzername angegeben werden", - "Error creating user" : "Beim Erstellen des Benutzers ist ein Fehler aufgetreten", - "A valid password must be provided" : "Es muss ein gültiges Passwort angegeben werden", - "__language_name__" : "Deutsch (Schweiz)", - "SSL root certificates" : "SSL-Root-Zertifikate", - "Encryption" : "Verschlüsselung", - "Login" : "Anmelden", - "Security Warning" : "Sicherheitshinweis", - "Your data directory and your files are probably accessible from the internet. The .htaccess file is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." : "Ihr Datenverzeichnis und Ihre Dateien sind möglicher Weise aus dem Internet erreichbar. Die .htaccess-Datei funktioniert nicht. Wir raten Ihnen dringend, dass Sie Ihren Webserver dahingehend konfigurieren, dass Ihr Datenverzeichnis nicht länger aus dem Internet erreichbar ist, oder Sie verschieben das Datenverzeichnis ausserhalb des Wurzelverzeichnisses des Webservers.", - "Setup Warning" : "Einrichtungswarnung", - "Module 'fileinfo' missing" : "Das Modul 'fileinfo' fehlt", - "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "Das PHP-Modul 'fileinfo' fehlt. Wir empfehlen Ihnen dieses Modul zu aktivieren, um die besten Resultate bei der Bestimmung der Dateitypen zu erzielen.", - "Locale not working" : "Die Lokalisierung funktioniert nicht", - "Please double check the installation guides." : "Bitte prüfen Sie die Installationsanleitungen.", - "Cron" : "Cron", - "Execute one task with each page loaded" : "Eine Aufgabe bei jedem Laden der Seite ausführen", - "Sharing" : "Teilen", - "Allow apps to use the Share API" : "Anwendungen erlauben, die Share-API zu benutzen", - "Allow public uploads" : "Erlaube öffentliches hochladen", - "Allow resharing" : "Erlaube Weiterverteilen", - "Security" : "Sicherheit", - "Enforce HTTPS" : "HTTPS erzwingen", - "Forces the clients to connect to %s via an encrypted connection." : "Zwingt die Clients, sich über eine verschlüsselte Verbindung zu %s zu verbinden.", - "Please connect to your %s via HTTPS to enable or disable the SSL enforcement." : "Bitte verbinden Sie sich zu Ihrem %s über HTTPS um die SSL-Erzwingung zu aktivieren oder zu deaktivieren.", - "Server address" : "Adresse des Servers", - "Port" : "Port", - "Log" : "Log", - "Log level" : "Log-Level", - "More" : "Mehr", - "Less" : "Weniger", - "Version" : "Version", - "Developed by the ownCloud community, the source code is licensed under the AGPL." : "Entwickelt von der ownCloud-Community. Der Quellcode ist unter der AGPL lizenziert.", - "More apps" : "Mehr Apps", - "by" : "von", - "User Documentation" : "Dokumentation für Benutzer", - "Administrator Documentation" : "Dokumentation für Administratoren", - "Online Documentation" : "Online-Dokumentation", - "Forum" : "Forum", - "Bugtracker" : "Bugtracker", - "Commercial Support" : "Kommerzieller Support", - "Get the apps to sync your files" : "Installieren Sie die Anwendungen, um Ihre Dateien zu synchronisieren", - "Show First Run Wizard again" : "Den Einrichtungsassistenten erneut anzeigen", - "You have used %s of the available %s" : "Sie verwenden %s der verfügbaren %s", - "Password" : "Passwort", - "Your password was changed" : "Ihr Passwort wurde geändert.", - "Unable to change your password" : "Das Passwort konnte nicht geändert werden", - "Current password" : "Aktuelles Passwort", - "New password" : "Neues Passwort", - "Change password" : "Passwort ändern", - "Email" : "E-Mail", - "Your email address" : "Ihre E-Mail-Adresse", - "Cancel" : "Abbrechen", - "Language" : "Sprache", - "Help translate" : "Helfen Sie bei der Übersetzung", - "Import Root Certificate" : "Root-Zertifikate importieren", - "Log-in password" : "Login-Passwort", - "Decrypt all Files" : "Alle Dateien entschlüsseln", - "Login Name" : "Loginname", - "Create" : "Erstellen", - "Admin Recovery Password" : "Admin-Passwort-Wiederherstellung", - "Enter the recovery password in order to recover the users files during password change" : "Geben Sie das Wiederherstellungspasswort ein, um die Benutzerdateien während Passwortänderung wiederherzustellen", - "Unlimited" : "Unbegrenzt", - "Other" : "Andere", - "Username" : "Benutzername", - "set new password" : "Neues Passwort setzen", - "Default" : "Standard" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/settings/l10n/eu_ES.js b/settings/l10n/eu_ES.js deleted file mode 100644 index b568513953..0000000000 --- a/settings/l10n/eu_ES.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "settings", - { - "Invalid request" : "Eskakizun baliogabea", - "Delete" : "Ezabatu", - "Cancel" : "Ezeztatu", - "Other" : "Bestea" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/eu_ES.json b/settings/l10n/eu_ES.json deleted file mode 100644 index 062f410b0e..0000000000 --- a/settings/l10n/eu_ES.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "Invalid request" : "Eskakizun baliogabea", - "Delete" : "Ezabatu", - "Cancel" : "Ezeztatu", - "Other" : "Bestea" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/settings/l10n/fi.js b/settings/l10n/fi.js deleted file mode 100644 index bf1854567a..0000000000 --- a/settings/l10n/fi.js +++ /dev/null @@ -1,11 +0,0 @@ -OC.L10N.register( - "settings", - { - "Delete" : "Poista", - "More" : "Lisää", - "Password" : "Salasana", - "Cancel" : "Peruuta", - "Username" : "Käyttäjätunnus", - "Create" : "Luo" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/fi.json b/settings/l10n/fi.json deleted file mode 100644 index 58852d5669..0000000000 --- a/settings/l10n/fi.json +++ /dev/null @@ -1,9 +0,0 @@ -{ "translations": { - "Delete" : "Poista", - "More" : "Lisää", - "Password" : "Salasana", - "Cancel" : "Peruuta", - "Username" : "Käyttäjätunnus", - "Create" : "Luo" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file diff --git a/settings/l10n/sk.js b/settings/l10n/sk.js deleted file mode 100644 index e48cc9d9ed..0000000000 --- a/settings/l10n/sk.js +++ /dev/null @@ -1,9 +0,0 @@ -OC.L10N.register( - "settings", - { - "Delete" : "Odstrániť", - "never" : "nikdy", - "Cancel" : "Zrušiť", - "Other" : "Ostatné" -}, -"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;"); diff --git a/settings/l10n/sk.json b/settings/l10n/sk.json deleted file mode 100644 index 609a62d21f..0000000000 --- a/settings/l10n/sk.json +++ /dev/null @@ -1,7 +0,0 @@ -{ "translations": { - "Delete" : "Odstrániť", - "never" : "nikdy", - "Cancel" : "Zrušiť", - "Other" : "Ostatné" -},"pluralForm" :"nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;" -} \ No newline at end of file diff --git a/settings/l10n/ur.js b/settings/l10n/ur.js deleted file mode 100644 index 78fcf358b7..0000000000 --- a/settings/l10n/ur.js +++ /dev/null @@ -1,6 +0,0 @@ -OC.L10N.register( - "settings", - { - "Error" : "خرابی" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/settings/l10n/ur.json b/settings/l10n/ur.json deleted file mode 100644 index 1c1fc3d16c..0000000000 --- a/settings/l10n/ur.json +++ /dev/null @@ -1,4 +0,0 @@ -{ "translations": { - "Error" : "خرابی" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -} \ No newline at end of file From 3773c69f01c5d2e7c695cd31b8000742c589bef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20M=C3=BCller?= Date: Wed, 26 Aug 2015 12:19:58 +0200 Subject: [PATCH 110/329] Adding simple script to remove language files from core --- l10n/rm-old.sh | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 l10n/rm-old.sh diff --git a/l10n/rm-old.sh b/l10n/rm-old.sh new file mode 100644 index 0000000000..30e4509db2 --- /dev/null +++ b/l10n/rm-old.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +lang=(ach ady af_ZA ak am_ET ar ast az bal be bg_BG bn_BD bn_IN bs ca cs_CZ cy_GB da de de_AT de_DE el en_GB en@pirate eo es es_AR es_CL es_MX et_EE eu fa fi_FI fil fr fy_NL gl gu he hi hr hu_HU hy ia id io is it ja jv ka_GE km kn ko ku_IQ la lb lo lt_LT lv mg mk ml ml_IN mn mr ms_MY mt_MT my_MM nb_NO nds ne nl nn_NO nqo oc or_IN pa pl pt_BR pt_PT ro ru si_LK sk_SK sl sq sr sr@latin su sv sw_KE ta_IN ta_LK te tg_TJ th_TH tl_PH tr tzl tzm ug uk ur_PK uz vi yo zh_CN zh_HK zh_TW) + +ignore="" + +for fignore in "${lang[@]}"; do + ignore=${ignore}"-not -name ${fignore}.js -not -name ${fignore}.json " +done + + +find ../lib/l10n -type f $ignore -delete +find ../settings/l10n -type f $ignore -delete +find ../core/l10n -type f $ignore -delete +find ../apps/files/l10n -type f $ignore -delete +find ../apps/encryption/l10n -type f $ignore -delete +find ../apps/files_external/l10n -type f $ignore -delete +find ../apps/files_sharing/l10n -type f $ignore -delete +find ../apps/files_trashbin/l10n -type f $ignore -delete +find ../apps/files_versions/l10n -type f $ignore -delete +find ../apps/user_ldap/l10n -type f $ignore -delete +find ../apps/user_webdavauth/l10n -type f $ignore -delete + + From 3d2ee95f1e06972188967b2bc19720001a4f1395 Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Wed, 26 Aug 2015 14:29:36 +0200 Subject: [PATCH 111/329] Remove last occurence of `forcessl` This shoudl have been adjusted as well, now it's consistent with `setMagicInCookie`. While it does not have a security impact directly some automated scanners reported this all the time. --- lib/private/user/session.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/private/user/session.php b/lib/private/user/session.php index 75a884fb45..baceeb4395 100644 --- a/lib/private/user/session.php +++ b/lib/private/user/session.php @@ -297,8 +297,8 @@ class Session implements IUserSession, Emitter { * Remove cookie for "remember username" */ public function unsetMagicInCookie() { - //TODO: DI for cookies and OC_Config - $secureCookie = \OC_Config::getValue('forcessl', false); + //TODO: DI for cookies and IRequest + $secureCookie = \OC::$server->getRequest()->getServerProtocol() === 'https'; unset($_COOKIE["oc_username"]); //TODO: DI unset($_COOKIE["oc_token"]); From 8c08dd0ac26290829b10e28c333358ae10d953eb Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 24 Aug 2015 15:56:04 +0200 Subject: [PATCH 112/329] occ tool to encrypt all files --- apps/encryption/appinfo/application.php | 20 + apps/encryption/lib/crypto/encryptall.php | 424 ++++++++++++++++++ apps/encryption/lib/crypto/encryption.php | 19 + apps/encryption/lib/users/setup.php | 2 + apps/encryption/templates/altmail.php | 16 + apps/encryption/templates/mail.php | 39 ++ .../tests/lib/crypto/encryptalltest.php | 291 ++++++++++++ .../tests/lib/crypto/encryptionTest.php | 7 + core/command/encryption/encryptall.php | 114 +++++ core/register_command.php | 1 + lib/public/encryption/iencryptionmodule.php | 12 + .../command/encryption/encryptalltest.php | 131 ++++++ .../lib/files/storage/wrapper/encryption.php | 2 +- tests/lib/files/stream/encryption.php | 2 +- 14 files changed, 1078 insertions(+), 2 deletions(-) create mode 100644 apps/encryption/lib/crypto/encryptall.php create mode 100644 apps/encryption/templates/altmail.php create mode 100644 apps/encryption/templates/mail.php create mode 100644 apps/encryption/tests/lib/crypto/encryptalltest.php create mode 100644 core/command/encryption/encryptall.php create mode 100644 tests/core/command/encryption/encryptalltest.php diff --git a/apps/encryption/appinfo/application.php b/apps/encryption/appinfo/application.php index d4804394c5..cba8964eef 100644 --- a/apps/encryption/appinfo/application.php +++ b/apps/encryption/appinfo/application.php @@ -30,6 +30,7 @@ use OCA\Encryption\Controller\RecoveryController; use OCA\Encryption\Controller\SettingsController; use OCA\Encryption\Controller\StatusController; use OCA\Encryption\Crypto\Crypt; +use OCA\Encryption\Crypto\EncryptAll; use OCA\Encryption\Crypto\Encryption; use OCA\Encryption\HookManager; use OCA\Encryption\Hooks\UserHooks; @@ -42,6 +43,7 @@ use OCP\App; use OCP\AppFramework\IAppContainer; use OCP\Encryption\IManager; use OCP\IConfig; +use Symfony\Component\Console\Helper\QuestionHelper; class Application extends \OCP\AppFramework\App { @@ -111,6 +113,7 @@ class Application extends \OCP\AppFramework\App { $container->query('Crypt'), $container->query('KeyManager'), $container->query('Util'), + $container->query('EncryptAll'), $container->getServer()->getLogger(), $container->getServer()->getL10N($container->getAppName()) ); @@ -221,6 +224,23 @@ class Application extends \OCP\AppFramework\App { $server->getUserManager()); }); + $container->registerService('EncryptAll', + function (IAppContainer $c) { + $server = $c->getServer(); + return new EncryptAll( + $c->query('UserSetup'), + $c->getServer()->getUserManager(), + new View(), + $c->query('KeyManager'), + $server->getConfig(), + $server->getMailer(), + $server->getL10N('encryption'), + new QuestionHelper(), + $server->getSecureRandom() + ); + } + ); + } public function registerSettings() { diff --git a/apps/encryption/lib/crypto/encryptall.php b/apps/encryption/lib/crypto/encryptall.php new file mode 100644 index 0000000000..a0c69c13fd --- /dev/null +++ b/apps/encryption/lib/crypto/encryptall.php @@ -0,0 +1,424 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + + +namespace OCA\Encryption\Crypto; + +use OC\Encryption\Exceptions\DecryptionFailedException; +use OC\Files\View; +use OCA\Encryption\KeyManager; +use OCA\Encryption\Users\Setup; +use OCP\IConfig; +use OCP\IL10N; +use OCP\IUserManager; +use OCP\Mail\IMailer; +use OCP\Security\ISecureRandom; +use Symfony\Component\Console\Helper\ProgressBar; +use Symfony\Component\Console\Helper\QuestionHelper; +use Symfony\Component\Console\Helper\Table; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Question\ConfirmationQuestion; + +class EncryptAll { + + /** @var Setup */ + protected $userSetup; + + /** @var IUserManager */ + protected $userManager; + + /** @var View */ + protected $rootView; + + /** @var KeyManager */ + protected $keyManager; + + /** @var array */ + protected $userPasswords; + + /** @var IConfig */ + protected $config; + + /** @var IMailer */ + protected $mailer; + + /** @var IL10N */ + protected $l; + + /** @var QuestionHelper */ + protected $questionHelper; + + /** @var OutputInterface */ + protected $output; + + /** @var InputInterface */ + protected $input; + + /** @var ISecureRandom */ + protected $secureRandom; + + /** + * @param Setup $userSetup + * @param IUserManager $userManager + * @param View $rootView + * @param KeyManager $keyManager + * @param IConfig $config + * @param IMailer $mailer + * @param IL10N $l + * @param QuestionHelper $questionHelper + * @param ISecureRandom $secureRandom + */ + public function __construct( + Setup $userSetup, + IUserManager $userManager, + View $rootView, + KeyManager $keyManager, + IConfig $config, + IMailer $mailer, + IL10N $l, + QuestionHelper $questionHelper, + ISecureRandom $secureRandom + ) { + $this->userSetup = $userSetup; + $this->userManager = $userManager; + $this->rootView = $rootView; + $this->keyManager = $keyManager; + $this->config = $config; + $this->mailer = $mailer; + $this->l = $l; + $this->questionHelper = $questionHelper; + $this->secureRandom = $secureRandom; + // store one time passwords for the users + $this->userPasswords = array(); + } + + /** + * start to encrypt all files + * + * @param InputInterface $input + * @param OutputInterface $output + */ + public function encryptAll(InputInterface $input, OutputInterface $output) { + + $this->input = $input; + $this->output = $output; + + $headline = 'Encrypt all files with the ' . Encryption::DISPLAY_NAME; + $this->output->writeln("\n"); + $this->output->writeln($headline); + $this->output->writeln(str_pad('', strlen($headline), '=')); + + //create private/public keys for each user and store the private key password + $this->output->writeln("\n"); + $this->output->writeln('Create key-pair for every user'); + $this->output->writeln('------------------------------'); + $this->output->writeln(''); + $this->output->writeln('This module will encrypt all files in the users files folder initially.'); + $this->output->writeln('Already existing versions and files in the trash bin will not be encrypted.'); + $this->output->writeln(''); + $this->createKeyPairs(); + + //setup users file system and encrypt all files one by one (take should encrypt setting of storage into account) + $this->output->writeln("\n"); + $this->output->writeln('Start to encrypt users files'); + $this->output->writeln('----------------------------'); + $this->output->writeln(''); + $this->encryptAllUsersFiles(); + //send-out or display password list and write it to a file + $this->output->writeln("\n"); + $this->output->writeln('Generated encryption key passwords'); + $this->output->writeln('----------------------------------'); + $this->output->writeln(''); + $this->outputPasswords(); + $this->output->writeln("\n"); + } + + /** + * create key-pair for every user + */ + protected function createKeyPairs() { + $this->output->writeln("\n"); + $progress = new ProgressBar($this->output); + $progress->setFormat(" %message% \n [%bar%]"); + $progress->start(); + + foreach($this->userManager->getBackends() as $backend) { + $limit = 500; + $offset = 0; + do { + $users = $backend->getUsers('', $limit, $offset); + foreach ($users as $user) { + if ($this->keyManager->userHasKeys($user) === false) { + $progress->setMessage('Create key-pair for ' . $user); + $progress->advance(); + $this->setupUserFS($user); + $password = $this->generateOneTimePassword($user); + $this->userSetup->setupUser($user, $password); + } else { + // users which already have a key-pair will be stored with a + // empty password and filtered out later + $this->userPasswords[$user] = ''; + } + } + $offset += $limit; + } while(count($users) >= $limit); + } + + $progress->setMessage('Key-pair created for all users'); + $progress->finish(); + } + + /** + * iterate over all user and encrypt their files + */ + protected function encryptAllUsersFiles() { + $this->output->writeln("\n"); + $progress = new ProgressBar($this->output); + $progress->setFormat(" %message% \n [%bar%]"); + $progress->start(); + $numberOfUsers = count($this->userPasswords); + $userNo = 1; + foreach ($this->userPasswords as $uid => $password) { + $userCount = "$uid ($userNo of $numberOfUsers)"; + $this->encryptUsersFiles($uid, $progress, $userCount); + $userNo++; + } + $progress->setMessage("all files encrypted"); + $progress->finish(); + + } + + /** + * encrypt files from the given user + * + * @param string $uid + * @param ProgressBar $progress + * @param string $userCount + */ + protected function encryptUsersFiles($uid, ProgressBar $progress, $userCount) { + + $this->setupUserFS($uid); + $directories = array(); + $directories[] = '/' . $uid . '/files'; + + while($root = array_pop($directories)) { + $content = $this->rootView->getDirectoryContent($root); + foreach ($content as $file) { + $path = $root . '/' . $file['name']; + if ($this->rootView->is_dir($path)) { + $directories[] = $path; + continue; + } else { + $progress->setMessage("encrypt files for user $userCount: $path"); + $progress->advance(); + if($this->encryptFile($path) === false) { + $progress->setMessage("encrypt files for user $userCount: $path (already encrypted)"); + $progress->advance(); + } + } + } + } + } + + /** + * encrypt file + * + * @param string $path + * @return bool + */ + protected function encryptFile($path) { + + $source = $path; + $target = $path . '.encrypted.' . time(); + + try { + $this->rootView->copy($source, $target); + $this->rootView->rename($target, $source); + } catch (DecryptionFailedException $e) { + if ($this->rootView->file_exists($target)) { + $this->rootView->unlink($target); + } + return false; + } + + return true; + } + + /** + * output one-time encryption passwords + */ + protected function outputPasswords() { + $table = new Table($this->output); + $table->setHeaders(array('Username', 'Private key password')); + + //create rows + $newPasswords = array(); + $unchangedPasswords = array(); + foreach ($this->userPasswords as $uid => $password) { + if (empty($password)) { + $unchangedPasswords[] = $uid; + } else { + $newPasswords[] = [$uid, $password]; + } + } + $table->setRows($newPasswords); + $table->render(); + + if (!empty($unchangedPasswords)) { + $this->output->writeln("\nThe following users already had a key-pair which was reused without setting a new password:\n"); + foreach ($unchangedPasswords as $uid) { + $this->output->writeln(" $uid"); + } + } + + $this->writePasswordsToFile($newPasswords); + + $this->output->writeln(''); + $question = new ConfirmationQuestion('Do you want to send the passwords directly to the users by mail? (y/n) ', false); + if ($this->questionHelper->ask($this->input, $this->output, $question)) { + $this->sendPasswordsByMail(); + } + } + + /** + * write one-time encryption passwords to a csv file + * + * @param array $passwords + */ + protected function writePasswordsToFile(array $passwords) { + $fp = $this->rootView->fopen('oneTimeEncryptionPasswords.csv', 'w'); + foreach ($passwords as $pwd) { + fputcsv($fp, $pwd); + } + fclose($fp); + $this->output->writeln("\n"); + $this->output->writeln('A list of all newly created passwords was written to data/oneTimeEncryptionPasswords.csv'); + $this->output->writeln(''); + $this->output->writeln('Each of these users need to login to the web interface, go to the'); + $this->output->writeln('personal settings section "ownCloud basic encryption module" and'); + $this->output->writeln('update the private key password to match the login password again by'); + $this->output->writeln('entering the one-time password into the "old log-in password" field'); + $this->output->writeln('and their current login password'); + } + + /** + * setup user file system + * + * @param string $uid + */ + protected function setupUserFS($uid) { + \OC_Util::tearDownFS(); + \OC_Util::setupFS($uid); + } + + /** + * generate one time password for the user and store it in a array + * + * @param string $uid + * @return string password + */ + protected function generateOneTimePassword($uid) { + $password = $this->secureRandom->getMediumStrengthGenerator()->generate(8); + $this->userPasswords[$uid] = $password; + return $password; + } + + /** + * send encryption key passwords to the users by mail + */ + protected function sendPasswordsByMail() { + $noMail = []; + + $this->output->writeln(''); + $progress = new ProgressBar($this->output, count($this->userPasswords)); + $progress->start(); + + foreach ($this->userPasswords as $recipient => $password) { + $progress->advance(); + if (!empty($password)) { + $recipientDisplayName = $this->userManager->get($recipient)->getDisplayName(); + $to = $this->config->getUserValue($recipient, 'settings', 'email', ''); + + if ($to === '') { + $noMail[] = $recipient; + continue; + } + + $subject = (string)$this->l->t('one-time password for server-side-encryption'); + list($htmlBody, $textBody) = $this->createMailBody($password); + + // send it out now + try { + $message = $this->mailer->createMessage(); + $message->setSubject($subject); + $message->setTo([$to => $recipientDisplayName]); + $message->setHtmlBody($htmlBody); + $message->setPlainBody($textBody); + $message->setFrom([ + \OCP\Util::getDefaultEmailAddress('admin-noreply') + ]); + + $this->mailer->send($message); + } catch (\Exception $e) { + $noMail[] = $recipient; + } + } + } + + $progress->finish(); + + if (empty($noMail)) { + $this->output->writeln("\n\nPassword successfully send to all users"); + } else { + $table = new Table($this->output); + $table->setHeaders(array('Username', 'Private key password')); + $this->output->writeln("\n\nCould not send password to following users:\n"); + $rows = []; + foreach ($noMail as $uid) { + $rows[] = [$uid, $this->userPasswords[$uid]]; + } + $table->setRows($rows); + $table->render(); + } + + } + + /** + * create mail body for plain text and html mail + * + * @param string $password one-time encryption password + * @return array an array of the html mail body and the plain text mail body + */ + protected function createMailBody($password) { + + $html = new \OC_Template("encryption", "mail", ""); + $html->assign ('password', $password); + $htmlMail = $html->fetchPage(); + + $plainText = new \OC_Template("encryption", "altmail", ""); + $plainText->assign ('password', $password); + $plainTextMail = $plainText->fetchPage(); + + return [$htmlMail, $plainTextMail]; + } + +} diff --git a/apps/encryption/lib/crypto/encryption.php b/apps/encryption/lib/crypto/encryption.php index 1fa0581506..1bd6af2eca 100644 --- a/apps/encryption/lib/crypto/encryption.php +++ b/apps/encryption/lib/crypto/encryption.php @@ -35,6 +35,8 @@ use OCP\Encryption\IEncryptionModule; use OCA\Encryption\KeyManager; use OCP\IL10N; use OCP\ILogger; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; class Encryption implements IEncryptionModule { @@ -79,22 +81,28 @@ class Encryption implements IEncryptionModule { /** @var IL10N */ private $l; + /** @var EncryptAll */ + private $encryptAll; + /** * * @param Crypt $crypt * @param KeyManager $keyManager * @param Util $util + * @param EncryptAll $encryptAll * @param ILogger $logger * @param IL10N $il10n */ public function __construct(Crypt $crypt, KeyManager $keyManager, Util $util, + EncryptAll $encryptAll, ILogger $logger, IL10N $il10n) { $this->crypt = $crypt; $this->keyManager = $keyManager; $this->util = $util; + $this->encryptAll = $encryptAll; $this->logger = $logger; $this->l = $il10n; } @@ -397,6 +405,17 @@ class Encryption implements IEncryptionModule { return true; } + /** + * Initial encryption of all files + * + * @param InputInterface $input + * @param OutputInterface $output write some status information to the terminal during encryption + * @return bool + */ + public function encryptAll(InputInterface $input, OutputInterface $output) { + return $this->encryptAll->encryptAll($input, $output); + } + /** * @param string $path * @return string diff --git a/apps/encryption/lib/users/setup.php b/apps/encryption/lib/users/setup.php index f224826ed5..433ea824c9 100644 --- a/apps/encryption/lib/users/setup.php +++ b/apps/encryption/lib/users/setup.php @@ -76,6 +76,8 @@ class Setup { } /** + * check if user has a key pair, if not we create one + * * @param string $uid userid * @param string $password user password * @return bool diff --git a/apps/encryption/templates/altmail.php b/apps/encryption/templates/altmail.php new file mode 100644 index 0000000000..b92c6b4a7c --- /dev/null +++ b/apps/encryption/templates/altmail.php @@ -0,0 +1,16 @@ +t("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 'ownCloud 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", array($_['password']))); +if ( isset($_['expiration']) ) { + print_unescaped($l->t("The share will expire on %s.", array($_['expiration']))); + print_unescaped("\n\n"); +} +// TRANSLATORS term at the end of a mail +p($l->t("Cheers!")); +?> + + -- +getName() . ' - ' . $theme->getSlogan()); ?> +getBaseUrl()); diff --git a/apps/encryption/templates/mail.php b/apps/encryption/templates/mail.php new file mode 100644 index 0000000000..2b61e915de --- /dev/null +++ b/apps/encryption/templates/mail.php @@ -0,0 +1,39 @@ + +
+ +
+ + + + + + + + + + + + + + + + + + +
  + <?php p($theme->getName()); ?> +
 
  + t('Hey there,

the admin enabled server-side-encryption. Your files were encrypted using the password %s.

Please login to the web interface, go to the section "ownCloud 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.

', array($_['password']))); + // TRANSLATORS term at the end of a mail + p($l->t('Cheers!')); + ?> +
 
 --
+ getName()); ?> - + getSlogan()); ?> +
getBaseUrl());?> +
 
+
diff --git a/apps/encryption/tests/lib/crypto/encryptalltest.php b/apps/encryption/tests/lib/crypto/encryptalltest.php new file mode 100644 index 0000000000..e907d154a2 --- /dev/null +++ b/apps/encryption/tests/lib/crypto/encryptalltest.php @@ -0,0 +1,291 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + + +namespace OCA\Encryption\Tests\lib\Crypto; + + +use OCA\Encryption\Crypto\EncryptAll; +use Test\TestCase; + +class EncryptAllTest extends TestCase { + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCA\Encryption\KeyManager */ + protected $keyManager; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\IUserManager */ + protected $userManager; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCA\Encryption\Users\Setup */ + protected $setupUser; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OC\Files\View */ + protected $view; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\IConfig */ + protected $config; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\Mail\IMailer */ + protected $mailer; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\IL10N */ + protected $l; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Helper\QuestionHelper */ + protected $questionHelper; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Input\InputInterface */ + protected $inputInterface; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Output\OutputInterface */ + protected $outputInterface; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\UserInterface */ + protected $userInterface; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\Security\ISecureRandom */ + protected $secureRandom; + + /** @var EncryptAll */ + protected $encryptAll; + + function setUp() { + parent::setUp(); + $this->setupUser = $this->getMockBuilder('OCA\Encryption\Users\Setup') + ->disableOriginalConstructor()->getMock(); + $this->keyManager = $this->getMockBuilder('OCA\Encryption\KeyManager') + ->disableOriginalConstructor()->getMock(); + $this->userManager = $this->getMockBuilder('OCP\IUserManager') + ->disableOriginalConstructor()->getMock(); + $this->view = $this->getMockBuilder('OC\Files\View') + ->disableOriginalConstructor()->getMock(); + $this->config = $this->getMockBuilder('OCP\IConfig') + ->disableOriginalConstructor()->getMock(); + $this->mailer = $this->getMockBuilder('OCP\Mail\IMailer') + ->disableOriginalConstructor()->getMock(); + $this->l = $this->getMockBuilder('OCP\IL10N') + ->disableOriginalConstructor()->getMock(); + $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper') + ->disableOriginalConstructor()->getMock(); + $this->inputInterface = $this->getMockBuilder('Symfony\Component\Console\Input\InputInterface') + ->disableOriginalConstructor()->getMock(); + $this->outputInterface = $this->getMockBuilder('Symfony\Component\Console\Output\OutputInterface') + ->disableOriginalConstructor()->getMock(); + $this->userInterface = $this->getMockBuilder('OCP\UserInterface') + ->disableOriginalConstructor()->getMock(); + + + $this->outputInterface->expects($this->any())->method('getFormatter') + ->willReturn($this->getMock('\Symfony\Component\Console\Formatter\OutputFormatterInterface')); + + $this->userManager->expects($this->any())->method('getBackends')->willReturn([$this->userInterface]); + $this->userInterface->expects($this->any())->method('getUsers')->willReturn(['user1', 'user2']); + + $this->secureRandom = $this->getMockBuilder('OCP\Security\ISecureRandom')->disableOriginalConstructor()->getMock(); + $this->secureRandom->expects($this->any())->method('getMediumStrengthGenerator')->willReturn($this->secureRandom); + $this->secureRandom->expects($this->any())->method('getLowStrengthGenerator')->willReturn($this->secureRandom); + $this->secureRandom->expects($this->any())->method('generate')->willReturn('12345678'); + + + $this->encryptAll = new EncryptAll( + $this->setupUser, + $this->userManager, + $this->view, + $this->keyManager, + $this->config, + $this->mailer, + $this->l, + $this->questionHelper, + $this->secureRandom + ); + } + + public function testEncryptAll() { + /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ + $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + ->setConstructorArgs( + [ + $this->setupUser, + $this->userManager, + $this->view, + $this->keyManager, + $this->config, + $this->mailer, + $this->l, + $this->questionHelper, + $this->secureRandom + ] + ) + ->setMethods(['createKeyPairs', 'encryptAllUsersFiles', 'outputPasswords']) + ->getMock(); + + $encryptAll->expects($this->at(0))->method('createKeyPairs')->with(); + $encryptAll->expects($this->at(1))->method('encryptAllUsersFiles')->with(); + $encryptAll->expects($this->at(2))->method('outputPasswords')->with(); + + $encryptAll->encryptAll($this->inputInterface, $this->outputInterface); + + } + + public function testCreateKeyPairs() { + /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ + $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + ->setConstructorArgs( + [ + $this->setupUser, + $this->userManager, + $this->view, + $this->keyManager, + $this->config, + $this->mailer, + $this->l, + $this->questionHelper, + $this->secureRandom + ] + ) + ->setMethods(['setupUserFS', 'generateOneTimePassword']) + ->getMock(); + + + // set protected property $output + $this->invokePrivate($encryptAll, 'output', [$this->outputInterface]); + + $this->keyManager->expects($this->exactly(2))->method('userHasKeys') + ->willReturnCallback( + function ($user) { + if ($user === 'user1') { + return false; + } + return true; + } + ); + + $encryptAll->expects($this->once())->method('setupUserFS')->with('user1'); + $encryptAll->expects($this->once())->method('generateOneTimePassword')->with('user1')->willReturn('password'); + $this->setupUser->expects($this->once())->method('setupUser')->with('user1', 'password'); + + $this->invokePrivate($encryptAll, 'createKeyPairs'); + + $userPasswords = $this->invokePrivate($encryptAll, 'userPasswords'); + + // we only expect the skipped user, because generateOneTimePassword which + // would set the user with the new password was mocked. + // This method will be tested separately + $this->assertSame(1, count($userPasswords)); + $this->assertSame('', $userPasswords['user2']); + } + + public function testEncryptAllUsersFiles() { + /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ + $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + ->setConstructorArgs( + [ + $this->setupUser, + $this->userManager, + $this->view, + $this->keyManager, + $this->config, + $this->mailer, + $this->l, + $this->questionHelper, + $this->secureRandom + ] + ) + ->setMethods(['encryptUsersFiles']) + ->getMock(); + + // set protected property $output + $this->invokePrivate($encryptAll, 'output', [$this->outputInterface]); + $this->invokePrivate($encryptAll, 'userPasswords', [['user1' => 'pwd1', 'user2' => 'pwd2']]); + + $encryptAll->expects($this->at(0))->method('encryptUsersFiles')->with('user1'); + $encryptAll->expects($this->at(1))->method('encryptUsersFiles')->with('user2'); + + $this->invokePrivate($encryptAll, 'encryptAllUsersFiles'); + + } + + public function testEncryptUsersFiles() { + /** @var EncryptAll | \PHPUnit_Framework_MockObject_MockObject $encryptAll */ + $encryptAll = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + ->setConstructorArgs( + [ + $this->setupUser, + $this->userManager, + $this->view, + $this->keyManager, + $this->config, + $this->mailer, + $this->l, + $this->questionHelper, + $this->secureRandom + ] + ) + ->setMethods(['encryptFile']) + ->getMock(); + + + $this->view->expects($this->at(0))->method('getDirectoryContent') + ->with('/user1/files')->willReturn( + [ + ['name' => 'foo', 'type'=>'dir'], + ['name' => 'bar', 'type'=>'file'], + ] + ); + + $this->view->expects($this->at(3))->method('getDirectoryContent') + ->with('/user1/files/foo')->willReturn( + [ + ['name' => 'subfile', 'type'=>'file'] + ] + ); + + $this->view->expects($this->any())->method('is_dir') + ->willReturnCallback( + function($path) { + if ($path === '/user1/files/foo') { + return true; + } + return false; + } + ); + + $encryptAll->expects($this->at(0))->method('encryptFile')->with('/user1/files/bar'); + $encryptAll->expects($this->at(1))->method('encryptFile')->with('/user1/files/foo/subfile'); + + $progressBar = $this->getMockBuilder('Symfony\Component\Console\Helper\ProgressBar') + ->disableOriginalConstructor()->getMock(); + + $this->invokePrivate($encryptAll, 'encryptUsersFiles', ['user1', $progressBar, '']); + + } + + public function testGenerateOneTimePassword() { + $password = $this->invokePrivate($this->encryptAll, 'generateOneTimePassword', ['user1']); + $this->assertTrue(is_string($password)); + $this->assertSame(8, strlen($password)); + + $userPasswords = $this->invokePrivate($this->encryptAll, 'userPasswords'); + $this->assertSame(1, count($userPasswords)); + $this->assertSame($password, $userPasswords['user1']); + } + +} diff --git a/apps/encryption/tests/lib/crypto/encryptionTest.php b/apps/encryption/tests/lib/crypto/encryptionTest.php index 7b0b29fe19..f58aa5d3cc 100644 --- a/apps/encryption/tests/lib/crypto/encryptionTest.php +++ b/apps/encryption/tests/lib/crypto/encryptionTest.php @@ -36,6 +36,9 @@ class EncryptionTest extends TestCase { /** @var \PHPUnit_Framework_MockObject_MockObject */ private $keyManagerMock; + /** @var \PHPUnit_Framework_MockObject_MockObject */ + private $encryptAllMock; + /** @var \PHPUnit_Framework_MockObject_MockObject */ private $cryptMock; @@ -60,6 +63,9 @@ class EncryptionTest extends TestCase { $this->keyManagerMock = $this->getMockBuilder('OCA\Encryption\KeyManager') ->disableOriginalConstructor() ->getMock(); + $this->encryptAllMock = $this->getMockBuilder('OCA\Encryption\Crypto\EncryptAll') + ->disableOriginalConstructor() + ->getMock(); $this->loggerMock = $this->getMockBuilder('OCP\ILogger') ->disableOriginalConstructor() ->getMock(); @@ -75,6 +81,7 @@ class EncryptionTest extends TestCase { $this->cryptMock, $this->keyManagerMock, $this->utilMock, + $this->encryptAllMock, $this->loggerMock, $this->l10nMock ); diff --git a/core/command/encryption/encryptall.php b/core/command/encryption/encryptall.php new file mode 100644 index 0000000000..db413a33d9 --- /dev/null +++ b/core/command/encryption/encryptall.php @@ -0,0 +1,114 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OC\Core\Command\Encryption; + +use OCP\App\IAppManager; +use OCP\Encryption\IManager; +use OCP\IConfig; +use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Helper\QuestionHelper; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Symfony\Component\Console\Question\ConfirmationQuestion; + +class EncryptAll extends Command { + + /** @var IManager */ + protected $encryptionManager; + + /** @var IAppManager */ + protected $appManager; + + /** @var IConfig */ + protected $config; + + /** @var QuestionHelper */ + protected $questionHelper; + + /** @var bool */ + protected $wasTrashbinEnabled; + + /** @var bool */ + protected $wasSingleUserModeEnabled; + + /** + * @param IManager $encryptionManager + * @param IAppManager $appManager + * @param IConfig $config + * @param QuestionHelper $questionHelper + */ + public function __construct( + IManager $encryptionManager, + IAppManager $appManager, + IConfig $config, + QuestionHelper $questionHelper + ) { + parent::__construct(); + $this->appManager = $appManager; + $this->encryptionManager = $encryptionManager; + $this->config = $config; + $this->questionHelper = $questionHelper; + $this->wasTrashbinEnabled = $this->appManager->isEnabledForUser('files_trashbin'); + $this->wasSingleUserModeEnabled = $this->config->getSystemValue('singleUser', false); + $this->config->setSystemValue('singleUser', true); + $this->appManager->disableApp('files_trashbin'); + } + + public function __destruct() { + $this->config->setSystemValue('singleUser', $this->wasSingleUserModeEnabled); + if ($this->wasTrashbinEnabled) { + $this->appManager->enableApp('files_trashbin'); + } + } + + protected function configure() { + parent::configure(); + + $this->setName('encryption:encrypt_all'); + $this->setDescription( + 'This will encrypt all files for all users. ' + . 'Please make sure that no user access his files during this process!' + ); + } + + protected function execute(InputInterface $input, OutputInterface $output) { + + if ($this->encryptionManager->isEnabled() === false) { + throw new \Exception('Server side encryption is not enabled'); + } + + $output->writeln("\n"); + $output->writeln('You are about to start to encrypt all files stored in your ownCloud.'); + $output->writeln('It will depend on the encryption module you use which files get encrypted.'); + $output->writeln('Depending on the number and size of your files this can take some time'); + $output->writeln('Please make sure that no user access his files during this process!'); + $output->writeln(''); + $question = new ConfirmationQuestion('Do you really want to continue? (y/n) ', false); + if ($this->questionHelper->ask($input, $output, $question)) { + $defaultModule = $this->encryptionManager->getEncryptionModule(); + $defaultModule->encryptAll($input, $output); + } else { + $output->writeln('aborted'); + } + } + +} diff --git a/core/register_command.php b/core/register_command.php index 6cd81b4c3b..86816f1041 100644 --- a/core/register_command.php +++ b/core/register_command.php @@ -57,6 +57,7 @@ if (\OC::$server->getConfig()->getSystemValue('installed', false)) { $application->add(new OC\Core\Command\Encryption\ListModules(\OC::$server->getEncryptionManager())); $application->add(new OC\Core\Command\Encryption\SetDefaultModule(\OC::$server->getEncryptionManager())); $application->add(new OC\Core\Command\Encryption\Status(\OC::$server->getEncryptionManager())); + $application->add(new OC\Core\Command\Encryption\EncryptAll(\OC::$server->getEncryptionManager(), \OC::$server->getAppManager(), \OC::$server->getConfig(), new \Symfony\Component\Console\Helper\QuestionHelper())); $application->add(new OC\Core\Command\Maintenance\MimeTypesJS()); $application->add(new OC\Core\Command\Maintenance\Mode(\OC::$server->getConfig())); diff --git a/lib/public/encryption/iencryptionmodule.php b/lib/public/encryption/iencryptionmodule.php index 183b322e71..a5cd707569 100644 --- a/lib/public/encryption/iencryptionmodule.php +++ b/lib/public/encryption/iencryptionmodule.php @@ -23,6 +23,8 @@ */ namespace OCP\Encryption; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; /** * Interface IEncryptionModule @@ -134,4 +136,14 @@ interface IEncryptionModule { */ public function isReadable($path, $uid); + /** + * Initial encryption of all files + * + * @param InputInterface $input + * @param OutputInterface $output write some status information to the terminal during encryption + * @return bool + * @since 8.2.0 + */ + public function encryptAll(InputInterface $input, OutputInterface $output); + } diff --git a/tests/core/command/encryption/encryptalltest.php b/tests/core/command/encryption/encryptalltest.php new file mode 100644 index 0000000000..41edee6987 --- /dev/null +++ b/tests/core/command/encryption/encryptalltest.php @@ -0,0 +1,131 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + + +namespace Tests\Core\Command\Encryption; + + +use OC\Core\Command\Encryption\EncryptAll; +use Test\TestCase; + +class EncryptAllTest extends TestCase { + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\IConfig */ + protected $config; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\Encryption\IManager */ + protected $encryptionManager; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\App\IAppManager */ + protected $appManager; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Input\InputInterface */ + protected $consoleInput; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Output\OutputInterface */ + protected $consoleOutput; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \Symfony\Component\Console\Helper\QuestionHelper */ + protected $questionHelper; + + /** @var \PHPUnit_Framework_MockObject_MockObject | \OCP\Encryption\IEncryptionModule */ + protected $encryptionModule; + + /** @var EncryptAll */ + protected $command; + + protected function setUp() { + parent::setUp(); + + $this->config = $this->getMockBuilder('OCP\IConfig') + ->disableOriginalConstructor() + ->getMock(); + $this->encryptionManager = $this->getMockBuilder('OCP\Encryption\IManager') + ->disableOriginalConstructor() + ->getMock(); + $this->appManager = $this->getMockBuilder('OCP\App\IAppManager') + ->disableOriginalConstructor() + ->getMock(); + $this->encryptionModule = $this->getMockBuilder('\OCP\Encryption\IEncryptionModule') + ->disableOriginalConstructor() + ->getMock(); + $this->questionHelper = $this->getMockBuilder('Symfony\Component\Console\Helper\QuestionHelper') + ->disableOriginalConstructor() + ->getMock(); + $this->consoleInput = $this->getMock('Symfony\Component\Console\Input\InputInterface'); + $this->consoleOutput = $this->getMock('Symfony\Component\Console\Output\OutputInterface'); + + } + + public function testEncryptAll() { + // trash bin needs to be disabled in order to avoid adding dummy files to the users + // trash bin which gets deleted during the encryption process + $this->appManager->expects($this->once())->method('disableApp')->with('files_trashbin'); + // enable single user mode to avoid that other user login during encryption + // destructor should disable the single user mode again + $this->config->expects($this->once())->method('getSystemValue')->with('singleUser', false)->willReturn(false); + $this->config->expects($this->at(1))->method('setSystemValue')->with('singleUser', true); + $this->config->expects($this->at(2))->method('setSystemValue')->with('singleUser', false); + + new EncryptAll($this->encryptionManager, $this->appManager, $this->config, $this->questionHelper); + } + + /** + * @dataProvider dataTestExecute + */ + public function testExecute($answer, $askResult) { + + $command = new EncryptAll($this->encryptionManager, $this->appManager, $this->config, $this->questionHelper); + + $this->encryptionManager->expects($this->once())->method('isEnabled')->willReturn(true); + $this->questionHelper->expects($this->once())->method('ask')->willReturn($askResult); + + if ($answer === 'Y' || $answer === 'y') { + $this->encryptionManager->expects($this->once()) + ->method('getEncryptionModule')->willReturn($this->encryptionModule); + $this->encryptionModule->expects($this->once()) + ->method('encryptAll')->with($this->consoleInput, $this->consoleOutput); + } else { + $this->encryptionManager->expects($this->never())->method('getEncryptionModule'); + $this->encryptionModule->expects($this->never())->method('encryptAll'); + } + + $this->invokePrivate($command, 'execute', [$this->consoleInput, $this->consoleOutput]); + } + + public function dataTestExecute() { + return [ + ['y', true], ['Y', true], ['n', false], ['N', false], ['', false] + ]; + } + + /** + * @expectedException \Exception + */ + public function testExecuteException() { + $command = new EncryptAll($this->encryptionManager, $this->appManager, $this->config, $this->questionHelper); + $this->encryptionManager->expects($this->once())->method('isEnabled')->willReturn(false); + $this->encryptionManager->expects($this->never())->method('getEncryptionModule'); + $this->encryptionModule->expects($this->never())->method('encryptAll'); + $this->invokePrivate($command, 'execute', [$this->consoleInput, $this->consoleOutput]); + } + +} diff --git a/tests/lib/files/storage/wrapper/encryption.php b/tests/lib/files/storage/wrapper/encryption.php index c49e6bb0d1..3d1bf1077a 100644 --- a/tests/lib/files/storage/wrapper/encryption.php +++ b/tests/lib/files/storage/wrapper/encryption.php @@ -194,7 +194,7 @@ class Encryption extends \Test\Files\Storage\Storage { protected function buildMockModule() { $this->encryptionModule = $this->getMockBuilder('\OCP\Encryption\IEncryptionModule') ->disableOriginalConstructor() - ->setMethods(['getId', 'getDisplayName', 'begin', 'end', 'encrypt', 'decrypt', 'update', 'shouldEncrypt', 'getUnencryptedBlockSize', 'isReadable']) + ->setMethods(['getId', 'getDisplayName', 'begin', 'end', 'encrypt', 'decrypt', 'update', 'shouldEncrypt', 'getUnencryptedBlockSize', 'isReadable', 'encryptAll']) ->getMock(); $this->encryptionModule->expects($this->any())->method('getId')->willReturn('UNIT_TEST_MODULE'); diff --git a/tests/lib/files/stream/encryption.php b/tests/lib/files/stream/encryption.php index 281ec0a14a..ed3b5b1b15 100644 --- a/tests/lib/files/stream/encryption.php +++ b/tests/lib/files/stream/encryption.php @@ -305,7 +305,7 @@ class Encryption extends \Test\TestCase { protected function buildMockModule() { $encryptionModule = $this->getMockBuilder('\OCP\Encryption\IEncryptionModule') ->disableOriginalConstructor() - ->setMethods(['getId', 'getDisplayName', 'begin', 'end', 'encrypt', 'decrypt', 'update', 'shouldEncrypt', 'getUnencryptedBlockSize', 'isReadable']) + ->setMethods(['getId', 'getDisplayName', 'begin', 'end', 'encrypt', 'decrypt', 'update', 'shouldEncrypt', 'getUnencryptedBlockSize', 'isReadable', 'encryptAll']) ->getMock(); $encryptionModule->expects($this->any())->method('getId')->willReturn('UNIT_TEST_MODULE'); From e51fe617d89fd515e9e6836f205f67c613939b41 Mon Sep 17 00:00:00 2001 From: Bjoern Schiessle Date: Mon, 24 Aug 2015 15:57:03 +0200 Subject: [PATCH 113/329] copy always file by file to encrypt/decrypt it if needed --- .../files/storage/wrapper/encryption.php | 44 +++++-------- .../lib/files/storage/wrapper/encryption.php | 61 +++---------------- 2 files changed, 23 insertions(+), 82 deletions(-) diff --git a/lib/private/files/storage/wrapper/encryption.php b/lib/private/files/storage/wrapper/encryption.php index 4ba9b21ddb..805a2bc1ad 100644 --- a/lib/private/files/storage/wrapper/encryption.php +++ b/lib/private/files/storage/wrapper/encryption.php @@ -67,7 +67,6 @@ class Encryption extends Wrapper { /** @var IMountPoint */ private $mount; - /** @var IStorage */ private $keyStorage; @@ -300,33 +299,15 @@ class Encryption extends Wrapper { public function copy($path1, $path2) { $source = $this->getFullPath($path1); - $target = $this->getFullPath($path2); if ($this->util->isExcluded($source)) { return $this->storage->copy($path1, $path2); } - $result = $this->storage->copy($path1, $path2); - - if ($result && $this->encryptionManager->isEnabled()) { - $keysCopied = $this->copyKeys($source, $target); - - if ($keysCopied && - dirname($source) !== dirname($target) && - $this->util->isFile($target) - ) { - $this->update->update($target); - } - - $data = $this->getMetaData($path1); - - if (isset($data['encrypted'])) { - $this->getCache()->put($path2, ['encrypted' => $data['encrypted']]); - } - if (isset($data['size'])) { - $this->updateUnencryptedSize($target, $data['size']); - } - } + // need to stream copy file by file in case we copy between a encrypted + // and a unencrypted storage + $this->unlink($path2); + $result = $this->copyFromStorage($this, $path1, $path2); return $result; } @@ -511,12 +492,17 @@ class Encryption extends Wrapper { } } } else { - $source = $sourceStorage->fopen($sourceInternalPath, 'r'); - $target = $this->fopen($targetInternalPath, 'w'); - list(, $result) = \OC_Helper::streamCopy($source, $target); - fclose($source); - fclose($target); - + try { + $source = $sourceStorage->fopen($sourceInternalPath, 'r'); + $target = $this->fopen($targetInternalPath, 'w'); + list(, $result) = \OC_Helper::streamCopy($source, $target); + fclose($source); + fclose($target); + } catch (\Exception $e) { + fclose($source); + fclose($target); + throw $e; + } if($result) { if ($preserveMtime) { $this->touch($targetInternalPath, $sourceStorage->filemtime($sourceInternalPath)); diff --git a/tests/lib/files/storage/wrapper/encryption.php b/tests/lib/files/storage/wrapper/encryption.php index 3d1bf1077a..36a5b288c6 100644 --- a/tests/lib/files/storage/wrapper/encryption.php +++ b/tests/lib/files/storage/wrapper/encryption.php @@ -241,59 +241,14 @@ class Encryption extends \Test\Files\Storage\Storage { $this->instance->rename($source, $target); } - /** - * @dataProvider dataTestCopyAndRename - * - * @param string $source - * @param string $target - * @param $encryptionEnabled - * @param boolean $copyKeysReturn - * @param boolean $shouldUpdate - */ - public function testCopyEncryption($source, - $target, - $encryptionEnabled, - $copyKeysReturn, - $shouldUpdate) { - - if ($encryptionEnabled) { - $this->keyStore - ->expects($this->once()) - ->method('copyKeys') - ->willReturn($copyKeysReturn); - $this->cache->expects($this->atLeastOnce()) - ->method('put') - ->willReturnCallback(function($path, $data) { - $this->assertArrayHasKey('encrypted', $data); - $this->assertTrue($data['encrypted']); - }); - } else { - $this->cache->expects($this->never())->method('put'); - $this->keyStore->expects($this->never())->method('copyKeys'); - } - $this->util->expects($this->any()) - ->method('isFile')->willReturn(true); - $this->util->expects($this->any()) - ->method('isExcluded')->willReturn(false); - $this->encryptionManager->expects($this->once()) - ->method('isEnabled')->willReturn($encryptionEnabled); - if ($shouldUpdate) { - $this->update->expects($this->once()) - ->method('update'); - } else { - $this->update->expects($this->never()) - ->method('update'); - } - - $this->instance->mkdir($source); - $this->instance->mkdir(dirname($target)); - $this->instance->copy($source, $target); - - if ($encryptionEnabled) { - $this->assertSame($this->dummySize, - $this->instance->filesize($target) - ); - } + public function testCopyEncryption() { + $this->instance->file_put_contents('source.txt', 'bar'); + $this->instance->copy('source.txt', 'target.txt'); + $this->assertSame('bar', $this->instance->file_get_contents('target.txt')); + $targetMeta = $this->instance->getMetaData('target.txt'); + $sourceMeta = $this->instance->getMetaData('source.txt'); + $this->assertSame($sourceMeta['encrypted'], $targetMeta['encrypted']); + $this->assertSame($sourceMeta['size'], $targetMeta['size']); } /** From bf0c3b3d21cf918b074ffa26c018b022721a3464 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Mon, 24 Aug 2015 12:16:55 +0200 Subject: [PATCH 114/329] reduce grey tones in app navigation, bubble menu and scrollbar --- apps/files/css/files.css | 2 +- apps/files/img/delete.png | Bin 209 -> 243 bytes apps/files/img/delete.svg | 2 +- apps/files/img/external.png | Bin 369 -> 392 bytes apps/files/img/external.svg | 2 +- apps/files/img/folder.png | Bin 160 -> 303 bytes apps/files/img/folder.svg | 4 ++-- apps/files/img/public.png | Bin 297 -> 307 bytes apps/files/img/public.svg | 6 +++--- apps/files/img/share.png | Bin 365 -> 264 bytes apps/files/img/share.svg | 2 +- apps/files/img/star.png | Bin 373 -> 490 bytes apps/files/img/star.svg | 4 ++-- core/css/apps.css | 41 ++++++++++++++++-------------------- core/css/styles.css | 2 +- 15 files changed, 30 insertions(+), 35 deletions(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index f8c1d03b66..a1b9312b15 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -133,7 +133,7 @@ position: fixed !important; bottom: 44px; width: inherit !important; - background-color: #f5f5f5; + background-color: #fff; } /* double padding to account for Deleted files entry, issue with Firefox */ .app-files #app-navigation > ul li:nth-last-child(2) { diff --git a/apps/files/img/delete.png b/apps/files/img/delete.png index b2ab8c5efefab235fa4bfa1eb06afa0106116a21..e891b370cca7b3d83e937863dbbc9578c5b8b1bd 100644 GIT binary patch delta 227 zcmcb}_?dBnL_G%^0|SHn=l_X7ilx}eGlT;OYB*9lfPBsZkH}&M2Hxu+%;=;sy8hT|5}cn_Ql40p%1~Zju9umYU7Va)kgAtols@~NjTBH(fv1aOh(+(&Nr7Ak6nLB` zSN{L~L$hMW+xyHZ_NPKLN`%{5>u%aj7V?TYWweEFT!`!Y2ng9#!1`#rm_L|MB^U&(t-XW|T<#w)um70$&irgv53YW{$t-il*cn XUC&$i?88QNpydpnu6{1-oD!M& zkY6wZlbEu;jYmjKLSj;GRm1s7Qv-ogE}kxqAso@YCl~TI7>GC=%(iXwoH0dk#!6)d zt~37P8V_c9`R#pTcq4Cvn@h|jhT{JxOCH2*5?}SEG4|R5iEHaMwygTiaAUH}>5lAv QeUPg>UHx3vIVCg!03d`qr2qf` diff --git a/apps/files/img/delete.svg b/apps/files/img/delete.svg index b6dc2cc417..f0a3cd4db8 100644 --- a/apps/files/img/delete.svg +++ b/apps/files/img/delete.svg @@ -1,4 +1,4 @@ - + diff --git a/apps/files/img/external.png b/apps/files/img/external.png index 2ac5e9344c33c1abf1b12d115d91d2d3e4240650..af03dbf3e05397a5aa029b699297933729f55d56 100644 GIT binary patch delta 376 zcmV-;0f+wa0*C{U8Gi-<001BJ|6u?C00eVFNmK|32nc)#WQYI&010qNS#tmY4c7nw z4c7reD4Tcy000?uMObuGZ)S9NVRB^vcXxL#X>MzCV_|S*E^l&Yo9;Xs00036Nkl>6CYCA*FL=j3P6q&7qoWw% z1YNvU^tk{GTq67QDl>Z{Y~dj@j|Yq~kL_V&j^bbucXa?$HN`7<>ML&J9KYjq(85N= zencxXyAkn;J#i>WyueLnsw&Qk-)=Ei_;!kSAv5a%ir5jF6}yeY(jLk|DVcennLicR zG}cOEB)}*sNleT}#PS$5%_6_oBJASJ|7{zjA6PFri1HdEVhS^3bnu;-y*-FY&-oAb WnUGyx?$P7`0000;M1%fy{vgdo_$60$rd} z666=mz{teR!p6bL&BG@sA}S@TpscNHU}9$B;OXV#9}yK3mz126o>Nd#UR~d?(opg* zP+x(ki(^OyW9f->J|;y8wuj=e++vK~H$+`ScKrX#GO53%rS{+11?OvKbGmqIs>;VW z6|rsjXZf5b-Ce3(d(y_0$FHKM=UeKVWP7(8b21!$N4JZrr8@97E_af=nSEWZ m+%HG&k@Si5#+K5Sg%A0U_44K|IP%y96l$KXelF{r5}E*ru~6s$ diff --git a/apps/files/img/external.svg b/apps/files/img/external.svg index d1940f2f1b..80eba5b996 100644 --- a/apps/files/img/external.svg +++ b/apps/files/img/external.svg @@ -1,4 +1,4 @@ - + diff --git a/apps/files/img/folder.png b/apps/files/img/folder.png index ada4c4c2f882d05c44d53a592309c44d0c6e31f2..4a8861f25ca0bc4709493b03f005491a0ba571d3 100644 GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTB?S0{xB_XKf?xhGdVvUCa2Xlt=PJ4_n}jdp1=I^ZMU*&0#IqZr;B4q#jUGnZt^)8 z2sm7HoVuti>;3=#OOF_FE_Ql!wAS`y>+U%g(Lz&}#05{8)GKAYRVLYE$wbA8d(=%> z|IFyU(kMNbYwg^kPgByo{yW)}yX~KbLh* G2~7Y(dQVsY literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPE^4e$wZ{r~?zkckFt+ujrch1g4i z{DK*H6!Hs;>NyroKLZpp_H=O!;fPL7XkeVSC4{3{SC{u30~51^GUEx47OgaI25!p( n5}Xy1o(67GQw~mIyV}RdQ2Rut*RtbFHpmiBS3j3^P6 - - + + diff --git a/apps/files/img/public.png b/apps/files/img/public.png index f49c5fb1ee555b025a3645238a90515a6baf0f8a..772838ad2058e5e6e16c9fcb13e1bb6708155238 100644 GIT binary patch delta 205 zcmV;;05bon0fjm!aBi0001UNkl2atPc;S!O2v{`cqASsqg|rJoMk?mBx@`!jiw zabx&;4-9MV0m%w@Y)}?ym2V73=HhyZ5;T5y1EN6&)&Sqv0{{R307*qoM6N<$f*`(7 A8vp - - - + + + diff --git a/apps/files/img/share.png b/apps/files/img/share.png index 61c87e78b6cc9f46d9ffec57af4e9961b6a85964..fdacbbabebcf013a5a80907b3e62cb2e3c0ee26d 100644 GIT binary patch delta 247 zcmV0*C^T8Gi-<001BJ|6u?C0MAK8K~y-)WBC97KLaJ0c!dlMra-(Ii0=Y% zB@i=_YQRMx{*Q#ch&BKST+lRw@Kk~Z0D&eDuK?nISPXDPF#rf;fjA9_<$+igh!+F# zU#Q~8KwJ*Q%YpbP5GSGpA`rv?@gJz-e@N_SK%5K2?091V2yo7!IqxSB7XdLRQPBtl z$I%S<3dCVR%t)*Oen9*gs`)RHL6?Cz7@tANfyf8M0YEGY#I``Z56PelK%5H1i?9YF xo@jIc;)7VC5HlJH7!*cULZVtyrb=eQg#qdo4PA^R@Y4VQ002ovPDHLkV1nC8U~B*Y literal 365 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}V}MVH>;M1%fy@B}jq6q!0j<|A z3GxeOU}R!p=i=iR5|NTqP*PRb(AG0BHnFhr3Ji&iPe@8m&&bZpFRHArsjE-fZpR1I zR^aL47*fGl+kaf>kOPmivwq7Y0VePGUHAXjD?FY#cdPyfziE7vV*Vsn?Z~&j*Ky#` zOUna#r%%c)y;6On=a^%~mWO-7V!1ia`)>D$Y4pFnc?0){b+Pw9wH{b&w0ytRnLYt& n-m_Ddhh&G;&G7yIbIwOrTRrXz9ku5iK_TYp>gTe~DWM4flxSBb diff --git a/apps/files/img/share.svg b/apps/files/img/share.svg index 97f52f2e78..d67d35c6e5 100644 --- a/apps/files/img/share.svg +++ b/apps/files/img/share.svg @@ -1,6 +1,6 @@ - + diff --git a/apps/files/img/star.png b/apps/files/img/star.png index 6b0ec67ec1c5729ca1d758e271c84ff1a328f707..3c66c49a8c4e07667790aa1e0597229a67ece20b 100644 GIT binary patch literal 490 zcmVK~zYIwbnmN98na9;b+$vf`V*}g(7ZaArXW$!NM4#jg^fl z7wr_%`vFpTb0<4LINbSj&Uw$h zoSAzG*8rY`22~4yRw6512RK5dOvo$ziEOq^&~^f}Sr%j%w+T=agL#8PnqdvSiTg)b z4v5dC2l(ONY+^gq<)&Clfy6eGCqV^IF@(pcMPvK*GmK^AIKfw3;5-^H+r~3kz^@J! z|F1RCh^v~y_Yxo{c;3DQBiQdEw*>+BcrUQ!-{5xu?Hg^Z^p*~4VQ zXB3}O{OTc~)kNT_)?p;8qZaWq;or#cOVt+cw6^O!N2?k(qL>dMpj}Ld1Vnm)k9nP| g=qUh+^)T(>UjS6k{<;M1%fy{vgdo_$60$rd} z666=mz{teH&dtNiFCZ)`B`qT>ud1n~qibbt=iuQT5g8Smol{U$TvA$IRb5w~a=ahp zu@X-g#}En0(1YwkO$H3E2iX^`SP_ww6Q~pM;r{gTe~DWM4fmiAYc diff --git a/apps/files/img/star.svg b/apps/files/img/star.svg index fb3eef1e45..3207f6f9a4 100644 --- a/apps/files/img/star.svg +++ b/apps/files/img/star.svg @@ -1,6 +1,6 @@ - - + + diff --git a/core/css/apps.css b/core/css/apps.css index 17595479ae..846eba8e4b 100644 --- a/core/css/apps.css +++ b/core/css/apps.css @@ -22,7 +22,7 @@ height: 100%; float: left; -moz-box-sizing: border-box; box-sizing: border-box; - background-color: #f5f5f5; + background-color: #fff; padding-bottom: 44px; -webkit-user-select: none; -moz-user-select: none; @@ -42,10 +42,6 @@ width: 100%; -moz-box-sizing: border-box; box-sizing: border-box; } -#app-navigation .active, -#app-navigation .active a { - background-color: #ddd; -} #app-navigation .active.with-menu > a, #app-navigation .with-counter > a { @@ -56,14 +52,6 @@ padding-right: 90px; } -#app-navigation li:hover > a, -#app-navigation li:focus > a, -#app-navigation a:focus, -#app-navigation .selected, -#app-navigation .selected a { - background-color: #ddd; -} - #app-navigation .with-icon a, #app-navigation .app-navigation-entry-loading a { padding-left: 44px; @@ -82,7 +70,17 @@ -moz-box-sizing: border-box; box-sizing: border-box; white-space: nowrap; text-overflow: ellipsis; - color: #333; + color: #000; + opacity: .5; +} +#app-navigation .active, +#app-navigation .active a, +#app-navigation li:hover > a, +#app-navigation li:focus > a, +#app-navigation a:focus, +#app-navigation .selected, +#app-navigation .selected a { + opacity: 1; } #app-navigation .collapse { @@ -296,7 +294,7 @@ .bubble, #app-navigation .app-navigation-entry-menu { position: absolute; - background-color: #eee; + background-color: #fff; color: #333; border-radius: 3px; border-top-right-radius: 0; @@ -324,7 +322,7 @@ .bubble:after, #app-navigation .app-navigation-entry-menu:after { border-color: rgba(238, 238, 238, 0); - border-bottom-color: #eee; + border-bottom-color: #fff; border-width: 10px; margin-left: -10px; } @@ -473,13 +471,10 @@ #app-settings.opened #app-settings-content { display: block; } -#app-settings-header { - background-color: #eee; -} #app-settings-content { display: none; padding: 10px; - background-color: #eee; + background-color: #fff; } #app-settings.open #app-settings-content { display: block; @@ -499,7 +494,7 @@ width: 100%; padding: 0; margin: 0; - background-color: transparent; + background-color: #fff; background-image: url('../img/actions/settings.svg'); background-position: 14px center; background-repeat: no-repeat; @@ -512,11 +507,11 @@ } .settings-button:hover, .settings-button:focus { - background-color: #ddd; + background-color: #fff; } .settings-button.opened:hover, .settings-button.opened:focus { - background-color: transparent; + background-color: #fff; } /* buttons */ diff --git a/core/css/styles.css b/core/css/styles.css index 8b89837bce..cad407b52e 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -186,7 +186,7 @@ input img, button img, .button img { background-color: transparent; } ::-webkit-scrollbar-thumb { - background: #ccc; + background: #ddd; } From c41089bcada846ac2c4f526ae4e96bea9d22f744 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 26 Aug 2015 17:28:40 +0200 Subject: [PATCH 115/329] reduce grey tones to one for list highlight --- apps/files/css/files.css | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index a1b9312b15..4a56490fe0 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -96,7 +96,10 @@ min-width: 688px; /* 768 (mobile break) - 80 (nav width) */ } -#filestable tbody tr { background-color:#fff; height:51px; } +#filestable tbody tr { + background-color: #fff; + height: 51px; +} /* fit app list view heights */ .app-files #app-content>.viewcontainer { @@ -140,20 +143,20 @@ margin-bottom: 44px; } -#filestable tbody tr { background-color:#fff; height:40px; } +#filestable tbody tr { + background-color: #fff; + height: 40px; +} #filestable tbody tr:hover, #filestable tbody tr:focus, #filestable tbody .name:focus, -#filestable tbody tr:active { - background-color: rgb(240,240,240); -} +#filestable tbody tr:active, #filestable tbody tr.highlighted, #filestable tbody tr.highlighted .name:focus, -#filestable tbody tr.selected { - background-color: rgb(230,230,230); -} -#filestable tbody tr.searchresult { - background-color: rgb(240,240,240); +#filestable tbody tr.selected, +#filestable tbody tr.searchresult, +table tr.mouseOver td { + background-color: #f8f8f8; } tbody a { color:#000; } @@ -178,9 +181,6 @@ tr:focus span.extension { color: #777; } -table tr.mouseOver td { - background-color: #eee; -} table th, table th a { color: #999; } @@ -275,7 +275,7 @@ table thead th { background-color: #fff; } table.multiselect thead th { - background-color: rgba(220,220,220,.8); + background-color: rgba(248,248,248,.8); /* #f8f8f8 like other hover style */ color: #000; font-weight: bold; border-bottom: 0; @@ -706,7 +706,7 @@ table.dragshadow td.size { left: 0; right: 0; bottom: 0; - background-color: white; + background-color: #fff; background-repeat: no-repeat no-repeat; background-position: 50%; opacity: 0.7; From 46978b616cf18d86c3b5790560d233ebde1fc8e7 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Thu, 27 Aug 2015 01:55:20 -0400 Subject: [PATCH 116/329] [tx-robot] updated from transifex --- apps/files_external/l10n/el.js | 22 ++++++++++++++++++++++ apps/files_external/l10n/el.json | 22 ++++++++++++++++++++++ apps/files_external/l10n/fi_FI.js | 2 ++ apps/files_external/l10n/fi_FI.json | 2 ++ apps/files_external/l10n/fr.js | 15 +++++++++++++++ apps/files_external/l10n/fr.json | 15 +++++++++++++++ apps/files_external/l10n/pt_BR.js | 1 + apps/files_external/l10n/pt_BR.json | 1 + core/l10n/de.js | 2 +- core/l10n/de.json | 2 +- lib/l10n/el.js | 1 + lib/l10n/el.json | 1 + lib/l10n/fr.js | 1 + lib/l10n/fr.json | 1 + lib/l10n/tr.js | 1 + lib/l10n/tr.json | 1 + settings/l10n/de.js | 6 +++--- settings/l10n/de.json | 6 +++--- settings/l10n/el.js | 7 +++++++ settings/l10n/el.json | 7 +++++++ settings/l10n/fr.js | 7 +++++++ settings/l10n/fr.json | 7 +++++++ 22 files changed, 122 insertions(+), 8 deletions(-) diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js index 156b713acb..13fb910e79 100644 --- a/apps/files_external/l10n/el.js +++ b/apps/files_external/l10n/el.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Η λήψη των τεκμηρίων αιτήματος απέτυχε. Βεβαιώστε ότι το κλειδί εφαρμογής και το μυστικό είναι ορθά.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Η λήψη των τεκμηρίων πρόσβασης απέτυχε. Βεβαιώστε ότι το κλειδί εφαρμογής και το μυστικό είναι ορθά.", + "Please provide a valid app key and secret." : "Παρακαλούμε δώστε έγκυρο κλειδί εφαρμογής και μυστικό.", "Step 1 failed. Exception: %s" : "Το βήμα 1 απέτυχε. Εξαίρεση: %s", "Step 2 failed. Exception: %s" : "Το βήμα 2 απέτυχε. Εξαίρεση: %s", "External storage" : "Εξωτερική αποθήκευση", @@ -22,12 +25,19 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP με σύνδεση με κρυφό κλειδί", "Public key" : "Δημόσιο κλειδί", "Storage with id \"%i\" not found" : "Αποθήκευση με id \"%i\" δεν βρέθηκε", + "Invalid backend or authentication mechanism class" : "Μη έγκυρη κλάση συστήματος ή μηχανισμού πιστοποίησης", "Invalid mount point" : "Μη έγκυρο σημείο ανάρτησης", + "Objectstore forbidden" : "Απαγορευμένο objectstore", "Invalid storage backend \"%s\"" : "Μή έγκυρο σύστημα υποστήριξης αποθήκευσης \"%s\"", + "Unsatisfied backend parameters" : "Ελλιπείς παράμετροι συστήματος", + "Unsatisfied authentication mechanism parameters" : "Ελλιπείς παράμετροι μηχανισμού πιστοποίησης", + "Admin-only storage backend \"%s\"" : "Σύστημα αποθήκευσης μόνο για διαχειριστή \"%s\"", "Personal" : "Προσωπικά", "System" : "Σύστημα", "Grant access" : "Παροχή πρόσβασης", "Access granted" : "Πρόσβαση παρασχέθηκε", + "Error configuring OAuth1" : "Σφάλμα ρύθμισης του OAuth1", + "Error configuring OAuth2" : "Σφάλμα ρύθμισης του OAuth2", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", "Check for changes" : "Έλεγχος για αλλαγές", @@ -39,12 +49,19 @@ OC.L10N.register( "Saved" : "Αποθηκεύτηκαν", "Generate keys" : "Δημιουργία κλειδιών", "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", + "Access key" : "Κλειδί πρόσβασης", + "Secret key" : "Μυστικό κλειδί", + "Builtin" : "Builtin", "None" : "Τίποτα", + "OAuth1" : "OAuth1", "App key" : "Κλειδί εφαρμογής", "App secret" : "Μυστικό εφαρμογής", + "OAuth2" : "OAuth2", "Client ID" : "ID πελάτη", "Client secret" : "Μυστικό πελάτη", + "Username and password" : "Όνομα χρήστη και κωδικός πρόσβασης", "Password" : "Κωδικός πρόσβασης", + "Session credentials" : "Διαπιστευτήρια συνεδρίας", "Amazon S3" : "Amazon S3", "Hostname" : "Όνομα Υπολογιστή", "Port" : "Θύρα", @@ -55,11 +72,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "Ασφαλής σύνδεση https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Ασφαλής ftps://", + "Google Drive" : "Google Drive", "Local" : "Τοπικός", "Location" : "Τοποθεσία", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Σημείωση: ", "Note: 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 δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "Note: 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. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", @@ -71,6 +92,7 @@ OC.L10N.register( "Scope" : "Εύρος", "External Storage" : "Εξωτερικό Αποθηκευτικό Μέσο", "Folder name" : "Όνομα φακέλου", + "Authentication" : "Πιστοποίηση", "Configuration" : "Ρυθμίσεις", "Available for" : "Διαθέσιμο για", "Advanced settings" : "Ρυθμίσεις για προχωρημένους", diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json index 5412c9a44a..c2211b1884 100644 --- a/apps/files_external/l10n/el.json +++ b/apps/files_external/l10n/el.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "Η λήψη των τεκμηρίων αιτήματος απέτυχε. Βεβαιώστε ότι το κλειδί εφαρμογής και το μυστικό είναι ορθά.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "Η λήψη των τεκμηρίων πρόσβασης απέτυχε. Βεβαιώστε ότι το κλειδί εφαρμογής και το μυστικό είναι ορθά.", + "Please provide a valid app key and secret." : "Παρακαλούμε δώστε έγκυρο κλειδί εφαρμογής και μυστικό.", "Step 1 failed. Exception: %s" : "Το βήμα 1 απέτυχε. Εξαίρεση: %s", "Step 2 failed. Exception: %s" : "Το βήμα 2 απέτυχε. Εξαίρεση: %s", "External storage" : "Εξωτερική αποθήκευση", @@ -20,12 +23,19 @@ "SFTP with secret key login" : "SFTP με σύνδεση με κρυφό κλειδί", "Public key" : "Δημόσιο κλειδί", "Storage with id \"%i\" not found" : "Αποθήκευση με id \"%i\" δεν βρέθηκε", + "Invalid backend or authentication mechanism class" : "Μη έγκυρη κλάση συστήματος ή μηχανισμού πιστοποίησης", "Invalid mount point" : "Μη έγκυρο σημείο ανάρτησης", + "Objectstore forbidden" : "Απαγορευμένο objectstore", "Invalid storage backend \"%s\"" : "Μή έγκυρο σύστημα υποστήριξης αποθήκευσης \"%s\"", + "Unsatisfied backend parameters" : "Ελλιπείς παράμετροι συστήματος", + "Unsatisfied authentication mechanism parameters" : "Ελλιπείς παράμετροι μηχανισμού πιστοποίησης", + "Admin-only storage backend \"%s\"" : "Σύστημα αποθήκευσης μόνο για διαχειριστή \"%s\"", "Personal" : "Προσωπικά", "System" : "Σύστημα", "Grant access" : "Παροχή πρόσβασης", "Access granted" : "Πρόσβαση παρασχέθηκε", + "Error configuring OAuth1" : "Σφάλμα ρύθμισης του OAuth1", + "Error configuring OAuth2" : "Σφάλμα ρύθμισης του OAuth2", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "Enable previews" : "Ενεργοποίηση προεπισκοπήσεων", "Check for changes" : "Έλεγχος για αλλαγές", @@ -37,12 +47,19 @@ "Saved" : "Αποθηκεύτηκαν", "Generate keys" : "Δημιουργία κλειδιών", "Error generating key pair" : "Σφάλμα κατά τη δημιουργία ζεύγους κλειδιών", + "Access key" : "Κλειδί πρόσβασης", + "Secret key" : "Μυστικό κλειδί", + "Builtin" : "Builtin", "None" : "Τίποτα", + "OAuth1" : "OAuth1", "App key" : "Κλειδί εφαρμογής", "App secret" : "Μυστικό εφαρμογής", + "OAuth2" : "OAuth2", "Client ID" : "ID πελάτη", "Client secret" : "Μυστικό πελάτη", + "Username and password" : "Όνομα χρήστη και κωδικός πρόσβασης", "Password" : "Κωδικός πρόσβασης", + "Session credentials" : "Διαπιστευτήρια συνεδρίας", "Amazon S3" : "Amazon S3", "Hostname" : "Όνομα Υπολογιστή", "Port" : "Θύρα", @@ -53,11 +70,15 @@ "URL" : "URL", "Secure https://" : "Ασφαλής σύνδεση https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Ασφαλής ftps://", + "Google Drive" : "Google Drive", "Local" : "Τοπικός", "Location" : "Τοποθεσία", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Σημείωση: ", "Note: 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 δεν είναι δυνατή. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", "Note: 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. Παρακαλώ ζητήστε από τον διαχειριστή συστημάτων σας να την εγκαταστήσει.", @@ -69,6 +90,7 @@ "Scope" : "Εύρος", "External Storage" : "Εξωτερικό Αποθηκευτικό Μέσο", "Folder name" : "Όνομα φακέλου", + "Authentication" : "Πιστοποίηση", "Configuration" : "Ρυθμίσεις", "Available for" : "Διαθέσιμο για", "Advanced settings" : "Ρυθμίσεις για προχωρημένους", diff --git a/apps/files_external/l10n/fi_FI.js b/apps/files_external/l10n/fi_FI.js index 54fdd01751..1e67d9ffc7 100644 --- a/apps/files_external/l10n/fi_FI.js +++ b/apps/files_external/l10n/fi_FI.js @@ -18,6 +18,7 @@ OC.L10N.register( "Share" : "Jaa", "Remote subfolder" : "Etäalikansio", "Public key" : "Julkinen avain", + "Storage with id \"%i\" not found" : "Tallennustilaa tunnisteella \"%i\" ei löytynyt", "Invalid mount point" : "Virheellinen liitoskohta", "Personal" : "Henkilökohtainen", "System" : "Järjestelmä", @@ -26,6 +27,7 @@ OC.L10N.register( "Error configuring OAuth1" : "Virhe OAuth1:n asetuksia tehdessä", "Error configuring OAuth2" : "Virhe OAuth2:n asetuksia tehdessä", "Enable encryption" : "Käytä salausta", + "Enable previews" : "Käytä esikatseluja", "Check for changes" : "Tarkista muutokset", "Never" : "Ei koskaan", "Once every direct access" : "Kerran aina suoran käytön yhteydessä", diff --git a/apps/files_external/l10n/fi_FI.json b/apps/files_external/l10n/fi_FI.json index 33db4d9d5d..3870158899 100644 --- a/apps/files_external/l10n/fi_FI.json +++ b/apps/files_external/l10n/fi_FI.json @@ -16,6 +16,7 @@ "Share" : "Jaa", "Remote subfolder" : "Etäalikansio", "Public key" : "Julkinen avain", + "Storage with id \"%i\" not found" : "Tallennustilaa tunnisteella \"%i\" ei löytynyt", "Invalid mount point" : "Virheellinen liitoskohta", "Personal" : "Henkilökohtainen", "System" : "Järjestelmä", @@ -24,6 +25,7 @@ "Error configuring OAuth1" : "Virhe OAuth1:n asetuksia tehdessä", "Error configuring OAuth2" : "Virhe OAuth2:n asetuksia tehdessä", "Enable encryption" : "Käytä salausta", + "Enable previews" : "Käytä esikatseluja", "Check for changes" : "Tarkista muutokset", "Never" : "Ei koskaan", "Once every direct access" : "Kerran aina suoran käytön yhteydessä", diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js index e47f9d167b..42944b2f2f 100644 --- a/apps/files_external/l10n/fr.js +++ b/apps/files_external/l10n/fr.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "L'obtention des jetons de requête a échoué. Vérifiez que votre clé d'application et votre mot de passe sont corrects.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "L'obtention des jetons d'accès a échoué. Vérifiez que votre clé d'application et votre mot de passe sont corrects.", + "Please provide a valid app key and secret." : "Veuillez fournir une clé d'application et un mot de passe valides.", "Step 1 failed. Exception: %s" : "L’étape 1 a échoué. Erreur : %s", "Step 2 failed. Exception: %s" : "L’étape 2 a échoué. Erreur : %s", "External storage" : "Stockage externe", @@ -22,8 +25,11 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP avec identification par clé", "Public key" : "Clef publique", "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", + "Invalid backend or authentication mechanism class" : "Système de stockage ou méthode d'authentification non valable", "Invalid mount point" : "Point de montage non valide", "Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"", + "Unsatisfied authentication mechanism parameters" : "Paramètres manquants pour la méthode d'authentification", + "Admin-only storage backend \"%s\"" : "Service de stockage \"%s\" pour admins seulement", "Personal" : "Personnel", "System" : "Système", "Grant access" : "Autoriser l'accès", @@ -40,11 +46,15 @@ OC.L10N.register( "Generate keys" : "Générer des clés", "Error generating key pair" : "Erreur lors de la génération des clés", "None" : "Aucun", + "OAuth1" : "OAuth1", "App key" : "App key", "App secret" : "App secret", + "OAuth2" : "OAuth2", "Client ID" : "ID Client", "Client secret" : "Secret client", + "Username and password" : "Nom d'utilisateur et mot de passe", "Password" : "Mot de passe", + "Session credentials" : "Informations d'identification de session", "Amazon S3" : "Amazon S3", "Hostname" : "Nom de l'hôte", "Port" : "Port", @@ -55,11 +65,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "Sécurisation https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Sécurisation ftps://", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Emplacement", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Attention :", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", @@ -71,6 +85,7 @@ OC.L10N.register( "Scope" : "Portée", "External Storage" : "Stockage externe", "Folder name" : "Nom du dossier", + "Authentication" : "Authentification", "Configuration" : "Configuration", "Available for" : "Disponible pour", "Advanced settings" : "Paramètres avancés", diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json index c0c927ebff..ffc2de0ef5 100644 --- a/apps/files_external/l10n/fr.json +++ b/apps/files_external/l10n/fr.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "L'obtention des jetons de requête a échoué. Vérifiez que votre clé d'application et votre mot de passe sont corrects.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "L'obtention des jetons d'accès a échoué. Vérifiez que votre clé d'application et votre mot de passe sont corrects.", + "Please provide a valid app key and secret." : "Veuillez fournir une clé d'application et un mot de passe valides.", "Step 1 failed. Exception: %s" : "L’étape 1 a échoué. Erreur : %s", "Step 2 failed. Exception: %s" : "L’étape 2 a échoué. Erreur : %s", "External storage" : "Stockage externe", @@ -20,8 +23,11 @@ "SFTP with secret key login" : "SFTP avec identification par clé", "Public key" : "Clef publique", "Storage with id \"%i\" not found" : "Stockage avec l'id \"%i\" non trouvé", + "Invalid backend or authentication mechanism class" : "Système de stockage ou méthode d'authentification non valable", "Invalid mount point" : "Point de montage non valide", "Invalid storage backend \"%s\"" : "Service de stockage non valide : \"%s\"", + "Unsatisfied authentication mechanism parameters" : "Paramètres manquants pour la méthode d'authentification", + "Admin-only storage backend \"%s\"" : "Service de stockage \"%s\" pour admins seulement", "Personal" : "Personnel", "System" : "Système", "Grant access" : "Autoriser l'accès", @@ -38,11 +44,15 @@ "Generate keys" : "Générer des clés", "Error generating key pair" : "Erreur lors de la génération des clés", "None" : "Aucun", + "OAuth1" : "OAuth1", "App key" : "App key", "App secret" : "App secret", + "OAuth2" : "OAuth2", "Client ID" : "ID Client", "Client secret" : "Secret client", + "Username and password" : "Nom d'utilisateur et mot de passe", "Password" : "Mot de passe", + "Session credentials" : "Informations d'identification de session", "Amazon S3" : "Amazon S3", "Hostname" : "Nom de l'hôte", "Port" : "Port", @@ -53,11 +63,15 @@ "URL" : "URL", "Secure https://" : "Sécurisation https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Sécurisation ftps://", + "Google Drive" : "Google Drive", "Local" : "Local", "Location" : "Emplacement", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Attention :", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : La prise en charge de cURL par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Attention : La prise en charge du FTP par PHP n'est pas activée ou installée. Le montage de %s n'est pas possible. Contactez votre administrateur système pour l'installer.", @@ -69,6 +83,7 @@ "Scope" : "Portée", "External Storage" : "Stockage externe", "Folder name" : "Nom du dossier", + "Authentication" : "Authentification", "Configuration" : "Configuration", "Available for" : "Disponible pour", "Advanced settings" : "Paramètres avancés", diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index 58c15fa0b0..8140d8be98 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -1,6 +1,7 @@ OC.L10N.register( "files_external", { + "Please provide a valid app key and secret." : "Por favor forneça uma chave e segurança válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index 089da37f0d..13ce808ba8 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -1,4 +1,5 @@ { "translations": { + "Please provide a valid app key and secret." : "Por favor forneça uma chave e segurança válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", "External storage" : "Armazenamento Externo", diff --git a/core/l10n/de.js b/core/l10n/de.js index f8d4f47ee3..1361a970a4 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -192,7 +192,7 @@ OC.L10N.register( "You can click here to return to %s." : "Du kannst zur Rückkehr zu %s hier klicken.", "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hallo,\n\nhier nur kurz die Mitteilung, dass %s %s mit Dir geteilt hat.\nZum Anzeigen: %s\n\n", "The share will expire on %s." : "Die Freigabe wird am %s ablaufen.", - "Cheers!" : "Hallo!", + "Cheers!" : "Noch einen schönen Tag!", "Internal Server Error" : "Interner Serverfehler", "The server encountered an internal error and was unable to complete your request." : "Der Server hat einen internen Fehler und konnte Ihre Anfrage nicht vervollständigen.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Bitte wende Dich an den Serveradministrator, sollte dieser Fehler mehrfach auftreten, und füge Deiner Anfrage die unten stehenden technischen Details bei.", diff --git a/core/l10n/de.json b/core/l10n/de.json index 60a5fb1e28..3eee17db65 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -190,7 +190,7 @@ "You can click here to return to %s." : "Du kannst zur Rückkehr zu %s hier klicken.", "Hey there,\n\njust letting you know that %s shared %s with you.\nView it: %s\n\n" : "Hallo,\n\nhier nur kurz die Mitteilung, dass %s %s mit Dir geteilt hat.\nZum Anzeigen: %s\n\n", "The share will expire on %s." : "Die Freigabe wird am %s ablaufen.", - "Cheers!" : "Hallo!", + "Cheers!" : "Noch einen schönen Tag!", "Internal Server Error" : "Interner Serverfehler", "The server encountered an internal error and was unable to complete your request." : "Der Server hat einen internen Fehler und konnte Ihre Anfrage nicht vervollständigen.", "Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report." : "Bitte wende Dich an den Serveradministrator, sollte dieser Fehler mehrfach auftreten, und füge Deiner Anfrage die unten stehenden technischen Details bei.", diff --git a/lib/l10n/el.js b/lib/l10n/el.js index 2e47db3047..b47cc7e36d 100644 --- a/lib/l10n/el.js +++ b/lib/l10n/el.js @@ -46,6 +46,7 @@ OC.L10N.register( "Can't read file" : "Αδυναμία ανάγνωσης αρχείου", "App directory already exists" : "Ο κατάλογος εφαρμογών υπάρχει ήδη", "Can't create app folder. Please fix permissions. %s" : "Δεν είναι δυνατόν να δημιουργηθεί ο φάκελος εφαρμογής. Παρακαλώ διορθώστε τις άδειες πρόσβασης. %s", + "Archive does not contain a directory named %s" : "Το αρχείο δεν περιέχει κατάλογο με το όνομα %s", "No source specified when installing app" : "Δεν προσδιορίστηκε πηγή κατά την εγκατάσταση της εφαρμογής", "No href specified when installing app from http" : "Δεν προσδιορίστηκε href κατά την εγκατάσταση της εφαρμογής μέσω http ", "No path specified when installing app from local file" : "Δεν προσδιορίστηκε μονοπάτι κατά την εγκατάσταση εφαρμογής από τοπικό αρχείο", diff --git a/lib/l10n/el.json b/lib/l10n/el.json index 7b0b9b149a..d82aec0012 100644 --- a/lib/l10n/el.json +++ b/lib/l10n/el.json @@ -44,6 +44,7 @@ "Can't read file" : "Αδυναμία ανάγνωσης αρχείου", "App directory already exists" : "Ο κατάλογος εφαρμογών υπάρχει ήδη", "Can't create app folder. Please fix permissions. %s" : "Δεν είναι δυνατόν να δημιουργηθεί ο φάκελος εφαρμογής. Παρακαλώ διορθώστε τις άδειες πρόσβασης. %s", + "Archive does not contain a directory named %s" : "Το αρχείο δεν περιέχει κατάλογο με το όνομα %s", "No source specified when installing app" : "Δεν προσδιορίστηκε πηγή κατά την εγκατάσταση της εφαρμογής", "No href specified when installing app from http" : "Δεν προσδιορίστηκε href κατά την εγκατάσταση της εφαρμογής μέσω http ", "No path specified when installing app from local file" : "Δεν προσδιορίστηκε μονοπάτι κατά την εγκατάσταση εφαρμογής από τοπικό αρχείο", diff --git a/lib/l10n/fr.js b/lib/l10n/fr.js index 8e7de3462a..873abd44ad 100644 --- a/lib/l10n/fr.js +++ b/lib/l10n/fr.js @@ -48,6 +48,7 @@ OC.L10N.register( "Can't read file" : "Impossible de lire le fichier", "App directory already exists" : "Le dossier de l'application existe déjà", "Can't create app folder. Please fix permissions. %s" : "Impossible de créer le dossier de l'application. Corrigez les droits d'accès. %s", + "Archive does not contain a directory named %s" : "Le fichier archive ne contient pas de répertoire %s", "No source specified when installing app" : "Aucune source spécifiée pour installer l'application", "No href specified when installing app from http" : "Aucun href spécifié pour installer l'application par http", "No path specified when installing app from local file" : "Aucun chemin spécifié pour installer l'application depuis un fichier local", diff --git a/lib/l10n/fr.json b/lib/l10n/fr.json index 25bcf5b17e..440f2ddd84 100644 --- a/lib/l10n/fr.json +++ b/lib/l10n/fr.json @@ -46,6 +46,7 @@ "Can't read file" : "Impossible de lire le fichier", "App directory already exists" : "Le dossier de l'application existe déjà", "Can't create app folder. Please fix permissions. %s" : "Impossible de créer le dossier de l'application. Corrigez les droits d'accès. %s", + "Archive does not contain a directory named %s" : "Le fichier archive ne contient pas de répertoire %s", "No source specified when installing app" : "Aucune source spécifiée pour installer l'application", "No href specified when installing app from http" : "Aucun href spécifié pour installer l'application par http", "No path specified when installing app from local file" : "Aucun chemin spécifié pour installer l'application depuis un fichier local", diff --git a/lib/l10n/tr.js b/lib/l10n/tr.js index d26505b4a1..828b5a8556 100644 --- a/lib/l10n/tr.js +++ b/lib/l10n/tr.js @@ -49,6 +49,7 @@ OC.L10N.register( "Can't read file" : "Dosya okunamıyor", "App directory already exists" : "Uygulama dizini zaten mevcut", "Can't create app folder. Please fix permissions. %s" : "Uygulama dizini oluşturulamıyor. Lütfen izinleri düzeltin. %s", + "Archive does not contain a directory named %s" : "Arşivde %s adında bir dizin bulunmuyor", "No source specified when installing app" : "Uygulama kurulurken bir kaynak belirtilmedi", "No href specified when installing app from http" : "Uygulama http'den kurulurken href belirtilmedi", "No path specified when installing app from local file" : "Uygulama yerel dosyadan kurulurken dosya yolu belirtilmedi", diff --git a/lib/l10n/tr.json b/lib/l10n/tr.json index 4170115682..13b63ee6f7 100644 --- a/lib/l10n/tr.json +++ b/lib/l10n/tr.json @@ -47,6 +47,7 @@ "Can't read file" : "Dosya okunamıyor", "App directory already exists" : "Uygulama dizini zaten mevcut", "Can't create app folder. Please fix permissions. %s" : "Uygulama dizini oluşturulamıyor. Lütfen izinleri düzeltin. %s", + "Archive does not contain a directory named %s" : "Arşivde %s adında bir dizin bulunmuyor", "No source specified when installing app" : "Uygulama kurulurken bir kaynak belirtilmedi", "No href specified when installing app from http" : "Uygulama http'den kurulurken href belirtilmedi", "No path specified when installing app from local file" : "Uygulama yerel dosyadan kurulurken dosya yolu belirtilmedi", diff --git a/settings/l10n/de.js b/settings/l10n/de.js index c294a49925..b74a5364d1 100644 --- a/settings/l10n/de.js +++ b/settings/l10n/de.js @@ -180,8 +180,8 @@ OC.L10N.register( "More" : "Mehr", "Less" : "Weniger", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", - "Transactional File Locking is enabled." : "Dateisperren bei Transaktionen sind aktiviert.", - "Transactional File Locking is disabled." : "Dateisperren bei Transaktionen sind deaktiviert.", + "Transactional File Locking is enabled." : "Transaktionale Dateisperre ist aktiviert.", + "Transactional File Locking is disabled." : "Transaktionale Dateisperre ist deaktiviert.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", @@ -208,7 +208,7 @@ OC.L10N.register( "Enable experimental apps" : "Experimentelle Apps aktivieren", "No apps found for your version" : "Es wurden keine Apps für Deine Version gefunden", "Hey there,

just letting you know that you now have an %s account.

Your username: %s
Access it: %s

" : "Hallo,

hier nur kurz die Mitteilung, dass Du jetzt ein %s-Konto hast.

Dein Benutzername: %s
Greife darauf zu: %s

", - "Cheers!" : "Hallo!", + "Cheers!" : "Noch einen schönen Tag!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hallo,\n\nhier nur kurz die Mitteilung, dass Du jetzt ein %s-Konto hast.\n\nDein Benutzername: %s\nGreife darauf zu: %s\n\n", "Administrator documentation" : "Dokumentation für Administratoren", "Online documentation" : "Online-Dokumentation", diff --git a/settings/l10n/de.json b/settings/l10n/de.json index 9c67fb65ee..d0e658c3c0 100644 --- a/settings/l10n/de.json +++ b/settings/l10n/de.json @@ -178,8 +178,8 @@ "More" : "Mehr", "Less" : "Weniger", "The logfile is bigger than 100 MB. Downloading it may take some time!" : "Die Logdatei ist größer als 100 MB. Es kann etwas Zeit beanspruchen, sie herunterzuladen!", - "Transactional File Locking is enabled." : "Dateisperren bei Transaktionen sind aktiviert.", - "Transactional File Locking is disabled." : "Dateisperren bei Transaktionen sind deaktiviert.", + "Transactional File Locking is enabled." : "Transaktionale Dateisperre ist aktiviert.", + "Transactional File Locking is disabled." : "Transaktionale Dateisperre ist deaktiviert.", "SQLite is used as database. For larger installations we recommend to switch to a different database backend." : "SQLite wird als Datenbank verwendet. Bei größeren Installationen wird empfohlen, auf ein anderes Datenbank-Backend zu wechseln.", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Insbesondere bei der Nutzung des Desktop Clients zur Dateisynchronisierung wird vom Einsatz von SQLite abgeraten.", "To migrate to another database use the command line tool: 'occ db:convert-type', or see the documentation ↗." : "Um zu einer anderen Datenbank zu migrieren, benutze bitte die Kommandozeile: 'occ db:convert-type', oder in die Dokumentation ↗ schauen.", @@ -206,7 +206,7 @@ "Enable experimental apps" : "Experimentelle Apps aktivieren", "No apps found for your version" : "Es wurden keine Apps für Deine Version gefunden", "Hey there,

just letting you know that you now have an %s account.

Your username: %s
Access it: %s

" : "Hallo,

hier nur kurz die Mitteilung, dass Du jetzt ein %s-Konto hast.

Dein Benutzername: %s
Greife darauf zu: %s

", - "Cheers!" : "Hallo!", + "Cheers!" : "Noch einen schönen Tag!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hallo,\n\nhier nur kurz die Mitteilung, dass Du jetzt ein %s-Konto hast.\n\nDein Benutzername: %s\nGreife darauf zu: %s\n\n", "Administrator documentation" : "Dokumentation für Administratoren", "Online documentation" : "Online-Dokumentation", diff --git a/settings/l10n/el.js b/settings/l10n/el.js index 3a647b0baa..859bfe296c 100644 --- a/settings/l10n/el.js +++ b/settings/l10n/el.js @@ -132,6 +132,7 @@ OC.L10N.register( "If your installation is not installed in 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\")" : "Αν η εγκατάστασή σας δεν έχει γίνει στο root του τομέα και χρησιμοποιείται το cron του συστήματος, μπορεί να υπάρξουν ζητήματα με τη δημιουργία URL. Για να αποφύγετε αυτά τα προβλήματα, παρακαλώ ρυθμίστε την επιλογή \"overwrite.cli.url\" στο αρχείο config.php που βρίσκεται στη διαδρομή webroot της εγκατάστασής σας (Suggested: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Δεν ήταν δυνατή η εκτέλεση της cronjob μέσω τερματικού. Εμφανίστηκαν τα παρακάτω τεχνικά σφάλματα:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Παρακαλώ ελέγξτε ξανά τους οδηγούς εγκατάστασης, καθώς επίσης και για τυχόν σφάλματα ή προειδοποιήσεις στο log.", + "All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.", "Open documentation" : "Ανοιχτή τεκμηρίωση.", "Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ", "Allow users to share via link" : "Να επιτρέπεται σε χρήστες ο διαμοιρασμός μέσω συνδέσμου", @@ -154,6 +155,12 @@ 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 λεπτά.", "Enable server-side encryption" : "Ενεργοποίηση κρυπτογράφησης από το διακομιστή", + "Please read carefully before activating server-side encryption: " : "Παρακαλούμε διαβάστε προσεκτικά πριν ενεργοποιήσετε την κρυπτογράφηση στο διακομιστή:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Η κρυπτογράφηση είναι μια μη αντιστρεπτή διαδικασία. Μόλις ενεργοποιηθεί, όλα τα αρχεία από αυτό το σημείο και μετά θα κρυπτογραφηθούν στο διακομιστή και η κρυπτογράφηση δεν είναι δυνατόν να απενεργοποιηθεί αργότερα", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Οποιοσδήποτε έχει αυξημένα δικαιώματα πρόσβασης στο διακομιστή του ownCloud σας μπορεί να αποκρυπτογραφήσει τα αρχεία σας είτε παγιδεύοντας τα αιτήματα ή διαβάζοντας τους κωδικούς χρηστών που είναι αποθηκευμένοι σε απλά αρχεία κειμένου. Η κρυπτογράφηση στο διακομιστή δεν προστατεύει επομένως από κακόβουλους διαχειριστές αλλά είναι χρήσιμη στο να προστατεύει τα δεδομένα σας σε εξωτερικούς διακομιστές αποθήκευσης.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Ανάλογα με το άρθρωμα που χρησιμοποιείται το μέγεθος αρχείων γενικά αυξάνεται (κατά 35%% ή και περισσότερο αν χρησιμοποιηθεί το προεπιλεγμένο άρθρωμα)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Θα πρέπει να λαμβάνετε τακτικά αντίγραφα ασφαλείας όλων των κλειδιών κρυπτογράφησης για να αποφύγετε μόνιμη απώλεια δεδομένων (data//files_encryption και data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Αυτή είναι η τελευταία προειδοποίηση: Θέλετε πραγματικά να ενεργοποιήσετε την κρυπτογράφηση;", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "No encryption module loaded, please enable an encryption module in the app menu." : "Δεν έχει φορτωθεί μονάδα κρυπτογράφησης, παρακαλούμε φορτώστε μια μονάδα κρυπτογράφησης από το μενού εφαρμογών.", "Select default encryption module:" : "Επιλογή προεπιλεγμένης μονάδας κρυπτογράφησης:", diff --git a/settings/l10n/el.json b/settings/l10n/el.json index 9081d9791e..a0b1f0c7f1 100644 --- a/settings/l10n/el.json +++ b/settings/l10n/el.json @@ -130,6 +130,7 @@ "If your installation is not installed in 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\")" : "Αν η εγκατάστασή σας δεν έχει γίνει στο root του τομέα και χρησιμοποιείται το cron του συστήματος, μπορεί να υπάρξουν ζητήματα με τη δημιουργία URL. Για να αποφύγετε αυτά τα προβλήματα, παρακαλώ ρυθμίστε την επιλογή \"overwrite.cli.url\" στο αρχείο config.php που βρίσκεται στη διαδρομή webroot της εγκατάστασής σας (Suggested: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "Δεν ήταν δυνατή η εκτέλεση της cronjob μέσω τερματικού. Εμφανίστηκαν τα παρακάτω τεχνικά σφάλματα:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Παρακαλώ ελέγξτε ξανά τους οδηγούς εγκατάστασης, καθώς επίσης και για τυχόν σφάλματα ή προειδοποιήσεις στο log.", + "All checks passed." : "Όλοι οι έλεγχοι επιτυχείς.", "Open documentation" : "Ανοιχτή τεκμηρίωση.", "Allow apps to use the Share API" : "Επιτρέπει την χρήση του API διαμοιρασμού σε εφαρμογές ", "Allow users to share via link" : "Να επιτρέπεται σε χρήστες ο διαμοιρασμός μέσω συνδέσμου", @@ -152,6 +153,12 @@ "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 λεπτά.", "Enable server-side encryption" : "Ενεργοποίηση κρυπτογράφησης από το διακομιστή", + "Please read carefully before activating server-side encryption: " : "Παρακαλούμε διαβάστε προσεκτικά πριν ενεργοποιήσετε την κρυπτογράφηση στο διακομιστή:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Η κρυπτογράφηση είναι μια μη αντιστρεπτή διαδικασία. Μόλις ενεργοποιηθεί, όλα τα αρχεία από αυτό το σημείο και μετά θα κρυπτογραφηθούν στο διακομιστή και η κρυπτογράφηση δεν είναι δυνατόν να απενεργοποιηθεί αργότερα", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Οποιοσδήποτε έχει αυξημένα δικαιώματα πρόσβασης στο διακομιστή του ownCloud σας μπορεί να αποκρυπτογραφήσει τα αρχεία σας είτε παγιδεύοντας τα αιτήματα ή διαβάζοντας τους κωδικούς χρηστών που είναι αποθηκευμένοι σε απλά αρχεία κειμένου. Η κρυπτογράφηση στο διακομιστή δεν προστατεύει επομένως από κακόβουλους διαχειριστές αλλά είναι χρήσιμη στο να προστατεύει τα δεδομένα σας σε εξωτερικούς διακομιστές αποθήκευσης.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Ανάλογα με το άρθρωμα που χρησιμοποιείται το μέγεθος αρχείων γενικά αυξάνεται (κατά 35%% ή και περισσότερο αν χρησιμοποιηθεί το προεπιλεγμένο άρθρωμα)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Θα πρέπει να λαμβάνετε τακτικά αντίγραφα ασφαλείας όλων των κλειδιών κρυπτογράφησης για να αποφύγετε μόνιμη απώλεια δεδομένων (data//files_encryption και data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Αυτή είναι η τελευταία προειδοποίηση: Θέλετε πραγματικά να ενεργοποιήσετε την κρυπτογράφηση;", "Enable encryption" : "Ενεργοποίηση κρυπτογράφησης", "No encryption module loaded, please enable an encryption module in the app menu." : "Δεν έχει φορτωθεί μονάδα κρυπτογράφησης, παρακαλούμε φορτώστε μια μονάδα κρυπτογράφησης από το μενού εφαρμογών.", "Select default encryption module:" : "Επιλογή προεπιλεγμένης μονάδας κρυπτογράφησης:", diff --git a/settings/l10n/fr.js b/settings/l10n/fr.js index 41db5f7f44..d07fe9ebf2 100644 --- a/settings/l10n/fr.js +++ b/settings/l10n/fr.js @@ -132,6 +132,7 @@ OC.L10N.register( "If your installation is not installed in 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\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Consultez les guides d'installation ↗, et cherchez des erreurs ou avertissements dans les logs.", + "All checks passed." : "Tous les tests ont réussi.", "Open documentation" : "Voir la documentation", "Allow apps to use the Share API" : "Autoriser les applications à utiliser l'API de partage", "Allow users to share via link" : "Autoriser les utilisateurs à partager par lien", @@ -154,6 +155,12 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP", "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", "Enable server-side encryption" : "Activer le chiffrement côté serveur", + "Please read carefully before activating server-side encryption: " : "Veuillez lire ceci avec attention avant d'activer le chiffrement :", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Le chiffrement côté serveur est un processus à sens unique. Une fois le chiffrement activé, tous les fichiers seront dorénavant chiffrés sur le serveur, et il ne sera plus possible de désactiver le chiffrement.", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Toute personne ayant un accès d'administrateur sur votre serveur ownCloud peut déchiffrer vos fichiers en interceptant les requêtes, ou en lisant les mots de passe des utilisateurs qui sont stockés dans les fichiers de sessions. Le chiffrement côté serveur n'empêche donc pas vos fichiers d'être lus par des administrateurs mal intentionnés, mais sert à protéger vos données stockées sur des espaces de stockages externes ou tiers.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Selon le module de chiffrement utilisé, la taille des fichiers peut augmenter (dans le cas du module par défaut, l'augmentation est de 35%% ou plus)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Vous devriez sauvegarder régulièrement les clés de chiffrement pour éviter toute perte de données irrémédiable (data//files_encryption et data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?", "Enable encryption" : "Activer le chiffrement", "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.", "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :", diff --git a/settings/l10n/fr.json b/settings/l10n/fr.json index b462d52b8c..0688759770 100644 --- a/settings/l10n/fr.json +++ b/settings/l10n/fr.json @@ -130,6 +130,7 @@ "If your installation is not installed in 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\")" : "Si votre installation n'a pas été effectuée à la racine du domaine et qu'elle utilise le cron du système, il peut y avoir des problèmes avec la génération d'URL. Pour les éviter, veuillez configurer l'option \"overwrite.cli.url\" de votre fichier config.php avec le chemin de la racine de votre installation (suggéré : \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "La tâche cron n'a pu s'exécuter via CLI. Ces erreurs techniques sont apparues :", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Consultez les guides d'installation ↗, et cherchez des erreurs ou avertissements dans les logs.", + "All checks passed." : "Tous les tests ont réussi.", "Open documentation" : "Voir la documentation", "Allow apps to use the Share API" : "Autoriser les applications à utiliser l'API de partage", "Allow users to share via link" : "Autoriser les utilisateurs à partager par lien", @@ -152,6 +153,12 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "Utilisez un service webcron pour exécuter cron.php toutes les 15 minutes par HTTP", "Use system's cron service to call the cron.php file every 15 minutes." : "Utilisez le service cron du système pour appeler le fichier cron.php toutes les 15 minutes.", "Enable server-side encryption" : "Activer le chiffrement côté serveur", + "Please read carefully before activating server-side encryption: " : "Veuillez lire ceci avec attention avant d'activer le chiffrement :", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Le chiffrement côté serveur est un processus à sens unique. Une fois le chiffrement activé, tous les fichiers seront dorénavant chiffrés sur le serveur, et il ne sera plus possible de désactiver le chiffrement.", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Toute personne ayant un accès d'administrateur sur votre serveur ownCloud peut déchiffrer vos fichiers en interceptant les requêtes, ou en lisant les mots de passe des utilisateurs qui sont stockés dans les fichiers de sessions. Le chiffrement côté serveur n'empêche donc pas vos fichiers d'être lus par des administrateurs mal intentionnés, mais sert à protéger vos données stockées sur des espaces de stockages externes ou tiers.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Selon le module de chiffrement utilisé, la taille des fichiers peut augmenter (dans le cas du module par défaut, l'augmentation est de 35%% ou plus)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "Vous devriez sauvegarder régulièrement les clés de chiffrement pour éviter toute perte de données irrémédiable (data//files_encryption et data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?", "Enable encryption" : "Activer le chiffrement", "No encryption module loaded, please enable an encryption module in the app menu." : "Aucun module de chiffrement n'est chargé. Merci d'activer un module de chiffrement dans le menu des applications.", "Select default encryption module:" : "Sélectionnez le module de chiffrement par défaut :", From 60426e2ef81e27446196a74fc5ac1c36d457a553 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Thu, 27 Aug 2015 09:59:27 +0200 Subject: [PATCH 117/329] add comment for translators --- settings/personal.php | 1 + 1 file changed, 1 insertion(+) diff --git a/settings/personal.php b/settings/personal.php index bbbba3b5b8..32944de720 100644 --- a/settings/personal.php +++ b/settings/personal.php @@ -71,6 +71,7 @@ $languages=array(); $commonlanguages = array(); foreach($languageCodes as $lang) { $l = \OC::$server->getL10N('settings', $lang); + // TRANSLATORS this is the language name for the language switcher in the personal settings and should be the localized version if(substr($l->t('__language_name__'), 0, 1) !== '_') {//first check if the language name is in the translation file $ln=array('code'=>$lang, 'name'=> (string)$l->t('__language_name__')); }elseif(isset($languageNames[$lang])) { From dacf0fc7fc37781b69a74c8f9b021f5dac31d2a3 Mon Sep 17 00:00:00 2001 From: Morris Jobke Date: Thu, 27 Aug 2015 10:00:01 +0200 Subject: [PATCH 118/329] remove language code fallbacks for properly translated language names --- settings/languageCodes.php | 28 ---------------------------- 1 file changed, 28 deletions(-) diff --git a/settings/languageCodes.php b/settings/languageCodes.php index e5fe9ff29a..729cc3c6af 100644 --- a/settings/languageCodes.php +++ b/settings/languageCodes.php @@ -25,48 +25,22 @@ */ return array( -'bg_BG'=>'български език', -'ca'=>'Català', -'cs_CZ'=>'Čeština', -'da'=>'Dansk', -'de'=>'Deutsch (Persönlich)', -'de_DE'=>'Deutsch (Förmlich)', 'el'=>'Ελληνικά', -'en'=>'English', -'es'=>'Español', -'et_EE'=>'Eesti', 'fa'=>'فارسى', 'fi_FI'=>'Suomi', -'fr'=>'Français', 'hi'=>'हिन्दी', 'id'=>'Bahasa Indonesia', -'it'=>'Italiano', 'lb'=>'Lëtzebuergesch', -//'l10n-de'=>'', 'ms_MY'=>'Bahasa Melayu', 'nb_NO'=>'Norwegian Bokmål', -'nl'=>'Nederlands', -'pl'=>'Polski', 'pt_BR'=>'Português brasileiro', 'pt_PT'=>'Português', 'ro'=>'română', -'ru'=>'Русский язык', -'sr'=>'Српски', 'sr@latin'=>'Srpski', 'sv'=>'Svenska', -'zh_CN'=>'简体中文', -'sk_SK'=>'Slovenčina', 'hu_HU'=>'Magyar', -'eu'=>'Euskara', -'lt_LT'=>'Lietuvių', -'eo'=>'Esperanto', -'tr'=>'Türkçe', 'hr'=>'Hrvatski', 'ar'=>'العربية', -'he'=>'עִבְרִית,', -'ia'=>'Interlingua', -'sl'=>'Slovenski', -'nn_NO'=>'Nynorsk', 'lv'=>'Latviešu', 'mk'=>'македонски', 'uk'=>'Українська', @@ -76,9 +50,7 @@ return array( 'bn_BD'=>'Bengali', 'ta_LK'=>'தமிழ்', 'zh_HK'=>'繁體中文(香港)', -'oc'=>'Occitan (post 1500)', 'is'=>'Icelandic', -'pl_PL'=>'Polski', 'ka_GE'=>'Georgian for Georgia', 'ku_IQ'=>'Kurdish Iraq', 'si_LK'=>'Sinhala', From c3c7689b6743e5d36a6d46730a53b058499ca97a Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Thu, 27 Aug 2015 13:14:50 +0200 Subject: [PATCH 119/329] Add a public interface for the language factory so apps can use it --- lib/private/l10n/factory.php | 24 +++++++++++++++--------- lib/private/server.php | 9 ++++++++- lib/public/l10n/ifactory.php | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 10 deletions(-) create mode 100644 lib/public/l10n/ifactory.php diff --git a/lib/private/l10n/factory.php b/lib/private/l10n/factory.php index 4424d014f4..a9ac4da42a 100644 --- a/lib/private/l10n/factory.php +++ b/lib/private/l10n/factory.php @@ -25,29 +25,35 @@ namespace OC\L10N; +use OCP\L10N\IFactory; + /** - * TODO: Description + * A factory that generates language instances */ -class Factory { +class Factory implements IFactory { /** * cached instances */ protected $instances = array(); /** - * get an L10N instance + * Get a language instance * * @param string $app * @param string|null $lang - * @return \OC_L10N + * @return \OCP\IL10N */ public function get($app, $lang = null) { - if (!is_null($lang)) { - return new \OC_L10N($app, $lang); - } else if (!isset($this->instances[$app])) { - $this->instances[$app] = new \OC_L10N($app); + $key = $lang; + if ($key === null) { + $key = 'null'; } - return $this->instances[$app]; + + if (!isset($this->instances[$key][$app])) { + $this->instances[$key][$app] = new \OC_L10N($app, $lang); + } + + return $this->instances[$key][$app]; } } diff --git a/lib/private/server.php b/lib/private/server.php index 287b70eb80..a47fa2e43f 100644 --- a/lib/private/server.php +++ b/lib/private/server.php @@ -673,6 +673,13 @@ class Server extends SimpleContainer implements IServerContainer { return $this->query('AppConfig'); } + /** + * @return \OCP\L10N\IFactory + */ + public function getL10NFactory() { + return $this->query('L10NFactory'); + } + /** * get an L10N instance * @@ -681,7 +688,7 @@ class Server extends SimpleContainer implements IServerContainer { * @return \OC_L10N */ public function getL10N($app, $lang = null) { - return $this->query('L10NFactory')->get($app, $lang); + return $this->getL10NFactory()->get($app, $lang); } /** diff --git a/lib/public/l10n/ifactory.php b/lib/public/l10n/ifactory.php new file mode 100644 index 0000000000..e2dc1c313c --- /dev/null +++ b/lib/public/l10n/ifactory.php @@ -0,0 +1,32 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ +namespace OCP\L10N; + +interface IFactory { + /** + * Get a language instance + * + * @param string $app + * @param string|null $lang + * @return \OCP\IL10N + */ + public function get($app, $lang = null); +} From 67f3dc232fc81c95f7320ff9e17e25b1fd20db44 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Thu, 27 Aug 2015 14:49:40 +0200 Subject: [PATCH 120/329] fix right sidebar causing filename overflow, fix #18383 --- apps/files/css/files.css | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 4a56490fe0..fe57e4ef3c 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -373,30 +373,53 @@ table td.filename .nametext .innernametext { max-width: 47%; } -@media only screen and (min-width: 1366px) { +@media only screen and (min-width: 1500px) { + table td.filename .nametext .innernametext { + max-width: 790px; + } + .with-app-sidebar table td.filename .nametext .innernametext { + max-width: 390px; + } +} +@media only screen and (min-width: 1366px) and (max-width: 1500px) { table td.filename .nametext .innernametext { max-width: 660px; } + .with-app-sidebar table td.filename .nametext .innernametext { + max-width: 290px; + } } @media only screen and (min-width: 1200px) and (max-width: 1366px) { table td.filename .nametext .innernametext { max-width: 500px; } + .with-app-sidebar table td.filename .nametext .innernametext { + max-width: 230px; + } } @media only screen and (min-width: 1100px) and (max-width: 1200px) { table td.filename .nametext .innernametext { max-width: 400px; } + .with-app-sidebar table td.filename .nametext .innernametext { + max-width: 230px; + } } @media only screen and (min-width: 1000px) and (max-width: 1100px) { table td.filename .nametext .innernametext { max-width: 310px; } + .with-app-sidebar table td.filename .nametext .innernametext { + max-width: 230px; + } } @media only screen and (min-width: 768px) and (max-width: 1000px) { table td.filename .nametext .innernametext { max-width: 240px; } + .with-app-sidebar table td.filename .nametext .innernametext { + max-width: 230px; + } } /* for smaller resolutions - see mobile.css */ From 1a8f921a3d7dc1fa05e225a681b0022cd0e121e5 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Mon, 24 Aug 2015 18:14:41 +0200 Subject: [PATCH 121/329] simpler style for filetype icons --- core/img/filetypes/application-epub+zip.png | Bin 1273 -> 0 bytes core/img/filetypes/application-epub+zip.svg | 74 ------------ core/img/filetypes/application-javascript.png | Bin 1243 -> 0 bytes core/img/filetypes/application-javascript.svg | 71 ------------ core/img/filetypes/application-pdf.png | Bin 1672 -> 354 bytes core/img/filetypes/application-pdf.svg | 49 +------- core/img/filetypes/application-rss+xml.png | Bin 1024 -> 0 bytes core/img/filetypes/application-rss+xml.svg | 38 ------ core/img/filetypes/application-x-cbr.png | Bin 1113 -> 0 bytes core/img/filetypes/application-x-cbr.svg | 78 ------------- .../application-x-shockwave-flash.png | Bin 880 -> 0 bytes .../application-x-shockwave-flash.svg | 56 --------- core/img/filetypes/application.png | Bin 945 -> 244 bytes core/img/filetypes/application.svg | 57 +-------- core/img/filetypes/audio.png | Bin 743 -> 362 bytes core/img/filetypes/audio.svg | 47 +------- core/img/filetypes/database.png | Bin 1117 -> 0 bytes core/img/filetypes/database.svg | 47 -------- core/img/filetypes/file.png | Bin 300 -> 155 bytes core/img/filetypes/file.svg | 32 +----- core/img/filetypes/folder-drag-accept.png | Bin 760 -> 137 bytes core/img/filetypes/folder-drag-accept.svg | 60 +--------- core/img/filetypes/folder-external.png | Bin 850 -> 274 bytes core/img/filetypes/folder-external.svg | 54 +-------- core/img/filetypes/folder-public.png | Bin 1207 -> 264 bytes core/img/filetypes/folder-public.svg | 57 +-------- core/img/filetypes/folder-shared.png | Bin 1134 -> 308 bytes core/img/filetypes/folder-shared.svg | 61 +--------- core/img/filetypes/folder-starred.png | Bin 0 -> 309 bytes core/img/filetypes/folder-starred.svg | 4 + core/img/filetypes/folder.png | Bin 713 -> 135 bytes core/img/filetypes/folder.svg | 58 +--------- core/img/filetypes/font.png | Bin 1623 -> 0 bytes core/img/filetypes/font.svg | 35 ------ core/img/filetypes/image-vector.png | Bin 885 -> 0 bytes core/img/filetypes/image-vector.svg | 48 -------- core/img/filetypes/image.png | Bin 695 -> 223 bytes core/img/filetypes/image.svg | 39 +------ core/img/filetypes/package-x-generic.png | Bin 720 -> 142 bytes core/img/filetypes/package-x-generic.svg | 53 +-------- core/img/filetypes/text-calendar.png | Bin 1271 -> 250 bytes core/img/filetypes/text-calendar.svg | 87 +------------- core/img/filetypes/text-code.png | Bin 834 -> 194 bytes core/img/filetypes/text-code.svg | 60 +--------- core/img/filetypes/text-html.png | Bin 581 -> 0 bytes core/img/filetypes/text-html.svg | 43 ------- core/img/filetypes/text-vcard.png | Bin 668 -> 439 bytes core/img/filetypes/text-vcard.svg | 53 +-------- core/img/filetypes/text-x-c.png | Bin 1228 -> 0 bytes core/img/filetypes/text-x-c.svg | 70 ------------ core/img/filetypes/text-x-h.png | Bin 1168 -> 0 bytes core/img/filetypes/text-x-h.svg | 74 ------------ core/img/filetypes/text-x-python.png | Bin 1368 -> 0 bytes core/img/filetypes/text-x-python.svg | 80 ------------- core/img/filetypes/text.png | Bin 620 -> 169 bytes core/img/filetypes/text.svg | 39 +------ core/img/filetypes/video.png | Bin 1252 -> 166 bytes core/img/filetypes/video.svg | 92 +-------------- core/img/filetypes/web.png | Bin 2136 -> 0 bytes core/img/filetypes/web.svg | 36 ------ core/img/filetypes/x-office-document.png | Bin 856 -> 169 bytes core/img/filetypes/x-office-document.svg | 53 +-------- core/img/filetypes/x-office-presentation.png | Bin 1028 -> 135 bytes core/img/filetypes/x-office-presentation.svg | 108 +----------------- core/img/filetypes/x-office-spreadsheet.png | Bin 715 -> 166 bytes core/img/filetypes/x-office-spreadsheet.svg | 63 +--------- core/js/mimetypelist.js | 45 ++++---- 67 files changed, 69 insertions(+), 1852 deletions(-) delete mode 100644 core/img/filetypes/application-epub+zip.png delete mode 100644 core/img/filetypes/application-epub+zip.svg delete mode 100644 core/img/filetypes/application-javascript.png delete mode 100644 core/img/filetypes/application-javascript.svg delete mode 100644 core/img/filetypes/application-rss+xml.png delete mode 100644 core/img/filetypes/application-rss+xml.svg delete mode 100644 core/img/filetypes/application-x-cbr.png delete mode 100644 core/img/filetypes/application-x-cbr.svg delete mode 100644 core/img/filetypes/application-x-shockwave-flash.png delete mode 100644 core/img/filetypes/application-x-shockwave-flash.svg delete mode 100644 core/img/filetypes/database.png delete mode 100644 core/img/filetypes/database.svg create mode 100644 core/img/filetypes/folder-starred.png create mode 100644 core/img/filetypes/folder-starred.svg delete mode 100644 core/img/filetypes/font.png delete mode 100644 core/img/filetypes/font.svg delete mode 100644 core/img/filetypes/image-vector.png delete mode 100644 core/img/filetypes/image-vector.svg delete mode 100644 core/img/filetypes/text-html.png delete mode 100644 core/img/filetypes/text-html.svg delete mode 100644 core/img/filetypes/text-x-c.png delete mode 100644 core/img/filetypes/text-x-c.svg delete mode 100644 core/img/filetypes/text-x-h.png delete mode 100644 core/img/filetypes/text-x-h.svg delete mode 100644 core/img/filetypes/text-x-python.png delete mode 100644 core/img/filetypes/text-x-python.svg delete mode 100644 core/img/filetypes/web.png delete mode 100644 core/img/filetypes/web.svg diff --git a/core/img/filetypes/application-epub+zip.png b/core/img/filetypes/application-epub+zip.png deleted file mode 100644 index 2399088b28adc460fd1009343cfee2eebfae4a17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1273 zcmVpZ) zbLWh3T^HstF)=Zp%jKS-p?KtY688_Uz^O_&j;!_O_)dMuwS?Vu<-&)Vl!<4f;mBsQ z6SK1ygl*fX$^tAALp?{=_@!PpuHZJE^PGS4|KR**PakQV-9(_hz1=!}`eijvbOKMk zTEe|L9y>XFZA$`tjE#*Ukw~CiE@SlI1F$TLhp<3jQiM;aw*>gZUv`@Ogp_IkNiMV3 zF8xTauT%^8J^l6JEeUW=WHK47uC5}V&tv4dK?1WBpx+A~Ga&}&AF^=+U`<3yY4j3t zt6SwkBm(BR*7P}hL>fQ}slbKu9Uch{UT>#WQOZ+rPV?X)Ei3=Tm;GY(5^>ubl(};T#C4Opin zI{YH+Ya3Y3{)D+7-UdH|O0f)vhaM;JDMe^u>0`(aLroz=Ll7YcbUYnu>!quhx%3vr zzliYzXEE4&9C@*Vg0-T+#~+?n|IIACiCg8XO}TJacL8UAN0*J<<}zl!djl_={D4SI zdwZ~;@f6CHyaH!Jon3K5O|5K8cY$xLn0uk%YaN|7dA*D;zkMC0%597voTfIV#$V92 zJeJXMpRMLQ<|CQyLvkRLfa5p~dEf>faKA&5xQ@@ic@4#KPBk7E=-Lhf_viU`eh9Y} z0w+j9Ewz3QfJnrU-@Jj3W}jDfox3WePMh-7uNwUwQPl$0HVFhd!0>*rPpD>$!HQMY zwRpld!0Vr?ihv_q+lb5@@SlFZ_r4Ztfi~T1a1Y)!>I2mFmdFa!?FDQk5EP)k_s!*Z zuz&}y3stjVZK)!vDPR!ru_18h!wude0s@>%Rtq6$+zoa02&&(`mdz)nBFBEZuF|R jPA|Wk=6_8D{_o>I=Sj}Q1)c8A00000NkvXXu0mjf8e3#( diff --git a/core/img/filetypes/application-epub+zip.svg b/core/img/filetypes/application-epub+zip.svg deleted file mode 100644 index 7de28f4f21..0000000000 --- a/core/img/filetypes/application-epub+zip.svg +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/application-javascript.png b/core/img/filetypes/application-javascript.png deleted file mode 100644 index 1e1d3140f63cf6bde1b015abd154e351da0d16d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1243 zcmV<11SI>3P)Z14}iXsw;Oq%A=_Rh?`ckX$(NHdN}n~lTjq95L(ljlK zqF|#k|JOu>G);?30yyXJ-tRiVy6;N@3|f*T6h(oEpp>F03W6ZOIoJQaZsX(QLqTl< zSbzJ$=VI%FDs4xx3+>qwAW0IEBq0n#=W)NXwXsa&5z#xdV7OgejIWQIkoGbkYz%KnwdhA`Ky-X9Eh2(7hWYt{waC&>WNM7nRY8{^jx63;f*bCH(~L|FX{dKHKPwb*7vuq zN;pWnu&_XyrYNOo7=yPC1iTwOq~M)^DX7;ht4CiWe(+hUhn}W-=;=*9cbo+?Gc#)n zAb9IRJl@%V_cX7g)Bb@taE$7+)O60`(N{R58&n^89z8kpAHSQrN29J92v#M!fF zan|Ck!&{HFp4HV=R#sN9_dLm8S(C+cF^&*rI!x|KxH>*X_q`X%e?PgU0&2UJ%sY>_ zehtD6>`&s^29AU9t#rpu2pX2IrL+6t>hc86ySrA1LBgXVUfpdl=Nyw8f z6gdQCI<+gw9(;kU^(&okKIYm+8Hx-|h%-GTC~v z`wt-FGsL4~SmW0ea~^9PD1A|7w^X2BuT!hl)>2dc1rRSxOf+#}1;$31Y36k2kCV=6 z#6x||3~MdM7%I;90i5*|ML}U4I_r^}h`6SSMfH80DI%6TiapP~ zJbWQqpL*oXDFOxFSSV?X2f_-W2*tyP`Sav4I6a4Q7B2#o5xD72YIht$DwW|1QTzBu zIGC1M3x)yC0=~ z;6Ca@3?VxPxZ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/application-pdf.png b/core/img/filetypes/application-pdf.png index 74676372671865506deb906403a7056324b81f12..1c0b18e2f5100c589b0fca3a249b297c868d84f7 100644 GIT binary patch literal 354 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMfoB*E?S0H^m$o+Pp$DKg8I|1$x zbQi)1^tc=BeK*wSZn)q5xX?$rsgLr~9~ERgD#(0Xl=Zkc=V@K}v&O1t&9%?l>Yuka zzMR+Z+&7Eny<4^H-I^8eH?IA(Z`Y>-dp{pO@cGEWFDH+GId%N& zxieqSpZRwA;`i%UzTdq5RBj~@Pc|L*U%Z~uP({`cqi|Ns9Pv_G{2-N#W9bmX~rJe+Z~)WTfETz4bWl+Pgg&ebxsLQ0LXu}g#Z8m literal 1672 zcmV;326y?1P)5xgiu2))r2PFM`p;hMki?}OlFd~bMHNSEg#OE>D>A1i;x#L zcd_Sk_TBq`{_DT~YmZS?uII2^=kb34e*TwF8k4`PXU&d*)sp2S;(e2 zwPF_)R58qIN&pp96(eXG!t}_+@n5}pVeAiYs8*K*aA!}~j>jI}`RXm(w?}b40b`l~ zO!hYhEZJ-_APQ(@6~(RFz*vlPbI$-ogiF6WN_g)g=TDq?l;0lt9B_C^0P8C^?CR|( zNA*7)qhY{UgRvHxvuOg!fI+|z-@lWNk8h(fJ51!dAN!o3lR8)WuYRdD5zu#6Gg1SZ`)4yBVWL` zx0BXtoc`%cTzdUAD&+zt@0hNqM4g>YSu#XcjB^0IF0|K`Y(lw%kSO?tAc+ z3ZgJmt?~Y;zw-9JeY9yxDIZhx9wUl`6jLl^<+<<-V>2?F>0Owk767$Ih*$4@9-Nym z3@)EN!|=gFOr1VOrC6Yti^zKqq9}@}VoU9dHebZ52r4Tw0LI6N1V9-(agvc&4pJQ+ zrkuodmkN|(Ph=hQyJ#8&jgw{0H)v2KXg2FgA{6EP;lqrbJjuk+5Uy6GElDUB^5kMi z;yu=6LT$kvBvadx-KGgvl*rf*DMR4jhYq3>6Lfh;R45R8M=o+%E0EbDGP555f(Tf* zWD44Pd%1#=w-&d=bGsl}-2V9EbPo*B5yzAxM`8^c1Q9{Qyj%uBnxR24F2Wg$w~okp za&bbbP^A0Tjrcf^ijsz~vIqfsc0NeY0}pU@XoySuUq(lUQIn}VE6t1nL$g-^PQm7L z6bktzvk>?96aMjc(neU6KD(d_=c2grHu}EzJh{(4j06D{jDXS1SWsaOG6PE1_#!MN=V)^gtCE=UBS(2-_a0P)fjxV$o9{$K=0ZiV z&bPd|gg~uU1690pth)C;8fjRRr4|6vEU%1KB{EQUp7toBe)=@WpV^J1fepLAMf9<) zA21-2+4sD+pQ+A(W_QP2lB4V1`)D*mwsv_9=v-aTf?eZ9Sr z_t_(3S{fU%LL5^5w*LUzzVjUGo_K<*qoc%~oup}+fiZ?8Nm@E)eP)I?4<3?{nd&Po zy>fO@rBZ1tTf5=bG<|4OlG}kX9SgeZoB=5q5%EDJHdu9*nh22~uBD_}lRJ4XZ5$r* z{x?%1=f=m!CtCmjtXZ?B7(!_G-p3;1{+IuPS!+X@rgi7sm9eq0Yl|4TUgN(HotT^K S8{*yo0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + diff --git a/core/img/filetypes/application-rss+xml.png b/core/img/filetypes/application-rss+xml.png deleted file mode 100644 index 5b18ee2cd4fd647d820fc8dac732b7a53fdcc490..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1024 zcmV+b1poVqP)#TqtR^B6Oirl~`&QtzV_IlEgG0&CI*+92f8F&b-&mEP`?2gFE-#$Gi9cJO6V( z-iVp8nU~vC_5T6>3jp=*2j`x@e-39uAR8=Ypt5$`J12Ln3t;Hb*i%ytLBI(}TCz4- zyGp}Sp|rNNs9_lAj~pp=DFditXJ@dh3*a0g4qRG7m~IFQL{;3|yM zW6Ucig1Cg*QUIxnK5)TOj?59$^xnrbH*#$mjiJcy|*B0DO?Yu&u+tUGwZX+GdE(z;=WRl z(3)48ub)6K{EYs2n)t#j@h{&X6*hMF&!GYs@qMp?I0ulC8>o#;QrkVr0HA-&vi8wy z=%sV(5d;7v=`z48s&O9KcYhx%O;ouW~fc-XF(17!!Su+Ge(SN>-4 zttr|+d`bO|y$n7yg{~~qI{7I8wO!*CQCleu=CyJstVluO!07Z*u0QlG(%ixFd(!|6 z-19K%mFVm#0P16VI&xo?hP?E%3RD$~Vl+~s^QV!aVRU5)o4<_CT}%WcrG4i696+Or z%_-aw4O|pgo`%xBJAM7gO)Gb9-`3FO#eA!k>ORE!KTx_oE zfT<#lQC#D?O2KQL#CiW9p8QoykFdGL()%3%BI1rs?rhEe`rAf-lcyZk5)o&?Z0tyZ uBnSOSH`oSV9=KwGXlV}o+t;T5HTwsktq4JpUSq2O0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/application-x-cbr.png b/core/img/filetypes/application-x-cbr.png deleted file mode 100644 index c0d374a459658d2d19ae4a077152f47d6133c19c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1113 zcmV-f1g86mP)jpC zDheV97Q7yxQ?(wszzPO>Fb06$mzaU7;+#VjL@Zd}6-YUWTwWJi?B4e!IKNGGC47okts&=6r*{n$DiP_%8Ok6-0 zZg32^;VuYyJYQO4ed+Z+<-Mbjo8g(|H!0;86WLIZ{9yrv`N-TkMBGRvcXDEiQ?q9h zS=Bh04;O?X?dFQhW7YlX{HaVmP|?vD$Oy*ebo_V=lB9Oj@x)CVA|Tv4y6 zH?Cg)kbhcxBPqYzxWzX=eS~_89=Q;C?=wI`-4DVdLX>wz z`8=t91Pl(^_xQTDg+EZr)v3(=;6)GT0`G$hLh0|^1D(^7>HXXUOwUGG63it1fI2-| z40Nnd)Jo&h3}BUNY8qIIyHSu=MR1zi(s)GPS^K>}yGUKG6DJ z7UD)V-LQ_;5p@|z0qE!+V10%MOED71fp=rLptl;Pvmm=4NI=3)Hw!?$KU^K?WWgZo z`&+UBEW{gC!;jJxt13|xv9Pc}v)QCnDAU!O?E{ChkP61OZw)U*<#KtZQmI_3)oL#T z - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/application-x-shockwave-flash.png b/core/img/filetypes/application-x-shockwave-flash.png deleted file mode 100644 index 75424f81d68477d9b2744b14a3b36d05d6787538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 880 zcmV-$1CRWPP)E9ydbuEbHKx^T8y7;x#X3x{HHAsG-v6gqBP z4xR2q7Z#jR{D6+AW?sa3N&AXkxgg59P-sW;Xe&?QZ?|nik z#eU7t&%d6}=V!SC+Su5*w7k50X8)SiYn037W)~I~UN#IP(&SP~mX?+R>j3}&*LCT1 zI*|fcmNpgIGJD$+g$|3U#ZpQ|4$&9D?Hr<30H9m_o!9|g%t%|Xv%XGob(PZE8m8m$ z!o`aRV(JtCkW%&ypnRVn&lD)GtdPJWYua4jDIbWTltM~*G(gulEPz+5@zrama5qcj z6DeW{+;#`UAON7#p+gu}KP;Zc+}a|aOfhU2+;Uy&zRO*SWGMeb?}0F1<-1Gle)~1q zbed#5MoYH&qp`>RufD?bpI->r>ojl+l$8AR=4mEUNk-x^gfF>T-Q~&mJ|O+r<9MDI zss(`^=nl$J)tAnnLp1A*XHvu+n{uO0{@D{G9+|~;-2=niO|Bclfm+~u9>wMN$&F`- zJ2s|m@>koVxN?q9W@q@~nWwdWIt_FYl|TKM;h`AABO^GrNk=Mjxk;ubC-B=ozyJ12 zz(2Z+NGYy=be5^i-NYRe(=;&^*p`9pNZeK%!w^~ko%%k8H^01q*=~_cPh!VoT)zA( z&C1OKHpjBr(DC}(fm<6zuD!iTZt5O}jyY6zD-2EE%Tu3y6Y#IqYJs)E0hFTg{W{m) zdV`6vQPSfX49DU|X`7jM&Qh&bZ(n9V0J^u}=aVNeJ3iTDlF`u&){sqkyG-iQC$Jxw z#`C;T00X}T{$7RY>El?Ag=w3VZ)~&sXO)@7cWJd+M<(ya)G5?4G=)GaNwe8tZ>NDd zbsrBGKE$;hl%}dMMI8#DGmejqQQEr7@Po(6zIc++=U$@TY$AO>RPt_2okGpPL+95J zLg0BGtyYU_&xD5s2t5P63Nz({>i_vy{GS6@mPITUixfcD{{Vmx!kC+zyHY3=RwK>+ zk2W_quLvOwrPRMPV*l0%Aq0@<1&dG}psw~M6;b!PU;PbI_*uwsFzOWm0000C% diff --git a/core/img/filetypes/application-x-shockwave-flash.svg b/core/img/filetypes/application-x-shockwave-flash.svg deleted file mode 100644 index b373fd6512..0000000000 --- a/core/img/filetypes/application-x-shockwave-flash.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/application.png b/core/img/filetypes/application.png index b6b1bbce2f0249f7382bc50805372130089759a3..43cc3abafe760069ddcffb04881fae5e08ae213a 100644 GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!S%6Q7E0CTvY0~`p^QTXrK4r=j zAPEFhr%nZu)4%}E0P^7MpCS@|K%IgmL4Lsu>>LW(I>8}1xl_)byKwQ+zp{9}gFwj` zPZ!6K3dY{PgM7>i9L|NC78*?a_y4?J_Yu`J_G-o2cK4TNG6(mE`HBQ=oONKrMi!=? zYcdnA&hHBB=yIN}-tcX&Y{&lw(YOvd;ZxDC_MX>W`u(R_``$Hjm-Rn0&bz?!{(PS= Q2hbh{Pgg&ebxsLQ08!duvj6}9 literal 945 zcmV;i15W&jP)2^iHV6A7#J277BDa{jEszqj*e4PQ%XuoR#sMsh=`4ijZsliXlQ7sr>9X- zQCL`5T3T9NU0q&YUSD5dU|?WjVPRroVq;@tWMpJzWo2e&W@l$-XlQ6@X=!R|YHMq2 zY;0_8ZEbFDZf|dIaBy&OadC2Ta&vQYbaZreb#-=jc6WDoczAeud3kzzdV70&e0+R; zeSLm@et&;|fPjF3fq{a8f`fyDgoK2Jg@uNOhKGlTh=_=ZiHVAeii?YjjEszpjg5|u zj*pLzkdTm(k&%*;l9Q8@l$4Z}m6ev3mY0{8n3$NEnVFiJnwy)OoSdAUot>VZo}Zte zprD|kp`oIpqNAguq@<*!rKP5(rl+T;si~=|s;aB2tE{Z7t*x!EudlGMu(7eRva+(X zv$M3cw6(Rhwzjsnx3{>sxVpN!ySux*yu7}?zQDl1#l^+R$;r#h%gxQr(9qD*($dt_ z)YsS7+1c6K+uPmU-Jz3&g8%>k5_D2dQveGN8X6!YK&h#%!2A3A{Qdp11A3hR00GfS zL_t(IPsNf=ZWBQigzL3?qS)Ah$O7z563ha&7Lhmz+<S4DC7JY zkNZ`zn8cYF@2OqCS6!dfUBLgB0f<@lcFpSZVv#DtX7htB1ugY)_NOv*-p@j#(P+dN zf$@rLNI zX!E_^l;nd1plHdpJHX)&<7T0H0_oCuy1-&@FvY;X+o+Rmts;H}3+dSjaQ$?Ym8Wb! zK)6I0SeQWt$?CP12~OzE_3_M4dH}|5&7DVu==B7%ZuTWi$}Y~%V|uwYchwVIA-Aa% z&T@n({d_F3mf)1^Y7!Q(2qm+z+M;~<7j$>;cYSxi<=)!g@owMUy^b(hF}!Hr^bgRt zz2{pa7ga;J$@uNbZ$!bz*dDv?5D|b<3N-WFu>B54r^u^DCEXd^X~7I;lL-I`5+%Pg z%u6?;nZW=6x@~qjN7d@q#_I@MH6VR0ZvX>A7Gned%2Qep2EanFH3pGdGhWqSMXR3C T8pI){00000NkvXXu0mjftQ64g diff --git a/core/img/filetypes/application.svg b/core/img/filetypes/application.svg index edce49e3e4..f37966d4a2 100644 --- a/core/img/filetypes/application.svg +++ b/core/img/filetypes/application.svg @@ -1,57 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - diff --git a/core/img/filetypes/audio.png b/core/img/filetypes/audio.png index 3c78bcfd173c380ee4c8ccfb418ae5ef54954f1a..32171285e8e89653047d0c47bc87cc8f1df0a2c7 100644 GIT binary patch literal 362 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}dw@@fE0F&G|9?Y6!_1j8`}_N+ zPoF+*+O(-tr%stN1wul&K=BzfW&lZ`AP_(V;UtiO3qTBn%c61N;=HR)tN=PirzFTP zn1PXrOF&vlMa|UQ!pg}jIxe-mskNtn()5K(SFGB!`^edISMNS}{PflPkH7y_p6gTs z>Pz!*yE9`-!tx&K|3ZPHxx zt$P}d-Al{+)zEh|)qX)^`~h}xgIj#}{)W8>XDM_v;B>i>6;RM8(p{c2Cc{uWw*rU}$J)WMpJ)Y;0m;Vrpt?W@ct?Zf;>=VQFb;Wo2b;ZEa&?V{2<`XJ=<` zZ|~sX;OOY+lq=?d{{^ILvI(6E#X)|Wbm^pLitXZ=n zJL3I;0Vh}zw*w z(_4q!4)V62HsKmhjFJ4xbw8x8si3qAiROo|cyv zaqeabY;@c`$EbCI=AIo58o3v~xpO!@D^yZZ@{ry#N#Ms$bpavAF0+hNuQu>=u&_)t zi#WN8X@}k{h1soPW_uRi-FYZ%3*(A4W$VA4e^;g+ro_cFi|N?Ur?s+uYk-O~G-tQ7 z%W+QH!uTd`uiB5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/database.png b/core/img/filetypes/database.png deleted file mode 100644 index 49b2b861757e7bddee8bc56f61886c8514015f04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1117 zcmaKqX;9Nw5WxQ-NCAOD(c0FLqg9zw7^NelgQEhCN~A+0$b@4=2r@y!F+w;xEdj5z z7z8Otjv^+SKq4W5gj^C52uTnK&=e5DP14e!0jaGZL`q-y+L``l-@cul-M4Sw+cH$t zc~|F8oFNEuMMfZ^!R}*Qj&Pt6%)43$f>}{tUpl+Jy$wA7k60}JZ-7uJ3fJw06_ zk$^~rLQz;)2m(kX($LUQW@aXdR8FB#fq!5?*VCic>2#n+M1f0 z+FEj*4GOpzC`6&qs8k?7(`Z2IAJ}MUXrMoS%wjTGELKxvBfF`I!)8C>a5yb3yp|R| zkH_b?3R+tQZEZq<07$z)C~9vPi9`~SSSl7vB@&rb`cx+Ccnav~ly@pR6-tFdsqE_R z>H;sPQmH^^8ns5N(P*{WUTtr0UtfQJ{{U!t05oZ1a0l=tfZ-i}*+H+@|GL8nV03hJ z%*J!T`1r)cgu!5#oSdARnws8WW^QhNVZmrJnHCopmzI_+7Rw=jPusVK5Sy^3u{ny`X>oztv zHmz3c*4EZPZGYa{1BPlCi3q!NVn9>fmhBnlPQ(@zyvk0qTHFmV`@6S8eKdppk6n*SQV5m%lks_1LdG{~ zY{CXkV83GdL36I~;>L^JPy|%!F;oO^U5J9;4$0dOxjNQCeu;;h6Nbake$x>CwD+v` z82@rs81knFfkWD{C#tuw!C3x2I}YUk(g!7!2~7@Nza_Zb$BxLKF+B5)JcpxLJ17)_ zT+HU9SrUqum%bpzcltZ*X+m^yN~D8n*>ETA?po6E(lf>HOt_2R6a{4*{CH;O)SE9z z2fde#!=5-UJUZdBQe%){291jTv>d;+FJ0*VIL7Y*If=-;Ib*j;df;(NrO`TDC>Cg0Tw=3`$~HzFB(*zOd_ z;Z=P0J-a?N^iwO9#OdSWFh}5cx32HYv!nQ3zgm^38t%a%oC- diff --git a/core/img/filetypes/database.svg b/core/img/filetypes/database.svg deleted file mode 100644 index f3d4570015..0000000000 --- a/core/img/filetypes/database.svg +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/file.png b/core/img/filetypes/file.png index 54a242d9d29e80a41d437dca7eb598108eebf4f5..b56833a5763fff473ac8ee6765a5e6d270320dbc 100644 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=7=|O`9=e#`Njafed8u z_LXY~P@1D8$S;_|*wX3EhtFS{*>-XQ#ne4r978ywlM@=6d;0qL+y(eO%C~4aNXi~H maI@~Y=;-Rka>J-anc;eq)<3H=TQ>r=FnGH9xvX4iSc3`50Kkncrzl - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/folder-drag-accept.png b/core/img/filetypes/folder-drag-accept.png index fc1d83cfa6f574c0b6930cbefce82dfd7b811ca6..58640b5cb5cc4145decb93017063bdd54904e9eb 100644 GIT binary patch literal 137 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=3+9Gee4Ig%*R5Hg9(& zP>7`@$S;_oq2v8T&j}lVd{s{u#}JO_%A1Vs6!7|lpz aOJZPPpUAHGplTY(A_h-aKbLh*2~7aHN+Qqz literal 760 zcmV6Cv***f%?vR! z#wjsY@BaY+$ioXFS^zLJpzSs@SB44zV1}9B4q`||HvtR}fQYUG05c;^(_@W1&+FRU zIHlhKqIH&Ku+|O~seegId8_yQ=Z^=O3(mRI`UVm8tq*rW|C`aO z=c_LQ)>;gbg0o17{?3;GKtuvSK`DhKNk$4#EEWNvKtzI>GrDu{!J{h+*X|n~oV$AY z(qbMF_*~w2H#IZctd!SY$_p1ui%*|CzMJQsv~(MbnX`Dlyu2Yz818(nHo(F|UJL}l zB_X0Xs>x0eYy};IiRn3HIfX$G!E_8%tF`-T@Bwf;bGT+Jt~NIr3Q`h!DpS!Z57$08G1H)mmd>)`LBm1t(&h z@&hRdQ4l~k>%ReN-&bov;Dd|P_-huNoup4*K|pIC)o-iS9ze6Q(N1*GnJ<;5GcFwA zXE>=51nlcTt7=*G006W9pD#BLs(4DxBUSC0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/folder-external.png b/core/img/filetypes/folder-external.png index ede1a0d17f35f7b9c433c4bc1603e2fdc412ff4c..56cb385a7725bade3dc3619af65850c071541542 100644 GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}NPtg>E0AVj_#fJ^D!g=NNb#(Y zlG&lfvqOqzh852WE1DHn0u%v~AZ|#}tWdB>Xz@%C0&v{df*8^#BYyl0+zKU@v+o2RRv%Q~loCIHOxYQX>i literal 850 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabRA=0U|bU56XN>+|9_wee!#}V!y_mN zR3oXR4kTq%^&sjM3~klT>~!rt^&Na|oqbK*gH64{Y<#0^17ckRLLGyXoWoPyqtd-& z(tYBy{StBllJbI53qsS1!_$i+vPz<|OEq00;&UtFbIY|nVsw3zb$yb;l5#?t7KOAe z4{ci+)3XMMk|u6Qnz&KX$WGbVUd6;-&D37q%t6!4LCf4h$HGz9(ox^a$-v6VJUHDq zJ~y*Ilk!ccpsCftsZU>o#7k-*mlk#o?xvN1L}?YhQD`ecSbpbtgKu zUGJJat9!?do*g%Or_Jr%d82RRss2r;C+xmCY0u56`)*C!c5eFi^E39}nswmzoZXk^ z?!7$s;GOx0?k+lVckzL%i;v!2a_IW<($O<9 zHMg?1ck=WJ2o8%)NJz`dFR83;YU`RXdFI^t3m5O)z5C^xH=n=!`g8F{#s^@Wt9rUP zhFJ9OoqX2ou!BH@^Vbc_RJ}xbmaKF?7(LJR{?Z>!P7B&Q79Nd0xmG{G)Y|&-xqmY+ z=*1o3XPSLi|MTYEGgbB*{FGOm&3?r5;UCKh^Muw31@U=3Q(op~5k2vGrm5Qvkrfvf z9$Vl!ar#|7r|@Y}JL+QYxJKB-W;rhGY4YN>GIV*MwMD_*>GL5A#yJnFBCePI{Z`;8 zbv-1%W&Zlrt9G%c96W!6Rh-i>e;fCGk&lb7Pxnq#ubS-C zDC45hqLC2Z;%4b&@55NhSMWh~mXuSkgF7>)n(Gc;cjg4f@BgM;J~#2#<9o%tB4t@+ zuV=K@D)lu8So=8WP14xiIbkNptJRgg7jE?4+BTab_jK$Ft;OP9{~q1{!}e*Tef)iv R$swR*?&<31vd$@?2>@Fgeg^;m diff --git a/core/img/filetypes/folder-external.svg b/core/img/filetypes/folder-external.svg index 2b96baa90c..d5d4ef73ed 100644 --- a/core/img/filetypes/folder-external.svg +++ b/core/img/filetypes/folder-external.svg @@ -1,54 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/folder-public.png b/core/img/filetypes/folder-public.png index c8e5e0d3d4cefab4094e584d94abf3c4fea1916d..4887ea6e7672d150e457d5c62b2a459f4fb7ead1 100644 GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!M}SX=E07K@oE2I)C%9y0Xz{F& zqS+xOv%`vKhn36>DVh~pG%KWdW?1p8(3069K(cryPz0z9!~l_C1Qyx+nHOZ4cuA07 zFoU+4d2C!_RYS+*DO0CSpSfY>-m7^nC^#4Y=`ICR#``s+7ih*`8c)I$ztaD0e0s!>0WQ3Np>h}bGcy=`f&?QL&w&%DmKpxn0f z7H$c(8^6gUXJ*cK<}-7C^Ekpe$7ITz)ZYIG0D|EeA;fZ^tVnOGbFSsF0sv*sxyE9Q zLWmmR@c{@SQUK05wAK$ag<*Klv-T1D?QzcC7y$qzj4_wuIDV)*j$@25Ma@(p1wpVb z|2(`RlgXfzdenA{QX-KUkr&Q6UaZ^p%FMZQcduTxqRv`7p#Z+`^WBwe=eqy7bNKAh zPY(qERn<$j@7eQiUEuo@+W9?g-u7zU-o1NUfx7_Gnr!o(495L8+d{$z9mf$2#(*_$ zKq*7)hdj#B(ACk#m&cCKdiyuZE2fazu!&`ii3jok+UQ7X0|es+NVha` z^uv89DG9=m&h|D=eR2>RJC>{(4Iu;=YtXUH~Rl9{$ z?N%HxYrzt{AfPwXjV`dKctT*6!5TdTprjs%v>_QgZ2WM5p3ZiT9o&yml9d~`Fn>i2 z%HH)|K6f0gG;w^Vihp>zl4#;+IPe_=zNIUf;zNQ!5L4@0Y-#jHT!AKZgKRHmjx4T00l& z0;?cdT0vh|JL%@@%&4m7*Tx2#zWstAk!1DGw|R0_6@`2S0X&D)#%8;_WgY;qN*igc z3k!|n+0;gUYWSGTpMQWChQwOqCz7muZ5QP;tBM-=J$b^Rw2lBf0w7XaYU|1hHCDNJ zHPsecuAC>zW|%g29*bVukzZ=#ktZBd*--!vqwQ0ri7}0{YSxpgSwF7M#!|bH7I4D> zve&;pb>imt7w6z6_);K5Y_;qF`eE=&cDGyvKshkc*CGq_Ip@p>fXULN|C&uYz`q+f VyPG9K1Ze;O002ovPDHLkV1i`*IFtYY diff --git a/core/img/filetypes/folder-public.svg b/core/img/filetypes/folder-public.svg index 6bfae917a8..bd7039750d 100644 --- a/core/img/filetypes/folder-public.svg +++ b/core/img/filetypes/folder-public.svg @@ -1,57 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/folder-shared.png b/core/img/filetypes/folder-shared.png index f1f2fedccfc073dc23ebca5adea512732d9297d8..56c8ff36ed84b51b96fc35b20c45a43d0682bf35 100644 GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}W`IwKE0AVj_}|db5E{D50Z0~3 zk0_cKT0A4XWKL-D?BK!~p+z%8if4wE%nT`-6;?buqpAirP+MkZz!X<02DW0TC{hK`=O3s$V%v2*w3dyk(y zd;a3p>-Ycc7W{n=R2|{z;uuoFn5@90p~1+gKdC`T;=@7?g$AZc4IK?i6I?h>Y%=Ij zWI2-hx`d%F6$taD0e0st!}b07c! literal 1134 zcmV-!1d;oRP)xCjbBd93?IQ00000 z03b0vCpJDUKS?h@O+7)5gT0Kx*MNm~iQ({9`Wk*_POI&A6Uu#ZaY*1ou zQe|*eW^-3(b69G0T5EM*ZFpa8cO^VcB|cDAVr(cxSSLeQPk5J6f1gr-pjwBhT8O7% zkgs8oupu%&BQrlFG(RRaKPNUoC^tbUKTjz(Kq@ytD?CRmI6*8qK`c5%EIUOlIYBKt zLM}Q&FFHamM_4dALNYr-G*V_YNmn*TQ8r6jIZ|UfQDHkuR6JB>Jy2dfQei_+S43re zMQevfS7b(Fc1KlSRA_coX?Ry=aae|>Scb~nOuULV040Dn#5q6#9*7nVSklk zil$?atz?O#WRI?8hoEMl$!CqIXP?JspU7vS%4ed>Xoi|;gqLZPv1ygHX_mEZiJfhX zqHdbFZl%m_rp<1r&u*yCZm7_2jG%9txO0b3;(sZoSb)UU=r^$J#%XzBJ zd9KrXsmpq<)O)1Be5JvDvDJZ}wSlO^f~m!WwAF*O)`Xw5g`Tj7tjCA6)rYp%h_1+p zw%3WQ#EO%einY^=tHX=0$BVewjIha!xY&)BosGHJj+nl@7oxRhY!Q7w1-J-f z78oETB_=8=EG{%PH#$2%LP<ba{P(hKi7rnV+Gith>O%>+S9H^!ofw zzlll!00DwYL_t&-8O_1LYEw}VfZ=~`rVR+87%{bJu+l(l1-ld%t_5Gjhw>o=SBfs& zDwOV2RMad2*4k7{>`ijdIWy*_CdLxC;`i|%5TK?^ofe#^IA?@E-8)7Ba~2aoS#5k8u~>EeLRZ*%knuNu|FvS4nAdwWym?2M$PC4zJ98d> z=f&kVCCLoMf*8Mbz5#n1lrl3E3l(ST=-CltyGF^)P%OGL)_=7VpC4MSeGsp2L`q_Y zVxwgP_V>a|4YjRX84#Grf}y07dIa8$K(=pJQ({K@3B`(H2#A9$6^S{^Lqkb14?y#4 zkimZE>J4GWVnVUgY5+D{AFuU3eC~BG4F~mI&I}DD3_@T`+B6!S?w3P2sBSV*M3fX$ z!Bn&P{teJ;QOfd2g-X6vq?x#KJb){;Sn?+aQNi*YaDG{>oUE_(DVc%d{v!vR31?|- zjR6yu3`MNPSYiPOLANWyVs3APfQYb|yYmnH1Y?%JHL-}0y8r+H07*qoM6N<$f=EUG AQ2+n{ diff --git a/core/img/filetypes/folder-shared.svg b/core/img/filetypes/folder-shared.svg index b73e1fc3db..5e0d4fde7a 100644 --- a/core/img/filetypes/folder-shared.svg +++ b/core/img/filetypes/folder-shared.svg @@ -1,61 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/folder-starred.png b/core/img/filetypes/folder-starred.png new file mode 100644 index 0000000000000000000000000000000000000000..09383b5e06b886cee73bf4533e4a8313f445365c GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}T7XZ8E0AVj_@9^Xvu64S&U4AWkG`I zh~@QXS)e_NB|(0{42-PoT-?HM>A1jWJtk)vUMzVBb+5qaUM+x<@$IeFgeGdXVKKNC^N zvsUoPkAEpMHto3gX_fa!rS~h77lgZHIdFYnaQbd%#{JUIhDvW(ddj%l4wU3DItB_P Tcl`-u0(sxl)z4*}Q$iB}Zl`<9 literal 0 HcmV?d00001 diff --git a/core/img/filetypes/folder-starred.svg b/core/img/filetypes/folder-starred.svg new file mode 100644 index 0000000000..de5ef5723d --- /dev/null +++ b/core/img/filetypes/folder-starred.svg @@ -0,0 +1,4 @@ + + + + diff --git a/core/img/filetypes/folder.png b/core/img/filetypes/folder.png index d6b4d8cab991a041f15af89cebca2d332f5cef51..3dfb4391f2cde95313b8fd10b3193604f95bbabf 100644 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=3+9Gee4Ig%*R5Hg9(& zP>7`@$S;_oq2v8T&j}lVd}U7;#}JO0$q5G-&gkheC9rjOcMJD0GO-!7F)!swo6#u2 Zz@YU{_@S@KKP{kg22WQ%mvv4FO#rUjB!B<_ literal 713 zcmV;)0yh1LP)J)26x9I zBU|X|{{aAs@j(dT8i1uKb2r`n%S-_PmfZdQG>IXEI{;<}2qD}A0Cxv7ADdK`gwty zfIonw(*L|wL3}>PLMI2j0_^?j*NFsY&B5A! zkC;dh>uRh5)%HG#fYrfz@@@EUk%5@8-`m|E0)A|NtCx0QMq}as4Z~*X_BBjJga=0Hj25=gi znL}00000NkvXXu0mjfWGyz$ diff --git a/core/img/filetypes/folder.svg b/core/img/filetypes/folder.svg index c0a5af9ce1..e9d96d4049 100644 --- a/core/img/filetypes/folder.svg +++ b/core/img/filetypes/folder.svg @@ -1,58 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - diff --git a/core/img/filetypes/font.png b/core/img/filetypes/font.png deleted file mode 100644 index 535e03dfa7719300249d7142075884ada1dc5e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1623 zcmV-d2B`UoP)1gA6fcN~U`3@@O6m5X-L})2onvQqw|n$H=t1d$Q33(cKnM}667eWeu@FBP&Xlui zfpBSULK6@vl!PNzkOHQZqp(D3KnsH1?zUSBeZIHsnr(p=K2T!fhhKK*KkxXx^FKZS z;PW)`RGt5~2xzt1b&@232cjsxF=zxBh8d0o+9yq#1jWV0ke!_kvMiq*Gy)iHp}}Bi zD=I32f`S4lEG#4f9hiy8K_Q?hN?k@qhReCxY<3YyN=kAffu&EJ0LO6w=*XF$pAVUt znXdZh=H^09P7YvMuKW1-40)mi(BT4;$>bmcMx(JEowg(=CwJ4cPN%bBc~bi7oHMF} zFB)SPS(DkyODSx%HI?0GP2~<-lbFg&rfAb+5x`noDgEwCxRA&?&LzZ6eIx=Hy-3a| z<>>4#I{VI>6iow>nk7koXH4mzCJNAv74f&bmMc9`@96p;h=M)!C?PVr@3-wg08D6$6!BYh`)JK z7q{Sq5@$Z4#AKe-Gs_yY6vy8y<^rKHUB1;I$65v?K(mh-Xs1Zi)6*%^R!_rW8T_d+ zv$C=vB_#!ljJlrFX^P{x62JCfQrHM@JI6$3Mq{?o_Se!`aO3m0;1`*3ddu`X`xtc_ zIl(4$B7w4AqbbV=a1?>wC&)5J{!M>&%I8{o@&MWlj;`bK@g5Av&zX z^aEvp>WsS}-1~i*sHw5&bguW7gaj~);g>rtsJG~BbsSSP zAOV_vT)hq=px5i$@%dfs{2&jiG+ax4ZYs<(8^B~V_K+NA=)Rp$tKrTz<)=f-w0sw8 zd5yi6VL}HafYDej77L9YMRps};em|h&}+4>x*PCUrzm$Q12`4Ec0x@IoA@Kg+pWbD z;PT{bXfDWv-3(_Na1+w(qaiyve;iOlQm-HpUo<7MjwNT{x`MLzP;ywqF9C*{2(iN@~rfA`34i4@u@R2t!-1U$1(k-MYsptHUT6)NH4eoXDrXbz4b zHiz-{Pou;e21(mPde}dZAV_z=h>%8Cgb5csvR{Sqw)HAW+@Rvi*QF9J0C zn0^Ok0HY@Y_jN2`ZK!ahI$Z2I5Gev-KVo-;2qsaYCZxTAeW11DeUY{%RBYH4eot;& znBXiQC*1j3B{JY)PYOJ`VR|zoHI&|tl zMN+0uZl|xWuNobWMm&cYfp{JJ&KPFXM*&<{sXx~;KOk-@>W@MUzpn}D&>is@ z#LI4H&$uz{0T}Mi2$6gV;g3)u#v>vTA&6HHFQ$$P2n@MrZ&=?8>!H{2VBvoP{{RIR V3%w?@<-q^|002ovPDHLkV1nN91k(Tj diff --git a/core/img/filetypes/font.svg b/core/img/filetypes/font.svg deleted file mode 100644 index 13c0596006..0000000000 --- a/core/img/filetypes/font.svg +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/image-vector.png b/core/img/filetypes/image-vector.png deleted file mode 100644 index a847f78fcd8599ea8787c56cfa845a43dd128c7b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 885 zcmV-*1B(2KP)fxzo3*ldt3sg{n)=W}@d_42ZK)6{zDc3&lS+#b zArBS7id0HTo0e@;D3nrAR3d~1jgZ=uPBxpmJG(pcoj$C_&0fqHC)ht6KKS^~Ilpth zo2V+~N~Kb_Rkf2vkcj-1OeVX^=bXw##+c4zGKpnbktR3BkV>Vh3abK8RXoqb_x(r# z9LJ%u+W=K%s%p)JkE(icYj$8UARY>!e2f|*6u@KeK-J=ZCeTYiAkVIYWy@#h%*Ep{ zb{S3ojjZfOdXmVxx1q)jdL#gIY!BN0B=YlltRoj-^mok3_i)y}hVx<{R$~KtYlOn^ z*O*J+BRfBZCGDXA>fVAmAjUx8LotsUgE@PY_}2G{t?$Kd@5E}1;XJjH=H9o6KaoKD z57vwm8lY0L?=!4r%ORhItHX!}*sGpL{A|ezGe|xI`Dqf*b;HCc`uYB;DgP?*f1E1o7;wWbto{2H;72ObI_)HQUzJq18hc9eMI6uv6CF_*%` z6#4xhmDVO&z_Mp!)Qh_yfa1pONOqdQyF+1Q6p9|j)o2bz)xVoii61KopAp9atblr5<|+{+|Gj;}DO>BL%qk$vqH2M67{< zfytqvp^iwi-;X~jB9^Moev490B_aZ}R)R$+AINA~Qd!JXA4dNH_Va9XLKx0700000 LNkvXXu0mjfR3fFG diff --git a/core/img/filetypes/image-vector.svg b/core/img/filetypes/image-vector.svg deleted file mode 100644 index 1f0a54a21c..0000000000 --- a/core/img/filetypes/image-vector.svg +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/image.png b/core/img/filetypes/image.png index 305c3d4db27a52367ce49ffbf0fb9d63b409007c..2a5441efdb7989c03307df6ec62ad2ad19bbcbdc 100644 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!aez;VE0FH)?w&Gb%2Y6zK7IN$ z7(iyj#6Yx|N77f2StUV!!3^Bm2@Nf+Z5{KkKL7CP^B1lQD|Z0pyggkULn;`1PdM^5 zCpfTs#LHZ)I;@RtU2`5gF+|>4MhS$!D}zU zo6=j(9z?v^LOdBEAqb(Q;2%V)H8Fp7Jj89+-Pz41J3_wO&hGo(kN0NYBm^2I5{cDd zFc{UY^H8~5&S$gPjCxJfeiR42y=Ot^)voTCIjwtHl*S6q%_Y zuofw$T$7u5>ab*42Bnlc1f>+REO!S`2h@KxQ7wP7m3Tbp!O*Z|_?`)%RNzZ>56@Ds zZ2>Glz65{JV^~qcJ;19C-Mn-FMgjhi7c)1)@c3L@AxvAK1WaED;9hDTf$*Xn|IzFQ0-SbOw_sIuM;bX(_oC=>XKnP@#U4E1=zO0|0*48`yeTvYbHe zW%(Ft0gCxutlfTr$*EC%c)Nr8zHXwz?Hz`1;uuQ#T~jZum=#b5D*FC;AMaj$WG0W! zO=A7|Ev!6Qz~cQFhK@+Mo0`@6^jv{%B7`EoHizg;2+HMkeqjn{uY}QT9Nr~neqCFj z4ip>&a=Y_lC> z{-hJp0e`)ymR! z{695#Ef|QO<&q@9>2z`jU`Y!g6pO_|CX?CZn*FaTl}Z7feRog_?LSZgz|8>Tr51oa d9Nd)ypg)>=;&A!lyWao+002ovPDHLkV1i!#JEH&q diff --git a/core/img/filetypes/image.svg b/core/img/filetypes/image.svg index 0159eed648..3aaa34cf90 100644 --- a/core/img/filetypes/image.svg +++ b/core/img/filetypes/image.svg @@ -1,39 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/package-x-generic.png b/core/img/filetypes/package-x-generic.png index 4f5c6583bf1bf06ffc3b8da0cc2ac5cc94ac8ca3..eb1470b0dff2ee8a2d33b25675fa9511b0da77c3 100644 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Xn;?ME07K=nH5qrJFH}8NYSj& zVi58?x~%~y!B!IF7tByz-_Y^i0x$iEP)8S%5dPL)pJQJVC4`8dNIVAxd4x#RG^rvwr0ens2nh)(FF-|0l_!9LmN$Sjp+HGQ zE;_QFABywcdCzuiU;Y|K8p*TX`TJ&Oy*8?f`=sDrz5fpYfGrB&KEHbd==(N`CI~%Q zg`0I0qJh4C{&N50Y%OoXubox)=cXVgbOIV5h(KD6nygsFxt@#jsHf+lygL z2$(V4rhxkL+LQ4^zLu^&oW3`hZDev_x`dDelY@{$(q9gahi5xe1XeeG#j?tsK?SB!L0~)Lwfbr~Zy|38-5SlufpbTq^_M7CoR{+_Y%I zVhOlVg0{AB`rxdg-u`dLh?GzC=K12=eSEtslk!sdgdi-RVbAP^X1 zf=Lf_VyfWjd%BW|2_gbxOke@@E05yFY`T?Zes^Aiz6G!(c}CZ9(8j43z&PP03&46u z@ohM*Sj-Wy7Jx4DIj*$d;WsZ2KrH|#%F4{9LFYzElof!p07lNykxog)!zafap$~PeK4lRew$X3r;Zin|2380PqhjaR2S-rZqMI0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - diff --git a/core/img/filetypes/text-calendar.png b/core/img/filetypes/text-calendar.png index ac48f1f802bc79e35b15b8a6de66b436fee03876..dcb22b53e670fede3591e239b1100c582f1b65d5 100644 GIT binary patch literal 250 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Q-Dv1E0CTxZQ6_(Gp0|U4rEN7 zIu%aB84xKT7Xr|@j;G@e0!A$*1rk{Zd zf;?RuLn>~qJ$0I|!GOahuqI?nSkBhZ|MzFTY-)LNX?MaT;TNle{|G%O<6~g{+p_ZD z-jjl&CHl2%3fFVhipFqlin`Qz^3nbUOOAT&JQ$Jiv@y>ru6{1- HoD!M<6oPCZ literal 1271 zcmVAzP`TIJ}=xmDSv-|dwYAs!^7M|0f`WpCgoK8MhKPuWii(Phi;IkmjE;_ukdTm( zk&%*;l9ZH`m6es2mX?>7mzbECo0yoJnV6fKo1C1SpP!$gprE0lp`xOqqobpwq@<;# zrKYB)r>Cc=sHmx_sj8}~tE;Q5tgNlAt+BDOva+(Xsi?HHw70jnxw*Nzy1KnNHod*Q zzBe%rz>{ zJ~PlZDbzSA)YR0~)z#M4*4Nk9*x1+geuJ+uPhaC*0iJ-BC#0X<*&m z-QH74-e6kZXJX!KVcy=}-&RZCX=C5t-{4nF;AC9j;Nam|OyO%};o;%pT210xPU2in z;#^PSXkX%MUgB(K;^N}tT~Fg)Pvc%t<8EW)Zf4_eXX9{Zlq(WL4&8SLSwY=H}+-X;|my=jdx%=xkc(=;-NhUFqrR>T_V~>gwxu zV(XKP>+9?6cw_8&WbEwh?d|REeP`~SmF}IE?(XjIfokvX@9>0d@T8mY@bK}5Ztrr=MeyWF^yEblK`;ITB6{;!^bhbL(t{AigVIBZxOk|9ssyPK zp(;q#Z8piyk9{*vvOf~&f{*WEAM;_}%&->xr>yj2f2r4ooF)U~H&%vVr0Ii_Gj<95 zGp$Mn2F>bkMq^NP3IM^AU`neB1{cepoPDA1 z`le-=fHFerJ72r()`R2>DhN@{?^dW`n0g14a^4^Bgq)mzs0IK-ia1p~6cW?WK%$y) zD;+L~BnhAt#qmn#C$SA1xa4Z#q`!rNpdkl<(UN8RJu+sI{+*x{1#MpDg^(HX8Q9++ zkXJ>HG1xrq<^r>kfXOQ=7m$w-0||JiyJxv@&yp#KM0b(2j+8#nx^bGv9QYt01qvf@ z^p3VNlMu^BhzynPAQfx^ej`x}l5A41<$V5 z4<=cko)&feJdPr0c&eXYWfuG7$#EITj6$OsDC`Xt*b(AiP6 zqthO_g_0Cs12&t{dx$nR(DS6{fr&B$tW7S!tLohIrKvcz<%wVKg5d~(gz9IbDvO{3 zsG9*Q$jiYkJV^2epv-9scE3z6!`{O0JOQkBc{T?$pZPIx7+E!PK!>Bl`hdx(M{
x~$hGPH#002ovPDHLkV1i$Do4^17 diff --git a/core/img/filetypes/text-calendar.svg b/core/img/filetypes/text-calendar.svg index e935abeee9..051a32f4e5 100644 --- a/core/img/filetypes/text-calendar.svg +++ b/core/img/filetypes/text-calendar.svg @@ -1,87 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/text-code.png b/core/img/filetypes/text-code.png index c0e7590108104033da94a62c93ac28fef9c14122..652ab3566ad53b2b9b3dc6db75e2b5f8a6322f9f 100644 GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv5AX?b1=0--4b!Ggn>uyslqplD zPoEBCLr5S44w6M$P6L(llmz(&GcbAj`iHgkP5=Jmr-%UKBcQmQr;B3ju^XPO}WyF3YSCiQrfwu~0To!H4}r#L)CE{JNTcx)HAZ$Cm;5d4jWJ&tF4x@RLhZ zIbYX_8s^46kb0f46$%XQb`HS&44-KKt!K*j`6W@Q*6!7zQDrw2vT)mFo?Urwk@^;`z)yXB_HUlBEF+DBTZ;QQ6 z0b6miVA-$Xt?8=(>`CsV;&HZ1{m2dgZj4O;aJW1FC6%vk$p8oSV_An!BBO?-vw@C{ zwoV-fxI23jzoMglaWnaJ3XjJ_e}8{ASrKaw(C0mXKtR1jhL&PVwXy+jU%w52-|r`x zOtQbelS<(x6HlUs{AA)uw1z5-`9<8VK@{ENEI>3G1waUaloCy-2tam*vS*zkgirtj zRAt5Kl>I;88XhLm-OZ!u!UFbxe2+<5kx#Y}c7qwOK?jK?|DQHRH+<^{-CyQm2; zG(?T6GVt54swz@S4)3V5Us1$dw{(Dt3R~csFQKMsxZUoOMOL#vm)xoVLI`DK zWF#>M9GeorUu7r4$pf~lEZrT_o{ M07*qoM6N<$f}C81Q2+n{ diff --git a/core/img/filetypes/text-code.svg b/core/img/filetypes/text-code.svg index b85ddece9c..0ff78b6bcf 100644 --- a/core/img/filetypes/text-code.svg +++ b/core/img/filetypes/text-code.svg @@ -1,60 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/text-html.png b/core/img/filetypes/text-html.png deleted file mode 100644 index c3bbf2bfd91f2ae6bba5fdf38bc8903738164653..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 581 zcmV-L0=oT)P)Cf> zsHv%`s;a81tE;T6tgWrBudlDLu&}YQv9hwVv$M0bw6wLgwYIjlx3{;rxVX8wxw^W# zySux*yu7`=y}-c0!NI}8!otJD!^FhI$;rve%F4~n&Ck!z($dn_*4Ee8*Vx$D+}zyV z-QC{a-rwKf;Nall;o;)q;^X7vlt)=I7_<=;-L_>FMg~>g((4?Ck9A?d|UF z?(gsK@bK{Q@$vHV^7Hfa^z`)g_4WPz{r~^}4?0_v00007bW%=J009CI6X@yfibUD~ z008|-L_t(I%f*q=N&-<7MR!A^!XQdAI*%41_7D9(MEDC8^(c4;m2tRpXI3w1bv-W; z)Oud$Y|cK3B&7?JRFV=&nlJARmh+PU-T=M`GWaIgdBr_4YWqU0V_5 z-UIOVfZvzrJyc~@0EE{CMOIdE4`I_UYJheBin{1;LKNXN^#I+=bpw7X7YQl54q$UJ z0lFP&bY?zqwIn^=Hj-*L$fGk4vz`m!m;k}`W{3DppX1>9CIF7ypY_lt;|%VL4#>ty zdtOvC8p8GfFdQ}3v#R=7bzS|}yMGmNnHgN3ge0sU4OSuf5NN$g%Si|(Et1{=roBR6 TbyKKY00000NkvXXu0mjf^*B5w diff --git a/core/img/filetypes/text-html.svg b/core/img/filetypes/text-html.svg deleted file mode 100644 index 99215d303e..0000000000 --- a/core/img/filetypes/text-html.svg +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/text-vcard.png b/core/img/filetypes/text-vcard.png index 6849792dfd24e77b10f02069a402d2ff59d3319b..81e7d3dc3b66c94723577fe371e731eb78b406a9 100644 GIT binary patch literal 439 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbMf#sHrXS0MfW|Nr^(=TDtFb<(6s z)2C0LIddkE0ptQ1K<>0@(|~Ls14vGpG6li~vVjaBfQZAnKoJNVt`VXJq70+~tN^G6 zq5zqM$O1`-AVeix5YE{3_55j|qpeDU{DK)6Ie7TQBxPjf6qHnSZ0uazJUqQ45|UFg za`T&8+S)s&&R@A^?YdnD&z!w*>GGAEcOE}`{^I4wpTGYw%x2vSG^N_p#W6%evh-j( z-@yQewu|@gUAZ^qR`vFM-|G#oFZC2I?E80GMP%xIA)YUxbIVK*Yn=A_84#abl9JlE zto`AMuDKt$b05sR;?5jCt65q5;{9UjrN<{s-umP%Crfu%kFlV$r?e8EQP)<^g{#-d oEo@&?ar$=bpW}s3r+smdKI;Vst08!V|!~g&Q literal 668 zcmV;N0%QG&P)K0ZJ|Kte)7MMXtMMn*?RM@UFWNl8gcN=i#hOH52mO-)TsPEJoxPf$=$ zQBhG+Qc_b>Q&dz`RaI41R#sP6S6EnBT3T9LTU%XSU0z;ZUteEfU|?foV{B|}ZfSZpP!|rrKzc@t*x!NxVXByy2Hc6&d$!y&(GJ_ z*W26M+}zyV-QC{a-rwKf;Nall;o;)q;^X7vlt)=I7_<=;-L_>FMg~>g((4 z?Ck9A?d|UF?(gsK@bK{Q@$vHV^7Hfa^z`)g_4WPz{r~^}qcrll0000HbW%=J009CI z6LWi}rlzK*rlzK*t-3L%1Ar{C11Kx7y+wP4&-B$@oy0=O^~@%hx3n*JgS~B33X8MlQklW5@7sf2 zs1k*lb1!6dajI}|CSxtce+y+Dpn^2=)U+iW0$cGy&EEKQg>G^a(Ninzo%hNWa0GVI+8+;j(bW0Ad=^MN#Xo0+axoT6o$iH_Eb_x z8vaAWwEWcv0evI@ZVLo_673ndH9-3#1H=YsXz>T9sHUE - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/text-x-c.png b/core/img/filetypes/text-x-c.png deleted file mode 100644 index 2bdb16a2a770230e7adab3350a70f544a33600cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1228 zcmV;-1T*`IP)Q`zQc`wS(MNhX`kW<1a9s&STOVVdS<>+^jCbX~Uz&>ETJf?=3o z?E?u=&#Ccl6KJe`Ac1CRng+*l0`_#ct_z;$gM}LR4aDQ|j!5kz(D1%_w0qaMZ+>?W z+Rb?+0U7~11VISA<~T0!oWgQFtg1SRh=7djqg*Z{olZkhlJrAcr9Vg@SwT7 z3x*>R^krDwH8s5Z%{^S6$RM8%buR*QYjs@TW{?;j!hFSrgT1H8Ah!kGg}{gy%MW7a z=3Tr#nZlWb+!=vpB1O%@_iGlygG2bE=#uafQK?lRR|^o~g9bt8Wth<Ms@3=XyIoh8t=X21&T8#epTKfURufQXhk-PjlGW+N9DNB&SP~ z^y-sIeEf3}e{PwuI1$S{i+iOaUU{Nt&$>ra!h$1$RYE8mE)SZ{EBR z!Hv}tY?msYhuBE}o-I9;5;jL*_I3f5l7mA9&ol9OHhQ4oJe7+-GN+D2V5>&*J@PQhClqN2wPCV zb8PTTuh;SZ^!U*t&^%e>fXR%H8>Jn%(F`g?XyS)bfZf=!g_o@zRCSsSV`y@+03!>i{)aJ33FfeDOLwd_cUXahnQpuZuB!Stw&J8A(pcS^Xw!@%%3QjQo% ztcxDO#j}Gx&ZHG$kPrUT811^NLmflIFoI@;lAzlmk#Ob`9?r&h$<;}gQ}1Y$=zXIb zije+*>H_U0y3!BOMwB)ult4b8rym$WA)*GUVM>y|qkvC&XbV#cyzRa zd^sIid^#e~O&pp4>0B7P=iLTflVSFEt9*-ber9GyTv%98aRMk53L>>ZBH^?pKwppv qedJQa$-wek_Mu%4& - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/text-x-h.png b/core/img/filetypes/text-x-h.png deleted file mode 100644 index 7b4a36cdbe9e51389769429a2e9a8ae394650feb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1168 zcmV;B1aJF^P)A!(?|S`Fhd4HIoV3BMihAIHgv6nj3JD2`TU9vq{{V?27t{k+5Zo&D#0_x+ zaYLe9pz480q)L>gp-!po5U;;>cV=D=j#Jl8Z0Do=q&e*DjNfN|?>p~Wi3r2GfB$}U zX=%yj6=-*NS6{z=y*xZO7AT+3t8%$qwAP+$aK~{7!|>VY{1`yD+l}KmX4ILpN-0IR z+l{9JSZfiHa|amw_Edmj1wlX@$0((69EUiL@jMS}?cwu4#bWVPP-6gt(+`j1=7(LH z#j&H-OausmfFKA+CX-le@jMTu6jJ>g+1?_GB9i$9qN~@a*XxwaWpcUP`2h?@7>1cq%1!Y6ho8Ch)!mt#I59vro5lBipkKx5beck;z%$3e(@h99_{o_I z_S6oHzO$kbZNM0eo-O~!0XWAk8U!=Opp-&ujfhaI)rhr0VuOth#+W`-7}DL?z_i;F z3wf#olYj=Y79=)^6|A;A{qhd>$u@q#%ZpiTd*<8;|~B{z8)1GA@ZI#A$cw?d;&MtQ;Qfs7^T1foiqN=H@0_TU%7C)fYuL zNI`4}YE8n+Z*k@8Z)j$Vgpt9p+mZos? zCIaMc+@Rfw5P^iXM2)?Zr(k$-CX=C7s~vX0L6?hSgY_)RLO0Yj5egzC=JWKlLfk&2 zHFoS)%>*z_RzQpe0V4{WzLCN~4H=6S#c0M)>_Ds4V(+gH-EPx-vcsGa#0p{rk@3DVs<9dvUflfUS5iOz#LCVl;kS25M)5%>6vXr) zj2-Tf0wRc|pMoj*KN4VgL-)7eSzSnx+*o6IagM!*ewY@7Z)iOi_FjG zF#=*O)<{29XSoIL8<*I9w2gHVJbk=NdUXX6L2C=H2Yw1;ES*k=D2nLzdKe2%CIe2Q ze_KupFx-fiZ+}ef+S@#gE|B@?7QI}STCGOz-FJAmDQJm&-9nP zZ1!x|u+?f21OdM96NVw#Y?d$#aU2KV_X&c4R4PTU*Fz~qCX=DvZj;aF$>;N9!A{i) zhfkojrc$Zkx-Okg2iJ99oZjaz#WR#vHZffHL_i i0DwqF0*(Rv-}(>x&-Db$Jn*Fe0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/text-x-python.png b/core/img/filetypes/text-x-python.png deleted file mode 100644 index fbaf9a342f626eba72af7e7a11105739f4f2ec85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1368 zcmV-e1*iInP)lxihzbcrNfC&z^dnAVCvm*q_3ZA<;}BxfCT^V4KFRX>dG^h3-kX{Co)Qsu%Y_RU zR%T~sJ???D+wJ_!nKP~3x;+y$8V%KIwWh7LcXe{danM??-m2dNkR(Z#Wf`}6=KqRP ziX=(00|BhHh{#E}-Y7fB9>UV#} z>34f+5|8aSW-Ndi{LSFTGJ`nYUbQ&5r8yF}G#ZyA38hjAtu@_lmsYDqwOYM90K-ck za_phkpa!4-OBOGYMjf)aOYy|}xc4tkG|3$S1ocO$lyf9)gHu2$7s@4+`vlf)(p&zF zto#gK^QDR7eJB8%#Ynma*%nbRCQpZyry2y6D#|X=IChfuFP~$loFJjc}=A=fVdh$tT$U7~t)fwcSm*bTbhMxOW>+AKj#j8b65LCO!4mmg;M z=f{{-<0_4(671GxZ2c5s&Gw3dBPcic&rY(6h(#O)R;$TRL7st45#?g7Wqo}efT^KI ztOb>0^8vk$A>Q)a%s%-hkh5|52P#j00zlgN4zKeC#rsZ>to=j~-50{y+lOH1Cd3NZ z9IU~0JRX`q!hG-xq1VTC6^KPg1E%I*#IGJFELk!J%*tEwm zd_JCN4~Pg>1SAI(mFWjDzkNd8{gq>nKMUC=LYeN$D&EoOac5s;tJ8seK&e_K-MGAM zBU;9DEua|2DaM^PlLJ^mY>uQI8nukpTu9knMd>T##%KB0KPW7|3(BL=I?Lu-2T+97 zGU@fNG07T!;39d%U~7QWJbSofD35)de-#@+OpbE4tC>clF)~uC)d<57V+^kAVvND} zeRS{!?cYD*!Q(}0Rl%k?nS|gL$9mxQA&>yE4kjOxrYVI&0RXKv#+XrovQwBOrihLm ztT8ClXMMATfB)gZ1W6Sw^SR0T_Y!zJHS!T-SyAvkZC{sgwe` zT|@QMnO#TQPVRyF3m*|h5n5~1EB~SYnt$=G8#Chx5ShK~WUZ@AnCU z0IfBZN(HSoj^hvn0sVfTVzG$1`X#~UMLbV2e{2e6bC$1bYR|oQXX$ucD$Vnpg@pw? z&m)dwJkLW!a0XX+e6h*NN2aL;4r@J^u6m3=u5OI2Atx$IXJ%%YnVH%1f2(yiQUpoM@$L@guN-5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/text.png b/core/img/filetypes/text.png index 73080fb3ea02960c42afc2f0ca7eb5a2474a6c2e..13547961c76d9d14ea436ca0b6c19dde2068d737 100644 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=3TdOqnrb29TVF3epcR z`~{TeC<*clW-zjJe)Hk;7YV`Hyg)HiPZ!4!j_BlshUT8WK0bE=W{>hMS`88kF+8F# yGujQU6oO;~*kV{bxmJnJ7MbP2a>J-anc*Lg%Ce6UzT1HYFnGH9xvXuz*=jZ3>=;-O`>FVn0>+9?6?CkCB?e6aG@9*#M@bK~R z@$&NW^Yioc^z`-h_5J<*|NsAsvZUAm000qmQchC<0Rj&bb9<(yrlzK*rlzK?x-qBZ z0003aNklT26ztN-sf-(K7q36MR1M_BGOKAVz=k- zf9t6Nm|054?STrwJgLH5o=*T|UjQ6OlOv#{AZIX<5dgwl6SWX^po!F1^F&BQcu=B1 zl%NEqBWB@{cNiC9n?b>!_n(zaCQtk=*34sE)cnU~%YB)%E*2kGUC(`NBM!oxxdW zoxN9sm>YmL@sOGXD+5!~@WwLlbqd zQ-7xi%bzjG|JS~%3xFN~1x%_7pZCxo0cxU(0O^Z+l$~!4SE0M$;JnTN0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/video.png b/core/img/filetypes/video.png index a5793d6eb10fa256e91cdd28052fed782427f7c8..5604a4a1891236639fcbf7de826330e45418bf65 100644 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=7=SfKrSSCI}oj!1&Ny!8k%>0Z*S8tHxsH6HciI nmds$iu+>>IM?hOh!hnIH(?%eb`(G|EP&b38tDnm{r-UW|a8)<1 literal 1252 zcmV;M6y>@XU8#%J$^fGx9z4(>NM`{QRUO?&PFAl&@2OwXw0$ znwy*3jZm-GJ?aQ4UU%LiDeNkb(-O_vN_m&sr_@KEZiHRr4OL-_? zrUt6js=+xw!5BM1EyeU+Fs=|H0tVa(o*#1?a>w0U?DSu*d}(#{}Sd7xHEV&>l5SvlM~is0e9ITeoh( zy_4@l-wS8(ogwXK2@z79E<~Ov!aUxLfS#V7RJBs91PDnO;1bv)4?*wg=iun{EcBdu z7MDdW4Wn6yOhF1}aS`V6W(3%_ovK!fRSl@B)_lOtGH|;J{jaAL=e+nc* zFF_t}Mu25mscNM-El9?vhk30(ZPk##iXU2iWF0ex0jDVe;om90_91Fl%B^}6nT-*h%mK(cJ z#M^BbKu5KzS!%K{>~fVF1{m1!_x0?Yig>$SMyYD0INk+8y9P>Rh2y}l(;vg-7hi(y`32~+ z$_S*w<5!-VdP^4Z?)@&H*&{-9;P%g}(ERoi{CN6#xN+%wIAD~ZzhZ(ZxD=V(0m;i~ zPj^9HwX#4F(uC$-9*4CLFM{nka2R7j`b**yk>KG0{qP7*;T4p?Fb;F5)+kay4jh+JlZ z!^+^{1r)H7BxZ<|19F=R2`?;x%T4^w*xx^*yfd4Kh|nRB7+zK_E2qI#pG#n6DSTgd zL0+|bl#r_=Zj_uy2^C!479t(PcOEzYon7FN1I$z|A43!}Sw)W5vLdW=9q1`Xz;UN$Q4n;So)xle(e6awu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/web.png b/core/img/filetypes/web.png deleted file mode 100644 index 33063212466ca53e7c562f723864f336d3b21b6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2136 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 O0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/core/img/filetypes/x-office-document.png b/core/img/filetypes/x-office-document.png index 6c0c4f8c228afd8c6cf5454f687edbaf8b09907e..861ac965a7d9e2b247459cc64edb4e44ad13f712 100644 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=8+oUwf>2>9P8S=jvC; zD6jccFi@JKB*-tA!N}72&4w-{T^vI=qLULEntS^C_}m4UJ<7LeHApDL z@QA+5Xg9P{2$B(Ci(&EPS|vJLWR?fZ4WkxihJQRN%RWZ>W3 BHW2^- literal 856 zcmV-e1E>6nP)5o&7V>y8qVv|5Z6GHxegAUycv+26f((f?KSr1uuHr;01&r&F~B{(Tv zC*8JEdm0(`}Tvc{~0_D zzc1e0MSfh@N|jH*7`O=`6ws1)WjAmenaLM_836z>Q6)k>e)075lpqM` zcDs0)oPVquSd07WiS}v`#$}CpM`}5Ha9oN zh!j_VNC#p-5YqSJ3e19Z1&lGp1dyoz5dm8RF=8#GQLopzy1Js(YO%b$oJ*vTfS8Dc zm}nZ(C=%2>uzf&;FdPz5lPi!#5xMeXC?gSO2~5*KkzdU017bi_ao|}{N`&zQ7y~Lp z;Os0~jIr3#NT0>ezVEZOwKa@eR)nD>709+=XJ@DIEA0=O+lcHjY`5Dq8Vx#~4wXs; z$8i!X)>_l)bSx`AI5-$1QcNK60f}ExnP6*cYq`PV^GQ}+ia_FmCVsay0Mm`A*=){l zM23+QW-o4UZzs=6DOOfi#_lSmXf~T@t*wORTM&yd1QZw}=wT1E)>gtS;$g4o9G0YQTwgSHIssa$ z!*LvTcXuZenob}b5ilaj7|yy4(@D!~z(h$S9~c+e$;k;Ys=#0{pjNAKeSHm#kLLRN zIzbQ=lAN#&hr57CjIsC+4-X3ij)lrppcDZiwGD~IGgIC|GE)g?%x%?EG%7AAs4Xty zVE1lToJpb#>_qVUB(E+^t@cEN%H}m1*;^L!HN{dLsMx{%mA{(n`iQOS? ifh$QRRg-%2f8i&u-vqRd5o#C!0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/x-office-presentation.png b/core/img/filetypes/x-office-presentation.png index b129c76de6068c2ca039880dd26f9a17b8ccd883..fbe941e5c3f2fcfb3fa97ae5104948652c867bb0 100644 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE0F#$Egp_CxzF_ig;+|0 z{DK*tfB39#_Gk%^uk7jK7*fHQtiWWjS%J}Q0RuPJ0j-8L^V67G?jCG8ldg1VJ;RB+ WjFm--Tl0a+89ZJ6T-G@yGywqo)F>JN literal 1028 zcmV+f1pE7mP)-+orTYxU$RAJ*C)^<-$PW%#SGvn2FpSvKs@`@Av zC4T+nn|C<(-60}_r%#`D0stEiz2+BRBTIDe=jio%Jb3V+WIT!@27>{r zisyMnvx?)GtE($otybaGYy@J()PYM=V3|lBJ$h6!GHo>X0AMniFc=K*eZS;oj&{3U zTCb|JDKMu918{rWY&?^k}W)oLs+FP8{RJ5cliG*1Db{=x)?!y&3V_kLJg zTf;dwLwcqPOfw+@l9l1hmoK@wxdEWl=`a`!Xf~TT=eWMUW^ZqgD2nD955th9rKK6~ zE33d%K{Jt%=4fYUr?hc>eSPMjTw%wNC~)qG+;v7l+5V$dZmrinpjy`!ORH55a0JJb6thJEb|C>kZM3P66vr) zskeJ871RtWzyIRF%!mO@bhpyTRy>z218jZ$#5m*#O1Vlu>{p{2D#~*$!b&ZcUez{iyBJxT^ yM6&W|03qoQ*?$28A~PGw`{w$t;N8CDe(^URxCs@EbDL2B0000 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/img/filetypes/x-office-spreadsheet.png b/core/img/filetypes/x-office-spreadsheet.png index 9efe6f29501a07539a1b855ed89850fcd83f404e..bf22ca23f095143043bdd68a98f7d4b892376a74 100644 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa4)6(a1=2J3`p($nGkdS^ti687 zNP;DD4N#h+B*-tA!N}6-^@q=2b}Z{+0g4%Ux;Tb#L?Q@u}sQrbc`6<0Kk4}1vkep31ryfkME}cQwv%mHOtdjEGBI&7&APt zHmHQ1)b2WgU@+LRpp#Hyfr{u!fUfIsxm-#G9RB2N1rS2Ccs#z7NF+`v?cS`vLkQ6r xWBjcqqAEfN0dU+ZOktP+elwvdQSEiF@driO)bkoTregpA002ovPDHLkV1jx`LQwz! diff --git a/core/img/filetypes/x-office-spreadsheet.svg b/core/img/filetypes/x-office-spreadsheet.svg index aae8f3c95c..aac8c4e3f7 100644 --- a/core/img/filetypes/x-office-spreadsheet.svg +++ b/core/img/filetypes/x-office-spreadsheet.svg @@ -1,63 +1,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/core/js/mimetypelist.js b/core/js/mimetypelist.js index b4de98247d..e49ace6df7 100644 --- a/core/js/mimetypelist.js +++ b/core/js/mimetypelist.js @@ -9,23 +9,26 @@ OC.MimeTypeList={ aliases: { "application/coreldraw": "image", - "application/font-sfnt": "font", - "application/font-woff": "font", - "application/illustrator": "image/vector", + "application/epub+zip": "text", + "application/font-sfnt": "image", + "application/font-woff": "image", + "application/illustrator": "image", + "application/javascript": "text/code", "application/json": "text/code", - "application/msaccess": "database", + "application/msaccess": "file", "application/msexcel": "x-office/spreadsheet", "application/mspowerpoint": "x-office/presentation", "application/msword": "x-office/document", "application/octet-stream": "file", - "application/postscript": "image/vector", + "application/postscript": "image", + "application/rss+xml": "text/code", "application/vnd.android.package-archive": "package/x-generic", "application/vnd.ms-excel": "x-office/spreadsheet", "application/vnd.ms-excel.addin.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.sheet.binary.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.sheet.macroEnabled.12": "x-office/spreadsheet", "application/vnd.ms-excel.template.macroEnabled.12": "x-office/spreadsheet", - "application/vnd.ms-fontobject": "font", + "application/vnd.ms-fontobject": "image", "application/vnd.ms-powerpoint": "x-office/presentation", "application/vnd.ms-powerpoint.addin.macroEnabled.12": "x-office/presentation", "application/vnd.ms-powerpoint.presentation.macroEnabled.12": "x-office/presentation", @@ -49,58 +52,54 @@ OC.MimeTypeList={ "application/vnd.openxmlformats-officedocument.wordprocessingml.document": "x-office/document", "application/vnd.openxmlformats-officedocument.wordprocessingml.template": "x-office/document", "application/x-7z-compressed": "package/x-generic", + "application/x-cbr": "text", "application/x-compressed": "package/x-generic", "application/x-dcraw": "image", "application/x-deb": "package/x-generic", - "application/x-font": "font", + "application/x-font": "image", "application/x-gimp": "image", "application/x-gzip": "package/x-generic", "application/x-perl": "text/code", "application/x-photoshop": "image", "application/x-php": "text/code", "application/x-rar-compressed": "package/x-generic", + "application/x-shockwave-flash": "application", "application/x-tar": "package/x-generic", "application/x-tex": "text", "application/xml": "text/html", "application/yaml": "text/code", "application/zip": "package/x-generic", + "database": "file", "httpd/unix-directory": "dir", - "image/svg+xml": "image/vector", + "image/svg+xml": "image", + "image/vector": "image", "text/css": "text/code", "text/csv": "x-office/spreadsheet", - "text/x-shellscript": "text/code" + "text/html": "text/code", + "text/x-c": "text/code", + "text/x-h": "text/code", + "text/x-python": "text/code", + "text/x-shellscript": "text/code", + "web": "text/code" }, files: [ - "text-x-h", - "application-rss+xml", "video", "folder-drag-accept", - "application-epub+zip", "folder-public", "package-x-generic", - "application-x-shockwave-flash", - "text", "folder-external", - "web", "text-vcard", "application", - "image-vector", - "database", "text-code", - "text-x-python", "x-office-spreadsheet", "application-pdf", "folder", "x-office-document", - "text-html", "text-calendar", "x-office-presentation", - "text-x-c", "file", - "font", + "text", "folder-shared", - "application-x-cbr", - "application-javascript", "image", "audio" ], From 2a935f1b47ed27596ac4a6d8bf5fd911c766d453 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Wed, 26 Aug 2015 19:00:42 +0200 Subject: [PATCH 122/329] move log in button into fields and use icon instead of text --- core/css/styles.css | 30 +++++++++++++++++++++++++----- core/templates/login.php | 9 ++++++--- 2 files changed, 31 insertions(+), 8 deletions(-) diff --git a/core/css/styles.css b/core/css/styles.css index cad407b52e..1f41af211c 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -456,11 +456,30 @@ input[type="submit"].enabled { padding: 13px; margin: -13px; } -/* quick fix for log in button not being aligned with input fields, should be properly fixed by input field width later */ + +/* position log in button as confirm icon in right of password field */ #body-login #submit.login { - margin-right: 7px; + position: absolute; + right: 0; + top: 49px; + border: none; + background-color: transparent; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; + opacity: .3; } +#body-login #submit.login:hover, +#body-login #submit.login:focus { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + opacity: .7; +} +#body-login input[type="password"] { + padding-right: 40px; + box-sizing: border-box; + min-width: 269px; +} + #body-login form { + position: relative; width: 22em; margin: 2em auto 2em; padding: 0; @@ -539,10 +558,8 @@ input[name='password-clone'] { /* General new input field look */ #body-login input[type="text"], #body-login input[type="password"], -#body-login input[type="email"], -#body-login input[type="submit"] { +#body-login input[type="email"] { border: none; - border-radius: 5px; } /* Nicely grouping input field sets */ @@ -783,6 +800,9 @@ label.infield { margin: 24px 5px 0 16px !important; vertical-align: text-bottom; } +#body-login .remember-login-container { + text-align: center; +} /* Sticky footer */ #body-login .wrapper { diff --git a/core/templates/login.php b/core/templates/login.php index f942e02dc8..0cd76b2b37 100644 --- a/core/templates/login.php +++ b/core/templates/login.php @@ -56,19 +56,22 @@ script('core', [

+ + t('Wrong password. Reset it?')); ?> - - + - From cea3247d49e2aa0bdf49303a9bffadfb36c44898 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Thu, 27 Aug 2015 21:02:00 +0200 Subject: [PATCH 123/329] show feedback spinner for log in process --- core/js/login.js | 24 ++++++++++++++++++++++++ core/templates/login.php | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 core/js/login.js diff --git a/core/js/login.js b/core/js/login.js new file mode 100644 index 0000000000..33ec868cb2 --- /dev/null +++ b/core/js/login.js @@ -0,0 +1,24 @@ +/** + * Copyright (c) 2015 + * Vincent Petry + * Jan-Christoph Borchardt, http://jancborchardt.net + * This file is licensed under the Affero General Public License version 3 or later. + * See the COPYING-README file. + */ + +/** + * @namespace + * @memberOf OC + */ +OC.Login = _.extend(OC.Login || {}, { + onLogin: function () { + $('#submit') + .removeClass('icon-confirm') + .addClass('icon-loading-small') + .css('opacity', '1'); + return true; + } +}); +$(document).ready(function() { + $('form[name=login]').submit(OC.Login.onLogin); +}); diff --git a/core/templates/login.php b/core/templates/login.php index 0cd76b2b37..50ca6febf0 100644 --- a/core/templates/login.php +++ b/core/templates/login.php @@ -3,7 +3,8 @@ vendor_script('jsTimezoneDetect/jstz'); script('core', [ 'visitortimezone', - 'lostpassword' + 'lostpassword', + 'login' ]); ?> From e4d0a69126430210fc59f945e73973dd18b9237b Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Thu, 27 Aug 2015 21:23:45 +0200 Subject: [PATCH 124/329] position and style remember button on log in page --- core/css/styles.css | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/css/styles.css b/core/css/styles.css index 1f41af211c..bf6ca51914 100644 --- a/core/css/styles.css +++ b/core/css/styles.css @@ -758,7 +758,7 @@ label.infield { margin: 35px auto; } #body-login .warning { - margin: 0 7px 5px; + margin: 0 7px 5px 4px; } #body-login .warning legend { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; @@ -797,8 +797,10 @@ label.infield { padding: 10px 20px; /* larger log in and installation buttons */ } #remember_login { - margin: 24px 5px 0 16px !important; + margin: 18px 5px 0 16px !important; vertical-align: text-bottom; + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)"; + opacity: .7; } #body-login .remember-login-container { text-align: center; From 8fc7a3dc80edee0e4ac4347dfb019e783876c860 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Thu, 27 Aug 2015 21:29:29 +0200 Subject: [PATCH 125/329] use simpler logo for log in page --- core/css/header.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/css/header.css b/core/css/header.css index 5630f96953..369750251c 100644 --- a/core/css/header.css +++ b/core/css/header.css @@ -70,8 +70,10 @@ } #header .logo { - background-image: url(../img/logo.svg); + background-image: url(../img/logo-icon.svg); background-repeat: no-repeat; + background-size: 175px; + background-position: center 30px; width: 252px; height: 120px; margin: 0 auto; From ab8727493037731162563632bd05870c610d202d Mon Sep 17 00:00:00 2001 From: Lukas Reschke Date: Thu, 27 Aug 2015 22:23:08 +0200 Subject: [PATCH 126/329] Use certificates that expire in 10 years :speak_no_evil: :speak_no_evil: :speak_no_evil: --- tests/data/certificates/badCertificate.crt | 31 +++++++++++------- tests/data/certificates/goodCertificate.crt | 35 +++++++++++++-------- tests/lib/security/certificate.php | 15 ++++----- 3 files changed, 48 insertions(+), 33 deletions(-) diff --git a/tests/data/certificates/badCertificate.crt b/tests/data/certificates/badCertificate.crt index dcb1895fba..c61c1e6aec 100644 --- a/tests/data/certificates/badCertificate.crt +++ b/tests/data/certificates/badCertificate.crt @@ -1,13 +1,22 @@ -----BEGIN CERTIFICATE----- -MIICATCCAWoCCQDNdmb4pJrUeDANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJB -VTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0 -cyBQdHkgTHRkMB4XDTE0MDgyNzA4NDg1MVoXDTE1MDgyNzA4NDg1MVowRTELMAkG -A1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNVBAoTGEludGVybmV0 -IFdpZGdpdHMgUHR5IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvrMe -x5D45HVMV2U4kqTU0mzHAihHT6r+OtO6g7S9yIlJZGGVcEet6An78Ow7aYM141eI -Jfbvqql7OIblHXSw7mvkw4bOQ1ee5lmJYOYCgaMNJ6mBLJfpK9xwidb0ZvhWOA8P -DLIiBKA3T5ChXCzilD5GF2+H/BXBE9lL9tuDjM0CAwEAATANBgkqhkiG9w0BAQUF -AAOBgQCJwfJe7j+aNkopw+P8uxobfOnMWU9XC4Pu+39TVLeakeSqu2Y8vJSHmkjF -WK3VXAJr33Eul5VP/3SWGwuRPd9X4i4iLh1gJfYvi9MJf1lQNYncGCM+xtdrNu2O -u0yexkOBRrapDYjcv58BiOaFgvFLquKvtVj9HlcYRfwfM77uKQ== +MIIDtTCCAp2gAwIBAgIJAJ9c5xX3Bf7cMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV +BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX +aWRnaXRzIFB0eSBMdGQwHhcNMTUwODI3MjAxOTEzWhcNMjUwODI0MjAxOTEzWjBF +MQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50 +ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEApYxB04E1rGUCopazf8PsW+3EYrX8J1Ze4g3jRJEmzqHLB4+T4h45LwLl +D7OLJCLdYA8sfEruInokNV1oUBGDwBWdZA1w7d4o7Wgwiz7WE0FQwkA7YpvtKK2K +Xvv5wltdUzI+WpbfhHzlg8XIDCPA0ayWx2CDyqsHMXYNOvov1vPbIASF0nBGnRSK +5Eu7KUKK5UkO8+G6RqBwxQkd/tB2GV68npls++QzA0nf3IIHcc+yNQqaMnb5CVxg +z2i98VuvCPzYY/EWHkIGdSSKRqRG4sqRegb6d/qf46NfjVYLziLfsFGFH4fLVy6n +IxkP0gdnoTGu8K8H6wm57GViGLLsPwIDAQABo4GnMIGkMB0GA1UdDgQWBBRrMYy8 +SOqiMiVdo/dfyN6yftK+jzB1BgNVHSMEbjBsgBRrMYy8SOqiMiVdo/dfyN6yftK+ +j6FJpEcwRTELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV +BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAJ9c5xX3Bf7cMAwGA1UdEwQF +MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHargAErj8TAhMfozjgqRihCSOIO5DX7 +W/7mBImP6B76ctP+PWzEaGrOPO81WR5apZP72cwnXD6WABKd1YhMSyr2NI++y5jP +c3KF/3MpGu4ZYV39JUVpfeq5Fzu9d9C49tj384vljixsxeaCUKuZYqyPuHeGr14u +7UytsqYORRy/rG4xm0mhk/srOzKJlRenSc9QiWH2Mxst55+cj7zXXFG54N7rI3UU +9e4Lc2NHQLv3Xv6FunC9mB/AUuEcI6XS6CqNyzAtPAvbO6MZGwUft/S/2TAyqJB0 +VsXK3j3X8DJCwruNLGA3Q/TAYHqrElYg8N4b6w4LD91WbrRyWvkCXmM= -----END CERTIFICATE----- \ No newline at end of file diff --git a/tests/data/certificates/goodCertificate.crt b/tests/data/certificates/goodCertificate.crt index 4a5d7bd32f..4072c8db2d 100644 --- a/tests/data/certificates/goodCertificate.crt +++ b/tests/data/certificates/goodCertificate.crt @@ -1,15 +1,24 @@ -----BEGIN CERTIFICATE----- -MIICazCCAdQCCQCySF7HjQD78DANBgkqhkiG9w0BAQUFADB6MQswCQYDVQQGEwJD -SDEPMA0GA1UECBMGWnVyaWNoMQ8wDQYDVQQHEwZadXJpY2gxFjAUBgNVBAoTDW93 -bkNsb3VkIEluYy4xETAPBgNVBAsTCFNlY3VyaXR5MR4wHAYDVQQDExVzZWN1cml0 -eS5vd25jbG91ZC5jb20wHhcNMTQwODI3MDg0NTUyWhcNMTUwODI3MDg0NTUyWjB6 -MQswCQYDVQQGEwJDSDEPMA0GA1UECBMGWnVyaWNoMQ8wDQYDVQQHEwZadXJpY2gx -FjAUBgNVBAoTDW93bkNsb3VkIEluYy4xETAPBgNVBAsTCFNlY3VyaXR5MR4wHAYD -VQQDExVzZWN1cml0eS5vd25jbG91ZC5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0A -MIGJAoGBAL55lB4RvU0pTyh7YsLCxPBq43xxkRZBxfZENoflCIUsBo7/mXNz2zVO -476oQ4L47heUOX3j8kemOgPmWEqA34JB8rusijCy5WqFBLnm4HsRLa66i+Jgd+Yl -QhcKvhGas1K/CVTG4oSLoAmA2coZUL94uxnRtd8aluflHMNGApIlAgMBAAEwDQYJ -KoZIhvcNAQEFBQADgYEADo08zWdOtIvCKFDnLbzRwIjSYTlAtQtQaULv7KQe3qIn -iaFAi6fAynHfdC8/2tvmSeniw0OZBkrfVGIVtUbwCSrljNSUY/lWrUR0pE61lb4r -DpX0JZjlk48XEaErRVDfu3wq6n/2nYg6HnaLOPwt8OSYYrxzvXlFPrKBH3q6R+M= +MIIEADCCAuigAwIBAgIJAN0NPgU09qt9MA0GCSqGSIb3DQEBBQUAMF0xCzAJBgNV +BAYTAkNIMRIwEAYDVQQIEwlTdC5HYWxsZW4xGjAYBgNVBAoTEW93bkNsb3VkIFNl +Y3VyaXR5MR4wHAYDVQQDExVzZWN1cml0eS5vd25jbG91ZC5jb20wHhcNMTUwODI3 +MjAwMzQyWhcNMjUwODI0MjAwMzQyWjBdMQswCQYDVQQGEwJDSDESMBAGA1UECBMJ +U3QuR2FsbGVuMRowGAYDVQQKExFvd25DbG91ZCBTZWN1cml0eTEeMBwGA1UEAxMV +c2VjdXJpdHkub3duY2xvdWQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEAlxdUFrwhvT+Exp78Nk0A8Zpfi9/XoLyQkKWH162HX++mxtGXrFKAl5PT +fKRAv0VqY8hincT+6AlzQkdtiOi5OSVFJpeubtSKrShJQyDKmGLlDntanfLc69GT +EhkznHmA8AeQMK/NApQpOSC+nmdxpu1aKk7QkSYfpmZ41HF8zKWJTyXzFPZGKw+l +YxfzIxmUMIIZvfeWE3hq3qlJcS+KO8NcCHEpoiVvZp7PpfDTnyOQVjSkWg55c4j6 +cqNgJ93WTOTOE+3D1XF43Oo+0VQivJn7/tQmIOAg+YyL3Sjmzjb8sP0ksx17vpLO +Z73UShJw5AGtoaS4oQkSd/+qYBwQMwIDAQABo4HCMIG/MB0GA1UdDgQWBBSG7JAe +KoR82sQ60QhMNWdU4qY6YzCBjwYDVR0jBIGHMIGEgBSG7JAeKoR82sQ60QhMNWdU +4qY6Y6FhpF8wXTELMAkGA1UEBhMCQ0gxEjAQBgNVBAgTCVN0LkdhbGxlbjEaMBgG +A1UEChMRb3duQ2xvdWQgU2VjdXJpdHkxHjAcBgNVBAMTFXNlY3VyaXR5Lm93bmNs +b3VkLmNvbYIJAN0NPgU09qt9MAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD +ggEBAJL9LKzWSJCTG0r+pNXw6Xy2DW9xbi3YsUeelkMKMqurmiH59P90juOJQgIC +B1Jcn/U0rzpJpolI3jJNjHzs/kI4MDkzcKGV84Pqwj+PSdMFK3OCWH/J81lUhrCj +H3yguZ/JpAisInVeBqg6lRf0X+S8jJIp4ZP2XZJsX70XgkRsEaC9TrlxtFsm839t +WhroMb25Njm9eAdSYrx5PFDwN8TtJlb5Ve3uZL8D0uBv+p0kWjkt1TrDk2x78F6b +5ExmE9+APc0gcLtSVwIGX6FDXOcOA8ndkp7p4K0CDnMZfFAU0oKxvnDxehrVKQEL +os/cq7EKmmsY/rM0uJ6L0ka4WUk= -----END CERTIFICATE----- \ No newline at end of file diff --git a/tests/lib/security/certificate.php b/tests/lib/security/certificate.php index 7fc8bbbdf2..81d159ebd5 100644 --- a/tests/lib/security/certificate.php +++ b/tests/lib/security/certificate.php @@ -61,29 +61,26 @@ class CertificateTest extends \Test\TestCase { } public function testGetOrganization() { - $this->assertSame('ownCloud Inc.', $this->goodCertificate->getOrganization()); + $this->assertSame('ownCloud Security', $this->goodCertificate->getOrganization()); $this->assertSame('Internet Widgits Pty Ltd', $this->invalidCertificate->getOrganization()); } public function testGetIssueDate() { - $expected = new DateTime('2014-08-27 08:45:52 GMT'); + $expected = new DateTime('2015-08-27 20:03:42 GMT'); $this->assertEquals($expected->getTimestamp(), $this->goodCertificate->getIssueDate()->getTimestamp()); - $expected = new DateTime('2014-08-27 08:48:51 GMT'); + $expected = new DateTime('2015-08-27 20:19:13 GMT'); $this->assertEquals($expected->getTimestamp(), $this->invalidCertificate->getIssueDate()->getTimestamp()); } public function testGetExpireDate() { - $expected = new DateTime('2015-08-27 08:45:52 GMT'); + $expected = new DateTime('2025-08-24 20:03:42 GMT'); $this->assertEquals($expected->getTimestamp(), $this->goodCertificate->getExpireDate()->getTimestamp()); - $expected = new DateTime('2015-08-27 08:48:51 GMT'); + $expected = new DateTime('2025-08-24 20:19:13 GMT'); $this->assertEquals($expected->getTimestamp(), $this->invalidCertificate->getExpireDate()->getTimestamp()); $expected = new DateTime('2014-08-28 09:12:43 GMT'); $this->assertEquals($expected->getTimestamp(), $this->expiredCertificate->getExpireDate()->getTimestamp()); } - /** - * Obviously the following test case might fail after 2015-08-27, just create a new certificate with longer validity then - */ public function testIsExpired() { $this->assertSame(false, $this->goodCertificate->isExpired()); $this->assertSame(false, $this->invalidCertificate->isExpired()); @@ -97,7 +94,7 @@ class CertificateTest extends \Test\TestCase { } public function testGetIssuerOrganization() { - $this->assertSame('ownCloud Inc.', $this->goodCertificate->getIssuerOrganization()); + $this->assertSame('ownCloud Security', $this->goodCertificate->getIssuerOrganization()); $this->assertSame('Internet Widgits Pty Ltd', $this->invalidCertificate->getIssuerOrganization()); $this->assertSame('Internet Widgits Pty Ltd', $this->expiredCertificate->getIssuerOrganization()); } From 589b066c4cc4bd44539e2257b85f674f4832a140 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Thu, 27 Aug 2015 23:09:32 +0200 Subject: [PATCH 127/329] restore behavior where favorite stars only show up on hover, to not clutter the interface so much --- apps/files/css/files.css | 4 ++-- apps/files/css/mobile.css | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 4a56490fe0..25a3df5305 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -616,13 +616,13 @@ a.action > img { } /* show share action of shared items darker to distinguish from non-shared */ -#fileList a.action.permanent.shared-style { +#fileList a.action.permanent.shared-style, +#fileList a.action.action-favorite.permanent { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)" !important; filter: alpha(opacity=70) !important; opacity: .7 !important; } /* always show actions on mobile, not only on hover */ -#fileList a.action, #fileList a.action.action-menu.permanent { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)" !important; filter: alpha(opacity=30) !important; diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css index c5507a1e26..0641304d21 100644 --- a/apps/files/css/mobile.css +++ b/apps/files/css/mobile.css @@ -43,6 +43,14 @@ table td.filename .nametext { #fileList a.action-share span { display: none; } +#fileList a.action.action-favorite { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)" !important; + opacity: .7 !important; +} +#fileList a.action.action-favorite { + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)" !important; + opacity: .3 !important; +} /* ellipsis on file names */ table td.filename .nametext .innernametext { From 49140865006046e8aaa7d861de45c06a2d6227b7 Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Thu, 27 Aug 2015 23:16:53 +0200 Subject: [PATCH 128/329] fix png fallbacks of triangle icons --- core/img/actions/caret-dark.png | Bin 151 -> 128 bytes core/img/actions/caret.png | Bin 147 -> 127 bytes core/img/actions/triangle-e.png | Bin 176 -> 149 bytes core/img/actions/triangle-n.png | Bin 147 -> 128 bytes core/img/actions/triangle-s.png | Bin 151 -> 128 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/core/img/actions/caret-dark.png b/core/img/actions/caret-dark.png index 8f25a9bbb4385c6e5f12fe25d1429638c51241ce..97c64c6a7203c89f8a0074a13bb53bb5a1d319ce 100644 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE09J8{(R4Sfqa&dAirRS z@`etpv)y7qzKo}fV@L&K@&fsU6h`JW6TvhS(=#h}&6pwaf|EgYC4=M7mb_CSb39%B KT-G@yGywoK&l{fr literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyLIFM@u0R?MJkXY01QcQ|3GxeO zC~xTK+|;q=GEhL@)5S5Qf-za5CPBnt(;@~jCaoEqGY8UItKzr6kBN zn4!F(!|H6e7?3aR>Eakt!I-STBN2I^LGoN$TetDyD+Y#!0?Z8j*BKncs}_N@F?hQA KxvX50 cNkWE!LFEmjRiDg@HlQ{JPgg&ebxsLQ0Qb%^s{jB1 diff --git a/core/img/actions/triangle-e.png b/core/img/actions/triangle-e.png index 90897e0fecd6f46b993eef4bb077b1c375c47c9f..4ce1086f61d4f9ea9333f695407831e2b800819f 100644 GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGa2=EDU1=3hSn7ND=P=dWA$S;_o zzM;LN^Pi#A-CCfKs;7%%2uE~sf&!n!0g06cZo8O!0+~{$h#!(*3SjeTaAZ8Dz`~&A V%OdgnTflCR;hwI3F6*2UngEeTAIty% literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dy(g8jpu0R?Wm=gF%0Vu~&666=m zP~Xtr(fRjZ@A?u>pqP!Pi(^Q|t+%Ik@-is!9B}x|vg!YkCGIDwg2X*VEO{Wt~$(69B9}G>!lO diff --git a/core/img/actions/triangle-n.png b/core/img/actions/triangle-n.png index ca5e1868253a8176d748150be5be8a063002065e..2042d66532c01d7266d157a7c665bd7301321405 100644 GIT binary patch delta 91 zcmbQt*ubdR8Q|y6%O%Cdz`(%k>ERLtqy<2jgBeI_=<)|oRMaz+@pN$vsbEZApq-H7 p_IUFKgT)^MU1l`IY~Z-dz@Tu7!O8a4gERLtq!mDzgBeJ=Ea^HnQBluD-_yl0q=ND7DMcor z%+Y|7-T!Cmrq!u#_!X9XoA2P%2VNhZ?fA#BjwQTF+jQMq#`o_TSv|cAd4NVRc)I$z JtaD0e0sx8jBWC~r diff --git a/core/img/actions/triangle-s.png b/core/img/actions/triangle-s.png index 8f25a9bbb4385c6e5f12fe25d1429638c51241ce..97c64c6a7203c89f8a0074a13bb53bb5a1d319ce 100644 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJe}GSjE09J8{(R4Sfqa&dAirRS z@`etpv)y7qzKo}fV@L&K@&fsU6h`JW6TvhS(=#h}&6pwaf|EgYC4=M7mb_CSb39%B KT-G@yGywoK&l{fr literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyLIFM@u0R?MJkXY01QcQ|3GxeO zC~xTK+|;q=GEhL@)5S5Qf-za5CPBnt(;@~jCaoEqGY Date: Fri, 28 Aug 2015 00:53:27 +0200 Subject: [PATCH 129/329] fix filetype icons elsewhere, empty page, sidebar, apps menu --- apps/files/img/folder.png | Bin 303 -> 135 bytes apps/files/img/folder.svg | 4 ++-- apps/files/img/star.png | Bin 490 -> 492 bytes apps/files/img/star.svg | 6 +++--- core/css/icons.css | 8 ++------ core/img/places/file.png | Bin 174 -> 0 bytes core/img/places/file.svg | 5 ----- core/img/places/files.png | Bin 172 -> 155 bytes core/img/places/files.svg | 4 +++- core/img/places/folder.png | Bin 326 -> 0 bytes core/img/places/folder.svg | 6 ------ 11 files changed, 10 insertions(+), 23 deletions(-) delete mode 100644 core/img/places/file.png delete mode 100644 core/img/places/file.svg delete mode 100644 core/img/places/folder.png delete mode 100644 core/img/places/folder.svg diff --git a/apps/files/img/folder.png b/apps/files/img/folder.png index 4a8861f25ca0bc4709493b03f005491a0ba571d3..3dfb4391f2cde95313b8fd10b3193604f95bbabf 100644 GIT binary patch literal 135 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHV5AX?b1=3+9Gee4Ig%*R5Hg9(& zP>7`@$S;_oq2v8T&j}lVd}U7;#}JO0$q5G-&gkheC9rjOcMJD0GO-!7F)!swo6#u2 Zz@YU{_@S@KKP{kg22WQ%mvv4FO#rUjB!B<_ literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^QXtI13?%1G+4BcTB?S0{xB_XKf?xhGdVvUCa2Xlt=PJ4_n}jdp1=I^ZMU*&0#IqZr;B4q#jUGnZt^)8 z2sm7HoVuti>;3=#OOF_FE_Ql!wAS`y>+U%g(Lz&}#05{8)GKAYRVLYE$wbA8d(=%> z|IFyU(kMNbYwg^kPgByo{yW)}yX~KbLh* G2~7Y(dQVsY diff --git a/apps/files/img/folder.svg b/apps/files/img/folder.svg index 4411b065c1..e9d96d4049 100644 --- a/apps/files/img/folder.svg +++ b/apps/files/img/folder.svg @@ -1,6 +1,6 @@ - - + + diff --git a/apps/files/img/star.png b/apps/files/img/star.png index 3c66c49a8c4e07667790aa1e0597229a67ece20b..22e68c757e79535d4378a7e7539b5f6e99dfb401 100644 GIT binary patch literal 492 zcmVgv{XYyYlBNr&_5B;);}N(EeQ=S{Q*He z71@t5C~61{1Q89do(3(iK9}w>`@rEm=lkRRd^zWPIFVA4r817`(rYA@IpN)TRD>z( zYRCddR>gC%->Pruvf{8tTI`fk2&$2lo&itIt!y z-HmoD)nn>TbncH6JkI`e{>ONPWrqCmds;9Y%uT>}05^j4P ik0j?SnC!=Nm-+?#L4wF;-O0HC0000zd literal 490 zcmVK~zYIwbnmN98na9;b+$vf`V*}g(7ZaArXW$!NM4#jg^fl z7wr_%`vFpTb0<4LINbSj&Uw$h zoSAzG*8rY`22~4yRw6512RK5dOvo$ziEOq^&~^f}Sr%j%w+T=agL#8PnqdvSiTg)b z4v5dC2l(ONY+^gq<)&Clfy6eGCqV^IF@(pcMPvK*GmK^AIKfw3;5-^H+r~3kz^@J! z|F1RCh^v~y_Yxo{c;3DQBiQdEw*>+BcrUQ!-{5xu?Hg^Z^p*~4VQ zXB3}O{OTc~)kNT_)?p;8qZaWq;or#cOVt+cw6^O!N2?k(qL>dMpj}Ld1Vnm)k9nP| g=qUh+^)T(>UjS6k{< - - - + + + diff --git a/core/css/icons.css b/core/css/icons.css index e44f988005..88b14449e4 100644 --- a/core/css/icons.css +++ b/core/css/icons.css @@ -227,18 +227,14 @@ background-image: url('../img/places/contacts-dark.svg'); } -.icon-file { - background-image: url('../img/places/file.svg'); -} .icon-files { background-image: url('../img/places/files.svg'); } -.icon-folder { - background-image: url('../img/places/folder.svg'); -} +.icon-file, .icon-filetype-text { background-image: url('../img/filetypes/text.svg'); } +.icon-folder, .icon-filetype-folder { background-image: url('../img/filetypes/folder.svg'); } diff --git a/core/img/places/file.png b/core/img/places/file.png deleted file mode 100644 index e0f04c31731f10b7881e85d6bcbae6f8b795ff55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFv4DbnY{r~?zkckJ}El3FmN^_S4 z`2{lwNXp2UlvPw#HK=dxFaru3db&7qT$DJ_ZIcN1X+#Ij_Hftn_sCb6Mw<&;$S?f-7(U diff --git a/core/img/places/file.svg b/core/img/places/file.svg deleted file mode 100644 index 7db9a201a9..0000000000 --- a/core/img/places/file.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/core/img/places/files.png b/core/img/places/files.png index 0ff943b077b64301f8894f12ca1df0237b15d18a..e317fc3c722b9d2ff4d51286a5f8716c6a0dc99a 100644 GIT binary patch delta 126 zcmZ3(IGb^TO1Wr&Plzi61H*p|;Bh{e1t`H*666=m(9p5}z(F~)t&@Nv`kpS1AsWHS z2@5z2yqTF8RTu^Abva`dd>LaEIAa;OCS7E`Jt}J ahVHoLKQ98$3INUFWbkzLb6Mw<&;$T&eL|A} diff --git a/core/img/places/files.svg b/core/img/places/files.svg index 72605afcc1..8f61739bc4 100644 --- a/core/img/places/files.svg +++ b/core/img/places/files.svg @@ -1,4 +1,6 @@ - + + + diff --git a/core/img/places/folder.png b/core/img/places/folder.png deleted file mode 100644 index e7882298a834ca9e6b6f65719c24c00df45e545c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!q5^zET>t<74`k8;Y?O~!0W?>( zB*-tAfsvg9glAUA}hX*4=v#9{#xI6i^0KSm){D7*fIb_JSoJ zlOcn1VEcvx8xAuZe)KzjGSel2#wj~GTK@2V=;Hsr%KGEt#NJ7LXLhlQd`XBixghuB zVxAt;oz)EPS^~T^?AwyBOl{zFQP{@b)fN|~bRb)R@t8dukAy)&0;A7LhFWuL4~J6@ o+zZk}zfWj*I#ZNa+T!~=&Z7?)d#<*mdKI;Vst0L_S7Z~y=R diff --git a/core/img/places/folder.svg b/core/img/places/folder.svg deleted file mode 100644 index 08633f60a8..0000000000 --- a/core/img/places/folder.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - From 933ac14b767f78d99f4b45456467e7513c57ffa7 Mon Sep 17 00:00:00 2001 From: Jenkins for ownCloud Date: Fri, 28 Aug 2015 01:55:25 -0400 Subject: [PATCH 130/329] [tx-robot] updated from transifex --- apps/files/l10n/es.js | 2 +- apps/files/l10n/es.json | 2 +- apps/files_external/l10n/da.js | 1 + apps/files_external/l10n/da.json | 1 + apps/files_external/l10n/es.js | 4 ++-- apps/files_external/l10n/es.json | 4 ++-- apps/files_external/l10n/nl.js | 14 ++++++++++++++ apps/files_external/l10n/nl.json | 14 ++++++++++++++ apps/files_external/l10n/pt_BR.js | 13 +++++++++++++ apps/files_external/l10n/pt_BR.json | 13 +++++++++++++ apps/files_external/l10n/th_TH.js | 23 +++++++++++++++++++++++ apps/files_external/l10n/th_TH.json | 23 +++++++++++++++++++++++ apps/user_ldap/l10n/es.js | 2 +- apps/user_ldap/l10n/es.json | 2 +- core/l10n/af_ZA.js | 1 - core/l10n/af_ZA.json | 1 - core/l10n/ar.js | 1 - core/l10n/ar.json | 1 - core/l10n/ast.js | 1 - core/l10n/ast.json | 1 - core/l10n/az.js | 1 - core/l10n/az.json | 1 - core/l10n/bg_BG.js | 1 - core/l10n/bg_BG.json | 1 - core/l10n/bn_BD.js | 1 - core/l10n/bn_BD.json | 1 - core/l10n/bs.js | 1 - core/l10n/bs.json | 1 - core/l10n/ca.js | 1 - core/l10n/ca.json | 1 - core/l10n/cs_CZ.js | 1 - core/l10n/cs_CZ.json | 1 - core/l10n/cy_GB.js | 1 - core/l10n/cy_GB.json | 1 - core/l10n/da.js | 3 ++- core/l10n/da.json | 3 ++- core/l10n/de.js | 1 - core/l10n/de.json | 1 - core/l10n/de_DE.js | 1 - core/l10n/de_DE.json | 1 - core/l10n/el.js | 3 ++- core/l10n/el.json | 3 ++- core/l10n/en_GB.js | 1 - core/l10n/en_GB.json | 1 - core/l10n/eo.js | 1 - core/l10n/eo.json | 1 - core/l10n/es.js | 7 +++---- core/l10n/es.json | 7 +++---- core/l10n/es_AR.js | 1 - core/l10n/es_AR.json | 1 - core/l10n/es_MX.js | 1 - core/l10n/es_MX.json | 1 - core/l10n/et_EE.js | 1 - core/l10n/et_EE.json | 1 - core/l10n/eu.js | 1 - core/l10n/eu.json | 1 - core/l10n/fa.js | 1 - core/l10n/fa.json | 1 - core/l10n/fi_FI.js | 3 ++- core/l10n/fi_FI.json | 3 ++- core/l10n/fr.js | 1 - core/l10n/fr.json | 1 - core/l10n/gl.js | 1 - core/l10n/gl.json | 1 - core/l10n/he.js | 1 - core/l10n/he.json | 1 - core/l10n/hr.js | 1 - core/l10n/hr.json | 1 - core/l10n/hu_HU.js | 1 - core/l10n/hu_HU.json | 1 - core/l10n/ia.js | 1 - core/l10n/ia.json | 1 - core/l10n/id.js | 1 - core/l10n/id.json | 1 - core/l10n/is.js | 2 +- core/l10n/is.json | 2 +- core/l10n/it.js | 3 ++- core/l10n/it.json | 3 ++- core/l10n/ja.js | 1 - core/l10n/ja.json | 1 - core/l10n/ka_GE.js | 1 - core/l10n/ka_GE.json | 1 - core/l10n/km.js | 1 - core/l10n/km.json | 1 - core/l10n/ko.js | 1 - core/l10n/ko.json | 1 - core/l10n/lb.js | 1 - core/l10n/lb.json | 1 - core/l10n/lt_LT.js | 1 - core/l10n/lt_LT.json | 1 - core/l10n/lv.js | 1 - core/l10n/lv.json | 1 - core/l10n/mk.js | 1 - core/l10n/mk.json | 1 - core/l10n/ms_MY.js | 3 +-- core/l10n/ms_MY.json | 3 +-- core/l10n/my_MM.js | 3 +-- core/l10n/my_MM.json | 3 +-- core/l10n/nb_NO.js | 1 - core/l10n/nb_NO.json | 1 - core/l10n/nl.js | 4 +++- core/l10n/nl.json | 4 +++- core/l10n/nn_NO.js | 1 - core/l10n/nn_NO.json | 1 - core/l10n/oc.js | 1 - core/l10n/oc.json | 1 - core/l10n/pl.js | 1 - core/l10n/pl.json | 1 - core/l10n/pt_BR.js | 3 ++- core/l10n/pt_BR.json | 3 ++- core/l10n/pt_PT.js | 1 - core/l10n/pt_PT.json | 1 - core/l10n/ro.js | 1 - core/l10n/ro.json | 1 - core/l10n/ru.js | 1 - core/l10n/ru.json | 1 - core/l10n/si_LK.js | 3 +-- core/l10n/si_LK.json | 3 +-- core/l10n/sk_SK.js | 1 - core/l10n/sk_SK.json | 1 - core/l10n/sl.js | 1 - core/l10n/sl.json | 1 - core/l10n/sq.js | 1 - core/l10n/sq.json | 1 - core/l10n/sr.js | 1 - core/l10n/sr.json | 1 - core/l10n/sr@latin.js | 1 - core/l10n/sr@latin.json | 1 - core/l10n/sv.js | 1 - core/l10n/sv.json | 1 - core/l10n/ta_LK.js | 3 +-- core/l10n/ta_LK.json | 3 +-- core/l10n/th_TH.js | 4 +++- core/l10n/th_TH.json | 4 +++- core/l10n/tr.js | 1 - core/l10n/tr.json | 1 - core/l10n/uk.js | 1 - core/l10n/uk.json | 1 - core/l10n/ur_PK.js | 1 - core/l10n/ur_PK.json | 1 - core/l10n/vi.js | 1 - core/l10n/vi.json | 1 - core/l10n/zh_CN.js | 1 - core/l10n/zh_CN.json | 1 - core/l10n/zh_HK.js | 3 +-- core/l10n/zh_HK.json | 3 +-- core/l10n/zh_TW.js | 1 - core/l10n/zh_TW.json | 1 - lib/l10n/es.js | 2 +- lib/l10n/es.json | 2 +- lib/l10n/nl.js | 1 + lib/l10n/nl.json | 1 + lib/l10n/th_TH.js | 1 + lib/l10n/th_TH.json | 1 + settings/l10n/es.js | 6 +++--- settings/l10n/es.json | 6 +++--- settings/l10n/nl.js | 7 +++++++ settings/l10n/nl.json | 7 +++++++ settings/l10n/th_TH.js | 7 +++++++ settings/l10n/th_TH.json | 7 +++++++ 160 files changed, 200 insertions(+), 166 deletions(-) diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index 64df2a8491..39f4b8d056 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -7,7 +7,7 @@ OC.L10N.register( "Could not move %s - File with this name already exists" : "No se pudo mover %s - Ya existe un archivo con ese nombre.", "Could not move %s" : "No se pudo mover %s", "Permission denied" : "Permiso denegado", - "The target folder has been moved or deleted." : "La carpeta destino fue movida o eliminada.", + "The target folder has been moved or deleted." : "La carpeta de destino fue movida o eliminada.", "The name %s is already used in the folder %s. Please choose a different name." : "El nombre %s ya está en uso por la carpeta %s. Por favor elija uno diferente.", "Error when creating the file" : "Error al crear el archivo", "Error when creating the folder" : "Error al crear la carpeta.", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index c074a88212..064ffe3785 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -5,7 +5,7 @@ "Could not move %s - File with this name already exists" : "No se pudo mover %s - Ya existe un archivo con ese nombre.", "Could not move %s" : "No se pudo mover %s", "Permission denied" : "Permiso denegado", - "The target folder has been moved or deleted." : "La carpeta destino fue movida o eliminada.", + "The target folder has been moved or deleted." : "La carpeta de destino fue movida o eliminada.", "The name %s is already used in the folder %s. Please choose a different name." : "El nombre %s ya está en uso por la carpeta %s. Por favor elija uno diferente.", "Error when creating the file" : "Error al crear el archivo", "Error when creating the folder" : "Error al crear la carpeta.", diff --git a/apps/files_external/l10n/da.js b/apps/files_external/l10n/da.js index 31f0776d87..946ea94169 100644 --- a/apps/files_external/l10n/da.js +++ b/apps/files_external/l10n/da.js @@ -27,6 +27,7 @@ OC.L10N.register( "Storage with id \"%i\" not found" : "Lager med ID'et \"%i% er ikke fundet", "Invalid backend or authentication mechanism class" : "Ugyldig backend eller klasse for godkendelsesmekanisme", "Invalid mount point" : "Fokert monteringspunkt", + "Objectstore forbidden" : "Objectstore er forbudt", "Invalid storage backend \"%s\"" : "Forkert lager til backend \"%s\"en", "Unsatisfied backend parameters" : "Utilfredsstillede backend-parametre", "Unsatisfied authentication mechanism parameters" : "Utilfredsstillede parametre for godkendelsesmekanisme", diff --git a/apps/files_external/l10n/da.json b/apps/files_external/l10n/da.json index a9380e5f05..6a291b2b14 100644 --- a/apps/files_external/l10n/da.json +++ b/apps/files_external/l10n/da.json @@ -25,6 +25,7 @@ "Storage with id \"%i\" not found" : "Lager med ID'et \"%i% er ikke fundet", "Invalid backend or authentication mechanism class" : "Ugyldig backend eller klasse for godkendelsesmekanisme", "Invalid mount point" : "Fokert monteringspunkt", + "Objectstore forbidden" : "Objectstore er forbudt", "Invalid storage backend \"%s\"" : "Forkert lager til backend \"%s\"en", "Unsatisfied backend parameters" : "Utilfredsstillede backend-parametre", "Unsatisfied authentication mechanism parameters" : "Utilfredsstillede parametre for godkendelsesmekanisme", diff --git a/apps/files_external/l10n/es.js b/apps/files_external/l10n/es.js index f4960136af..16d87d8d2f 100644 --- a/apps/files_external/l10n/es.js +++ b/apps/files_external/l10n/es.js @@ -28,8 +28,8 @@ OC.L10N.register( "System" : "Sistema", "Grant access" : "Conceder acceso", "Access granted" : "Acceso concedido", - "Error configuring OAuth1" : "Error configurando OAuth1", - "Error configuring OAuth2" : "Error configurando OAuth2", + "Error configuring OAuth1" : "Error al configurar OAuth1", + "Error configuring OAuth2" : "Error al configurar OAuth2", "Enable encryption" : "Habilitar cifrado", "Enable previews" : "Habilitar previsualizaciones", "Check for changes" : "Comprobar si hay cambios", diff --git a/apps/files_external/l10n/es.json b/apps/files_external/l10n/es.json index b44592016d..fe20eca13d 100644 --- a/apps/files_external/l10n/es.json +++ b/apps/files_external/l10n/es.json @@ -26,8 +26,8 @@ "System" : "Sistema", "Grant access" : "Conceder acceso", "Access granted" : "Acceso concedido", - "Error configuring OAuth1" : "Error configurando OAuth1", - "Error configuring OAuth2" : "Error configurando OAuth2", + "Error configuring OAuth1" : "Error al configurar OAuth1", + "Error configuring OAuth2" : "Error al configurar OAuth2", "Enable encryption" : "Habilitar cifrado", "Enable previews" : "Habilitar previsualizaciones", "Check for changes" : "Comprobar si hay cambios", diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js index dc136969fd..a9a6693475 100644 --- a/apps/files_external/l10n/nl.js +++ b/apps/files_external/l10n/nl.js @@ -28,6 +28,8 @@ OC.L10N.register( "System" : "Systeem", "Grant access" : "Sta toegang toe", "Access granted" : "Toegang toegestaan", + "Error configuring OAuth1" : "Fout bij configureren OAuth1", + "Error configuring OAuth2" : "Fout bij configureren OAuth2", "Enable encryption" : "Versleuteling inschakelen", "Enable previews" : "Activeren voorbeelden", "Check for changes" : "Controleren op wijzigingen", @@ -39,12 +41,19 @@ OC.L10N.register( "Saved" : "Bewaard", "Generate keys" : "Genereer sleutels", "Error generating key pair" : "Fout bij genereren sleutelpaar", + "Access key" : "Access Key", + "Secret key" : "Geheime sleutel", + "Builtin" : "Ingebouwd", "None" : "Geen", + "OAuth1" : "OAuth1", "App key" : "App key", "App secret" : "App secret", + "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username and password" : "Gebruikersnaam en wachtwoord", "Password" : "Wachtwoord", + "Session credentials" : "Sessie inloggegevens", "Amazon S3" : "Amazon S3", "Hostname" : "Hostnaam", "Port" : "Poort", @@ -55,11 +64,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Secure ftps://", + "Google Drive" : "Google Drive", "Local" : "Lokaal", "Location" : "Locatie", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Let op: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.", @@ -71,6 +84,7 @@ OC.L10N.register( "Scope" : "Scope", "External Storage" : "Externe opslag", "Folder name" : "Mapnaam", + "Authentication" : "Authenticatie", "Configuration" : "Configuratie", "Available for" : "Beschikbaar voor", "Advanced settings" : "Geavanceerde instellingen", diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json index 7d5279afbc..bd3fd953a2 100644 --- a/apps/files_external/l10n/nl.json +++ b/apps/files_external/l10n/nl.json @@ -26,6 +26,8 @@ "System" : "Systeem", "Grant access" : "Sta toegang toe", "Access granted" : "Toegang toegestaan", + "Error configuring OAuth1" : "Fout bij configureren OAuth1", + "Error configuring OAuth2" : "Fout bij configureren OAuth2", "Enable encryption" : "Versleuteling inschakelen", "Enable previews" : "Activeren voorbeelden", "Check for changes" : "Controleren op wijzigingen", @@ -37,12 +39,19 @@ "Saved" : "Bewaard", "Generate keys" : "Genereer sleutels", "Error generating key pair" : "Fout bij genereren sleutelpaar", + "Access key" : "Access Key", + "Secret key" : "Geheime sleutel", + "Builtin" : "Ingebouwd", "None" : "Geen", + "OAuth1" : "OAuth1", "App key" : "App key", "App secret" : "App secret", + "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username and password" : "Gebruikersnaam en wachtwoord", "Password" : "Wachtwoord", + "Session credentials" : "Sessie inloggegevens", "Amazon S3" : "Amazon S3", "Hostname" : "Hostnaam", "Port" : "Poort", @@ -53,11 +62,15 @@ "URL" : "URL", "Secure https://" : "Secure https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "Secure ftps://", + "Google Drive" : "Google Drive", "Local" : "Lokaal", "Location" : "Locatie", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", "Root" : "Root", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "Let op: ", "Note: The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: Curl ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw systeembeheerder dit te installeren.", "Note: The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "Let op: FTP ondersteuning in PHP is niet geactiveerd of geïnstalleerd. Mounten van %s is niet mogelijk. Vraag uw beheerder dit te installeren.", @@ -69,6 +82,7 @@ "Scope" : "Scope", "External Storage" : "Externe opslag", "Folder name" : "Mapnaam", + "Authentication" : "Authenticatie", "Configuration" : "Configuratie", "Available for" : "Beschikbaar voor", "Advanced settings" : "Geavanceerde instellingen", diff --git a/apps/files_external/l10n/pt_BR.js b/apps/files_external/l10n/pt_BR.js index 8140d8be98..ae9a08fac6 100644 --- a/apps/files_external/l10n/pt_BR.js +++ b/apps/files_external/l10n/pt_BR.js @@ -1,6 +1,8 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "A solicitação dos tokens de requesição falhou. Verifique se a sua chave de aplicativo e segurança estão corretos.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "A solicitação dos tokens de acesso falhou. Verifique se a sua chave de aplicativo e segurança estão corretos.", "Please provide a valid app key and secret." : "Por favor forneça uma chave e segurança válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", @@ -23,12 +25,19 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP com chave secreta de login", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Armazenamento com id \"%i\" não encontrado", + "Invalid backend or authentication mechanism class" : "Backend inválido ou classe de mecanismo de autenticação", "Invalid mount point" : "Ponto de montagem inválido", + "Objectstore forbidden" : "Proibido armazenamento de objetos", "Invalid storage backend \"%s\"" : "Armazenamento backend inválido \"%s\"", + "Unsatisfied backend parameters" : "Parâmetros de back-end não-atendidos", + "Unsatisfied authentication mechanism parameters" : "Parâmetros de mecanismos de autenticação não satisfeitos", + "Admin-only storage backend \"%s\"" : "Backend de armazenamento somente de administrador \"%s\"", "Personal" : "Pessoal", "System" : "Sistema", "Grant access" : "Permitir acesso", "Access granted" : "Acesso concedido", + "Error configuring OAuth1" : "Erro configurando OAuth1", + "Error configuring OAuth2" : "Erro configurando OAuth2", "Enable encryption" : "Ativar criptografia", "Enable previews" : "Habilitar visualizações prévias", "Check for changes" : "Verifique se há alterações", @@ -40,7 +49,11 @@ OC.L10N.register( "Saved" : "Salvo", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar um par de chaves", + "Access key" : "Chave da acesso", + "Secret key" : "Chave secreta", + "Builtin" : "Construídas em", "None" : "Nenhum", + "OAuth1" : "OAuth1", "App key" : "Chave do Aplicativo", "App secret" : "Segredo da Aplicação", "OAuth2" : "OAuth2", diff --git a/apps/files_external/l10n/pt_BR.json b/apps/files_external/l10n/pt_BR.json index 13ce808ba8..2cf6c69611 100644 --- a/apps/files_external/l10n/pt_BR.json +++ b/apps/files_external/l10n/pt_BR.json @@ -1,4 +1,6 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "A solicitação dos tokens de requesição falhou. Verifique se a sua chave de aplicativo e segurança estão corretos.", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "A solicitação dos tokens de acesso falhou. Verifique se a sua chave de aplicativo e segurança estão corretos.", "Please provide a valid app key and secret." : "Por favor forneça uma chave e segurança válidos.", "Step 1 failed. Exception: %s" : "Passo 1 falhou. Exceção: %s", "Step 2 failed. Exception: %s" : "Passo 2 falhou. Exceção: %s", @@ -21,12 +23,19 @@ "SFTP with secret key login" : "SFTP com chave secreta de login", "Public key" : "Chave pública", "Storage with id \"%i\" not found" : "Armazenamento com id \"%i\" não encontrado", + "Invalid backend or authentication mechanism class" : "Backend inválido ou classe de mecanismo de autenticação", "Invalid mount point" : "Ponto de montagem inválido", + "Objectstore forbidden" : "Proibido armazenamento de objetos", "Invalid storage backend \"%s\"" : "Armazenamento backend inválido \"%s\"", + "Unsatisfied backend parameters" : "Parâmetros de back-end não-atendidos", + "Unsatisfied authentication mechanism parameters" : "Parâmetros de mecanismos de autenticação não satisfeitos", + "Admin-only storage backend \"%s\"" : "Backend de armazenamento somente de administrador \"%s\"", "Personal" : "Pessoal", "System" : "Sistema", "Grant access" : "Permitir acesso", "Access granted" : "Acesso concedido", + "Error configuring OAuth1" : "Erro configurando OAuth1", + "Error configuring OAuth2" : "Erro configurando OAuth2", "Enable encryption" : "Ativar criptografia", "Enable previews" : "Habilitar visualizações prévias", "Check for changes" : "Verifique se há alterações", @@ -38,7 +47,11 @@ "Saved" : "Salvo", "Generate keys" : "Gerar chaves", "Error generating key pair" : "Erro ao gerar um par de chaves", + "Access key" : "Chave da acesso", + "Secret key" : "Chave secreta", + "Builtin" : "Construídas em", "None" : "Nenhum", + "OAuth1" : "OAuth1", "App key" : "Chave do Aplicativo", "App secret" : "Segredo da Aplicação", "OAuth2" : "OAuth2", diff --git a/apps/files_external/l10n/th_TH.js b/apps/files_external/l10n/th_TH.js index b8fc2a054c..5926a80643 100644 --- a/apps/files_external/l10n/th_TH.js +++ b/apps/files_external/l10n/th_TH.js @@ -1,6 +1,9 @@ OC.L10N.register( "files_external", { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "การเรียกร้องขอโทเคนล้มเหลว โปรดตรวจสอบคีย์และรหัสลับให้ถูกต้อง", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "การเรียกร้องขอโทเคนล้มเหลว โปรดตรวจสอบคีย์และรหัสลับของแอพฯ ให้ถูกต้อง", + "Please provide a valid app key and secret." : "โปรดระบุคีย์และรหัสลับของแอพฯ ให้ถูกต้อง", "Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s", "Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s", "External storage" : "จัดเก็บข้อมูลภายนอก", @@ -22,12 +25,19 @@ OC.L10N.register( "SFTP with secret key login" : "SFTP กับคีย์ลับสำหรับเข้าสู่ระบบ", "Public key" : "คีย์สาธารณะ", "Storage with id \"%i\" not found" : "ไม่พบจัดการเก็บข้อมูลของ ID \"%i\"", + "Invalid backend or authentication mechanism class" : "แบ็กเอนด์ไม่ถูกต้องหรือระดับการรับรองความถูกต้องไม่เพียงพอ", "Invalid mount point" : "จุดเชื่อมต่อที่ไม่ถูกต้อง", + "Objectstore forbidden" : "เก็บวัตถุต้องห้าม", "Invalid storage backend \"%s\"" : "การจัดเก็บข้อมูลแบ็กเอนด์ไม่ถูกต้อง \"%s\"", + "Unsatisfied backend parameters" : "พารามิเตอร์แบ็กเอนด์ไม่ได้รับอนุญาต", + "Unsatisfied authentication mechanism parameters" : "การรับรองความถูกต้องไม่เพียงพอ", + "Admin-only storage backend \"%s\"" : "จัดเก็บแบ็กเอนด์ของผู้ดูแลระบบเท่านั้น \"%s\"", "Personal" : "ส่วนตัว", "System" : "ระบบ", "Grant access" : "อนุญาตให้เข้าถึงได้", "Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว", + "Error configuring OAuth1" : "ข้อผิดพลาดในการกำหนดค่า OAuth1", + "Error configuring OAuth2" : "ข้อผิดพลาดในการกำหนดค่า OAuth2", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", @@ -39,12 +49,19 @@ OC.L10N.register( "Saved" : "บันทึกแล้ว", "Generate keys" : "สร้างคีย์", "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", + "Access key" : "คีย์การเข้าถึง", + "Secret key" : "คีย์ลับ", + "Builtin" : "ในตัว", "None" : "ไม่มี", + "OAuth1" : "OAuth1", "App key" : "App key", "App secret" : "App secret", + "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username and password" : "ชื่อผู้ใช้และรหัสผ่าน", "Password" : "รหัสผ่าน", + "Session credentials" : "ข้อมูลของเซสชั่น", "Amazon S3" : "Amazon S3", "Hostname" : "ชื่อโฮสต์", "Port" : "พอร์ต", @@ -55,10 +72,15 @@ OC.L10N.register( "URL" : "URL", "Secure https://" : "โหมดปลอดภัย https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "โหมดปลอดภัย ftps://", + "Google Drive" : "กูเกิ้ลไดร์ฟ", "Local" : "ต้นทาง", "Location" : "ตำแหน่งที่อยู่", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", + "Root" : "รูท", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "หมายเหตุ:", "Note: 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 เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", "Note: 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 เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", @@ -70,6 +92,7 @@ OC.L10N.register( "Scope" : "ขอบเขต", "External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก", "Folder name" : "ชื่อโฟลเดอร์", + "Authentication" : "รับรองความถูกต้อง", "Configuration" : "การกำหนดค่า", "Available for" : "สามารถใช้ได้สำหรับ", "Advanced settings" : "ตั้งค่าขั้นสูง", diff --git a/apps/files_external/l10n/th_TH.json b/apps/files_external/l10n/th_TH.json index 2b65013f58..c927a5980b 100644 --- a/apps/files_external/l10n/th_TH.json +++ b/apps/files_external/l10n/th_TH.json @@ -1,4 +1,7 @@ { "translations": { + "Fetching request tokens failed. Verify that your app key and secret are correct." : "การเรียกร้องขอโทเคนล้มเหลว โปรดตรวจสอบคีย์และรหัสลับให้ถูกต้อง", + "Fetching access tokens failed. Verify that your app key and secret are correct." : "การเรียกร้องขอโทเคนล้มเหลว โปรดตรวจสอบคีย์และรหัสลับของแอพฯ ให้ถูกต้อง", + "Please provide a valid app key and secret." : "โปรดระบุคีย์และรหัสลับของแอพฯ ให้ถูกต้อง", "Step 1 failed. Exception: %s" : "ขั้นตอนที่ 1 ล้มเหลว ข้อยกเว้น: %s", "Step 2 failed. Exception: %s" : "ขั้นตอนที่ 2 ล้มเหลว ข้อยกเว้น: %s", "External storage" : "จัดเก็บข้อมูลภายนอก", @@ -20,12 +23,19 @@ "SFTP with secret key login" : "SFTP กับคีย์ลับสำหรับเข้าสู่ระบบ", "Public key" : "คีย์สาธารณะ", "Storage with id \"%i\" not found" : "ไม่พบจัดการเก็บข้อมูลของ ID \"%i\"", + "Invalid backend or authentication mechanism class" : "แบ็กเอนด์ไม่ถูกต้องหรือระดับการรับรองความถูกต้องไม่เพียงพอ", "Invalid mount point" : "จุดเชื่อมต่อที่ไม่ถูกต้อง", + "Objectstore forbidden" : "เก็บวัตถุต้องห้าม", "Invalid storage backend \"%s\"" : "การจัดเก็บข้อมูลแบ็กเอนด์ไม่ถูกต้อง \"%s\"", + "Unsatisfied backend parameters" : "พารามิเตอร์แบ็กเอนด์ไม่ได้รับอนุญาต", + "Unsatisfied authentication mechanism parameters" : "การรับรองความถูกต้องไม่เพียงพอ", + "Admin-only storage backend \"%s\"" : "จัดเก็บแบ็กเอนด์ของผู้ดูแลระบบเท่านั้น \"%s\"", "Personal" : "ส่วนตัว", "System" : "ระบบ", "Grant access" : "อนุญาตให้เข้าถึงได้", "Access granted" : "การเข้าถึงได้รับอนุญาตแล้ว", + "Error configuring OAuth1" : "ข้อผิดพลาดในการกำหนดค่า OAuth1", + "Error configuring OAuth2" : "ข้อผิดพลาดในการกำหนดค่า OAuth2", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "Enable previews" : "เปิดใช้งานการแสดงตัวอย่าง", "Check for changes" : "ตรวจสอบการเปลี่ยนแปลง", @@ -37,12 +47,19 @@ "Saved" : "บันทึกแล้ว", "Generate keys" : "สร้างคีย์", "Error generating key pair" : "ข้อผิดพลาดในการสร้างคีย์แบบเป็นคู่", + "Access key" : "คีย์การเข้าถึง", + "Secret key" : "คีย์ลับ", + "Builtin" : "ในตัว", "None" : "ไม่มี", + "OAuth1" : "OAuth1", "App key" : "App key", "App secret" : "App secret", + "OAuth2" : "OAuth2", "Client ID" : "Client ID", "Client secret" : "Client secret", + "Username and password" : "ชื่อผู้ใช้และรหัสผ่าน", "Password" : "รหัสผ่าน", + "Session credentials" : "ข้อมูลของเซสชั่น", "Amazon S3" : "Amazon S3", "Hostname" : "ชื่อโฮสต์", "Port" : "พอร์ต", @@ -53,10 +70,15 @@ "URL" : "URL", "Secure https://" : "โหมดปลอดภัย https://", "Dropbox" : "Dropbox", + "FTP" : "FTP", "Secure ftps://" : "โหมดปลอดภัย ftps://", + "Google Drive" : "กูเกิ้ลไดร์ฟ", "Local" : "ต้นทาง", "Location" : "ตำแหน่งที่อยู่", "ownCloud" : "ownCloud", + "SFTP" : "SFTP", + "Root" : "รูท", + "SMB / CIFS" : "SMB / CIFS", "Note: " : "หมายเหตุ:", "Note: 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 เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", "Note: 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 เป็นไปไม่ได้ กรุณาขอให้ผู้ดูแลระบบของคุณติดตั้งมัน", @@ -68,6 +90,7 @@ "Scope" : "ขอบเขต", "External Storage" : "พื้นทีจัดเก็บข้อมูลจากภายนอก", "Folder name" : "ชื่อโฟลเดอร์", + "Authentication" : "รับรองความถูกต้อง", "Configuration" : "การกำหนดค่า", "Available for" : "สามารถใช้ได้สำหรับ", "Advanced settings" : "ตั้งค่าขั้นสูง", diff --git a/apps/user_ldap/l10n/es.js b/apps/user_ldap/l10n/es.js index b423d5a8fa..c73f54b548 100644 --- a/apps/user_ldap/l10n/es.js +++ b/apps/user_ldap/l10n/es.js @@ -3,7 +3,7 @@ OC.L10N.register( { "Failed to clear the mappings." : "Ocurrió un fallo al borrar las asignaciones.", "Failed to delete the server configuration" : "No se pudo borrar la configuración del servidor", - "The configuration is invalid: anonymous bind is not allowed." : "La configuración no es válida: enlaces anónimos no están permitido.", + "The configuration is invalid: anonymous bind is not allowed." : "La configuración no es válida: no están permitidos enlaces anónimos.", "The configuration is valid and the connection could be established!" : "¡La configuración es válida y la conexión puede establecerse!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuración es válida, pero falló el nexo. Por favor, compruebe la configuración del servidor y las credenciales.", "The configuration is invalid. Please have a look at the logs for further details." : "La configuración no es válida. Por favor, revise el registro para más detalles.", diff --git a/apps/user_ldap/l10n/es.json b/apps/user_ldap/l10n/es.json index c8244f41a6..8666d1efdd 100644 --- a/apps/user_ldap/l10n/es.json +++ b/apps/user_ldap/l10n/es.json @@ -1,7 +1,7 @@ { "translations": { "Failed to clear the mappings." : "Ocurrió un fallo al borrar las asignaciones.", "Failed to delete the server configuration" : "No se pudo borrar la configuración del servidor", - "The configuration is invalid: anonymous bind is not allowed." : "La configuración no es válida: enlaces anónimos no están permitido.", + "The configuration is invalid: anonymous bind is not allowed." : "La configuración no es válida: no están permitidos enlaces anónimos.", "The configuration is valid and the connection could be established!" : "¡La configuración es válida y la conexión puede establecerse!", "The configuration is valid, but the Bind failed. Please check the server settings and credentials." : "La configuración es válida, pero falló el nexo. Por favor, compruebe la configuración del servidor y las credenciales.", "The configuration is invalid. Please have a look at the logs for further details." : "La configuración no es válida. Por favor, revise el registro para más detalles.", diff --git a/core/l10n/af_ZA.js b/core/l10n/af_ZA.js index d96aa5cf46..7c95b0a0db 100644 --- a/core/l10n/af_ZA.js +++ b/core/l10n/af_ZA.js @@ -110,7 +110,6 @@ OC.L10N.register( "Finish setup" : "Maak opstelling klaar", "Log out" : "Teken uit", "remember" : "onthou", - "Log in" : "Teken aan", "Alternative Logins" : "Alternatiewe aantekeninge", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Halo daar,

wou jou net laat weet dat %s %s met jou gedeel het.
Sien alles!

" }, diff --git a/core/l10n/af_ZA.json b/core/l10n/af_ZA.json index 362255fe50..a040afc696 100644 --- a/core/l10n/af_ZA.json +++ b/core/l10n/af_ZA.json @@ -108,7 +108,6 @@ "Finish setup" : "Maak opstelling klaar", "Log out" : "Teken uit", "remember" : "onthou", - "Log in" : "Teken aan", "Alternative Logins" : "Alternatiewe aantekeninge", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Halo daar,

wou jou net laat weet dat %s %s met jou gedeel het.
Sien alles!

" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/ar.js b/core/l10n/ar.js index 55d87c826e..e4bde6b47e 100644 --- a/core/l10n/ar.js +++ b/core/l10n/ar.js @@ -131,7 +131,6 @@ OC.L10N.register( "Log out" : "الخروج", "Search" : "البحث", "remember" : "تذكر", - "Log in" : "أدخل", "Alternative Logins" : "اسماء دخول بديلة" }, "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/core/l10n/ar.json b/core/l10n/ar.json index 70e9525798..90168479a9 100644 --- a/core/l10n/ar.json +++ b/core/l10n/ar.json @@ -129,7 +129,6 @@ "Log out" : "الخروج", "Search" : "البحث", "remember" : "تذكر", - "Log in" : "أدخل", "Alternative Logins" : "اسماء دخول بديلة" },"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;" } \ No newline at end of file diff --git a/core/l10n/ast.js b/core/l10n/ast.js index 22d3ad472c..675b3bd00a 100644 --- a/core/l10n/ast.js +++ b/core/l10n/ast.js @@ -169,7 +169,6 @@ OC.L10N.register( "Server side authentication failed!" : "Falló l'autenticación nel sirvidor!", "Please contact your administrator." : "Por favor, contauta col to alministrador", "remember" : "recordar", - "Log in" : "Aniciar sesión", "Alternative Logins" : "Anicios de sesión alternativos", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hola, ¿qué hai?,

namái déxamos dicite que %s compartió %s contigo.\n
¡Velu!

", "This ownCloud instance is currently in single user mode." : "Esta instalación d'ownCloud ta en mou d'usuariu únicu.", diff --git a/core/l10n/ast.json b/core/l10n/ast.json index e7f87e94f2..5479fb6a52 100644 --- a/core/l10n/ast.json +++ b/core/l10n/ast.json @@ -167,7 +167,6 @@ "Server side authentication failed!" : "Falló l'autenticación nel sirvidor!", "Please contact your administrator." : "Por favor, contauta col to alministrador", "remember" : "recordar", - "Log in" : "Aniciar sesión", "Alternative Logins" : "Anicios de sesión alternativos", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hola, ¿qué hai?,

namái déxamos dicite que %s compartió %s contigo.\n
¡Velu!

", "This ownCloud instance is currently in single user mode." : "Esta instalación d'ownCloud ta en mou d'usuariu únicu.", diff --git a/core/l10n/az.js b/core/l10n/az.js index e94203c372..29e643c665 100644 --- a/core/l10n/az.js +++ b/core/l10n/az.js @@ -83,7 +83,6 @@ OC.L10N.register( "Username" : "İstifadəçi adı", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Xüsusilə fayl sinxronizasiyası üçün desktop client-dən istifadə edilərsə, SQLite məsləhət görülmür.", "Search" : "Axtarış", - "Log in" : "Giriş", "You are accessing the server from an untrusted domain." : "Siz serverə inamsız domain-dən girməyə çalışırsız.", "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Xahiş olunur inzibatçı ilə əlaqə saxlayasınız. Eger siz bu xidmətin inzibatçısısınizsa, \"trusted_domain\" configini config/config.php faylinda düzgün qeyd edin. Config nüsxəsi config/config.sample.php faylında qeyd edilmişdir." }, diff --git a/core/l10n/az.json b/core/l10n/az.json index 8dc93029ed..6827838c94 100644 --- a/core/l10n/az.json +++ b/core/l10n/az.json @@ -81,7 +81,6 @@ "Username" : "İstifadəçi adı", "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "Xüsusilə fayl sinxronizasiyası üçün desktop client-dən istifadə edilərsə, SQLite məsləhət görülmür.", "Search" : "Axtarış", - "Log in" : "Giriş", "You are accessing the server from an untrusted domain." : "Siz serverə inamsız domain-dən girməyə çalışırsız.", "Please contact your administrator. If you are an administrator of this instance, configure the \"trusted_domain\" setting in config/config.php. An example configuration is provided in config/config.sample.php." : "Xahiş olunur inzibatçı ilə əlaqə saxlayasınız. Eger siz bu xidmətin inzibatçısısınizsa, \"trusted_domain\" configini config/config.php faylinda düzgün qeyd edin. Config nüsxəsi config/config.sample.php faylında qeyd edilmişdir." },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/bg_BG.js b/core/l10n/bg_BG.js index efc40bfed2..52fdcccf13 100644 --- a/core/l10n/bg_BG.js +++ b/core/l10n/bg_BG.js @@ -212,7 +212,6 @@ OC.L10N.register( "Server side authentication failed!" : "Удостоверяването от страна на сървъра е неуспешно!", "Please contact your administrator." : "Моля, свържете се с администратора.", "remember" : "запомняне", - "Log in" : "Вписване", "Alternative Logins" : "Алтернативни методи на вписване", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Здрасти,

само да те уведомя, че %s сподели %s с теб.\n
Разгледай го!

.", "This ownCloud instance is currently in single user mode." : "В момента този ownCloud е в режим допускащ само един потребител.", diff --git a/core/l10n/bg_BG.json b/core/l10n/bg_BG.json index bb9651af48..0d8b4a21a1 100644 --- a/core/l10n/bg_BG.json +++ b/core/l10n/bg_BG.json @@ -210,7 +210,6 @@ "Server side authentication failed!" : "Удостоверяването от страна на сървъра е неуспешно!", "Please contact your administrator." : "Моля, свържете се с администратора.", "remember" : "запомняне", - "Log in" : "Вписване", "Alternative Logins" : "Алтернативни методи на вписване", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Здрасти,

само да те уведомя, че %s сподели %s с теб.\n
Разгледай го!

.", "This ownCloud instance is currently in single user mode." : "В момента този ownCloud е в режим допускащ само един потребител.", diff --git a/core/l10n/bn_BD.js b/core/l10n/bn_BD.js index a2b94ff802..d9bce487f4 100644 --- a/core/l10n/bn_BD.js +++ b/core/l10n/bn_BD.js @@ -126,7 +126,6 @@ OC.L10N.register( "Log out" : "প্রস্থান", "Search" : "অনুসন্ধান", "remember" : "মনে রাখ", - "Log in" : "প্রবেশ", "Alternative Logins" : "বিকল্প লগইন" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/bn_BD.json b/core/l10n/bn_BD.json index 305f1e60d1..8474fa61f1 100644 --- a/core/l10n/bn_BD.json +++ b/core/l10n/bn_BD.json @@ -124,7 +124,6 @@ "Log out" : "প্রস্থান", "Search" : "অনুসন্ধান", "remember" : "মনে রাখ", - "Log in" : "প্রবেশ", "Alternative Logins" : "বিকল্প লগইন" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/bs.js b/core/l10n/bs.js index e2c5bd8e0e..f237de9d8c 100644 --- a/core/l10n/bs.js +++ b/core/l10n/bs.js @@ -190,7 +190,6 @@ OC.L10N.register( "Server side authentication failed!" : "Autentikacija na strani servera nije uspjela!", "Please contact your administrator." : "Molim kontaktirajte svog administratora.", "remember" : "zapamti", - "Log in" : "Prijava", "Alternative Logins" : "Alternativne Prijave", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej,

upravo vam javljam da je %s s vama podijelio %s.
Pogledajte!

", "This ownCloud instance is currently in single user mode." : "Ova ownCloud instanca je trenutno u jednokorisničkom načinu rada.", diff --git a/core/l10n/bs.json b/core/l10n/bs.json index 10d79cb2b4..c4f7962b14 100644 --- a/core/l10n/bs.json +++ b/core/l10n/bs.json @@ -188,7 +188,6 @@ "Server side authentication failed!" : "Autentikacija na strani servera nije uspjela!", "Please contact your administrator." : "Molim kontaktirajte svog administratora.", "remember" : "zapamti", - "Log in" : "Prijava", "Alternative Logins" : "Alternativne Prijave", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej,

upravo vam javljam da je %s s vama podijelio %s.
Pogledajte!

", "This ownCloud instance is currently in single user mode." : "Ova ownCloud instanca je trenutno u jednokorisničkom načinu rada.", diff --git a/core/l10n/ca.js b/core/l10n/ca.js index e2bed36c3d..853cd66247 100644 --- a/core/l10n/ca.js +++ b/core/l10n/ca.js @@ -228,7 +228,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Intenti-ho de nou o posi's en contacte amb el seu administrador.", "Wrong password. Reset it?" : "Contrasenya incorrecta. Voleu restablir-la?", "remember" : "recorda'm", - "Log in" : "Inici de sessió", "Alternative Logins" : "Acreditacions alternatives", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Ei,

només fer-vos saber que %s us ha comparti %s.
Mireu-ho!", "This ownCloud instance is currently in single user mode." : "La instància ownCloud està en mode d'usuari únic.", diff --git a/core/l10n/ca.json b/core/l10n/ca.json index 8afd382603..56006bc7d1 100644 --- a/core/l10n/ca.json +++ b/core/l10n/ca.json @@ -226,7 +226,6 @@ "Please try again or contact your administrator." : "Intenti-ho de nou o posi's en contacte amb el seu administrador.", "Wrong password. Reset it?" : "Contrasenya incorrecta. Voleu restablir-la?", "remember" : "recorda'm", - "Log in" : "Inici de sessió", "Alternative Logins" : "Acreditacions alternatives", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Ei,

només fer-vos saber que %s us ha comparti %s.
Mireu-ho!", "This ownCloud instance is currently in single user mode." : "La instància ownCloud està en mode d'usuari únic.", diff --git a/core/l10n/cs_CZ.js b/core/l10n/cs_CZ.js index 845ea68b0f..8d57e0e76c 100644 --- a/core/l10n/cs_CZ.js +++ b/core/l10n/cs_CZ.js @@ -246,7 +246,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Prosím zkuste to znovu nebo kontaktujte vašeho správce.", "Wrong password. Reset it?" : "Nesprávné heslo. Resetovat?", "remember" : "zapamatovat", - "Log in" : "Přihlásit", "Alternative Logins" : "Alternativní přihlášení", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Ahoj,

jen ti dávám vědět, že s tebou %s sdílí %s.
Zkontroluj to!

", "This ownCloud instance is currently in single user mode." : "Tato instalace ownCloudu je momentálně v jednouživatelském módu.", diff --git a/core/l10n/cs_CZ.json b/core/l10n/cs_CZ.json index 57e8d974e4..e9f52cfa46 100644 --- a/core/l10n/cs_CZ.json +++ b/core/l10n/cs_CZ.json @@ -244,7 +244,6 @@ "Please try again or contact your administrator." : "Prosím zkuste to znovu nebo kontaktujte vašeho správce.", "Wrong password. Reset it?" : "Nesprávné heslo. Resetovat?", "remember" : "zapamatovat", - "Log in" : "Přihlásit", "Alternative Logins" : "Alternativní přihlášení", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Ahoj,

jen ti dávám vědět, že s tebou %s sdílí %s.
Zkontroluj to!

", "This ownCloud instance is currently in single user mode." : "Tato instalace ownCloudu je momentálně v jednouživatelském módu.", diff --git a/core/l10n/cy_GB.js b/core/l10n/cy_GB.js index efc9aaa10c..5afe9c94ae 100644 --- a/core/l10n/cy_GB.js +++ b/core/l10n/cy_GB.js @@ -101,7 +101,6 @@ OC.L10N.register( "Log out" : "Allgofnodi", "Search" : "Chwilio", "remember" : "cofio", - "Log in" : "Mewngofnodi", "Alternative Logins" : "Mewngofnodiadau Amgen" }, "nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"); diff --git a/core/l10n/cy_GB.json b/core/l10n/cy_GB.json index b873c9d84a..1e37b240bc 100644 --- a/core/l10n/cy_GB.json +++ b/core/l10n/cy_GB.json @@ -99,7 +99,6 @@ "Log out" : "Allgofnodi", "Search" : "Chwilio", "remember" : "cofio", - "Log in" : "Mewngofnodi", "Alternative Logins" : "Mewngofnodiadau Amgen" },"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;" } \ No newline at end of file diff --git a/core/l10n/da.js b/core/l10n/da.js index da1e2106a3..0482ceff99 100644 --- a/core/l10n/da.js +++ b/core/l10n/da.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Kunne ikke sende mail til følgende brugere: %s", + "Preparing update" : "Forbereder opdatering", "Turned on maintenance mode" : "Startede vedligeholdelsestilstand", "Turned off maintenance mode" : "standsede vedligeholdelsestilstand", "Maintenance mode is kept active" : "Vedligeholdelsestilstanden holdes kørende", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Reparationsfejl:", "Following incompatible apps have been disabled: %s" : "Følgende inkompatible apps er blevet deaktiveret: %s", "Following apps have been disabled: %s" : "Følgende apps er blevet deaktiveret: %s", + "Already up to date" : "Allerede opdateret", "File is too big" : "Filen er for stor", "Invalid file provided" : "Der er angivet en ugyldig fil", "No image or file provided" : "Ingen fil eller billede givet", @@ -248,7 +250,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Kontakt venligst din administrator.", "Wrong password. Reset it?" : "Forkert kodeord. Skal det nulstilles?", "remember" : "husk", - "Log in" : "Log ind", "Alternative Logins" : "Alternative logins", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej med dig,

Dette er blot for at informere dig om, at %s har delt %s med dig.
Se det her!

", "This ownCloud instance is currently in single user mode." : "Denne ownCloud instans er lige nu i enkeltbruger tilstand.", diff --git a/core/l10n/da.json b/core/l10n/da.json index 287bc96afd..2396b99787 100644 --- a/core/l10n/da.json +++ b/core/l10n/da.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Kunne ikke sende mail til følgende brugere: %s", + "Preparing update" : "Forbereder opdatering", "Turned on maintenance mode" : "Startede vedligeholdelsestilstand", "Turned off maintenance mode" : "standsede vedligeholdelsestilstand", "Maintenance mode is kept active" : "Vedligeholdelsestilstanden holdes kørende", @@ -11,6 +12,7 @@ "Repair error: " : "Reparationsfejl:", "Following incompatible apps have been disabled: %s" : "Følgende inkompatible apps er blevet deaktiveret: %s", "Following apps have been disabled: %s" : "Følgende apps er blevet deaktiveret: %s", + "Already up to date" : "Allerede opdateret", "File is too big" : "Filen er for stor", "Invalid file provided" : "Der er angivet en ugyldig fil", "No image or file provided" : "Ingen fil eller billede givet", @@ -246,7 +248,6 @@ "Please try again or contact your administrator." : "Kontakt venligst din administrator.", "Wrong password. Reset it?" : "Forkert kodeord. Skal det nulstilles?", "remember" : "husk", - "Log in" : "Log ind", "Alternative Logins" : "Alternative logins", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej med dig,

Dette er blot for at informere dig om, at %s har delt %s med dig.
Se det her!

", "This ownCloud instance is currently in single user mode." : "Denne ownCloud instans er lige nu i enkeltbruger tilstand.", diff --git a/core/l10n/de.js b/core/l10n/de.js index 1361a970a4..2662e0d895 100644 --- a/core/l10n/de.js +++ b/core/l10n/de.js @@ -239,7 +239,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Bitte versuche es noch einmal oder kontaktiere Deinen Administrator.", "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", - "Log in" : "Einloggen", "Alternative Logins" : "Alternative Logins", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

hier nur kurz die Mitteilung, dass %s %s mit Dir geteilt hat.
Sieh es Dir an!

", "This ownCloud instance is currently in single user mode." : "Diese ownClound-Instanz befindet sich derzeit im Einzelbenutzermodus.", diff --git a/core/l10n/de.json b/core/l10n/de.json index 3eee17db65..2da213c611 100644 --- a/core/l10n/de.json +++ b/core/l10n/de.json @@ -237,7 +237,6 @@ "Please try again or contact your administrator." : "Bitte versuche es noch einmal oder kontaktiere Deinen Administrator.", "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", - "Log in" : "Einloggen", "Alternative Logins" : "Alternative Logins", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

hier nur kurz die Mitteilung, dass %s %s mit Dir geteilt hat.
Sieh es Dir an!

", "This ownCloud instance is currently in single user mode." : "Diese ownClound-Instanz befindet sich derzeit im Einzelbenutzermodus.", diff --git a/core/l10n/de_DE.js b/core/l10n/de_DE.js index 0feca899f9..6a77c3952c 100644 --- a/core/l10n/de_DE.js +++ b/core/l10n/de_DE.js @@ -238,7 +238,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.", "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", - "Log in" : "Einloggen", "Alternative Logins" : "Alternative Logins", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

hier nur kurz die Mitteilung, dass %s %s mit Ihnen geteilt hat.
Sehen Sie es sich an!

", "This ownCloud instance is currently in single user mode." : "Diese ownClound-Instanz befindet sich derzeit im Einzelbenutzermodus.", diff --git a/core/l10n/de_DE.json b/core/l10n/de_DE.json index 8335946392..fc6dc12aa1 100644 --- a/core/l10n/de_DE.json +++ b/core/l10n/de_DE.json @@ -236,7 +236,6 @@ "Please try again or contact your administrator." : "Bitte versuchen Sie es noch einmal oder kontaktieren Sie Ihren Administrator.", "Wrong password. Reset it?" : "Falsches Passwort. Soll es zurückgesetzt werden?", "remember" : "merken", - "Log in" : "Einloggen", "Alternative Logins" : "Alternative Logins", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

hier nur kurz die Mitteilung, dass %s %s mit Ihnen geteilt hat.
Sehen Sie es sich an!

", "This ownCloud instance is currently in single user mode." : "Diese ownClound-Instanz befindet sich derzeit im Einzelbenutzermodus.", diff --git a/core/l10n/el.js b/core/l10n/el.js index 0eb6298130..03ecc018c0 100644 --- a/core/l10n/el.js +++ b/core/l10n/el.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Αδυναμία αποστολής μηνύματος στους ακόλουθους χρήστες: %s", + "Preparing update" : "Προετοιμασία ενημέρωσης", "Turned on maintenance mode" : "Η κατάσταση συντήρησης ενεργοποιήθηκε", "Turned off maintenance mode" : "Η κατάσταση συντήρησης απενεργοποιήθηκε", "Maintenance mode is kept active" : "Η λειτουργία συντήρησης διατηρήθηκε ενεργή", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Σφάλμα διόρθωσης:", "Following incompatible apps have been disabled: %s" : "Οι παρακάτω εφαρμογές έχουν απενεργοποιηθεί: %s", "Following apps have been disabled: %s" : "Οι ακόλουθες εφαρμογές έχουν απενεργοποιηθεί: %s", + "Already up to date" : "Ήδη ενημερωμένο", "File is too big" : "Το αρχείο είναι πολύ μεγάλο", "Invalid file provided" : "Έχει δοθεί μη έγκυρο αρχείο", "No image or file provided" : "Δεν δόθηκε εικόνα ή αρχείο", @@ -248,7 +250,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Παρακαλώ δοκιμάστε ξανά ή επικοινωνήστε με τον διαχειριστή σας.", "Wrong password. Reset it?" : "Λάθος Κωδικός. Επαναφορά;", "remember" : "απομνημόνευση", - "Log in" : "Είσοδος", "Alternative Logins" : "Εναλλακτικές Συνδέσεις", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Γειά χαρά,

απλά σας ενημερώνω πως ο %s μοιράστηκε το%s με εσάς.
Δείτε το!

", "This ownCloud instance is currently in single user mode." : "Αυτή η εγκατάσταση ownCloud είναι τώρα σε κατάσταση ενός χρήστη.", diff --git a/core/l10n/el.json b/core/l10n/el.json index 507da1690e..4e901e6606 100644 --- a/core/l10n/el.json +++ b/core/l10n/el.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Αδυναμία αποστολής μηνύματος στους ακόλουθους χρήστες: %s", + "Preparing update" : "Προετοιμασία ενημέρωσης", "Turned on maintenance mode" : "Η κατάσταση συντήρησης ενεργοποιήθηκε", "Turned off maintenance mode" : "Η κατάσταση συντήρησης απενεργοποιήθηκε", "Maintenance mode is kept active" : "Η λειτουργία συντήρησης διατηρήθηκε ενεργή", @@ -11,6 +12,7 @@ "Repair error: " : "Σφάλμα διόρθωσης:", "Following incompatible apps have been disabled: %s" : "Οι παρακάτω εφαρμογές έχουν απενεργοποιηθεί: %s", "Following apps have been disabled: %s" : "Οι ακόλουθες εφαρμογές έχουν απενεργοποιηθεί: %s", + "Already up to date" : "Ήδη ενημερωμένο", "File is too big" : "Το αρχείο είναι πολύ μεγάλο", "Invalid file provided" : "Έχει δοθεί μη έγκυρο αρχείο", "No image or file provided" : "Δεν δόθηκε εικόνα ή αρχείο", @@ -246,7 +248,6 @@ "Please try again or contact your administrator." : "Παρακαλώ δοκιμάστε ξανά ή επικοινωνήστε με τον διαχειριστή σας.", "Wrong password. Reset it?" : "Λάθος Κωδικός. Επαναφορά;", "remember" : "απομνημόνευση", - "Log in" : "Είσοδος", "Alternative Logins" : "Εναλλακτικές Συνδέσεις", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Γειά χαρά,

απλά σας ενημερώνω πως ο %s μοιράστηκε το%s με εσάς.
Δείτε το!

", "This ownCloud instance is currently in single user mode." : "Αυτή η εγκατάσταση ownCloud είναι τώρα σε κατάσταση ενός χρήστη.", diff --git a/core/l10n/en_GB.js b/core/l10n/en_GB.js index 7730ff8a53..e3760b6f2b 100644 --- a/core/l10n/en_GB.js +++ b/core/l10n/en_GB.js @@ -231,7 +231,6 @@ OC.L10N.register( "An internal error occured." : "An internal error occured.", "Please try again or contact your administrator." : "Please try again or contact your administrator.", "remember" : "remember", - "Log in" : "Log in", "Alternative Logins" : "Alternative Logins", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hey there,

just letting you know that %s shared %s with you.
View it!

", "This ownCloud instance is currently in single user mode." : "This ownCloud instance is currently in single user mode.", diff --git a/core/l10n/en_GB.json b/core/l10n/en_GB.json index a2bd71be34..4c76d47111 100644 --- a/core/l10n/en_GB.json +++ b/core/l10n/en_GB.json @@ -229,7 +229,6 @@ "An internal error occured." : "An internal error occured.", "Please try again or contact your administrator." : "Please try again or contact your administrator.", "remember" : "remember", - "Log in" : "Log in", "Alternative Logins" : "Alternative Logins", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hey there,

just letting you know that %s shared %s with you.
View it!

", "This ownCloud instance is currently in single user mode." : "This ownCloud instance is currently in single user mode.", diff --git a/core/l10n/eo.js b/core/l10n/eo.js index 0b32ad7339..78a571a798 100644 --- a/core/l10n/eo.js +++ b/core/l10n/eo.js @@ -130,7 +130,6 @@ OC.L10N.register( "Search" : "Serĉi", "Please contact your administrator." : "Bonvolu kontakti vian administranton.", "remember" : "memori", - "Log in" : "Ensaluti", "Alternative Logins" : "Alternativaj ensalutoj", "Thank you for your patience." : "Dankon pro via pacienco." }, diff --git a/core/l10n/eo.json b/core/l10n/eo.json index 383e50a010..401e932756 100644 --- a/core/l10n/eo.json +++ b/core/l10n/eo.json @@ -128,7 +128,6 @@ "Search" : "Serĉi", "Please contact your administrator." : "Bonvolu kontakti vian administranton.", "remember" : "memori", - "Log in" : "Ensaluti", "Alternative Logins" : "Alternativaj ensalutoj", "Thank you for your patience." : "Dankon pro via pacienco." },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/es.js b/core/l10n/es.js index 376fd97dc9..303e070740 100644 --- a/core/l10n/es.js +++ b/core/l10n/es.js @@ -105,7 +105,7 @@ OC.L10N.register( "Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor", "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." : "La \"{header}\" cabecera HTTP no está configurado para ser igual a \"{expected}\". Esto puede suponer un riesgo para la seguridad o la privacidad, por lo que se recomienda ajustar esta opción.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{segundos}\" segundos. Para una mejor seguridad recomendamos que habilite HSTS como es descripta en nuestros consejos de seguridad.", - "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Esta ingresando a este sitio de internet vía HTTP. Sugerimos fuertemente que configure su servidor que utilice HTTPS como es descripto en nuestros consejos de seguridad.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Está ingresando a este sitio de internet vía HTTP. Le sugerimos enérgicamente que configure su servidor que utilice HTTPS como se describe en nuestros consejos de seguridad.", "Shared" : "Compartido", "Shared with {recipients}" : "Compartido con {recipients}", "Error" : "Error", @@ -115,7 +115,7 @@ OC.L10N.register( "Shared with you and the group {group} by {owner}" : "Compartido contigo y el grupo {group} por {owner}", "Shared with you by {owner}" : "Compartido contigo por {owner}", "Share with users or groups …" : "Compartir con usuarios o grupos ...", - "Share with users, groups or remote users …" : "Comparte con usuarios, grupos o usuarios remotos ...", + "Share with users, groups or remote users …" : "Comparte con usuarios, grupos o usuarios remotos...", "Share" : "Compartir", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Comparta con personas en otros ownClouds utilizando la sintáxis username@example.com/owncloud", "Share link" : "Enlace compartido", @@ -234,7 +234,7 @@ OC.L10N.register( "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "El uso de SQLite esta desaconsejado especialmente cuando se usa el cliente de escritorio para sincronizar los ficheros.", "Finish setup" : "Completar la instalación", "Finishing …" : "Finalizando...", - "Need help?" : "Necesita ayuda?", + "Need help?" : "¿Necesita ayuda?", "See the documentation" : "Vea la documentación", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Esta aplicación requiere JavaScript para operar correctamente. Por favor, {linkstart}habilite JavaScript{linkend} y recargue la página.", "Log out" : "Salir", @@ -245,7 +245,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Por favor reintente nuevamente o contáctese con su administrador.", "Wrong password. Reset it?" : "Contraseña incorrecta. ¿Restablecerla?", "remember" : "recordar", - "Log in" : "Entrar", "Alternative Logins" : "Inicios de sesión alternativos", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hola:

Te comentamos que %s compartió %s contigo.
¡Échale un vistazo!

", "This ownCloud instance is currently in single user mode." : "Esta instalación de ownCloud se encuentra en modo de usuario único.", diff --git a/core/l10n/es.json b/core/l10n/es.json index 6975ce15c6..34547fff63 100644 --- a/core/l10n/es.json +++ b/core/l10n/es.json @@ -103,7 +103,7 @@ "Error occurred while checking server setup" : "Ha ocurrido un error al revisar la configuración del servidor", "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." : "La \"{header}\" cabecera HTTP no está configurado para ser igual a \"{expected}\". Esto puede suponer un riesgo para la seguridad o la privacidad, por lo que se recomienda ajustar esta opción.", "The \"Strict-Transport-Security\" HTTP header is not configured to least \"{seconds}\" seconds. For enhanced security we recommend enabling HSTS as described in our security tips." : "La cabecera HTTP \"Strict-Transport-Security\" no está configurada en al menos \"{segundos}\" segundos. Para una mejor seguridad recomendamos que habilite HSTS como es descripta en nuestros consejos de seguridad.", - "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Esta ingresando a este sitio de internet vía HTTP. Sugerimos fuertemente que configure su servidor que utilice HTTPS como es descripto en nuestros consejos de seguridad.", + "You are accessing this site via HTTP. We strongly suggest you configure your server to require using HTTPS instead as described in our security tips." : "Está ingresando a este sitio de internet vía HTTP. Le sugerimos enérgicamente que configure su servidor que utilice HTTPS como se describe en nuestros consejos de seguridad.", "Shared" : "Compartido", "Shared with {recipients}" : "Compartido con {recipients}", "Error" : "Error", @@ -113,7 +113,7 @@ "Shared with you and the group {group} by {owner}" : "Compartido contigo y el grupo {group} por {owner}", "Shared with you by {owner}" : "Compartido contigo por {owner}", "Share with users or groups …" : "Compartir con usuarios o grupos ...", - "Share with users, groups or remote users …" : "Comparte con usuarios, grupos o usuarios remotos ...", + "Share with users, groups or remote users …" : "Comparte con usuarios, grupos o usuarios remotos...", "Share" : "Compartir", "Share with people on other ownClouds using the syntax username@example.com/owncloud" : "Comparta con personas en otros ownClouds utilizando la sintáxis username@example.com/owncloud", "Share link" : "Enlace compartido", @@ -232,7 +232,7 @@ "Especially when using the desktop client for file syncing the use of SQLite is discouraged." : "El uso de SQLite esta desaconsejado especialmente cuando se usa el cliente de escritorio para sincronizar los ficheros.", "Finish setup" : "Completar la instalación", "Finishing …" : "Finalizando...", - "Need help?" : "Necesita ayuda?", + "Need help?" : "¿Necesita ayuda?", "See the documentation" : "Vea la documentación", "This application requires JavaScript for correct operation. Please {linkstart}enable JavaScript{linkend} and reload the page." : "Esta aplicación requiere JavaScript para operar correctamente. Por favor, {linkstart}habilite JavaScript{linkend} y recargue la página.", "Log out" : "Salir", @@ -243,7 +243,6 @@ "Please try again or contact your administrator." : "Por favor reintente nuevamente o contáctese con su administrador.", "Wrong password. Reset it?" : "Contraseña incorrecta. ¿Restablecerla?", "remember" : "recordar", - "Log in" : "Entrar", "Alternative Logins" : "Inicios de sesión alternativos", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hola:

Te comentamos que %s compartió %s contigo.
¡Échale un vistazo!

", "This ownCloud instance is currently in single user mode." : "Esta instalación de ownCloud se encuentra en modo de usuario único.", diff --git a/core/l10n/es_AR.js b/core/l10n/es_AR.js index 43ef513c43..5cc1819886 100644 --- a/core/l10n/es_AR.js +++ b/core/l10n/es_AR.js @@ -150,7 +150,6 @@ OC.L10N.register( "Server side authentication failed!" : "¡Falló la autenticación del servidor!", "Please contact your administrator." : "Por favor, contacte a su administrador.", "remember" : "recordame", - "Log in" : "Iniciar sesión", "Alternative Logins" : "Nombre alternativos de usuarios", "This ownCloud instance is currently in single user mode." : "Esta instancia de ownCloud está en modo de usuario único.", "This means only administrators can use the instance." : "Esto significa que solo administradores pueden usar esta instancia.", diff --git a/core/l10n/es_AR.json b/core/l10n/es_AR.json index 09b42de22b..8ccb4cedb4 100644 --- a/core/l10n/es_AR.json +++ b/core/l10n/es_AR.json @@ -148,7 +148,6 @@ "Server side authentication failed!" : "¡Falló la autenticación del servidor!", "Please contact your administrator." : "Por favor, contacte a su administrador.", "remember" : "recordame", - "Log in" : "Iniciar sesión", "Alternative Logins" : "Nombre alternativos de usuarios", "This ownCloud instance is currently in single user mode." : "Esta instancia de ownCloud está en modo de usuario único.", "This means only administrators can use the instance." : "Esto significa que solo administradores pueden usar esta instancia.", diff --git a/core/l10n/es_MX.js b/core/l10n/es_MX.js index 9b71d4a5aa..7c4ca4a2d6 100644 --- a/core/l10n/es_MX.js +++ b/core/l10n/es_MX.js @@ -144,7 +144,6 @@ OC.L10N.register( "Server side authentication failed!" : "La autenticación a fallado en el servidor.", "Please contact your administrator." : "Por favor, contacte con el administrador.", "remember" : "recordar", - "Log in" : "Entrar", "Alternative Logins" : "Accesos Alternativos", "This ownCloud instance is currently in single user mode." : "Esta instalación de ownCloud se encuentra en modo de usuario único.", "This means only administrators can use the instance." : "Esto quiere decir que solo un administrador puede usarla.", diff --git a/core/l10n/es_MX.json b/core/l10n/es_MX.json index 8d95cef6c2..45b55e8f28 100644 --- a/core/l10n/es_MX.json +++ b/core/l10n/es_MX.json @@ -142,7 +142,6 @@ "Server side authentication failed!" : "La autenticación a fallado en el servidor.", "Please contact your administrator." : "Por favor, contacte con el administrador.", "remember" : "recordar", - "Log in" : "Entrar", "Alternative Logins" : "Accesos Alternativos", "This ownCloud instance is currently in single user mode." : "Esta instalación de ownCloud se encuentra en modo de usuario único.", "This means only administrators can use the instance." : "Esto quiere decir que solo un administrador puede usarla.", diff --git a/core/l10n/et_EE.js b/core/l10n/et_EE.js index 1cff2557cb..3e517277f5 100644 --- a/core/l10n/et_EE.js +++ b/core/l10n/et_EE.js @@ -218,7 +218,6 @@ OC.L10N.register( "An internal error occured." : "Tekkis sisemine tõrge.", "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.", "remember" : "pea meeles", - "Log in" : "Logi sisse", "Alternative Logins" : "Alternatiivsed sisselogimisviisid", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hei,

annan teada, et %s jagas sinuga %s. Vaata seda!

", "This ownCloud instance is currently in single user mode." : "See ownCloud on momendil seadistatud ühe kasutaja jaoks.", diff --git a/core/l10n/et_EE.json b/core/l10n/et_EE.json index 94ebd08dec..73839f889c 100644 --- a/core/l10n/et_EE.json +++ b/core/l10n/et_EE.json @@ -216,7 +216,6 @@ "An internal error occured." : "Tekkis sisemine tõrge.", "Please try again or contact your administrator." : "Palun proovi uuesti või võta ühendust oma administraatoriga.", "remember" : "pea meeles", - "Log in" : "Logi sisse", "Alternative Logins" : "Alternatiivsed sisselogimisviisid", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hei,

annan teada, et %s jagas sinuga %s. Vaata seda!

", "This ownCloud instance is currently in single user mode." : "See ownCloud on momendil seadistatud ühe kasutaja jaoks.", diff --git a/core/l10n/eu.js b/core/l10n/eu.js index 0d96575977..e215b87012 100644 --- a/core/l10n/eu.js +++ b/core/l10n/eu.js @@ -200,7 +200,6 @@ OC.L10N.register( "Server side authentication failed!" : "Zerbitzari aldeko autentifikazioak huts egin du!", "Please contact your administrator." : "Mesedez jarri harremetan zure administradorearekin.", "remember" : "gogoratu", - "Log in" : "Hasi saioa", "Alternative Logins" : "Beste erabiltzaile izenak", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Kaixo

%s-ek %s zurekin partekatu duela jakin dezazun.\nIkusi ezazu: %s", "This ownCloud instance is currently in single user mode." : "ownCloud instantzia hau erabiltzaile bakar moduan dago.", diff --git a/core/l10n/eu.json b/core/l10n/eu.json index 9206ed66d7..9af46ca9cf 100644 --- a/core/l10n/eu.json +++ b/core/l10n/eu.json @@ -198,7 +198,6 @@ "Server side authentication failed!" : "Zerbitzari aldeko autentifikazioak huts egin du!", "Please contact your administrator." : "Mesedez jarri harremetan zure administradorearekin.", "remember" : "gogoratu", - "Log in" : "Hasi saioa", "Alternative Logins" : "Beste erabiltzaile izenak", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Kaixo

%s-ek %s zurekin partekatu duela jakin dezazun.\nIkusi ezazu: %s", "This ownCloud instance is currently in single user mode." : "ownCloud instantzia hau erabiltzaile bakar moduan dago.", diff --git a/core/l10n/fa.js b/core/l10n/fa.js index bfb7650698..12bdd37eab 100644 --- a/core/l10n/fa.js +++ b/core/l10n/fa.js @@ -146,7 +146,6 @@ OC.L10N.register( "Log out" : "خروج", "Search" : "جست‌و‌جو", "remember" : "بیاد آوری", - "Log in" : "ورود", "Alternative Logins" : "ورود متناوب", "Thank you for your patience." : "از صبر شما متشکریم", "Start update" : "اغاز به روز رسانی" diff --git a/core/l10n/fa.json b/core/l10n/fa.json index a1af42495a..22a8e2eb0f 100644 --- a/core/l10n/fa.json +++ b/core/l10n/fa.json @@ -144,7 +144,6 @@ "Log out" : "خروج", "Search" : "جست‌و‌جو", "remember" : "بیاد آوری", - "Log in" : "ورود", "Alternative Logins" : "ورود متناوب", "Thank you for your patience." : "از صبر شما متشکریم", "Start update" : "اغاز به روز رسانی" diff --git a/core/l10n/fi_FI.js b/core/l10n/fi_FI.js index 29839e4d3f..2893ce8ae2 100644 --- a/core/l10n/fi_FI.js +++ b/core/l10n/fi_FI.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Sähköpostin lähetys seuraaville käyttäjille epäonnistui: %s", + "Preparing update" : "Valmistellaan päivitystä", "Turned on maintenance mode" : "Siirrytty huoltotilaan", "Turned off maintenance mode" : "Huoltotila asetettu pois päältä", "Maintenance mode is kept active" : "Huoltotila pidetään aktiivisena", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Korjausvirhe:", "Following incompatible apps have been disabled: %s" : "Seuraavat yhteensopimattomat sovellukset on poistettu käytöstä: %s", "Following apps have been disabled: %s" : "Seuraavat sovellukset on poistettu käytöstä: %s", + "Already up to date" : "Kaikki on jo ajan tasalla", "File is too big" : "Tiedosto on liian suuri", "Invalid file provided" : "Määritetty virheellinen tiedosto", "No image or file provided" : "Kuvaa tai tiedostoa ei määritelty", @@ -248,7 +250,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Yritä uudestaan tai ota yhteys ylläpitäjään.", "Wrong password. Reset it?" : "Väärä salasana. Haluatko palauttaa salasanan?", "remember" : "muista", - "Log in" : "Kirjaudu sisään", "Alternative Logins" : "Vaihtoehtoiset kirjautumiset", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hei!

%s jakoi kanssasi kohteen %s.
Tutustu siihen!

", "This ownCloud instance is currently in single user mode." : "Tämä ownCloud-asennus on parhaillaan single user -tilassa.", diff --git a/core/l10n/fi_FI.json b/core/l10n/fi_FI.json index 01e11ab7e4..21316024e7 100644 --- a/core/l10n/fi_FI.json +++ b/core/l10n/fi_FI.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Sähköpostin lähetys seuraaville käyttäjille epäonnistui: %s", + "Preparing update" : "Valmistellaan päivitystä", "Turned on maintenance mode" : "Siirrytty huoltotilaan", "Turned off maintenance mode" : "Huoltotila asetettu pois päältä", "Maintenance mode is kept active" : "Huoltotila pidetään aktiivisena", @@ -11,6 +12,7 @@ "Repair error: " : "Korjausvirhe:", "Following incompatible apps have been disabled: %s" : "Seuraavat yhteensopimattomat sovellukset on poistettu käytöstä: %s", "Following apps have been disabled: %s" : "Seuraavat sovellukset on poistettu käytöstä: %s", + "Already up to date" : "Kaikki on jo ajan tasalla", "File is too big" : "Tiedosto on liian suuri", "Invalid file provided" : "Määritetty virheellinen tiedosto", "No image or file provided" : "Kuvaa tai tiedostoa ei määritelty", @@ -246,7 +248,6 @@ "Please try again or contact your administrator." : "Yritä uudestaan tai ota yhteys ylläpitäjään.", "Wrong password. Reset it?" : "Väärä salasana. Haluatko palauttaa salasanan?", "remember" : "muista", - "Log in" : "Kirjaudu sisään", "Alternative Logins" : "Vaihtoehtoiset kirjautumiset", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hei!

%s jakoi kanssasi kohteen %s.
Tutustu siihen!

", "This ownCloud instance is currently in single user mode." : "Tämä ownCloud-asennus on parhaillaan single user -tilassa.", diff --git a/core/l10n/fr.js b/core/l10n/fr.js index fc5881d83f..8b0fbdbe83 100644 --- a/core/l10n/fr.js +++ b/core/l10n/fr.js @@ -247,7 +247,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Veuillez réessayer ou contacter votre administrateur.", "Wrong password. Reset it?" : "Mot de passe incorrect. Réinitialiser ?", "remember" : "se souvenir de moi", - "Log in" : "Connexion", "Alternative Logins" : "Identifiants alternatifs", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Bonjour,

Nous vous informons que %s a partagé %s avec vous.
Cliquez ici pour y accéder !

", "This ownCloud instance is currently in single user mode." : "Cette instance de ownCloud est actuellement en mode utilisateur unique.", diff --git a/core/l10n/fr.json b/core/l10n/fr.json index 7ee6a35ae2..2eb2a72229 100644 --- a/core/l10n/fr.json +++ b/core/l10n/fr.json @@ -245,7 +245,6 @@ "Please try again or contact your administrator." : "Veuillez réessayer ou contacter votre administrateur.", "Wrong password. Reset it?" : "Mot de passe incorrect. Réinitialiser ?", "remember" : "se souvenir de moi", - "Log in" : "Connexion", "Alternative Logins" : "Identifiants alternatifs", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Bonjour,

Nous vous informons que %s a partagé %s avec vous.
Cliquez ici pour y accéder !

", "This ownCloud instance is currently in single user mode." : "Cette instance de ownCloud est actuellement en mode utilisateur unique.", diff --git a/core/l10n/gl.js b/core/l10n/gl.js index c3cd630363..f53866cdc0 100644 --- a/core/l10n/gl.js +++ b/core/l10n/gl.js @@ -244,7 +244,6 @@ OC.L10N.register( "An internal error occured." : "Produciuse un erro interno.", "Please try again or contact your administrator." : "Ténteo de novo ou póñase en contacto co administrador.", "remember" : "lembrar", - "Log in" : "Conectar", "Alternative Logins" : "Accesos alternativos", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Ola,

só facerlle saber que %s compartiu %s con vostede.
Véxao!

", "This ownCloud instance is currently in single user mode." : "Esta instancia do ownCloud está actualmente en modo de usuario único.", diff --git a/core/l10n/gl.json b/core/l10n/gl.json index 72bb146e0e..1542d83210 100644 --- a/core/l10n/gl.json +++ b/core/l10n/gl.json @@ -242,7 +242,6 @@ "An internal error occured." : "Produciuse un erro interno.", "Please try again or contact your administrator." : "Ténteo de novo ou póñase en contacto co administrador.", "remember" : "lembrar", - "Log in" : "Conectar", "Alternative Logins" : "Accesos alternativos", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Ola,

só facerlle saber que %s compartiu %s con vostede.
Véxao!

", "This ownCloud instance is currently in single user mode." : "Esta instancia do ownCloud está actualmente en modo de usuario único.", diff --git a/core/l10n/he.js b/core/l10n/he.js index 4ca06adfc5..4692495ccc 100644 --- a/core/l10n/he.js +++ b/core/l10n/he.js @@ -104,7 +104,6 @@ OC.L10N.register( "Log out" : "התנתקות", "Search" : "חיפוש", "remember" : "שמירת הססמה", - "Log in" : "כניסה", "Alternative Logins" : "כניסות אלטרנטיביות" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/he.json b/core/l10n/he.json index f2013f1f62..fe873e0b02 100644 --- a/core/l10n/he.json +++ b/core/l10n/he.json @@ -102,7 +102,6 @@ "Log out" : "התנתקות", "Search" : "חיפוש", "remember" : "שמירת הססמה", - "Log in" : "כניסה", "Alternative Logins" : "כניסות אלטרנטיביות" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/hr.js b/core/l10n/hr.js index d79d0a2e45..9d0c1ddeb4 100644 --- a/core/l10n/hr.js +++ b/core/l10n/hr.js @@ -200,7 +200,6 @@ OC.L10N.register( "Server side authentication failed!" : "Autentikacija na strani poslužitelja nije uspjela!", "Please contact your administrator." : "Molimo kontaktirajte svog administratora.", "remember" : "Sjetite se", - "Log in" : "Prijavite se", "Alternative Logins" : "Alternativne prijave", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej,

vam upravo javlja da je %s podijelio %ss vama.
POgledajte!

", "This ownCloud instance is currently in single user mode." : "Ova ownCloud instanca je trenutno u načinu rada za jednog korisnika.", diff --git a/core/l10n/hr.json b/core/l10n/hr.json index 19637fb27a..1472b8aaa0 100644 --- a/core/l10n/hr.json +++ b/core/l10n/hr.json @@ -198,7 +198,6 @@ "Server side authentication failed!" : "Autentikacija na strani poslužitelja nije uspjela!", "Please contact your administrator." : "Molimo kontaktirajte svog administratora.", "remember" : "Sjetite se", - "Log in" : "Prijavite se", "Alternative Logins" : "Alternativne prijave", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej,

vam upravo javlja da je %s podijelio %ss vama.
POgledajte!

", "This ownCloud instance is currently in single user mode." : "Ova ownCloud instanca je trenutno u načinu rada za jednog korisnika.", diff --git a/core/l10n/hu_HU.js b/core/l10n/hu_HU.js index 25a0caad57..ff04fe9900 100644 --- a/core/l10n/hu_HU.js +++ b/core/l10n/hu_HU.js @@ -247,7 +247,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Kérem próbálja újra, vagy vegye fel a kapcsolatot a rendszergazdával.", "Wrong password. Reset it?" : "Hibás jelszó. Visszaállítja?", "remember" : "emlékezzen", - "Log in" : "Bejelentkezés", "Alternative Logins" : "Alternatív bejelentkezés", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Üdvözöljük!

\n\nÉrtesítjük, hogy %s megosztotta Önnel ezt az állományt: %s
\nItt lehet megnézni!

", "This ownCloud instance is currently in single user mode." : "Ez az ownCloud szolgáltatás jelenleg egyfelhasználós üzemmódban működik.", diff --git a/core/l10n/hu_HU.json b/core/l10n/hu_HU.json index 9fe7b6e5d2..d7c20ae181 100644 --- a/core/l10n/hu_HU.json +++ b/core/l10n/hu_HU.json @@ -245,7 +245,6 @@ "Please try again or contact your administrator." : "Kérem próbálja újra, vagy vegye fel a kapcsolatot a rendszergazdával.", "Wrong password. Reset it?" : "Hibás jelszó. Visszaállítja?", "remember" : "emlékezzen", - "Log in" : "Bejelentkezés", "Alternative Logins" : "Alternatív bejelentkezés", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Üdvözöljük!

\n\nÉrtesítjük, hogy %s megosztotta Önnel ezt az állományt: %s
\nItt lehet megnézni!

", "This ownCloud instance is currently in single user mode." : "Ez az ownCloud szolgáltatás jelenleg egyfelhasználós üzemmódban működik.", diff --git a/core/l10n/ia.js b/core/l10n/ia.js index 201585e989..15842447aa 100644 --- a/core/l10n/ia.js +++ b/core/l10n/ia.js @@ -157,7 +157,6 @@ OC.L10N.register( "Server side authentication failed!" : "Il falleva authentication de latere servitor!", "Please contact your administrator." : "Pro favor continge tu administrator.", "remember" : "memora", - "Log in" : "Aperir session", "Alternative Logins" : "Accessos de autorisation alternative", "Thank you for your patience." : "Gratias pro tu patientia.", "Start update" : "Initia actualisation" diff --git a/core/l10n/ia.json b/core/l10n/ia.json index 2f4d11bfcf..649e667bdc 100644 --- a/core/l10n/ia.json +++ b/core/l10n/ia.json @@ -155,7 +155,6 @@ "Server side authentication failed!" : "Il falleva authentication de latere servitor!", "Please contact your administrator." : "Pro favor continge tu administrator.", "remember" : "memora", - "Log in" : "Aperir session", "Alternative Logins" : "Accessos de autorisation alternative", "Thank you for your patience." : "Gratias pro tu patientia.", "Start update" : "Initia actualisation" diff --git a/core/l10n/id.js b/core/l10n/id.js index ea5f96015d..9af2d3bad0 100644 --- a/core/l10n/id.js +++ b/core/l10n/id.js @@ -247,7 +247,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Mohon coba lagi atau hubungi administrator Anda.", "Wrong password. Reset it?" : "Sandi salah. Atur ulang?", "remember" : "selalu masuk", - "Log in" : "Masuk", "Alternative Logins" : "Cara Alternatif untuk Masuk", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hai,

hanya memberi tahu jika %s membagikan %s dengan Anda.
Lihat!

", "This ownCloud instance is currently in single user mode." : "ownCloud ini sedang dalam mode pengguna tunggal.", diff --git a/core/l10n/id.json b/core/l10n/id.json index 606cdb063a..79a84db45c 100644 --- a/core/l10n/id.json +++ b/core/l10n/id.json @@ -245,7 +245,6 @@ "Please try again or contact your administrator." : "Mohon coba lagi atau hubungi administrator Anda.", "Wrong password. Reset it?" : "Sandi salah. Atur ulang?", "remember" : "selalu masuk", - "Log in" : "Masuk", "Alternative Logins" : "Cara Alternatif untuk Masuk", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hai,

hanya memberi tahu jika %s membagikan %s dengan Anda.
Lihat!

", "This ownCloud instance is currently in single user mode." : "ownCloud ini sedang dalam mode pengguna tunggal.", diff --git a/core/l10n/is.js b/core/l10n/is.js index 16860e5afc..346e4f5306 100644 --- a/core/l10n/is.js +++ b/core/l10n/is.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Gat ekki sent póst á eftirfarandi notanda: %s", + "Preparing update" : "Undirbúa uppfærslu", "Turned on maintenance mode" : "Kveikt á viðhaldsham", "Turned off maintenance mode" : "Slökkt á viðhaldsham", "Maintenance mode is kept active" : "viðhaldshami er haldið virkur", @@ -248,7 +249,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Vinsamlegast reyndu aftur eða hafðu samband við kerfisstjóra.", "Wrong password. Reset it?" : "Rangt lykilorð. Endursetja?", "remember" : "muna eftir mér", - "Log in" : "Skrá inn", "Alternative Logins" : "Aðrar Innskráningar", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Sælir ,

bara láta þig vita að %s deildi %s með þér.
Skoða það!

", "This ownCloud instance is currently in single user mode." : "Þetta ownCloud eintak er nú í einnar notandaham.", diff --git a/core/l10n/is.json b/core/l10n/is.json index 7fb3457de9..a89b268d76 100644 --- a/core/l10n/is.json +++ b/core/l10n/is.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Gat ekki sent póst á eftirfarandi notanda: %s", + "Preparing update" : "Undirbúa uppfærslu", "Turned on maintenance mode" : "Kveikt á viðhaldsham", "Turned off maintenance mode" : "Slökkt á viðhaldsham", "Maintenance mode is kept active" : "viðhaldshami er haldið virkur", @@ -246,7 +247,6 @@ "Please try again or contact your administrator." : "Vinsamlegast reyndu aftur eða hafðu samband við kerfisstjóra.", "Wrong password. Reset it?" : "Rangt lykilorð. Endursetja?", "remember" : "muna eftir mér", - "Log in" : "Skrá inn", "Alternative Logins" : "Aðrar Innskráningar", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Sælir ,

bara láta þig vita að %s deildi %s með þér.
Skoða það!

", "This ownCloud instance is currently in single user mode." : "Þetta ownCloud eintak er nú í einnar notandaham.", diff --git a/core/l10n/it.js b/core/l10n/it.js index 9c84001e66..3b54001465 100644 --- a/core/l10n/it.js +++ b/core/l10n/it.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Impossibile inviare email ai seguenti utenti: %s", + "Preparing update" : "Preparazione aggiornamento", "Turned on maintenance mode" : "Modalità di manutenzione attivata", "Turned off maintenance mode" : "Modalità di manutenzione disattivata", "Maintenance mode is kept active" : "La modalità di manutenzione è lasciata attiva", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Errore di riparazione:", "Following incompatible apps have been disabled: %s" : "Le seguenti applicazioni incompatibili sono state disabilitate: %s", "Following apps have been disabled: %s" : "Le seguenti applicazioni sono state disabilitate: %s", + "Already up to date" : "Già aggiornato", "File is too big" : "Il file è troppo grande", "Invalid file provided" : "File non valido fornito", "No image or file provided" : "Non è stata fornita alcun immagine o file", @@ -248,7 +250,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Prova ancora o contatta il tuo amministratore.", "Wrong password. Reset it?" : "Password errata. Vuoi reimpostarla?", "remember" : "ricorda", - "Log in" : "Accedi", "Alternative Logins" : "Accessi alternativi", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Ciao,

volevo informarti che %s ha condiviso %s con te.
Guarda!

", "This ownCloud instance is currently in single user mode." : "Questa istanza di ownCloud è in modalità utente singolo.", diff --git a/core/l10n/it.json b/core/l10n/it.json index 003ed1883d..30543ce8a6 100644 --- a/core/l10n/it.json +++ b/core/l10n/it.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Impossibile inviare email ai seguenti utenti: %s", + "Preparing update" : "Preparazione aggiornamento", "Turned on maintenance mode" : "Modalità di manutenzione attivata", "Turned off maintenance mode" : "Modalità di manutenzione disattivata", "Maintenance mode is kept active" : "La modalità di manutenzione è lasciata attiva", @@ -11,6 +12,7 @@ "Repair error: " : "Errore di riparazione:", "Following incompatible apps have been disabled: %s" : "Le seguenti applicazioni incompatibili sono state disabilitate: %s", "Following apps have been disabled: %s" : "Le seguenti applicazioni sono state disabilitate: %s", + "Already up to date" : "Già aggiornato", "File is too big" : "Il file è troppo grande", "Invalid file provided" : "File non valido fornito", "No image or file provided" : "Non è stata fornita alcun immagine o file", @@ -246,7 +248,6 @@ "Please try again or contact your administrator." : "Prova ancora o contatta il tuo amministratore.", "Wrong password. Reset it?" : "Password errata. Vuoi reimpostarla?", "remember" : "ricorda", - "Log in" : "Accedi", "Alternative Logins" : "Accessi alternativi", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Ciao,

volevo informarti che %s ha condiviso %s con te.
Guarda!

", "This ownCloud instance is currently in single user mode." : "Questa istanza di ownCloud è in modalità utente singolo.", diff --git a/core/l10n/ja.js b/core/l10n/ja.js index 6d8ad2362a..fbdd112cb0 100644 --- a/core/l10n/ja.js +++ b/core/l10n/ja.js @@ -247,7 +247,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "もう一度試してみるか、管理者に問い合わせてください。", "Wrong password. Reset it?" : "パスワードが間違っています。リセットしますか?", "remember" : "パスワードを保存", - "Log in" : "ログイン", "Alternative Logins" : "代替ログイン", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "こんにちは、

%sがあなたと »%s« を共有したことをお知らせします。
それを表示

", "This ownCloud instance is currently in single user mode." : "このownCloudインスタンスは、現在シングルユーザーモードです。", diff --git a/core/l10n/ja.json b/core/l10n/ja.json index a849a4e58f..c31bd5aba9 100644 --- a/core/l10n/ja.json +++ b/core/l10n/ja.json @@ -245,7 +245,6 @@ "Please try again or contact your administrator." : "もう一度試してみるか、管理者に問い合わせてください。", "Wrong password. Reset it?" : "パスワードが間違っています。リセットしますか?", "remember" : "パスワードを保存", - "Log in" : "ログイン", "Alternative Logins" : "代替ログイン", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "こんにちは、

%sがあなたと »%s« を共有したことをお知らせします。
それを表示

", "This ownCloud instance is currently in single user mode." : "このownCloudインスタンスは、現在シングルユーザーモードです。", diff --git a/core/l10n/ka_GE.js b/core/l10n/ka_GE.js index 43e86870ff..eef607f316 100644 --- a/core/l10n/ka_GE.js +++ b/core/l10n/ka_GE.js @@ -103,7 +103,6 @@ OC.L10N.register( "Log out" : "გამოსვლა", "Search" : "ძებნა", "remember" : "დამახსოვრება", - "Log in" : "შესვლა", "Alternative Logins" : "ალტერნატიული Login–ი" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/ka_GE.json b/core/l10n/ka_GE.json index 26b7073a72..dad6746fe9 100644 --- a/core/l10n/ka_GE.json +++ b/core/l10n/ka_GE.json @@ -101,7 +101,6 @@ "Log out" : "გამოსვლა", "Search" : "ძებნა", "remember" : "დამახსოვრება", - "Log in" : "შესვლა", "Alternative Logins" : "ალტერნატიული Login–ი" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/km.js b/core/l10n/km.js index 28fb959d4e..b2d3fa069e 100644 --- a/core/l10n/km.js +++ b/core/l10n/km.js @@ -110,7 +110,6 @@ OC.L10N.register( "Log out" : "ចាក​ចេញ", "Search" : "ស្វែង​រក", "remember" : "ចងចាំ", - "Log in" : "ចូល", "Alternative Logins" : "ការ​ចូល​ជំនួស" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/km.json b/core/l10n/km.json index ba7e82ff63..b8307fb08d 100644 --- a/core/l10n/km.json +++ b/core/l10n/km.json @@ -108,7 +108,6 @@ "Log out" : "ចាក​ចេញ", "Search" : "ស្វែង​រក", "remember" : "ចងចាំ", - "Log in" : "ចូល", "Alternative Logins" : "ការ​ចូល​ជំនួស" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/ko.js b/core/l10n/ko.js index 98a86efe54..c5aef4258d 100644 --- a/core/l10n/ko.js +++ b/core/l10n/ko.js @@ -236,7 +236,6 @@ OC.L10N.register( "An internal error occured." : "내부 오류가 발생하였습니다.", "Please try again or contact your administrator." : "다시 시도하거나 관리자에게 연락하십시오.", "remember" : "기억하기", - "Log in" : "로그인", "Alternative Logins" : "대체 로그인", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "안녕하세요,

%s 님이 %s을(를) 공유하였음을 알려 드립니다.
보러 가기!

", "This ownCloud instance is currently in single user mode." : "ownCloud 인스턴스가 현재 단일 사용자 모드로 동작 중입니다.", diff --git a/core/l10n/ko.json b/core/l10n/ko.json index 5b3ddabc16..b1e133d76c 100644 --- a/core/l10n/ko.json +++ b/core/l10n/ko.json @@ -234,7 +234,6 @@ "An internal error occured." : "내부 오류가 발생하였습니다.", "Please try again or contact your administrator." : "다시 시도하거나 관리자에게 연락하십시오.", "remember" : "기억하기", - "Log in" : "로그인", "Alternative Logins" : "대체 로그인", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "안녕하세요,

%s 님이 %s을(를) 공유하였음을 알려 드립니다.
보러 가기!

", "This ownCloud instance is currently in single user mode." : "ownCloud 인스턴스가 현재 단일 사용자 모드로 동작 중입니다.", diff --git a/core/l10n/lb.js b/core/l10n/lb.js index a24c350a92..6bbc675150 100644 --- a/core/l10n/lb.js +++ b/core/l10n/lb.js @@ -121,7 +121,6 @@ OC.L10N.register( "Log out" : "Ofmellen", "Search" : "Sichen", "remember" : "verhalen", - "Log in" : "Umellen", "Alternative Logins" : "Alternativ Umeldungen", "Thank you for your patience." : "Merci fir deng Gedold." }, diff --git a/core/l10n/lb.json b/core/l10n/lb.json index 699ee25fd2..4a8fcce113 100644 --- a/core/l10n/lb.json +++ b/core/l10n/lb.json @@ -119,7 +119,6 @@ "Log out" : "Ofmellen", "Search" : "Sichen", "remember" : "verhalen", - "Log in" : "Umellen", "Alternative Logins" : "Alternativ Umeldungen", "Thank you for your patience." : "Merci fir deng Gedold." },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/lt_LT.js b/core/l10n/lt_LT.js index f444d28b43..41f012b6f0 100644 --- a/core/l10n/lt_LT.js +++ b/core/l10n/lt_LT.js @@ -157,7 +157,6 @@ OC.L10N.register( "Server side authentication failed!" : "Autentikacija serveryje nepavyko!", "Please contact your administrator." : "Kreipkitės į savo sistemos administratorių.", "remember" : "prisiminti", - "Log in" : "Prisijungti", "Alternative Logins" : "Alternatyvūs prisijungimai", "This ownCloud instance is currently in single user mode." : "Ši ownCloud sistema yra vieno naudotojo veiksenoje.", "This means only administrators can use the instance." : "Tai reiškia, kad tik administratorius gali naudotis sistema.", diff --git a/core/l10n/lt_LT.json b/core/l10n/lt_LT.json index dc915cb05f..7b6ad9e490 100644 --- a/core/l10n/lt_LT.json +++ b/core/l10n/lt_LT.json @@ -155,7 +155,6 @@ "Server side authentication failed!" : "Autentikacija serveryje nepavyko!", "Please contact your administrator." : "Kreipkitės į savo sistemos administratorių.", "remember" : "prisiminti", - "Log in" : "Prisijungti", "Alternative Logins" : "Alternatyvūs prisijungimai", "This ownCloud instance is currently in single user mode." : "Ši ownCloud sistema yra vieno naudotojo veiksenoje.", "This means only administrators can use the instance." : "Tai reiškia, kad tik administratorius gali naudotis sistema.", diff --git a/core/l10n/lv.js b/core/l10n/lv.js index 3f63ab03ed..526ef6846c 100644 --- a/core/l10n/lv.js +++ b/core/l10n/lv.js @@ -120,7 +120,6 @@ OC.L10N.register( "Log out" : "Izrakstīties", "Search" : "Meklēt", "remember" : "atcerēties", - "Log in" : "Ierakstīties", "Alternative Logins" : "Alternatīvās pieteikšanās" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/core/l10n/lv.json b/core/l10n/lv.json index 15b9bd5f75..c40bb4757d 100644 --- a/core/l10n/lv.json +++ b/core/l10n/lv.json @@ -118,7 +118,6 @@ "Log out" : "Izrakstīties", "Search" : "Meklēt", "remember" : "atcerēties", - "Log in" : "Ierakstīties", "Alternative Logins" : "Alternatīvās pieteikšanās" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" } \ No newline at end of file diff --git a/core/l10n/mk.js b/core/l10n/mk.js index 7c132dec81..bbc073bce0 100644 --- a/core/l10n/mk.js +++ b/core/l10n/mk.js @@ -169,7 +169,6 @@ OC.L10N.register( "Server side authentication failed!" : "Автентификацијата на серверската страна е неуспешна!", "Please contact your administrator." : "Ве молиме контактирајте го вашиот администратор.", "remember" : "запамти", - "Log in" : "Најава", "Alternative Logins" : "Алтернативни најавувања", "Contact your system administrator if this message persists or appeared unexpectedly." : "Контактирајте го вашиот систем администратор до колку оваа порака продолжи да се појавува или пак се појавува ненадејно.", "Thank you for your patience." : "Благодариме на вашето трпение." diff --git a/core/l10n/mk.json b/core/l10n/mk.json index 1056ad0b21..88a4ee8193 100644 --- a/core/l10n/mk.json +++ b/core/l10n/mk.json @@ -167,7 +167,6 @@ "Server side authentication failed!" : "Автентификацијата на серверската страна е неуспешна!", "Please contact your administrator." : "Ве молиме контактирајте го вашиот администратор.", "remember" : "запамти", - "Log in" : "Најава", "Alternative Logins" : "Алтернативни најавувања", "Contact your system administrator if this message persists or appeared unexpectedly." : "Контактирајте го вашиот систем администратор до колку оваа порака продолжи да се појавува или пак се појавува ненадејно.", "Thank you for your patience." : "Благодариме на вашето трпение." diff --git a/core/l10n/ms_MY.js b/core/l10n/ms_MY.js index 1cdb18d72b..cd2c54abf4 100644 --- a/core/l10n/ms_MY.js +++ b/core/l10n/ms_MY.js @@ -75,7 +75,6 @@ OC.L10N.register( "Finish setup" : "Setup selesai", "Log out" : "Log keluar", "Search" : "Cari", - "remember" : "ingat", - "Log in" : "Log masuk" + "remember" : "ingat" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/ms_MY.json b/core/l10n/ms_MY.json index 3de546e03c..7e8fa3e085 100644 --- a/core/l10n/ms_MY.json +++ b/core/l10n/ms_MY.json @@ -73,7 +73,6 @@ "Finish setup" : "Setup selesai", "Log out" : "Log keluar", "Search" : "Cari", - "remember" : "ingat", - "Log in" : "Log masuk" + "remember" : "ingat" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/my_MM.js b/core/l10n/my_MM.js index a800e908dc..a885e55a22 100644 --- a/core/l10n/my_MM.js +++ b/core/l10n/my_MM.js @@ -39,7 +39,6 @@ OC.L10N.register( "Database password" : "Database စကားဝှက်", "Database name" : "Database အမည်", "Finish setup" : "တပ်ဆင်ခြင်းပြီးပါပြီ။", - "remember" : "မှတ်မိစေသည်", - "Log in" : "ဝင်ရောက်ရန်" + "remember" : "မှတ်မိစေသည်" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/my_MM.json b/core/l10n/my_MM.json index 329fd19431..a505042f7e 100644 --- a/core/l10n/my_MM.json +++ b/core/l10n/my_MM.json @@ -37,7 +37,6 @@ "Database password" : "Database စကားဝှက်", "Database name" : "Database အမည်", "Finish setup" : "တပ်ဆင်ခြင်းပြီးပါပြီ။", - "remember" : "မှတ်မိစေသည်", - "Log in" : "ဝင်ရောက်ရန်" + "remember" : "မှတ်မိစေသည်" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/nb_NO.js b/core/l10n/nb_NO.js index 1c1e7a2458..352a0ce78a 100644 --- a/core/l10n/nb_NO.js +++ b/core/l10n/nb_NO.js @@ -236,7 +236,6 @@ OC.L10N.register( "An internal error occured." : "Det oppstod en intern feil.", "Please try again or contact your administrator." : "Prøv igjen eller kontakt en administrator.", "remember" : "husk", - "Log in" : "Logg inn", "Alternative Logins" : "Alternative innlogginger", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hei,

Dette er en beskjed om at %s delte %s med deg.
Vis den!

", "This ownCloud instance is currently in single user mode." : "Denne ownCloud-instansen er for øyeblikket i enbrukermodus.", diff --git a/core/l10n/nb_NO.json b/core/l10n/nb_NO.json index d2ee6c14a7..22afa2b9c9 100644 --- a/core/l10n/nb_NO.json +++ b/core/l10n/nb_NO.json @@ -234,7 +234,6 @@ "An internal error occured." : "Det oppstod en intern feil.", "Please try again or contact your administrator." : "Prøv igjen eller kontakt en administrator.", "remember" : "husk", - "Log in" : "Logg inn", "Alternative Logins" : "Alternative innlogginger", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hei,

Dette er en beskjed om at %s delte %s med deg.
Vis den!

", "This ownCloud instance is currently in single user mode." : "Denne ownCloud-instansen er for øyeblikket i enbrukermodus.", diff --git a/core/l10n/nl.js b/core/l10n/nl.js index 80e0ef332f..b7606ec84c 100644 --- a/core/l10n/nl.js +++ b/core/l10n/nl.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Kon geen e-mail sturen aan de volgende gebruikers: %s", + "Preparing update" : "Update voorbereiden", "Turned on maintenance mode" : "Onderhoudsmodus ingeschakeld", "Turned off maintenance mode" : "Onderhoudsmodus uitgeschakeld", "Maintenance mode is kept active" : "Onderhoudsmodus blijft actief", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Reparatiefout:", "Following incompatible apps have been disabled: %s" : "De volgende incompatibele apps zijn uitgeschakeld: %s", "Following apps have been disabled: %s" : "De volgende apps zijn gedeactiveerd: %s", + "Already up to date" : "Al bijgewerkt", "File is too big" : "Bestand te groot", "Invalid file provided" : "Ongeldig bestand opgegeven", "No image or file provided" : "Geen afbeelding of bestand opgegeven", @@ -172,6 +174,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "De update is geslaagd. Er zijn wel waarschuwingen.", "The update was successful. Redirecting you to ownCloud now." : "De update is geslaagd. U wordt teruggeleid naar uw eigen ownCloud.", "Couldn't reset password because the token is invalid" : "Kon het wachtwoord niet herstellen, omdat het token ongeldig is", + "Couldn't reset password because the token is expired" : "Kon het wachtwoord niet herstellen, omdat het token verlopen is", "Couldn't send reset email. Please make sure your username is correct." : "Kon e-mail niet versturen. Verifieer of uw gebruikersnaam correct is.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Kon geen herstel e-mail versturen, omdat er geen e-mailadres bekend is bij deze gebruikersnaam. Neem contact op met uw beheerder.", "%s password reset" : "%s wachtwoord reset", @@ -247,7 +250,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Probeer het opnieuw of neem contact op met uw beheerder.", "Wrong password. Reset it?" : "Onjuist wachtwoord. Resetten?", "remember" : "onthoud gegevens", - "Log in" : "Meld u aan", "Alternative Logins" : "Alternatieve inlogs", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

%s deelt %s met u.
Bekijk hier!

", "This ownCloud instance is currently in single user mode." : "Deze ownCloud werkt momenteel in enkele gebruiker modus.", diff --git a/core/l10n/nl.json b/core/l10n/nl.json index 828d78bb4c..1a3b8a40ad 100644 --- a/core/l10n/nl.json +++ b/core/l10n/nl.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Kon geen e-mail sturen aan de volgende gebruikers: %s", + "Preparing update" : "Update voorbereiden", "Turned on maintenance mode" : "Onderhoudsmodus ingeschakeld", "Turned off maintenance mode" : "Onderhoudsmodus uitgeschakeld", "Maintenance mode is kept active" : "Onderhoudsmodus blijft actief", @@ -11,6 +12,7 @@ "Repair error: " : "Reparatiefout:", "Following incompatible apps have been disabled: %s" : "De volgende incompatibele apps zijn uitgeschakeld: %s", "Following apps have been disabled: %s" : "De volgende apps zijn gedeactiveerd: %s", + "Already up to date" : "Al bijgewerkt", "File is too big" : "Bestand te groot", "Invalid file provided" : "Ongeldig bestand opgegeven", "No image or file provided" : "Geen afbeelding of bestand opgegeven", @@ -170,6 +172,7 @@ "The update was successful. There were warnings." : "De update is geslaagd. Er zijn wel waarschuwingen.", "The update was successful. Redirecting you to ownCloud now." : "De update is geslaagd. U wordt teruggeleid naar uw eigen ownCloud.", "Couldn't reset password because the token is invalid" : "Kon het wachtwoord niet herstellen, omdat het token ongeldig is", + "Couldn't reset password because the token is expired" : "Kon het wachtwoord niet herstellen, omdat het token verlopen is", "Couldn't send reset email. Please make sure your username is correct." : "Kon e-mail niet versturen. Verifieer of uw gebruikersnaam correct is.", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "Kon geen herstel e-mail versturen, omdat er geen e-mailadres bekend is bij deze gebruikersnaam. Neem contact op met uw beheerder.", "%s password reset" : "%s wachtwoord reset", @@ -245,7 +248,6 @@ "Please try again or contact your administrator." : "Probeer het opnieuw of neem contact op met uw beheerder.", "Wrong password. Reset it?" : "Onjuist wachtwoord. Resetten?", "remember" : "onthoud gegevens", - "Log in" : "Meld u aan", "Alternative Logins" : "Alternatieve inlogs", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hallo,

%s deelt %s met u.
Bekijk hier!

", "This ownCloud instance is currently in single user mode." : "Deze ownCloud werkt momenteel in enkele gebruiker modus.", diff --git a/core/l10n/nn_NO.js b/core/l10n/nn_NO.js index bcc8592e02..7466a7d9a9 100644 --- a/core/l10n/nn_NO.js +++ b/core/l10n/nn_NO.js @@ -128,7 +128,6 @@ OC.L10N.register( "Log out" : "Logg ut", "Search" : "Søk", "remember" : "hugs", - "Log in" : "Logg inn", "Alternative Logins" : "Alternative innloggingar" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/nn_NO.json b/core/l10n/nn_NO.json index 7505fb8528..ae90139ddc 100644 --- a/core/l10n/nn_NO.json +++ b/core/l10n/nn_NO.json @@ -126,7 +126,6 @@ "Log out" : "Logg ut", "Search" : "Søk", "remember" : "hugs", - "Log in" : "Logg inn", "Alternative Logins" : "Alternative innloggingar" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/oc.js b/core/l10n/oc.js index f1448aa9de..910f5a2265 100644 --- a/core/l10n/oc.js +++ b/core/l10n/oc.js @@ -230,7 +230,6 @@ OC.L10N.register( "An internal error occured." : "Una error intèrna s'es produsida.", "Please try again or contact your administrator." : "Reensajatz o contactatz vòstre administrator.", "remember" : "se remembrar de ieu", - "Log in" : "Connexion", "Alternative Logins" : "Identificants alternatius", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Bonjorn,

Vos informam que %s a partejat %s amb vos.
Clicatz aicí per i accedir !

", "This ownCloud instance is currently in single user mode." : "Aquesta instància de ownCloud es actualament en mòde utilizaire unic.", diff --git a/core/l10n/oc.json b/core/l10n/oc.json index fedd7ec6c8..6c859cd0c7 100644 --- a/core/l10n/oc.json +++ b/core/l10n/oc.json @@ -228,7 +228,6 @@ "An internal error occured." : "Una error intèrna s'es produsida.", "Please try again or contact your administrator." : "Reensajatz o contactatz vòstre administrator.", "remember" : "se remembrar de ieu", - "Log in" : "Connexion", "Alternative Logins" : "Identificants alternatius", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Bonjorn,

Vos informam que %s a partejat %s amb vos.
Clicatz aicí per i accedir !

", "This ownCloud instance is currently in single user mode." : "Aquesta instància de ownCloud es actualament en mòde utilizaire unic.", diff --git a/core/l10n/pl.js b/core/l10n/pl.js index 61ce937889..a26c2b1e2b 100644 --- a/core/l10n/pl.js +++ b/core/l10n/pl.js @@ -207,7 +207,6 @@ OC.L10N.register( "Please contact your administrator." : "Skontaktuj się z administratorem", "Please try again or contact your administrator." : "Spróbuj ponownie lub skontaktuj się z administratorem.", "remember" : "pamiętaj", - "Log in" : "Zaloguj", "Alternative Logins" : "Alternatywne loginy", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Witam,

informuję, że %s udostępnianych zasobów %s jest z Tobą.
Zobacz!

", "This ownCloud instance is currently in single user mode." : "Ta instalacja ownCloud działa obecnie w trybie pojedynczego użytkownika.", diff --git a/core/l10n/pl.json b/core/l10n/pl.json index 0ad9d09142..0c3524c5cc 100644 --- a/core/l10n/pl.json +++ b/core/l10n/pl.json @@ -205,7 +205,6 @@ "Please contact your administrator." : "Skontaktuj się z administratorem", "Please try again or contact your administrator." : "Spróbuj ponownie lub skontaktuj się z administratorem.", "remember" : "pamiętaj", - "Log in" : "Zaloguj", "Alternative Logins" : "Alternatywne loginy", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Witam,

informuję, że %s udostępnianych zasobów %s jest z Tobą.
Zobacz!

", "This ownCloud instance is currently in single user mode." : "Ta instalacja ownCloud działa obecnie w trybie pojedynczego użytkownika.", diff --git a/core/l10n/pt_BR.js b/core/l10n/pt_BR.js index 9ecf345d7c..ad5cf69a79 100644 --- a/core/l10n/pt_BR.js +++ b/core/l10n/pt_BR.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "Não foi possível enviar e-mail para os seguintes usuários: %s", + "Preparing update" : "Preparando atualização", "Turned on maintenance mode" : "Ativar modo de manutenção", "Turned off maintenance mode" : "Desligar o modo de manutenção", "Maintenance mode is kept active" : "O modo de manutenção está sendo mantido como ativo", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "Reparação de erro:", "Following incompatible apps have been disabled: %s" : "Seguir aplicativos incompatíveis foi desativado: %s", "Following apps have been disabled: %s" : "Os seguintes aplicativos foram desabilitados: %s", + "Already up to date" : "Já está atualizado", "File is too big" : "O arquivo é muito grande", "Invalid file provided" : "Arquivo fornecido inválido", "No image or file provided" : "Nenhuma imagem ou arquivo fornecido", @@ -248,7 +250,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Por favor tente novamente ou faça contato com o seu administrador.", "Wrong password. Reset it?" : "Senha incorreta. Redefini-la?", "remember" : "lembrar", - "Log in" : "Fazer login", "Alternative Logins" : "Logins Alternativos", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Olá,

só para seu conhecimento que %s compartilhou %s com você.
Verificar!

", "This ownCloud instance is currently in single user mode." : "Nesta instância ownCloud está em modo de usuário único.", diff --git a/core/l10n/pt_BR.json b/core/l10n/pt_BR.json index b82874a826..bcc3522c43 100644 --- a/core/l10n/pt_BR.json +++ b/core/l10n/pt_BR.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "Não foi possível enviar e-mail para os seguintes usuários: %s", + "Preparing update" : "Preparando atualização", "Turned on maintenance mode" : "Ativar modo de manutenção", "Turned off maintenance mode" : "Desligar o modo de manutenção", "Maintenance mode is kept active" : "O modo de manutenção está sendo mantido como ativo", @@ -11,6 +12,7 @@ "Repair error: " : "Reparação de erro:", "Following incompatible apps have been disabled: %s" : "Seguir aplicativos incompatíveis foi desativado: %s", "Following apps have been disabled: %s" : "Os seguintes aplicativos foram desabilitados: %s", + "Already up to date" : "Já está atualizado", "File is too big" : "O arquivo é muito grande", "Invalid file provided" : "Arquivo fornecido inválido", "No image or file provided" : "Nenhuma imagem ou arquivo fornecido", @@ -246,7 +248,6 @@ "Please try again or contact your administrator." : "Por favor tente novamente ou faça contato com o seu administrador.", "Wrong password. Reset it?" : "Senha incorreta. Redefini-la?", "remember" : "lembrar", - "Log in" : "Fazer login", "Alternative Logins" : "Logins Alternativos", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Olá,

só para seu conhecimento que %s compartilhou %s com você.
Verificar!

", "This ownCloud instance is currently in single user mode." : "Nesta instância ownCloud está em modo de usuário único.", diff --git a/core/l10n/pt_PT.js b/core/l10n/pt_PT.js index 1dceca1fda..537efc3472 100644 --- a/core/l10n/pt_PT.js +++ b/core/l10n/pt_PT.js @@ -234,7 +234,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Por favor tente de novo ou contacte o administrador.", "Wrong password. Reset it?" : "Senha errada. Repô-la?", "remember" : "lembrar", - "Log in" : "Entrar", "Alternative Logins" : "Contas de acesso alternativas", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Olá,

apenas para informar que %s partilhou %s consigo.
Consulte aqui!

", "This ownCloud instance is currently in single user mode." : "Esta instância do ownCloud está actualmente configurada no modo de utilizador único.", diff --git a/core/l10n/pt_PT.json b/core/l10n/pt_PT.json index 3eabc73b28..17c5b5dd58 100644 --- a/core/l10n/pt_PT.json +++ b/core/l10n/pt_PT.json @@ -232,7 +232,6 @@ "Please try again or contact your administrator." : "Por favor tente de novo ou contacte o administrador.", "Wrong password. Reset it?" : "Senha errada. Repô-la?", "remember" : "lembrar", - "Log in" : "Entrar", "Alternative Logins" : "Contas de acesso alternativas", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Olá,

apenas para informar que %s partilhou %s consigo.
Consulte aqui!

", "This ownCloud instance is currently in single user mode." : "Esta instância do ownCloud está actualmente configurada no modo de utilizador único.", diff --git a/core/l10n/ro.js b/core/l10n/ro.js index 5b54c4a429..054c5fcb18 100644 --- a/core/l10n/ro.js +++ b/core/l10n/ro.js @@ -149,7 +149,6 @@ OC.L10N.register( "Log out" : "Ieșire", "Search" : "Căutare", "remember" : "amintește", - "Log in" : "Autentificare", "Alternative Logins" : "Conectări alternative", "Thank you for your patience." : "Îți mulțumim pentru răbrade.", "Start update" : "Începe actualizarea" diff --git a/core/l10n/ro.json b/core/l10n/ro.json index 90888980ee..41f9e9ab0f 100644 --- a/core/l10n/ro.json +++ b/core/l10n/ro.json @@ -147,7 +147,6 @@ "Log out" : "Ieșire", "Search" : "Căutare", "remember" : "amintește", - "Log in" : "Autentificare", "Alternative Logins" : "Conectări alternative", "Thank you for your patience." : "Îți mulțumim pentru răbrade.", "Start update" : "Începe actualizarea" diff --git a/core/l10n/ru.js b/core/l10n/ru.js index 9de31c69e8..5b114a933f 100644 --- a/core/l10n/ru.js +++ b/core/l10n/ru.js @@ -240,7 +240,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "Пожалуйста попробуйте ещё раз или свяжитесь с вашим администратором", "Wrong password. Reset it?" : "Неправильный пароль. Сбросить его?", "remember" : "запомнить", - "Log in" : "Войти", "Alternative Logins" : "Альтернативные имена пользователя", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Здравствуйте,

%s поделился с вами %s.
Перейдите по ссылке, чтобы посмотреть

", "This ownCloud instance is currently in single user mode." : "Сервер ownCloud в настоящее время работает в однопользовательском режиме.", diff --git a/core/l10n/ru.json b/core/l10n/ru.json index a1f22cb9dd..b9b2bc4e1c 100644 --- a/core/l10n/ru.json +++ b/core/l10n/ru.json @@ -238,7 +238,6 @@ "Please try again or contact your administrator." : "Пожалуйста попробуйте ещё раз или свяжитесь с вашим администратором", "Wrong password. Reset it?" : "Неправильный пароль. Сбросить его?", "remember" : "запомнить", - "Log in" : "Войти", "Alternative Logins" : "Альтернативные имена пользователя", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Здравствуйте,

%s поделился с вами %s.
Перейдите по ссылке, чтобы посмотреть

", "This ownCloud instance is currently in single user mode." : "Сервер ownCloud в настоящее время работает в однопользовательском режиме.", diff --git a/core/l10n/si_LK.js b/core/l10n/si_LK.js index 5f20a83a27..be29a54e7b 100644 --- a/core/l10n/si_LK.js +++ b/core/l10n/si_LK.js @@ -82,7 +82,6 @@ OC.L10N.register( "Finish setup" : "ස්ථාපනය කිරීම අවසන් කරන්න", "Log out" : "නික්මීම", "Search" : "සොයන්න", - "remember" : "මතක තබාගන්න", - "Log in" : "ප්‍රවේශවන්න" + "remember" : "මතක තබාගන්න" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/si_LK.json b/core/l10n/si_LK.json index 8d1a02c4de..6863860932 100644 --- a/core/l10n/si_LK.json +++ b/core/l10n/si_LK.json @@ -80,7 +80,6 @@ "Finish setup" : "ස්ථාපනය කිරීම අවසන් කරන්න", "Log out" : "නික්මීම", "Search" : "සොයන්න", - "remember" : "මතක තබාගන්න", - "Log in" : "ප්‍රවේශවන්න" + "remember" : "මතක තබාගන්න" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/sk_SK.js b/core/l10n/sk_SK.js index 8b17371774..a08bc9d09f 100644 --- a/core/l10n/sk_SK.js +++ b/core/l10n/sk_SK.js @@ -228,7 +228,6 @@ OC.L10N.register( "An internal error occured." : "Vyskytla sa vnútorná chyba.", "Please try again or contact your administrator." : "Skúste to znovu, alebo sa obráťte na vášho administrátora.", "remember" : "zapamätať", - "Log in" : "Prihlásiť sa", "Alternative Logins" : "Alternatívne prihlásenie", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Dobrý deň,

Používateľ %s zdieľa s vami súbor, alebo priečinok s názvom »%s«.
Pre zobrazenie kliknite na túto linku!

", "This ownCloud instance is currently in single user mode." : "Táto inštancia ownCloudu je teraz v jednopoužívateľskom móde.", diff --git a/core/l10n/sk_SK.json b/core/l10n/sk_SK.json index c36ee19839..fcb358cdf9 100644 --- a/core/l10n/sk_SK.json +++ b/core/l10n/sk_SK.json @@ -226,7 +226,6 @@ "An internal error occured." : "Vyskytla sa vnútorná chyba.", "Please try again or contact your administrator." : "Skúste to znovu, alebo sa obráťte na vášho administrátora.", "remember" : "zapamätať", - "Log in" : "Prihlásiť sa", "Alternative Logins" : "Alternatívne prihlásenie", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Dobrý deň,

Používateľ %s zdieľa s vami súbor, alebo priečinok s názvom »%s«.
Pre zobrazenie kliknite na túto linku!

", "This ownCloud instance is currently in single user mode." : "Táto inštancia ownCloudu je teraz v jednopoužívateľskom móde.", diff --git a/core/l10n/sl.js b/core/l10n/sl.js index f6599d5c2e..cc7633c062 100644 --- a/core/l10n/sl.js +++ b/core/l10n/sl.js @@ -201,7 +201,6 @@ OC.L10N.register( "Server side authentication failed!" : "Overitev s strežnika je spodletela!", "Please contact your administrator." : "Stopite v stik s skrbnikom sistema.", "remember" : "zapomni si", - "Log in" : "Prijava", "Alternative Logins" : "Druge prijavne možnosti", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Pozdravljeni,

uporabnik %s vam je omogočil souporabo %s.
Oglejte si vsebino!

", "This ownCloud instance is currently in single user mode." : "Ta seja oblaka ownCloud je trenutno v načinu enega sočasnega uporabnika.", diff --git a/core/l10n/sl.json b/core/l10n/sl.json index b886b8cd48..96945519ca 100644 --- a/core/l10n/sl.json +++ b/core/l10n/sl.json @@ -199,7 +199,6 @@ "Server side authentication failed!" : "Overitev s strežnika je spodletela!", "Please contact your administrator." : "Stopite v stik s skrbnikom sistema.", "remember" : "zapomni si", - "Log in" : "Prijava", "Alternative Logins" : "Druge prijavne možnosti", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Pozdravljeni,

uporabnik %s vam je omogočil souporabo %s.
Oglejte si vsebino!

", "This ownCloud instance is currently in single user mode." : "Ta seja oblaka ownCloud je trenutno v načinu enega sočasnega uporabnika.", diff --git a/core/l10n/sq.js b/core/l10n/sq.js index b3f23289c0..8e5eda15f0 100644 --- a/core/l10n/sq.js +++ b/core/l10n/sq.js @@ -191,7 +191,6 @@ OC.L10N.register( "Server side authentication failed!" : "Verifikimi në krahun e serverit dështoi!", "Please contact your administrator." : "Ju lutem kontaktoni administratorin.", "remember" : "kujto", - "Log in" : "Hyrje", "Alternative Logins" : "Hyrje alternative", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Tungjatjeta,

dëshirojmë t'ju njoftojmë se %s ka ndarë %s me ju.
Klikoni këtu për ta shikuar!
", "This ownCloud instance is currently in single user mode." : "Kjo instancë ownCloud është aktualisht në gjendje me përdorues të vetëm.", diff --git a/core/l10n/sq.json b/core/l10n/sq.json index 6005136d8e..24d73ab822 100644 --- a/core/l10n/sq.json +++ b/core/l10n/sq.json @@ -189,7 +189,6 @@ "Server side authentication failed!" : "Verifikimi në krahun e serverit dështoi!", "Please contact your administrator." : "Ju lutem kontaktoni administratorin.", "remember" : "kujto", - "Log in" : "Hyrje", "Alternative Logins" : "Hyrje alternative", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Tungjatjeta,

dëshirojmë t'ju njoftojmë se %s ka ndarë %s me ju.
Klikoni këtu për ta shikuar!
", "This ownCloud instance is currently in single user mode." : "Kjo instancë ownCloud është aktualisht në gjendje me përdorues të vetëm.", diff --git a/core/l10n/sr.js b/core/l10n/sr.js index b32e4467c6..ac11270c8b 100644 --- a/core/l10n/sr.js +++ b/core/l10n/sr.js @@ -234,7 +234,6 @@ OC.L10N.register( "An internal error occured." : "Дошло је до интерне грешке.", "Please try again or contact your administrator." : "Покушајте поново или контактирајте вашег администратора.", "remember" : "упамти", - "Log in" : "Пријава", "Alternative Logins" : "Алтернативне пријаве", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Поздрав,

само вас обавештавам да %s дели %s са вама.
Погледајте!

", "This ownCloud instance is currently in single user mode." : "Овај оунКлауд тренутно ради у режиму једног корисника.", diff --git a/core/l10n/sr.json b/core/l10n/sr.json index ffb7d87c7e..ceee884de1 100644 --- a/core/l10n/sr.json +++ b/core/l10n/sr.json @@ -232,7 +232,6 @@ "An internal error occured." : "Дошло је до интерне грешке.", "Please try again or contact your administrator." : "Покушајте поново или контактирајте вашег администратора.", "remember" : "упамти", - "Log in" : "Пријава", "Alternative Logins" : "Алтернативне пријаве", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Поздрав,

само вас обавештавам да %s дели %s са вама.
Погледајте!

", "This ownCloud instance is currently in single user mode." : "Овај оунКлауд тренутно ради у режиму једног корисника.", diff --git a/core/l10n/sr@latin.js b/core/l10n/sr@latin.js index 36a69cfb9f..5108f16d99 100644 --- a/core/l10n/sr@latin.js +++ b/core/l10n/sr@latin.js @@ -197,7 +197,6 @@ OC.L10N.register( "Server side authentication failed!" : "Provera identiteta na stani servera nije uspela!", "Please contact your administrator." : "Molimo Vas da kontaktirate Vašeg administratora.", "remember" : "upamti", - "Log in" : "Prijavi se", "Alternative Logins" : "Alternativne prijave", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej,

samo ti javljamo da je %s delio %s sa tobom.
Pogledaj!

", "This ownCloud instance is currently in single user mode." : "Ova instanca ownCloud-a je trenutno u režimu rada jednog korisnika.", diff --git a/core/l10n/sr@latin.json b/core/l10n/sr@latin.json index 4402ff3e6a..5bc49c7e58 100644 --- a/core/l10n/sr@latin.json +++ b/core/l10n/sr@latin.json @@ -195,7 +195,6 @@ "Server side authentication failed!" : "Provera identiteta na stani servera nije uspela!", "Please contact your administrator." : "Molimo Vas da kontaktirate Vašeg administratora.", "remember" : "upamti", - "Log in" : "Prijavi se", "Alternative Logins" : "Alternativne prijave", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej,

samo ti javljamo da je %s delio %s sa tobom.
Pogledaj!

", "This ownCloud instance is currently in single user mode." : "Ova instanca ownCloud-a je trenutno u režimu rada jednog korisnika.", diff --git a/core/l10n/sv.js b/core/l10n/sv.js index 8852d1ca23..a5a7895b2c 100644 --- a/core/l10n/sv.js +++ b/core/l10n/sv.js @@ -202,7 +202,6 @@ OC.L10N.register( "Server side authentication failed!" : "Servern misslyckades med autentisering!", "Please contact your administrator." : "Kontakta din administratör.", "remember" : "kom ihåg", - "Log in" : "Logga in", "Alternative Logins" : "Alternativa inloggningar", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej där,

ville bara informera dig om att %s delade %s med dig.
Visa den!

", "This ownCloud instance is currently in single user mode." : "Denna ownCloud instans är för närvarande i enanvändarläge", diff --git a/core/l10n/sv.json b/core/l10n/sv.json index f49900f04a..307fd6afc7 100644 --- a/core/l10n/sv.json +++ b/core/l10n/sv.json @@ -200,7 +200,6 @@ "Server side authentication failed!" : "Servern misslyckades med autentisering!", "Please contact your administrator." : "Kontakta din administratör.", "remember" : "kom ihåg", - "Log in" : "Logga in", "Alternative Logins" : "Alternativa inloggningar", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Hej där,

ville bara informera dig om att %s delade %s med dig.
Visa den!

", "This ownCloud instance is currently in single user mode." : "Denna ownCloud instans är för närvarande i enanvändarläge", diff --git a/core/l10n/ta_LK.js b/core/l10n/ta_LK.js index a22802bee0..21025db2fa 100644 --- a/core/l10n/ta_LK.js +++ b/core/l10n/ta_LK.js @@ -93,7 +93,6 @@ OC.L10N.register( "Finish setup" : "அமைப்பை முடிக்க", "Log out" : "விடுபதிகை செய்க", "Search" : "தேடுதல்", - "remember" : "ஞாபகப்படுத்துக", - "Log in" : "புகுபதிகை" + "remember" : "ஞாபகப்படுத்துக" }, "nplurals=2; plural=(n != 1);"); diff --git a/core/l10n/ta_LK.json b/core/l10n/ta_LK.json index 07d08aa9d7..a7f2899902 100644 --- a/core/l10n/ta_LK.json +++ b/core/l10n/ta_LK.json @@ -91,7 +91,6 @@ "Finish setup" : "அமைப்பை முடிக்க", "Log out" : "விடுபதிகை செய்க", "Search" : "தேடுதல்", - "remember" : "ஞாபகப்படுத்துக", - "Log in" : "புகுபதிகை" + "remember" : "ஞாபகப்படுத்துக" },"pluralForm" :"nplurals=2; plural=(n != 1);" } \ No newline at end of file diff --git a/core/l10n/th_TH.js b/core/l10n/th_TH.js index 65a7de7705..142895dd1d 100644 --- a/core/l10n/th_TH.js +++ b/core/l10n/th_TH.js @@ -2,6 +2,7 @@ OC.L10N.register( "core", { "Couldn't send mail to following users: %s " : "ไม่สามารถส่งอีเมลไปยังผู้ใช้: %s", + "Preparing update" : "เตรียมอัพเดท", "Turned on maintenance mode" : "เปิดโหมดการบำรุงรักษา", "Turned off maintenance mode" : "ปิดโหมดการบำรุงรักษา", "Maintenance mode is kept active" : "โหมดการบำรุงรักษาจะถูกเก็บไว้ใช้งาน", @@ -13,6 +14,7 @@ OC.L10N.register( "Repair error: " : "เกิดข้อผิดพลาดในการซ่อมแซม:", "Following incompatible apps have been disabled: %s" : "แอพพลิเคชันต่อไปนี้เข้ากันไม่ได้มันจะถูกปิดการใช้งาน: %s", "Following apps have been disabled: %s" : "แอพฯดังต่อไปนี้ถูกปิดการใช้งาน: %s", + "Already up to date" : "มีอยู่แล้วถึงวันที่", "File is too big" : "ไฟล์มีขนาดใหญ่เกินไป", "Invalid file provided" : "ระบุไฟล์ไม่ถูกต้อง", "No image or file provided" : "ไม่มีรูปภาพหรือไฟล์ที่ระบุ", @@ -172,6 +174,7 @@ OC.L10N.register( "The update was successful. There were warnings." : "การอัพเดทสำเร็จ แต่มีคำเตือนอยู่", "The update was successful. Redirecting you to ownCloud now." : "การอัพเดทเสร็จเรียบร้อย กำลังเปลี่ยนเส้นทางไปที่ ownCloud อยู่ในขณะนี้", "Couldn't reset password because the token is invalid" : "ไม่สามารถตั้งรหัสผ่านใหม่เพราะโทเค็นไม่ถูกต้อง", + "Couldn't reset password because the token is expired" : "ไม่สามารถตั้งค่ารหัสผ่านเพราะโทเค็นหมดอายุ", "Couldn't send reset email. Please make sure your username is correct." : "ไม่สามารถส่งการตั้งค่าอีเมลใหม่ กรุณาตรวจสอบชื่อผู้ใช้ของคุณให้ถูกต้อง", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "ไม่สามารถส่งการตั้งค่าอีเมลใหม่เพราะไม่มีที่อยู่อีเมลนี้ กรุณาติดต่อผู้ดูแลระบบ", "%s password reset" : "%s ตั้งรหัสผ่านใหม่", @@ -247,7 +250,6 @@ OC.L10N.register( "Please try again or contact your administrator." : "โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบ", "Wrong password. Reset it?" : "รหัสผ่านผิด ตั้งค่าใหม่?", "remember" : "จดจำฉัน", - "Log in" : "เข้าสู่ระบบ", "Alternative Logins" : "ทางเลือกการเข้าสู่ระบบ", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "นี่คุณ,

อยากให้คุณทราบว่า %s ได้แชร์ %s กับคุณ
คลิกดูที่นี่

", "This ownCloud instance is currently in single user mode." : "ขณะนี้ ownCloud อยู่ในโหมดผู้ใช้คนเดียว", diff --git a/core/l10n/th_TH.json b/core/l10n/th_TH.json index a10ff46185..88c74d1eb4 100644 --- a/core/l10n/th_TH.json +++ b/core/l10n/th_TH.json @@ -1,5 +1,6 @@ { "translations": { "Couldn't send mail to following users: %s " : "ไม่สามารถส่งอีเมลไปยังผู้ใช้: %s", + "Preparing update" : "เตรียมอัพเดท", "Turned on maintenance mode" : "เปิดโหมดการบำรุงรักษา", "Turned off maintenance mode" : "ปิดโหมดการบำรุงรักษา", "Maintenance mode is kept active" : "โหมดการบำรุงรักษาจะถูกเก็บไว้ใช้งาน", @@ -11,6 +12,7 @@ "Repair error: " : "เกิดข้อผิดพลาดในการซ่อมแซม:", "Following incompatible apps have been disabled: %s" : "แอพพลิเคชันต่อไปนี้เข้ากันไม่ได้มันจะถูกปิดการใช้งาน: %s", "Following apps have been disabled: %s" : "แอพฯดังต่อไปนี้ถูกปิดการใช้งาน: %s", + "Already up to date" : "มีอยู่แล้วถึงวันที่", "File is too big" : "ไฟล์มีขนาดใหญ่เกินไป", "Invalid file provided" : "ระบุไฟล์ไม่ถูกต้อง", "No image or file provided" : "ไม่มีรูปภาพหรือไฟล์ที่ระบุ", @@ -170,6 +172,7 @@ "The update was successful. There were warnings." : "การอัพเดทสำเร็จ แต่มีคำเตือนอยู่", "The update was successful. Redirecting you to ownCloud now." : "การอัพเดทเสร็จเรียบร้อย กำลังเปลี่ยนเส้นทางไปที่ ownCloud อยู่ในขณะนี้", "Couldn't reset password because the token is invalid" : "ไม่สามารถตั้งรหัสผ่านใหม่เพราะโทเค็นไม่ถูกต้อง", + "Couldn't reset password because the token is expired" : "ไม่สามารถตั้งค่ารหัสผ่านเพราะโทเค็นหมดอายุ", "Couldn't send reset email. Please make sure your username is correct." : "ไม่สามารถส่งการตั้งค่าอีเมลใหม่ กรุณาตรวจสอบชื่อผู้ใช้ของคุณให้ถูกต้อง", "Couldn't send reset email because there is no email address for this username. Please contact your administrator." : "ไม่สามารถส่งการตั้งค่าอีเมลใหม่เพราะไม่มีที่อยู่อีเมลนี้ กรุณาติดต่อผู้ดูแลระบบ", "%s password reset" : "%s ตั้งรหัสผ่านใหม่", @@ -245,7 +248,6 @@ "Please try again or contact your administrator." : "โปรดลองอีกครั้งหรือติดต่อผู้ดูแลระบบ", "Wrong password. Reset it?" : "รหัสผ่านผิด ตั้งค่าใหม่?", "remember" : "จดจำฉัน", - "Log in" : "เข้าสู่ระบบ", "Alternative Logins" : "ทางเลือกการเข้าสู่ระบบ", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "นี่คุณ,

อยากให้คุณทราบว่า %s ได้แชร์ %s กับคุณ
คลิกดูที่นี่

", "This ownCloud instance is currently in single user mode." : "ขณะนี้ ownCloud อยู่ในโหมดผู้ใช้คนเดียว", diff --git a/core/l10n/tr.js b/core/l10n/tr.js index df0509bd27..bedc5ce7e2 100644 --- a/core/l10n/tr.js +++ b/core/l10n/tr.js @@ -236,7 +236,6 @@ OC.L10N.register( "An internal error occured." : "Dahili bir hata oluştu.", "Please try again or contact your administrator." : "Lütfen yeniden deneyin veya yöneticinizle iletişim kurun.", "remember" : "hatırla", - "Log in" : "Giriş yap", "Alternative Logins" : "Alternatif Girişler", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Merhaba,

%s kullanıcısının sizinle %s paylaşımında bulunduğunu bildirmek istedik.
Paylaşımı gör!

", "This ownCloud instance is currently in single user mode." : "Bu ownCloud örneği şu anda tek kullanıcı kipinde.", diff --git a/core/l10n/tr.json b/core/l10n/tr.json index b421d14009..3925a97627 100644 --- a/core/l10n/tr.json +++ b/core/l10n/tr.json @@ -234,7 +234,6 @@ "An internal error occured." : "Dahili bir hata oluştu.", "Please try again or contact your administrator." : "Lütfen yeniden deneyin veya yöneticinizle iletişim kurun.", "remember" : "hatırla", - "Log in" : "Giriş yap", "Alternative Logins" : "Alternatif Girişler", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Merhaba,

%s kullanıcısının sizinle %s paylaşımında bulunduğunu bildirmek istedik.
Paylaşımı gör!

", "This ownCloud instance is currently in single user mode." : "Bu ownCloud örneği şu anda tek kullanıcı kipinde.", diff --git a/core/l10n/uk.js b/core/l10n/uk.js index 580126e39c..ab5689e64f 100644 --- a/core/l10n/uk.js +++ b/core/l10n/uk.js @@ -230,7 +230,6 @@ OC.L10N.register( "An internal error occured." : "Виникла внутрішня помилка.", "Please try again or contact your administrator." : "Будь ласка, спробуйте ще раз або зверніться до адміністратора.", "remember" : "запам'ятати", - "Log in" : "Увійти", "Alternative Logins" : "Альтернативні імена користувача", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Агов,

просто повідомляємо вам, що %s поділився »%s« з вами.
Перегляньте!

", "This ownCloud instance is currently in single user mode." : "Сервер ownCloud в даний час працює в однокористувацькому режимі.", diff --git a/core/l10n/uk.json b/core/l10n/uk.json index 188b043694..7d92acb3cc 100644 --- a/core/l10n/uk.json +++ b/core/l10n/uk.json @@ -228,7 +228,6 @@ "An internal error occured." : "Виникла внутрішня помилка.", "Please try again or contact your administrator." : "Будь ласка, спробуйте ще раз або зверніться до адміністратора.", "remember" : "запам'ятати", - "Log in" : "Увійти", "Alternative Logins" : "Альтернативні імена користувача", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "Агов,

просто повідомляємо вам, що %s поділився »%s« з вами.
Перегляньте!

", "This ownCloud instance is currently in single user mode." : "Сервер ownCloud в даний час працює в однокористувацькому режимі.", diff --git a/core/l10n/ur_PK.js b/core/l10n/ur_PK.js index a89d990eea..bae6b15686 100644 --- a/core/l10n/ur_PK.js +++ b/core/l10n/ur_PK.js @@ -111,7 +111,6 @@ OC.L10N.register( "Log out" : "لاگ آؤٹ", "Search" : "تلاش", "remember" : "یاد رکھیں", - "Log in" : "لاگ ان", "Alternative Logins" : "متبادل لاگ ان ", "Thank you for your patience." : "آپ کے صبر کا شکریہ" }, diff --git a/core/l10n/ur_PK.json b/core/l10n/ur_PK.json index 2cb01f2aed..b2166dfa3b 100644 --- a/core/l10n/ur_PK.json +++ b/core/l10n/ur_PK.json @@ -109,7 +109,6 @@ "Log out" : "لاگ آؤٹ", "Search" : "تلاش", "remember" : "یاد رکھیں", - "Log in" : "لاگ ان", "Alternative Logins" : "متبادل لاگ ان ", "Thank you for your patience." : "آپ کے صبر کا شکریہ" },"pluralForm" :"nplurals=2; plural=(n != 1);" diff --git a/core/l10n/vi.js b/core/l10n/vi.js index fe5d79f46b..c51c1563fe 100644 --- a/core/l10n/vi.js +++ b/core/l10n/vi.js @@ -142,7 +142,6 @@ OC.L10N.register( "Server side authentication failed!" : "Xác thực phía máy chủ không thành công!", "Please contact your administrator." : "Vui lòng liên hệ với quản trị viên.", "remember" : "ghi nhớ", - "Log in" : "Đăng nhập", "Alternative Logins" : "Đăng nhập khác", "This ownCloud instance is currently in single user mode." : "OwnCloud trong trường hợp này đang ở chế độ người dùng duy nhất.", "This means only administrators can use the instance." : "Điều này có nghĩa chỉ có người quản trị có thể sử dụng trong trường hợp này.", diff --git a/core/l10n/vi.json b/core/l10n/vi.json index 7080777480..ba8015cafb 100644 --- a/core/l10n/vi.json +++ b/core/l10n/vi.json @@ -140,7 +140,6 @@ "Server side authentication failed!" : "Xác thực phía máy chủ không thành công!", "Please contact your administrator." : "Vui lòng liên hệ với quản trị viên.", "remember" : "ghi nhớ", - "Log in" : "Đăng nhập", "Alternative Logins" : "Đăng nhập khác", "This ownCloud instance is currently in single user mode." : "OwnCloud trong trường hợp này đang ở chế độ người dùng duy nhất.", "This means only administrators can use the instance." : "Điều này có nghĩa chỉ có người quản trị có thể sử dụng trong trường hợp này.", diff --git a/core/l10n/zh_CN.js b/core/l10n/zh_CN.js index 7f502f307e..e82635fe94 100644 --- a/core/l10n/zh_CN.js +++ b/core/l10n/zh_CN.js @@ -237,7 +237,6 @@ OC.L10N.register( "An internal error occured." : "发生了内部错误。", "Please try again or contact your administrator." : "请重试或联系管理员。", "remember" : "记住", - "Log in" : "登录", "Alternative Logins" : "其他登录方式", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "嗨、你好,

只想让你知道 %s 分享了 %s 给你。
现在查看!

", "This ownCloud instance is currently in single user mode." : "当前ownCloud实例运行在单用户模式下。", diff --git a/core/l10n/zh_CN.json b/core/l10n/zh_CN.json index f0e45555f0..d47be1b0c5 100644 --- a/core/l10n/zh_CN.json +++ b/core/l10n/zh_CN.json @@ -235,7 +235,6 @@ "An internal error occured." : "发生了内部错误。", "Please try again or contact your administrator." : "请重试或联系管理员。", "remember" : "记住", - "Log in" : "登录", "Alternative Logins" : "其他登录方式", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "嗨、你好,

只想让你知道 %s 分享了 %s 给你。
现在查看!

", "This ownCloud instance is currently in single user mode." : "当前ownCloud实例运行在单用户模式下。", diff --git a/core/l10n/zh_HK.js b/core/l10n/zh_HK.js index c4fb9b3486..fc1bef316a 100644 --- a/core/l10n/zh_HK.js +++ b/core/l10n/zh_HK.js @@ -68,7 +68,6 @@ OC.L10N.register( "Database name" : "資料庫名稱", "Log out" : "登出", "Search" : "尋找", - "remember" : "記住", - "Log in" : "登入" + "remember" : "記住" }, "nplurals=1; plural=0;"); diff --git a/core/l10n/zh_HK.json b/core/l10n/zh_HK.json index 5aedf688dc..2a6230797c 100644 --- a/core/l10n/zh_HK.json +++ b/core/l10n/zh_HK.json @@ -66,7 +66,6 @@ "Database name" : "資料庫名稱", "Log out" : "登出", "Search" : "尋找", - "remember" : "記住", - "Log in" : "登入" + "remember" : "記住" },"pluralForm" :"nplurals=1; plural=0;" } \ No newline at end of file diff --git a/core/l10n/zh_TW.js b/core/l10n/zh_TW.js index d93f3a8ec8..29ef83f261 100644 --- a/core/l10n/zh_TW.js +++ b/core/l10n/zh_TW.js @@ -187,7 +187,6 @@ OC.L10N.register( "Server side authentication failed!" : "伺服器端認證失敗!", "Please contact your administrator." : "請聯絡系統管理員。", "remember" : "記住", - "Log in" : "登入", "Alternative Logins" : "其他登入方法", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "嗨,

%s 與你分享了%s
檢視

", "This ownCloud instance is currently in single user mode." : "這個 ownCloud 伺服器目前運作於單一使用者模式", diff --git a/core/l10n/zh_TW.json b/core/l10n/zh_TW.json index 0bfc3e619e..bf1e1a5ff5 100644 --- a/core/l10n/zh_TW.json +++ b/core/l10n/zh_TW.json @@ -185,7 +185,6 @@ "Server side authentication failed!" : "伺服器端認證失敗!", "Please contact your administrator." : "請聯絡系統管理員。", "remember" : "記住", - "Log in" : "登入", "Alternative Logins" : "其他登入方法", "Hey there,

just letting you know that %s shared %s with you.
View it!

" : "嗨,

%s 與你分享了%s
檢視

", "This ownCloud instance is currently in single user mode." : "這個 ownCloud 伺服器目前運作於單一使用者模式", diff --git a/lib/l10n/es.js b/lib/l10n/es.js index 5c66377bc5..e08ed66f1b 100644 --- a/lib/l10n/es.js +++ b/lib/l10n/es.js @@ -116,7 +116,7 @@ OC.L10N.register( "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "The username is already being used" : "El nombre de usuario ya está en uso", "No database drivers (sqlite, mysql, or postgresql) installed." : "No están instalados los drivers de BBDD (sqlite, mysql, o postgresql)", - "Microsoft Windows Platform is not supported" : "Plataforma Microsoft Windows no está soportada", + "Microsoft Windows Platform is not supported" : "La plataforma Microsoft Windows no está soportada", "Running ownCloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on %s. For migrating existing installations to Linux you can find some tips and a migration script in our documentation." : "Ejecutar el servidor ownCloud en la plataforma Microsoft Windows no está soportada. Sugerimos que utilice un servidor Linux en una máquina virtual si no posee opción de migrar de servidor. Encuentre paquetes de Linux así como implementar máquinas virtuales en %s. Para migrar instalaciones actuales hacia Linux puede encontrar algunos consejos y un script de migración en nuestra documentación.", "Cannot write into \"config\" directory" : "No se puede escribir el el directorio de configuración", "Cannot write into \"apps\" directory" : "No se puede escribir en el directorio de \"apps\"", diff --git a/lib/l10n/es.json b/lib/l10n/es.json index 57b4f936e8..f9bca10323 100644 --- a/lib/l10n/es.json +++ b/lib/l10n/es.json @@ -114,7 +114,7 @@ "A valid password must be provided" : "Se debe proporcionar una contraseña válida", "The username is already being used" : "El nombre de usuario ya está en uso", "No database drivers (sqlite, mysql, or postgresql) installed." : "No están instalados los drivers de BBDD (sqlite, mysql, o postgresql)", - "Microsoft Windows Platform is not supported" : "Plataforma Microsoft Windows no está soportada", + "Microsoft Windows Platform is not supported" : "La plataforma Microsoft Windows no está soportada", "Running ownCloud Server on the Microsoft Windows platform is not supported. We suggest you use a Linux server in a virtual machine if you have no option for migrating the server itself. Find Linux packages as well as easy to deploy virtual machine images on %s. For migrating existing installations to Linux you can find some tips and a migration script in our documentation." : "Ejecutar el servidor ownCloud en la plataforma Microsoft Windows no está soportada. Sugerimos que utilice un servidor Linux en una máquina virtual si no posee opción de migrar de servidor. Encuentre paquetes de Linux así como implementar máquinas virtuales en %s. Para migrar instalaciones actuales hacia Linux puede encontrar algunos consejos y un script de migración en nuestra documentación.", "Cannot write into \"config\" directory" : "No se puede escribir el el directorio de configuración", "Cannot write into \"apps\" directory" : "No se puede escribir en el directorio de \"apps\"", diff --git a/lib/l10n/nl.js b/lib/l10n/nl.js index c7a68c9000..d08e8294df 100644 --- a/lib/l10n/nl.js +++ b/lib/l10n/nl.js @@ -49,6 +49,7 @@ OC.L10N.register( "Can't read file" : "Kan bestand niet lezen", "App directory already exists" : "App directory bestaat al", "Can't create app folder. Please fix permissions. %s" : "Kan de app map niet aanmaken, Herstel de permissies. %s", + "Archive does not contain a directory named %s" : "Archief bevat geen directory genaamd %s", "No source specified when installing app" : "Geen bron opgegeven bij installatie van de app", "No href specified when installing app from http" : "Geen href opgegeven bij installeren van de app vanaf http", "No path specified when installing app from local file" : "Geen pad opgegeven bij installeren van de app vanaf een lokaal bestand", diff --git a/lib/l10n/nl.json b/lib/l10n/nl.json index 560e20fbd4..8d0b5dc716 100644 --- a/lib/l10n/nl.json +++ b/lib/l10n/nl.json @@ -47,6 +47,7 @@ "Can't read file" : "Kan bestand niet lezen", "App directory already exists" : "App directory bestaat al", "Can't create app folder. Please fix permissions. %s" : "Kan de app map niet aanmaken, Herstel de permissies. %s", + "Archive does not contain a directory named %s" : "Archief bevat geen directory genaamd %s", "No source specified when installing app" : "Geen bron opgegeven bij installatie van de app", "No href specified when installing app from http" : "Geen href opgegeven bij installeren van de app vanaf http", "No path specified when installing app from local file" : "Geen pad opgegeven bij installeren van de app vanaf een lokaal bestand", diff --git a/lib/l10n/th_TH.js b/lib/l10n/th_TH.js index c2d327e22d..2ff86f599e 100644 --- a/lib/l10n/th_TH.js +++ b/lib/l10n/th_TH.js @@ -49,6 +49,7 @@ OC.L10N.register( "Can't read file" : "ไม่สามารถอ่านไฟล์", "App directory already exists" : "มีไดเรกทอรีแอพฯอยู่แล้ว", "Can't create app folder. Please fix permissions. %s" : "ไม่สามารถสร้างโฟลเดอร์แอพพลิเคชัน โปรดแก้ไขการอนุญาต: %s", + "Archive does not contain a directory named %s" : "เอกสารไม่สามารถประกอบด้วยไดเรกทอรีชื่อ %s", "No source specified when installing app" : "ไม่ได้ระบุแหล่งที่มาเมื่อติดตั้งแอพพลิเคชัน", "No href specified when installing app from http" : "ไม่ได้ระบุ href เมื่อกำลังติดตั้งแอพพลิเคชันจาก http", "No path specified when installing app from local file" : "ไม่ได้ระบุเส้นทางไว้เมื่อกำลังติดตั้งแอพฯจากไฟล์ต้นทาง", diff --git a/lib/l10n/th_TH.json b/lib/l10n/th_TH.json index d6ffcb5f73..a215b67a18 100644 --- a/lib/l10n/th_TH.json +++ b/lib/l10n/th_TH.json @@ -47,6 +47,7 @@ "Can't read file" : "ไม่สามารถอ่านไฟล์", "App directory already exists" : "มีไดเรกทอรีแอพฯอยู่แล้ว", "Can't create app folder. Please fix permissions. %s" : "ไม่สามารถสร้างโฟลเดอร์แอพพลิเคชัน โปรดแก้ไขการอนุญาต: %s", + "Archive does not contain a directory named %s" : "เอกสารไม่สามารถประกอบด้วยไดเรกทอรีชื่อ %s", "No source specified when installing app" : "ไม่ได้ระบุแหล่งที่มาเมื่อติดตั้งแอพพลิเคชัน", "No href specified when installing app from http" : "ไม่ได้ระบุ href เมื่อกำลังติดตั้งแอพพลิเคชันจาก http", "No path specified when installing app from local file" : "ไม่ได้ระบุเส้นทางไว้เมื่อกำลังติดตั้งแอพฯจากไฟล์ต้นทาง", diff --git a/settings/l10n/es.js b/settings/l10n/es.js index 96baa987a8..51c22653ad 100644 --- a/settings/l10n/es.js +++ b/settings/l10n/es.js @@ -123,8 +123,8 @@ 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." : "Se ha habilitado la configuración de sólo lectura. Esto evita que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para eliminar bloques de documentos en línea. Esto hará que varias aplicaciones principales no estén accesibles.", "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 server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Su servidor está operando con Microsoft Windows. Le recomendamos Linux encarecidamente para disfrutar una experiencia óptima como usuario.", - "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "nueva versión %1$s, la version %2$s está instalada, por cuestiones de estabilidad y rendimiento , recomendamos actualizar a la nueva versión %1$s .", + "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Su servidor está operando con Microsoft Windows. Le recomendamos GNU/Linux encarecidamente para disfrutar una experiencia óptima como usuario.", + "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "nueva versión %1$s, la version %2$s está instalada, por cuestiones de estabilidad y rendimiento recomendamos actualizar a la nueva versión %1$s .", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "No se ha encontrado el modulo PHP 'fileinfo'. Le recomendamos encarecidamente que habilite este módulo para obtener mejores resultados con la detección de tipos MIME.", "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.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de los archivos.", @@ -213,7 +213,7 @@ OC.L10N.register( "Cheers!" : "¡Saludos!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hola, ¿qué tal?,\n\nEste mensaje es para hacerle saber que ahora tiene una cuenta %s.\n\nSu nombre de usuario: %s\nAcceda en: %s\n\n", "Administrator documentation" : "Documentación del adminsitrador", - "Online documentation" : "Documentación en linea", + "Online documentation" : "Documentación en línea", "Forum" : "Foro", "Issue tracker" : "Seguidor de problemas:", "Commercial support" : "Soporte Comercial", diff --git a/settings/l10n/es.json b/settings/l10n/es.json index f2e3b2ebd3..3c0fefc7cf 100644 --- a/settings/l10n/es.json +++ b/settings/l10n/es.json @@ -121,8 +121,8 @@ "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." : "Se ha habilitado la configuración de sólo lectura. Esto evita que ajustar algunas configuraciones a través de la interfaz web. Además, el archivo debe hacerse modificable manualmente para cada actualización.", "PHP is apparently setup to strip inline doc blocks. This will make several core apps inaccessible." : "PHP está aparentemente configurado para eliminar bloques de documentos en línea. Esto hará que varias aplicaciones principales no estén accesibles.", "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 server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Su servidor está operando con Microsoft Windows. Le recomendamos Linux encarecidamente para disfrutar una experiencia óptima como usuario.", - "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "nueva versión %1$s, la version %2$s está instalada, por cuestiones de estabilidad y rendimiento , recomendamos actualizar a la nueva versión %1$s .", + "Your server is running on Microsoft Windows. We highly recommend Linux for optimal user experience." : "Su servidor está operando con Microsoft Windows. Le recomendamos GNU/Linux encarecidamente para disfrutar una experiencia óptima como usuario.", + "%1$s below version %2$s is installed, for stability and performance reasons we recommend to update to a newer %1$s version." : "nueva versión %1$s, la version %2$s está instalada, por cuestiones de estabilidad y rendimiento recomendamos actualizar a la nueva versión %1$s .", "The PHP module 'fileinfo' is missing. We strongly recommend to enable this module to get best results with mime-type detection." : "No se ha encontrado el modulo PHP 'fileinfo'. Le recomendamos encarecidamente que habilite este módulo para obtener mejores resultados con la detección de tipos MIME.", "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.", "This means that there might be problems with certain characters in file names." : "Esto significa que puede haber problemas con ciertos caracteres en los nombres de los archivos.", @@ -211,7 +211,7 @@ "Cheers!" : "¡Saludos!", "Hey there,\n\njust letting you know that you now have an %s account.\n\nYour username: %s\nAccess it: %s\n\n" : "Hola, ¿qué tal?,\n\nEste mensaje es para hacerle saber que ahora tiene una cuenta %s.\n\nSu nombre de usuario: %s\nAcceda en: %s\n\n", "Administrator documentation" : "Documentación del adminsitrador", - "Online documentation" : "Documentación en linea", + "Online documentation" : "Documentación en línea", "Forum" : "Foro", "Issue tracker" : "Seguidor de problemas:", "Commercial support" : "Soporte Comercial", diff --git a/settings/l10n/nl.js b/settings/l10n/nl.js index 0b02904344..6fef65aabc 100644 --- a/settings/l10n/nl.js +++ b/settings/l10n/nl.js @@ -132,6 +132,7 @@ OC.L10N.register( "If your installation is not installed in 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 uw installatie niet in de hoofddirectory van het domein staat, maar wel cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou u de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van uw ownCloud (aanbevolen: \"%s\") ", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "het was niet mogelijk om de cronjob via CLI uit te voeren. De volgende technische problemen traden op:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Lees de installatie handleiding goed door en controleer op fouten en waarschuwingen in de logging.", + "All checks passed." : "Alle checks geslaagd", "Open documentation" : "Open documentatie", "Allow apps to use the Share API" : "Apps toestaan de Share API te gebruiken", "Allow users to share via link" : "Sta gebruikers toe om te delen via een link", @@ -154,6 +155,12 @@ OC.L10N.register( "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", "Enable server-side encryption" : "Server-side versleuteling inschakelen", + "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Versleuteling van de server is een eenrichtingsproces. Als versleuteling is ingeschakeld, worden alle bestanden vanaf dat moment versleuteld op de server en is het niet meer mogelijk versleuteling later uit te schakelen.", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Iedereen met toegang met hoge autorisaties op uw ownCloud server kan ue bestanden ontcijferen door aanvragen af te luisteren of de wachtwoorden van gebruikers die in leesbare tekst in sessie bestanden zijn opgeslagen uit te lezen. Versleuteling van de server beschermt dus niet tegen kwaadwillende beheerders, maar is praktisch om uw data op externe opslag te beveiligen.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Afhankelijk van de gebruikte cryptomodule, zal de bestandsomvang gemiddeld toenemen (35%% of meer bij gebruik van de standaardmodule)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "U zou regelmatig uw cryptosleutels moeten backuppen om permanent gegevensverlies te voorkomen (data//files_encryption en data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wilt u versleuteling echt inschakelen?", "Enable encryption" : "Versleuteling inschakelen", "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu", "Select default encryption module:" : "Selecteer de standaard cryptomodule:", diff --git a/settings/l10n/nl.json b/settings/l10n/nl.json index ff0964a821..978b70e799 100644 --- a/settings/l10n/nl.json +++ b/settings/l10n/nl.json @@ -130,6 +130,7 @@ "If your installation is not installed in 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 uw installatie niet in de hoofddirectory van het domein staat, maar wel cron gebruikt, dan kunnen er problemen ontstaan bij het genereren van URL's. Om deze problemen te voorkomen zou u de \"overwrite.cli.url\" optie in config.php moeten instellen op het webroot pad van uw ownCloud (aanbevolen: \"%s\") ", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "het was niet mogelijk om de cronjob via CLI uit te voeren. De volgende technische problemen traden op:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "Lees de installatie handleiding goed door en controleer op fouten en waarschuwingen in de logging.", + "All checks passed." : "Alle checks geslaagd", "Open documentation" : "Open documentatie", "Allow apps to use the Share API" : "Apps toestaan de Share API te gebruiken", "Allow users to share via link" : "Sta gebruikers toe om te delen via een link", @@ -152,6 +153,12 @@ "cron.php is registered at a webcron service to call cron.php every 15 minutes over http." : "cron.php is geregisteerd bij een webcron service om elke 15 minuten cron.php over http aan te roepen.", "Use system's cron service to call the cron.php file every 15 minutes." : "Gebruik de systeem cron service om cron.php elke 15 minuten aan te roepen.", "Enable server-side encryption" : "Server-side versleuteling inschakelen", + "Please read carefully before activating server-side encryption: " : "Lees dit goed, voordat u de serverside versleuteling activeert:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "Versleuteling van de server is een eenrichtingsproces. Als versleuteling is ingeschakeld, worden alle bestanden vanaf dat moment versleuteld op de server en is het niet meer mogelijk versleuteling later uit te schakelen.", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "Iedereen met toegang met hoge autorisaties op uw ownCloud server kan ue bestanden ontcijferen door aanvragen af te luisteren of de wachtwoorden van gebruikers die in leesbare tekst in sessie bestanden zijn opgeslagen uit te lezen. Versleuteling van de server beschermt dus niet tegen kwaadwillende beheerders, maar is praktisch om uw data op externe opslag te beveiligen.", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "Afhankelijk van de gebruikte cryptomodule, zal de bestandsomvang gemiddeld toenemen (35%% of meer bij gebruik van de standaardmodule)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "U zou regelmatig uw cryptosleutels moeten backuppen om permanent gegevensverlies te voorkomen (data//files_encryption en data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "Dit is de laatste waarschuwing: Wilt u versleuteling echt inschakelen?", "Enable encryption" : "Versleuteling inschakelen", "No encryption module loaded, please enable an encryption module in the app menu." : "Er is geen cryptomodule geladen, activeer een cryptomodule in het appmenu", "Select default encryption module:" : "Selecteer de standaard cryptomodule:", diff --git a/settings/l10n/th_TH.js b/settings/l10n/th_TH.js index a66c907be0..043f3429bf 100644 --- a/settings/l10n/th_TH.js +++ b/settings/l10n/th_TH.js @@ -132,6 +132,7 @@ OC.L10N.register( "If your installation is not installed in 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\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "กรุณาตรวจสอบ คู่มือการติดตั้ง และตรวจสอบข้อผิดพลาดหรือคำเตือนใน บันทึก", + "All checks passed." : "ผ่านการตรวจสอบทั้งหมด", "Open documentation" : "เปิดเอกสาร", "Allow apps to use the Share API" : "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้", "Allow users to share via link" : "อนุญาตให้ผู้ใช้สามารถแชร์ผ่านทางลิงค์", @@ -154,6 +155,12 @@ 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 ทุกq 15 นาที", "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์", + "Please read carefully before activating server-side encryption: " : "กรุณาอ่านอย่างละเอียดก่อนที่จะเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "การเข้ารหัสฝั่งเซิร์ฟเวอร์เป็นกระบวนการหนึ่ง เมื่อมีการเปิดใช้การเข้ารหัสไฟล์ทั้งหมดและมันจะเป็นไปไม่ได้ที่จะปิดการใช้งานการเข้ารหัสในภายหลัง", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "ทุกคนที่มีสิทธิในการเข้าถึงเซิร์ฟเวอร์ ownCloud คุณสามารถถอดรหัสไฟล์ของคุณโดยการสกัดกั้นการร้องขอหรือการอ่านรหัสผ่านของผู้ใช้ซึ่งจะถูกเก็บไว้ในเซสชั่นไฟล์ข้อความธรรมดา การเข้ารหัสฝั่งเซิร์ฟเวอร์จึงไม่ได้ป้องกันผู้ดูแลระบบที่เป็นอันตราย แต่จะเป็นประโยชน์สำหรับการปกป้องข้อมูลของคุณในการจัดเก็บข้อมูลจากภายนอก", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "ทั้งนี้ขึ้นอยู่กับโมดูลการเข้ารหัสที่เกิดขึ้นจริงขนาดไฟล์ทั่วไปจะเพิ่มขึ้น (35%% หรือมากกว่าเมื่อใช้โมดูลเริ่มต้น)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "คุณควรสำรองข้อมูลคีย์การเข้ารหัสอย่างสม่ำเสมอ เพื่อป้องกันการสูญเสียข้อมูลอย่างถาวร (data//files_encryption และ data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ", "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:", diff --git a/settings/l10n/th_TH.json b/settings/l10n/th_TH.json index 17ccd3c3bd..e67cc01f27 100644 --- a/settings/l10n/th_TH.json +++ b/settings/l10n/th_TH.json @@ -130,6 +130,7 @@ "If your installation is not installed in 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\")" : "หากการติดตั้งของคุณไม่ได้ติดตั้งในรากของโดเมนและใช้ระบบ cron อาจมีปัญหาเกี่ยวกับการสร้าง URL เพื่อหลีกเลี่ยงปัญหาเหล่านี้โปรดไปตั้งค่า \"overwrite.cli.url\" ในไฟล์ config.php ของคุณไปยังเส้นทาง webroot ของการติดตั้งของคุณ (แนะนำ: \"%s\")", "It was not possible to execute the cronjob via CLI. The following technical errors have appeared:" : "มันเป็นไปไม่ได้ที่จะดำเนินการ cronjob ผ่านทาง CLI ข้อผิดพลาดทางเทคนิคต่อไปนี้จะปรากฏ:", "Please double check the installation guides ↗, and check for any errors or warnings in the log." : "กรุณาตรวจสอบ คู่มือการติดตั้ง และตรวจสอบข้อผิดพลาดหรือคำเตือนใน บันทึก", + "All checks passed." : "ผ่านการตรวจสอบทั้งหมด", "Open documentation" : "เปิดเอกสาร", "Allow apps to use the Share API" : "อนุญาตให้แอปฯสามารถใช้ API สำหรับแชร์ข้อมูลได้", "Allow users to share via link" : "อนุญาตให้ผู้ใช้สามารถแชร์ผ่านทางลิงค์", @@ -152,6 +153,12 @@ "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 ทุกq 15 นาที", "Enable server-side encryption" : "เปิดการใช้งานเข้ารหัสฝั่งเซิร์ฟเวอร์", + "Please read carefully before activating server-side encryption: " : "กรุณาอ่านอย่างละเอียดก่อนที่จะเปิดใช้งานการเข้ารหัสฝั่งเซิร์ฟเวอร์:", + "Server-side encryption is a one way process. Once encryption is enabled, all files from that point forward will be encrypted on the server and it will not be possible to disable encryption at a later date" : "การเข้ารหัสฝั่งเซิร์ฟเวอร์เป็นกระบวนการหนึ่ง เมื่อมีการเปิดใช้การเข้ารหัสไฟล์ทั้งหมดและมันจะเป็นไปไม่ได้ที่จะปิดการใช้งานการเข้ารหัสในภายหลัง", + "Anyone who has privileged access to your ownCloud server can decrypt your files either by intercepting requests or reading out user passwords which are stored in plain text session files. Server-side encryption does therefore not protect against malicious administrators but is useful for protecting your data on externally hosted storage." : "ทุกคนที่มีสิทธิในการเข้าถึงเซิร์ฟเวอร์ ownCloud คุณสามารถถอดรหัสไฟล์ของคุณโดยการสกัดกั้นการร้องขอหรือการอ่านรหัสผ่านของผู้ใช้ซึ่งจะถูกเก็บไว้ในเซสชั่นไฟล์ข้อความธรรมดา การเข้ารหัสฝั่งเซิร์ฟเวอร์จึงไม่ได้ป้องกันผู้ดูแลระบบที่เป็นอันตราย แต่จะเป็นประโยชน์สำหรับการปกป้องข้อมูลของคุณในการจัดเก็บข้อมูลจากภายนอก", + "Depending on the actual encryption module the general file size is increased (by 35%% or more when using the default module)" : "ทั้งนี้ขึ้นอยู่กับโมดูลการเข้ารหัสที่เกิดขึ้นจริงขนาดไฟล์ทั่วไปจะเพิ่มขึ้น (35%% หรือมากกว่าเมื่อใช้โมดูลเริ่มต้น)", + "You should regularly backup all encryption keys to prevent permanent data loss (data//files_encryption and data/files_encryption)" : "คุณควรสำรองข้อมูลคีย์การเข้ารหัสอย่างสม่ำเสมอ เพื่อป้องกันการสูญเสียข้อมูลอย่างถาวร (data//files_encryption และ data/files_encryption)", + "This is the final warning: Do you really want to enable encryption?" : "นี่คือการเตือนครั้งสุดท้าย: คุณต้องการที่จะเปิดใช้การเข้ารหัส?", "Enable encryption" : "เปิดใช้งานการเข้ารหัส", "No encryption module loaded, please enable an encryption module in the app menu." : "ไม่มีโมดูลการเข้ารหัสโหลดโปรดเปิดใช้งานโมดูลการเข้ารหัสในเมนูแอพฯ", "Select default encryption module:" : "เลือกค่าเริ่มต้นโมดูลการเข้ารหัส:", From a12d3547627611a933b3e70ab5b51c2e130b0e24 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 28 Aug 2015 12:04:52 +0200 Subject: [PATCH 131/329] Deprecate OC_L10N::get() --- lib/private/l10n.php | 9 +++------ lib/public/il10n.php | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/private/l10n.php b/lib/private/l10n.php index 17acaac169..168011cfce 100644 --- a/lib/private/l10n.php +++ b/lib/private/l10n.php @@ -81,14 +81,11 @@ class OC_L10N implements \OCP\IL10N { * get an L10N instance * @param string $app * @param string|null $lang - * @return \OC_L10N + * @return \OCP\IL10N + * @deprecated Use \OC::$server->getL10NFactory()->get() instead */ public static function get($app, $lang=null) { - if (is_null($lang)) { - return OC::$server->getL10N($app); - } else { - return new \OC_L10N($app, $lang); - } + return \OC::$server->getL10NFactory()->get($app, $lang); } /** diff --git a/lib/public/il10n.php b/lib/public/il10n.php index e1d0102105..c6e076a21f 100644 --- a/lib/public/il10n.php +++ b/lib/public/il10n.php @@ -100,7 +100,7 @@ interface IL10N { /** - * The code (en, de, ...) of the language that is used for this OC_L10N object + * The code (en, de, ...) of the language that is used for this IL10N object * * @return string language * @since 7.0.0 From bd1215c1dd0955bc8c99a8d6d9005a6fd6bdc8aa Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 28 Aug 2015 12:08:54 +0200 Subject: [PATCH 132/329] Add a test for the interface --- tests/lib/server.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/lib/server.php b/tests/lib/server.php index bc44c50a22..e73fc8b3ab 100644 --- a/tests/lib/server.php +++ b/tests/lib/server.php @@ -90,6 +90,7 @@ class Server extends \Test\TestCase { ['JobList', '\OCP\BackgroundJob\IJobList'], ['L10NFactory', '\OC\L10N\Factory'], + ['L10NFactory', '\OCP\L10N\IFactory'], ['LockingProvider', '\OCP\Lock\ILockingProvider'], ['Logger', '\OC\Log'], ['Logger', '\OCP\ILogger'], From 7303b68577979bfe53859157f60659bfb3c6000e Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Fri, 28 Aug 2015 12:23:57 +0200 Subject: [PATCH 133/329] Fix controls bar calculation Controls bar calculation needs to take the sidebar visibility into account. Recalculation is now triggered when sidebar is toggled, using a new app-content event "appresized". --- core/js/apps.js | 6 +++--- core/js/js.js | 12 +++++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/core/js/apps.js b/core/js/apps.js index f148de3b2e..d8f4bfdf1c 100644 --- a/core/js/apps.js +++ b/core/js/apps.js @@ -27,8 +27,8 @@ */ exports.Apps.showAppSidebar = function($el) { var $appSidebar = $el || $('#app-sidebar'); - $appSidebar.removeClass('disappear') - $('#app-content').addClass('with-app-sidebar'); + $appSidebar.removeClass('disappear'); + $('#app-content').addClass('with-app-sidebar').trigger(new $.Event('appresized')); }; @@ -41,7 +41,7 @@ exports.Apps.hideAppSidebar = function($el) { var $appSidebar = $el || $('#app-sidebar'); $appSidebar.addClass('disappear'); - $('#app-content').removeClass('with-app-sidebar'); + $('#app-content').removeClass('with-app-sidebar').trigger(new $.Event('appresized')); }; /** diff --git a/core/js/js.js b/core/js/js.js index 52cf076472..8d3756ae2e 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -1393,13 +1393,19 @@ function initCore() { // if there is a scrollbar … if($('#app-content').get(0).scrollHeight > $('#app-content').height()) { if($(window).width() > 768) { - controlsWidth = $('#content').width() - $('#app-navigation').width() - $('#app-sidebar').width() - getScrollBarWidth(); + controlsWidth = $('#content').width() - $('#app-navigation').width() - getScrollBarWidth(); + if (!$('#app-sidebar').hasClass('hidden') && !$('#app-sidebar').hasClass('disappear')) { + controlsWidth -= $('#app-sidebar').width(); + } } else { controlsWidth = $('#content').width() - getScrollBarWidth(); } } else { // if there is none if($(window).width() > 768) { - controlsWidth = $('#content').width() - $('#app-navigation').width() - $('#app-sidebar').width(); + controlsWidth = $('#content').width() - $('#app-navigation').width(); + if (!$('#app-sidebar').hasClass('hidden') && !$('#app-sidebar').hasClass('disappear')) { + controlsWidth -= $('#app-sidebar').width(); + } } else { controlsWidth = $('#content').width(); } @@ -1411,7 +1417,7 @@ function initCore() { $(window).resize(_.debounce(adjustControlsWidth, 250)); - $('body').delegate('#app-content', 'apprendered', adjustControlsWidth); + $('body').delegate('#app-content', 'apprendered appresized', adjustControlsWidth); } From 30d2283bedb804350bd8641307c34a9b490ee0fb Mon Sep 17 00:00:00 2001 From: Jan-Christoph Borchardt Date: Fri, 28 Aug 2015 13:30:20 +0200 Subject: [PATCH 134/329] compress icons in navigation, move to monochrome again --- apps/files/img/delete.png | Bin 243 -> 208 bytes apps/files/img/folder.png | Bin 135 -> 151 bytes apps/files/img/folder.svg | 4 ++-- apps/files/img/public.svg | 4 ++-- apps/files/img/star.png | Bin 492 -> 422 bytes apps/files/img/star.svg | 2 +- 6 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/files/img/delete.png b/apps/files/img/delete.png index e891b370cca7b3d83e937863dbbc9578c5b8b1bd..20e894c7f740da793d98590fa12e998749ae2ad3 100644 GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPHF4e$wZ{r~?zkVzysV6}MxP$^$Y zkY6wZvyN+A`Ggfa4jepu>+=mQw;Mni7f%<*5RT~HlM8tp3`86bX4|%T&X^)NW2G_! z*BO6tjR&*5{PsREypgxT%_U|ML-GHUB@bdYiLZLo7<+Aj#I^MrTUPyMxG`DgbVqi- PKFCp?u6{1-oD!M_?dBnL_G%^0|SHn=l_X7ilx}eGlT;OYB*9lfPBsZkH}&M2Hxu+%;=;sy8hT|5}cn_Ql40p%1~Zju9umYU7Va)kgAtols@~NjTBH(fv1aOh(+(&Nr7Ak6nLB` zSN{L~L$hMW+xyHZ_NPKLN`%{5>u%aj7V?TYWweEFT!`!Y2ng9#!1`#rm_L|MB^U&(t-XW|T<#w)um70$&irgv53YW{$t-il*cn XUC&$i?88QNpydpnu6{1-oD!Mt@$UVHe<6aJ>wsd)o-U3d95a&> y4lpFi%5o*NxwyL<_b@W?8MrYndXC7D0KC&ZP3fg!A9W=PSj&|(nM=IyQo3bB*~`2{mHbiAMFIbj2kuk7jK z7{W0#IpF}q89hCw1h($(Zs8tACN_gM=A}GoGa4lr7_|NgKlC;Erv+5b;OXk;vd$@? F2>{sIAhiGh diff --git a/apps/files/img/folder.svg b/apps/files/img/folder.svg index e9d96d4049..0cf4b3499d 100644 --- a/apps/files/img/folder.svg +++ b/apps/files/img/folder.svg @@ -1,6 +1,6 @@ - - + + diff --git a/apps/files/img/public.svg b/apps/files/img/public.svg index 99a71c6cb5..7721c9e340 100644 --- a/apps/files/img/public.svg +++ b/apps/files/img/public.svg @@ -1,7 +1,7 @@ - - + + diff --git a/apps/files/img/star.png b/apps/files/img/star.png index 22e68c757e79535d4378a7e7539b5f6e99dfb401..8b24c4441cfa2877a37c9275b800edb4b08dfe4a 100644 GIT binary patch delta 397 zcmV;80doHA1EvFzBYyw{b3#c}2nYxWd6K2j~r^T0vtKaM1xCYXx2o zfW}(t7hKoaaLp=*HpprGRmr=7*w+Vrm0rr;kfCWflmOv$X^E|DvSfOqkMW9^rE r9!L1ZP6+rAvmwDqB^-2-?@zz=e2+K`#rM?!0000g zv{XYyYlBNr&_5B;);}N(EeQ=S{Q*He71@t5C~61{1Q89do(3(iK9}w>`@rEm=lkRR zd^zWPIFVA4r817`(rYA@IpN)TRD>z(YRCddR>gC%->PruvVY>RMq2EYQsn$y({=RW zfSRj0DS6;zs^$CU{{ffLz^N9?s8>Hs^j}0GBIS z$u(vC!2F+)Hpi-YjkFl4bO-kk9jnh%!rhH_E8~(djoKceOTrEHG_%#mWsD0?ap)hR zUlcAHNpERAynnIuLSX_Qc8yG)Ya0Iz-42G4^cf92%Z7$&2Thtt-?y3DUg?j~W7&ev zd%oO%5g76SWKumJNSbG2Wio+zDxUc4T1qx$n z);>eR1FVVaK3AWn&?Ahhr@4x+RVULDZhIY%B - + From 19bc5a452a97788c9153c05523cf6dd61d9c111c Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 22:10:30 +0100 Subject: [PATCH 135/329] Migrate Swift external storage to new API The Rackspace/OpenStack differences have been split into separate auth mechanisms, with correct legacy migration --- apps/files_external/appinfo/app.php | 18 ------ apps/files_external/appinfo/application.php | 5 ++ .../lib/auth/openstack/openstack.php | 48 +++++++++++++++ .../lib/auth/openstack/rackspace.php | 46 ++++++++++++++ apps/files_external/lib/backend/swift.php | 60 +++++++++++++++++++ 5 files changed, 159 insertions(+), 18 deletions(-) create mode 100644 apps/files_external/lib/auth/openstack/openstack.php create mode 100644 apps/files_external/lib/auth/openstack/rackspace.php create mode 100644 apps/files_external/lib/backend/swift.php diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 9db4b0a633..da24dfd819 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -70,24 +70,6 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\SMB_OC', 'login'); -OC_Mount_Config::registerBackend('\OC\Files\Storage\Swift', [ - 'backend' => (string)$l->t('OpenStack Object Storage'), - 'priority' => 100, - 'configuration' => [ - 'user' => (string)$l->t('Username'), - 'bucket' => (string)$l->t('Bucket'), - 'region' => '&'.$l->t('Region (optional for OpenStack Object Storage)'), - 'key' => '&*'.$l->t('API Key (required for Rackspace Cloud Files)'), - 'tenant' => '&'.$l->t('Tenantname (required for OpenStack Object Storage)'), - 'password' => '&*'.$l->t('Password (required for OpenStack Object Storage)'), - 'service_name' => '&'.$l->t('Service Name (required for OpenStack Object Storage)'), - 'url' => '&'.$l->t('URL of identity endpoint (required for OpenStack Object Storage)'), - 'timeout' => '&'.$l->t('Timeout of HTTP requests in seconds'), - ], - 'has_dependencies' => true, -]); - - if (!OC_Util::runningOnWindows()) { OC_Mount_Config::registerBackend('\OC\Files\Storage\SMB_OC', [ 'backend' => (string)$l->t('SMB / CIFS using OC login'), diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index 1e43c73740..81e60658c8 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -68,6 +68,7 @@ class Application extends App { $container->query('OCA\Files_External\Lib\Backend\AmazonS3'), $container->query('OCA\Files_External\Lib\Backend\Dropbox'), $container->query('OCA\Files_External\Lib\Backend\Google'), + $container->query('OCA\Files_External\Lib\Backend\Swift'), ]); if (!\OC_Util::runningOnWindows()) { @@ -101,6 +102,10 @@ class Application extends App { // AuthMechanism::SCHEME_OAUTH2 mechanisms $container->query('OCA\Files_External\Lib\Auth\OAuth2\OAuth2'), + // AuthMechanism::SCHEME_OPENSTACK mechanisms + $container->query('OCA\Files_External\Lib\Auth\OpenStack\OpenStack'), + $container->query('OCA\Files_External\Lib\Auth\OpenStack\Rackspace'), + // Specialized mechanisms $container->query('OCA\Files_External\Lib\Auth\AmazonS3\AccessKey'), ]); diff --git a/apps/files_external/lib/auth/openstack/openstack.php b/apps/files_external/lib/auth/openstack/openstack.php new file mode 100644 index 0000000000..faf356bcf2 --- /dev/null +++ b/apps/files_external/lib/auth/openstack/openstack.php @@ -0,0 +1,48 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Auth\OpenStack; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; + +/** + * OpenStack Keystone authentication + */ +class OpenStack extends AuthMechanism { + + public function __construct(IL10N $l) { + $this + ->setIdentifier('openstack::openstack') + ->setScheme(self::SCHEME_OPENSTACK) + ->setText($l->t('OpenStack')) + ->addParameters([ + (new DefinitionParameter('user', $l->t('Username'))), + (new DefinitionParameter('password', $l->t('Password'))) + ->setType(DefinitionParameter::VALUE_PASSWORD), + (new DefinitionParameter('tenant', $l->t('Tenant name'))), + (new DefinitionParameter('url', $l->t('Identity endpoint URL'))), + ]) + ; + } + +} diff --git a/apps/files_external/lib/auth/openstack/rackspace.php b/apps/files_external/lib/auth/openstack/rackspace.php new file mode 100644 index 0000000000..9268f3aad8 --- /dev/null +++ b/apps/files_external/lib/auth/openstack/rackspace.php @@ -0,0 +1,46 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Auth\OpenStack; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; + +/** + * Rackspace authentication + */ +class Rackspace extends AuthMechanism { + + public function __construct(IL10N $l) { + $this + ->setIdentifier('openstack::rackspace') + ->setScheme(self::SCHEME_OPENSTACK) + ->setText($l->t('Rackspace')) + ->addParameters([ + (new DefinitionParameter('user', $l->t('Username'))), + (new DefinitionParameter('key', $l->t('API key'))) + ->setType(DefinitionParameter::VALUE_PASSWORD), + ]) + ; + } + +} diff --git a/apps/files_external/lib/backend/swift.php b/apps/files_external/lib/backend/swift.php new file mode 100644 index 0000000000..9f01a92363 --- /dev/null +++ b/apps/files_external/lib/backend/swift.php @@ -0,0 +1,60 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\OpenStack\OpenStack; +use \OCA\Files_External\Lib\Auth\OpenStack\Rackspace; + +class Swift extends Backend { + + public function __construct(IL10N $l, OpenStack $openstackAuth, Rackspace $rackspaceAuth) { + $this + ->setIdentifier('swift') + ->addIdentifierAlias('\OC\Files\Storage\Swift') // legacy compat + ->setStorageClass('\OC\Files\Storage\Swift') + ->setText($l->t('OpenStack Object Storage')) + ->addParameters([ + (new DefinitionParameter('service_name', $l->t('Service name'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('region', $l->t('Region'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('bucket', $l->t('Bucket'))), + (new DefinitionParameter('timeout', $l->t('Request timeout (seconds)'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + ]) + ->setDependencyCheck('\OC\Files\Storage\Swift::checkDependencies') + ->addAuthScheme(AuthMechanism::SCHEME_OPENSTACK) + ->setLegacyAuthMechanismCallback(function(array $params) use ($openstackAuth, $rackspaceAuth) { + if (isset($params['key'])) { + return $rackspaceAuth; + } + return $openstackAuth; + }) + ; + } + +} From cb1ef827028126dd55c21fc3f3720723e5cc25a6 Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 22:14:42 +0100 Subject: [PATCH 136/329] Migrate SMB_OC external storage to new API SMB_OC has been merged with SMB, via the identifier aliases mechanism. Legacy migration is done to the Session Credentials password mechanism --- apps/files_external/appinfo/app.php | 16 --- apps/files_external/appinfo/application.php | 1 + apps/files_external/lib/backend/smb_oc.php | 67 +++++++++++ apps/files_external/lib/smb_oc.php | 126 -------------------- 4 files changed, 68 insertions(+), 142 deletions(-) create mode 100644 apps/files_external/lib/backend/smb_oc.php delete mode 100644 apps/files_external/lib/smb_oc.php diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index da24dfd819..351b87c4c8 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -37,7 +37,6 @@ OC::$CLASSPATH['OC\Files\Storage\OwnCloud'] = 'files_external/lib/owncloud.php'; OC::$CLASSPATH['OC\Files\Storage\Google'] = 'files_external/lib/google.php'; OC::$CLASSPATH['OC\Files\Storage\Swift'] = 'files_external/lib/swift.php'; OC::$CLASSPATH['OC\Files\Storage\SMB'] = 'files_external/lib/smb.php'; -OC::$CLASSPATH['OC\Files\Storage\SMB_OC'] = 'files_external/lib/smb_oc.php'; OC::$CLASSPATH['OC\Files\Storage\AmazonS3'] = 'files_external/lib/amazons3.php'; OC::$CLASSPATH['OC\Files\Storage\Dropbox'] = 'files_external/lib/dropbox.php'; OC::$CLASSPATH['OC\Files\Storage\SFTP'] = 'files_external/lib/sftp.php'; @@ -68,21 +67,6 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' // connecting hooks OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); -OCP\Util::connectHook('OC_User', 'post_login', 'OC\Files\Storage\SMB_OC', 'login'); - -if (!OC_Util::runningOnWindows()) { - OC_Mount_Config::registerBackend('\OC\Files\Storage\SMB_OC', [ - 'backend' => (string)$l->t('SMB / CIFS using OC login'), - 'priority' => 90, - 'configuration' => [ - 'host' => (string)$l->t('Host'), - 'username_as_share' => '!'.$l->t('Username as share'), - 'share' => '&'.$l->t('Share'), - 'root' => '&'.$l->t('Remote subfolder'), - ], - 'has_dependencies' => true, - ]); -} OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP_Key', [ 'backend' => (string)$l->t('SFTP with secret key login'), diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index 81e60658c8..e5275c29b3 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -74,6 +74,7 @@ class Application extends App { if (!\OC_Util::runningOnWindows()) { $service->registerBackends([ $container->query('OCA\Files_External\Lib\Backend\SMB'), + $container->query('OCA\Files_External\Lib\Backend\SMB_OC'), ]); } } diff --git a/apps/files_external/lib/backend/smb_oc.php b/apps/files_external/lib/backend/smb_oc.php new file mode 100644 index 0000000000..cae3818c76 --- /dev/null +++ b/apps/files_external/lib/backend/smb_oc.php @@ -0,0 +1,67 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\Password\SessionCredentials; +use \OCA\Files_External\Lib\StorageConfig; + +/** + * Deprecated SMB_OC class - use SMB with the password::sessioncredentials auth mechanism + */ +class SMB_OC extends Backend { + + public function __construct(IL10N $l, SessionCredentials $legacyAuth) { + $this + ->setIdentifier('\OC\Files\Storage\SMB_OC') + ->setStorageClass('\OC\Files\Storage\SMB') + ->setText($l->t('SMB / CIFS using OC login [DEPRECATED]')) + ->addParameters([ + (new DefinitionParameter('host', $l->t('Host'))), + (new DefinitionParameter('username_as_share', $l->t('Username as share'))) + ->setType(DefinitionParameter::VALUE_BOOLEAN), + (new DefinitionParameter('share', $l->t('Share'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + (new DefinitionParameter('root', $l->t('Remote subfolder'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + ]) + ->setDependencyCheck('\OC\Files\Storage\SMB::checkDependencies') + ->setPriority(BackendService::PRIORITY_DEFAULT - 10) + ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + + public function manipulateStorageConfig(StorageConfig &$storage) { + $username_as_share = ($storage->getBackendOption('username_as_share') === 'true'); + + if ($this->username_as_share) { + $share = '/' . $storage->getBackendOption('user'); + $storage->setBackendOption('share', $share); + } + } + +} diff --git a/apps/files_external/lib/smb_oc.php b/apps/files_external/lib/smb_oc.php deleted file mode 100644 index 547caa5ecb..0000000000 --- a/apps/files_external/lib/smb_oc.php +++ /dev/null @@ -1,126 +0,0 @@ - - * @author Morris Jobke - * @author Robin Appelman - * @author Robin McCorkell - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @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 - * - */ - -namespace OC\Files\Storage; - - -use Icewind\SMB\Exception\AccessDeniedException; -use Icewind\SMB\Exception\Exception; -use Icewind\SMB\Server; - -class SMB_OC extends SMB { - private $username_as_share; - - /** - * @param array $params - * @throws \Exception - */ - public function __construct($params) { - if (isset($params['host'])) { - $host = $params['host']; - $this->username_as_share = ($params['username_as_share'] === true); - - // dummy credentials, unused, to satisfy constructor - $user = 'foo'; - $password = 'bar'; - if (\OC::$server->getSession()->exists('smb-credentials')) { - $params_auth = json_decode(\OC::$server->getCrypto()->decrypt(\OC::$server->getSession()->get('smb-credentials')), true); - $user = \OC::$server->getSession()->get('loginname'); - $password = $params_auth['password']; - } else { - // assume we are testing from the admin section - } - - $root = isset($params['root']) ? $params['root'] : '/'; - $share = ''; - - if ($this->username_as_share) { - $share = '/' . $user; - } elseif (isset($params['share'])) { - $share = $params['share']; - } else { - throw new \Exception(); - } - parent::__construct(array( - "user" => $user, - "password" => $password, - "host" => $host, - "share" => $share, - "root" => $root - )); - } else { - throw new \Exception(); - } - } - - - /** - * Intercepts the user credentials on login and stores them - * encrypted inside the session if SMB_OC storage is enabled. - * @param array $params - */ - public static function login($params) { - $mountpoints = \OC_Mount_Config::getAbsoluteMountPoints($params['uid']); - $mountpointClasses = array(); - foreach($mountpoints as $mountpoint) { - $mountpointClasses[$mountpoint['class']] = true; - } - if(isset($mountpointClasses['\OC\Files\Storage\SMB_OC'])) { - \OC::$server->getSession()->set('smb-credentials', \OC::$server->getCrypto()->encrypt(json_encode($params))); - } - } - - /** - * @param string $path - * @return boolean - */ - public function isSharable($path) { - return false; - } - - /** - * @param bool $isPersonal - * @return bool - */ - public function test($isPersonal = true) { - if ($isPersonal) { - if ($this->stat('')) { - return true; - } - return false; - } else { - $server = new Server($this->server->getHost(), '', ''); - - try { - $server->listShares(); - return true; - } catch (AccessDeniedException $e) { - // expected due to anonymous login - return true; - } catch (Exception $e) { - return false; - } - } - } -} From 1084e3adc7636787a139b68335112715b187b3bb Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 12 Aug 2015 22:20:08 +0100 Subject: [PATCH 137/329] Migrate SFTP_Key external storage to new API The SFTP backend now supports public key authentication alongside password authentication. --- apps/files_external/appinfo/app.php | 13 -- apps/files_external/appinfo/application.php | 4 + apps/files_external/appinfo/routes.php | 2 +- apps/files_external/js/public_key.js | 46 ++++ apps/files_external/js/sftp_key.js | 53 ----- .../files_external/lib/auth/publickey/rsa.php | 65 ++++++ apps/files_external/lib/backend/sftp.php | 1 + apps/files_external/lib/backend/sftp_key.php | 48 ++++ apps/files_external/lib/sftp.php | 17 +- apps/files_external/lib/sftp_key.php | 215 ------------------ 10 files changed, 177 insertions(+), 287 deletions(-) create mode 100644 apps/files_external/js/public_key.js delete mode 100644 apps/files_external/js/sftp_key.js create mode 100644 apps/files_external/lib/auth/publickey/rsa.php create mode 100644 apps/files_external/lib/backend/sftp_key.php delete mode 100644 apps/files_external/lib/sftp_key.php diff --git a/apps/files_external/appinfo/app.php b/apps/files_external/appinfo/app.php index 351b87c4c8..f33012b5f0 100644 --- a/apps/files_external/appinfo/app.php +++ b/apps/files_external/appinfo/app.php @@ -40,7 +40,6 @@ OC::$CLASSPATH['OC\Files\Storage\SMB'] = 'files_external/lib/smb.php'; OC::$CLASSPATH['OC\Files\Storage\AmazonS3'] = 'files_external/lib/amazons3.php'; OC::$CLASSPATH['OC\Files\Storage\Dropbox'] = 'files_external/lib/dropbox.php'; OC::$CLASSPATH['OC\Files\Storage\SFTP'] = 'files_external/lib/sftp.php'; -OC::$CLASSPATH['OC\Files\Storage\SFTP_Key'] = 'files_external/lib/sftp_key.php'; OC::$CLASSPATH['OC_Mount_Config'] = 'files_external/lib/config.php'; OC::$CLASSPATH['OCA\Files\External\Api'] = 'files_external/lib/api.php'; @@ -68,17 +67,5 @@ if (OCP\Config::getAppValue('files_external', 'allow_user_mounting', 'yes') == ' // connecting hooks OCP\Util::connectHook('OC_Filesystem', 'post_initMountPoints', '\OC_Mount_Config', 'initMountPointsHook'); -OC_Mount_Config::registerBackend('\OC\Files\Storage\SFTP_Key', [ - 'backend' => (string)$l->t('SFTP with secret key login'), - 'priority' => 100, - 'configuration' => array( - 'host' => (string)$l->t('Host'), - 'user' => (string)$l->t('Username'), - 'public_key' => (string)$l->t('Public key'), - 'private_key' => '#private_key', - 'root' => '&'.$l->t('Remote subfolder')), - 'custom' => 'sftp_key', - ] -); $mountProvider = $appContainer->query('OCA\Files_External\Config\ConfigAdapter'); \OC::$server->getMountProviderCollection()->registerProvider($mountProvider); diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index e5275c29b3..ed236af0ec 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -69,6 +69,7 @@ class Application extends App { $container->query('OCA\Files_External\Lib\Backend\Dropbox'), $container->query('OCA\Files_External\Lib\Backend\Google'), $container->query('OCA\Files_External\Lib\Backend\Swift'), + $container->query('OCA\Files_External\Lib\Backend\SFTP_Key'), ]); if (!\OC_Util::runningOnWindows()) { @@ -103,6 +104,9 @@ class Application extends App { // AuthMechanism::SCHEME_OAUTH2 mechanisms $container->query('OCA\Files_External\Lib\Auth\OAuth2\OAuth2'), + // AuthMechanism::SCHEME_PUBLICKEY mechanisms + $container->query('OCA\Files_External\Lib\Auth\PublicKey\RSA'), + // AuthMechanism::SCHEME_OPENSTACK mechanisms $container->query('OCA\Files_External\Lib\Auth\OpenStack\OpenStack'), $container->query('OCA\Files_External\Lib\Auth\OpenStack\Rackspace'), diff --git a/apps/files_external/appinfo/routes.php b/apps/files_external/appinfo/routes.php index 5d7018c347..a371273e74 100644 --- a/apps/files_external/appinfo/routes.php +++ b/apps/files_external/appinfo/routes.php @@ -38,7 +38,7 @@ namespace OCA\Files_External\AppInfo; 'routes' => array( array( 'name' => 'Ajax#getSshKeys', - 'url' => '/ajax/sftp_key.php', + 'url' => '/ajax/public_key.php', 'verb' => 'POST', 'requirements' => array() ) diff --git a/apps/files_external/js/public_key.js b/apps/files_external/js/public_key.js new file mode 100644 index 0000000000..a854606745 --- /dev/null +++ b/apps/files_external/js/public_key.js @@ -0,0 +1,46 @@ +$(document).ready(function() { + + OCA.External.Settings.mountConfig.whenSelectAuthMechanism(function($tr, authMechanism, scheme) { + if (scheme === 'publickey') { + var config = $tr.find('.configuration'); + if ($(config).find('[name="public_key_generate"]').length === 0) { + setupTableRow($tr, config); + } + } + }); + + $('#externalStorage').on('click', '[name="public_key_generate"]', function(event) { + event.preventDefault(); + var tr = $(this).parent().parent(); + generateKeys(tr); + }); + + function setupTableRow(tr, config) { + $(config).append($(document.createElement('input')) + .addClass('button auth-param') + .attr('type', 'button') + .attr('value', t('files_external', 'Generate keys')) + .attr('name', 'public_key_generate') + ); + // If there's no private key, build one + if (0 === $(config).find('[data-parameter="private_key"]').val().length) { + generateKeys(tr); + } + } + + function generateKeys(tr) { + var config = $(tr).find('.configuration'); + + $.post(OC.filePath('files_external', 'ajax', 'public_key.php'), {}, function(result) { + if (result && result.status === 'success') { + $(config).find('[data-parameter="public_key"]').val(result.data.public_key); + $(config).find('[data-parameter="private_key"]').val(result.data.private_key); + OCA.External.Settings.mountConfig.saveStorageConfig(tr, function() { + // Nothing to do + }); + } else { + OC.dialogs.alert(result.data.message, t('files_external', 'Error generating key pair') ); + } + }); + } +}); diff --git a/apps/files_external/js/sftp_key.js b/apps/files_external/js/sftp_key.js deleted file mode 100644 index 55b11b1fac..0000000000 --- a/apps/files_external/js/sftp_key.js +++ /dev/null @@ -1,53 +0,0 @@ -$(document).ready(function() { - - $('#externalStorage tbody tr.\\\\OC\\\\Files\\\\Storage\\\\SFTP_Key').each(function() { - var tr = $(this); - var config = $(tr).find('.configuration'); - if ($(config).find('.sftp_key').length === 0) { - setupTableRow(tr, config); - } - }); - - // We can't catch the DOM elements being added, but we can pick up when - // they receive focus - $('#externalStorage').on('focus', 'tbody tr.\\\\OC\\\\Files\\\\Storage\\\\SFTP_Key', function() { - var tr = $(this); - var config = $(tr).find('.configuration'); - - if ($(config).find('.sftp_key').length === 0) { - setupTableRow(tr, config); - } - }); - - $('#externalStorage').on('click', '.sftp_key', function(event) { - event.preventDefault(); - var tr = $(this).parent().parent(); - generateKeys(tr); - }); - - function setupTableRow(tr, config) { - $(config).append($(document.createElement('input')).addClass('button sftp_key') - .attr('type', 'button') - .attr('value', t('files_external', 'Generate keys'))); - // If there's no private key, build one - if (0 === $(config).find('[data-parameter="private_key"]').val().length) { - generateKeys(tr); - } - } - - function generateKeys(tr) { - var config = $(tr).find('.configuration'); - - $.post(OC.filePath('files_external', 'ajax', 'sftp_key.php'), {}, function(result) { - if (result && result.status === 'success') { - $(config).find('[data-parameter="public_key"]').val(result.data.public_key); - $(config).find('[data-parameter="private_key"]').val(result.data.private_key); - OCA.External.mountConfig.saveStorageConfig(tr, function() { - // Nothing to do - }); - } else { - OC.dialogs.alert(result.data.message, t('files_external', 'Error generating key pair') ); - } - }); - } -}); diff --git a/apps/files_external/lib/auth/publickey/rsa.php b/apps/files_external/lib/auth/publickey/rsa.php new file mode 100644 index 0000000000..b5eecb4271 --- /dev/null +++ b/apps/files_external/lib/auth/publickey/rsa.php @@ -0,0 +1,65 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Auth\PublicKey; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Lib\StorageConfig; +use \OCP\IConfig; +use \phpseclib\Crypt\RSA as RSACrypt; + +/** + * RSA public key authentication + */ +class RSA extends AuthMechanism { + + /** @var IConfig */ + private $config; + + public function __construct(IL10N $l, IConfig $config) { + $this->config = $config; + + $this + ->setIdentifier('publickey::rsa') + ->setScheme(self::SCHEME_PUBLICKEY) + ->setText($l->t('RSA public key')) + ->addParameters([ + (new DefinitionParameter('user', $l->t('Username'))), + (new DefinitionParameter('public_key', $l->t('Public key'))), + (new DefinitionParameter('private_key', 'private_key')) + ->setType(DefinitionParameter::VALUE_HIDDEN), + ]) + ->setCustomJs('public_key') + ; + } + + public function manipulateStorageConfig(StorageConfig &$storage) { + $auth = new RSACrypt(); + $auth->setPassword($this->config->getSystemValue('secret', '')); + if (!$auth->loadKey($storage->getBackendOption('private_key'))) { + throw new \RuntimeException('unable to load private key'); + } + $storage->setBackendOption('public_key_auth', $auth); + } + +} diff --git a/apps/files_external/lib/backend/sftp.php b/apps/files_external/lib/backend/sftp.php index dd0f5d8e2e..c0bcd27c54 100644 --- a/apps/files_external/lib/backend/sftp.php +++ b/apps/files_external/lib/backend/sftp.php @@ -43,6 +43,7 @@ class SFTP extends Backend { ->setFlag(DefinitionParameter::FLAG_OPTIONAL), ]) ->addAuthScheme(AuthMechanism::SCHEME_PASSWORD) + ->addAuthScheme(AuthMechanism::SCHEME_PUBLICKEY) ->setLegacyAuthMechanism($legacyAuth) ; } diff --git a/apps/files_external/lib/backend/sftp_key.php b/apps/files_external/lib/backend/sftp_key.php new file mode 100644 index 0000000000..4a7f565eb1 --- /dev/null +++ b/apps/files_external/lib/backend/sftp_key.php @@ -0,0 +1,48 @@ + + * + * @copyright Copyright (c) 2015, ownCloud, Inc. + * @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 + * + */ + +namespace OCA\Files_External\Lib\Backend; + +use \OCP\IL10N; +use \OCA\Files_External\Lib\Backend\Backend; +use \OCA\Files_External\Lib\DefinitionParameter; +use \OCA\Files_External\Lib\Auth\AuthMechanism; +use \OCA\Files_External\Service\BackendService; +use \OCA\Files_External\Lib\Auth\PublicKey\RSA; + +class SFTP_Key extends Backend { + + public function __construct(IL10N $l, RSA $legacyAuth) { + $this + ->setIdentifier('\OC\Files\Storage\SFTP_Key') + ->setStorageClass('\OC\Files\Storage\SFTP') + ->setText($l->t('SFTP with secret key login [DEPRECATED]')) + ->addParameters([ + (new DefinitionParameter('host', $l->t('Host'))), + (new DefinitionParameter('root', $l->t('Remote subfolder'))) + ->setFlag(DefinitionParameter::FLAG_OPTIONAL), + ]) + ->addAuthScheme(AuthMechanism::SCHEME_PUBLICKEY) + ->setLegacyAuthMechanism($legacyAuth) + ; + } + +} diff --git a/apps/files_external/lib/sftp.php b/apps/files_external/lib/sftp.php index 7f921b5342..921e7283c6 100644 --- a/apps/files_external/lib/sftp.php +++ b/apps/files_external/lib/sftp.php @@ -40,10 +40,11 @@ use phpseclib\Net\SFTP\Stream; class SFTP extends \OC\Files\Storage\Common { private $host; private $user; - private $password; private $root; private $port = 22; + private $auth; + /** * @var SFTP */ @@ -73,8 +74,15 @@ class SFTP extends \OC\Files\Storage\Common { } $this->user = $params['user']; - $this->password - = isset($params['password']) ? $params['password'] : ''; + + if (isset($params['public_key_auth'])) { + $this->auth = $params['public_key_auth']; + } elseif (isset($params['password'])) { + $this->auth = $params['password']; + } else { + throw new \UnexpectedValueException('no authentication parameters specified'); + } + $this->root = isset($params['root']) ? $this->cleanPath($params['root']) : '/'; @@ -112,7 +120,7 @@ class SFTP extends \OC\Files\Storage\Common { $this->writeHostKeys($hostKeys); } - if (!$this->client->login($this->user, $this->password)) { + if (!$this->client->login($this->user, $this->auth)) { throw new \Exception('Login failed'); } return $this->client; @@ -125,7 +133,6 @@ class SFTP extends \OC\Files\Storage\Common { if ( !isset($this->host) || !isset($this->user) - || !isset($this->password) ) { return false; } diff --git a/apps/files_external/lib/sftp_key.php b/apps/files_external/lib/sftp_key.php deleted file mode 100644 index a193b32367..0000000000 --- a/apps/files_external/lib/sftp_key.php +++ /dev/null @@ -1,215 +0,0 @@ - - * @author Morris Jobke - * @author Ross Nicoll - * - * @copyright Copyright (c) 2015, ownCloud, Inc. - * @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 - * - */ -namespace OC\Files\Storage; - -use phpseclib\Crypt\RSA; - -class SFTP_Key extends \OC\Files\Storage\SFTP { - private $publicKey; - private $privateKey; - - /** - * {@inheritdoc} - */ - public function __construct($params) { - parent::__construct($params); - $this->publicKey = $params['public_key']; - $this->privateKey = $params['private_key']; - } - - /** - * Returns the connection. - * - * @return \phpseclib\Net\SFTP connected client instance - * @throws \Exception when the connection failed - */ - public function getConnection() { - if (!is_null($this->client)) { - return $this->client; - } - - $hostKeys = $this->readHostKeys(); - $this->client = new \phpseclib\Net\SFTP($this->getHost()); - - // The SSH Host Key MUST be verified before login(). - $currentHostKey = $this->client->getServerPublicHostKey(); - if (array_key_exists($this->getHost(), $hostKeys)) { - if ($hostKeys[$this->getHost()] !== $currentHostKey) { - throw new \Exception('Host public key does not match known key'); - } - } else { - $hostKeys[$this->getHost()] = $currentHostKey; - $this->writeHostKeys($hostKeys); - } - - $key = $this->getPrivateKey(); - if (is_null($key)) { - throw new \Exception('Secret key could not be loaded'); - } - if (!$this->client->login($this->getUser(), $key)) { - throw new \Exception('Login failed'); - } - return $this->client; - } - - /** - * Returns the private key to be used for authentication to the remote server. - * - * @return RSA instance or null in case of a failure to load the key. - */ - private function getPrivateKey() { - $key = new RSA(); - $key->setPassword(\OC::$server->getConfig()->getSystemValue('secret', '')); - if (!$key->loadKey($this->privateKey)) { - // Should this exception rather than return null? - return null; - } - return $key; - } - - /** - * Throws an exception if the provided host name/address is invalid (cannot be resolved - * and is not an IPv4 address). - * - * @return true; never returns in case of a problem, this return value is used just to - * make unit tests happy. - */ - public function assertHostAddressValid($hostname) { - // TODO: Should handle IPv6 addresses too - if (!preg_match('/^\d+\.\d+\.\d+\.\d+$/', $hostname) && gethostbyname($hostname) === $hostname) { - // Hostname is not an IPv4 address and cannot be resolved via DNS - throw new \InvalidArgumentException('Cannot resolve hostname.'); - } - return true; - } - - /** - * Throws an exception if the provided port number is invalid (cannot be resolved - * and is not an IPv4 address). - * - * @return true; never returns in case of a problem, this return value is used just to - * make unit tests happy. - */ - public function assertPortNumberValid($port) { - if (!preg_match('/^\d+$/', $port)) { - throw new \InvalidArgumentException('Port number must be a number.'); - } - if ($port < 0 || $port > 65535) { - throw new \InvalidArgumentException('Port number must be between 0 and 65535 inclusive.'); - } - return true; - } - - /** - * Replaces anything that's not an alphanumeric character or "." in a hostname - * with "_", to make it safe for use as part of a file name. - */ - protected function sanitizeHostName($name) { - return preg_replace('/[^\d\w\._]/', '_', $name); - } - - /** - * Replaces anything that's not an alphanumeric character or "_" in a username - * with "_", to make it safe for use as part of a file name. - */ - protected function sanitizeUserName($name) { - return preg_replace('/[^\d\w_]/', '_', $name); - } - - public function test() { - - // FIXME: Use as expression in empty once PHP 5.4 support is dropped - $host = $this->getHost(); - if (empty($host)) { - \OC::$server->getLogger()->warning('Hostname has not been specified'); - return false; - } - // FIXME: Use as expression in empty once PHP 5.4 support is dropped - $user = $this->getUser(); - if (empty($user)) { - \OC::$server->getLogger()->warning('Username has not been specified'); - return false; - } - if (!isset($this->privateKey)) { - \OC::$server->getLogger()->warning('Private key was missing from the request'); - return false; - } - - // Sanity check the host - $hostParts = explode(':', $this->getHost()); - try { - if (count($hostParts) == 1) { - $hostname = $hostParts[0]; - $this->assertHostAddressValid($hostname); - } else if (count($hostParts) == 2) { - $hostname = $hostParts[0]; - $this->assertHostAddressValid($hostname); - $this->assertPortNumberValid($hostParts[1]); - } else { - throw new \Exception('Host connection string is invalid.'); - } - } catch(\Exception $e) { - \OC::$server->getLogger()->warning($e->getMessage()); - return false; - } - - // Validate the key - $key = $this->getPrivateKey(); - if (is_null($key)) { - \OC::$server->getLogger()->warning('Secret key could not be loaded'); - return false; - } - - try { - if ($this->getConnection()->nlist() === false) { - return false; - } - } catch(\Exception $e) { - // We should be throwing a more specific error, so we're not just catching - // Exception here - \OC::$server->getLogger()->warning($e->getMessage()); - return false; - } - - // Save the key somewhere it can easily be extracted later - if (\OC::$server->getUserSession()->getUser()) { - $view = new \OC\Files\View('/'.\OC::$server->getUserSession()->getUser()->getUId().'/files_external/sftp_keys'); - if (!$view->is_dir('')) { - if (!$view->mkdir('')) { - \OC::$server->getLogger()->warning('Could not create secret key directory.'); - return false; - } - } - $key_filename = $this->sanitizeUserName($this->getUser()).'@'.$this->sanitizeHostName($hostname).'.pub'; - $key_file = $view->fopen($key_filename, "w"); - if ($key_file) { - fwrite($key_file, $this->publicKey); - fclose($key_file); - } else { - \OC::$server->getLogger()->warning('Could not write secret key file.'); - } - } - - return true; - } -} From 080fafe63a980f6a485027fd4216864adf764e1e Mon Sep 17 00:00:00 2001 From: Robin McCorkell Date: Wed, 19 Aug 2015 21:13:16 +0100 Subject: [PATCH 138/329] AjaxController uses RSA auth mechanism --- apps/files_external/appinfo/application.php | 13 ------------- apps/files_external/controller/ajaxcontroller.php | 14 +++++++------- apps/files_external/lib/auth/publickey/rsa.php | 15 +++++++++++++++ 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/apps/files_external/appinfo/application.php b/apps/files_external/appinfo/application.php index ed236af0ec..c00ae3ee01 100644 --- a/apps/files_external/appinfo/application.php +++ b/apps/files_external/appinfo/application.php @@ -24,7 +24,6 @@ namespace OCA\Files_External\AppInfo; -use \OCA\Files_External\Controller\AjaxController; use \OCP\AppFramework\App; use \OCP\IContainer; use \OCA\Files_External\Service\BackendService; @@ -36,18 +35,6 @@ class Application extends App { public function __construct(array $urlParams=array()) { parent::__construct('files_external', $urlParams); - $container = $this->getContainer(); - - /** - * Controllers - */ - $container->registerService('AjaxController', function (IContainer $c) { - return new AjaxController( - $c->query('AppName'), - $c->query('Request') - ); - }); - $this->loadBackends(); $this->loadAuthMechanisms(); } diff --git a/apps/files_external/controller/ajaxcontroller.php b/apps/files_external/controller/ajaxcontroller.php index cb2de43228..c285cd34e7 100644 --- a/apps/files_external/controller/ajaxcontroller.php +++ b/apps/files_external/controller/ajaxcontroller.php @@ -25,19 +25,19 @@ namespace OCA\Files_External\Controller; use OCP\AppFramework\Controller; use OCP\IRequest; use OCP\AppFramework\Http\JSONResponse; -use phpseclib\Crypt\RSA; +use OCA\Files_External\Lib\Auth\PublicKey\RSA; class AjaxController extends Controller { - public function __construct($appName, IRequest $request) { + /** @var RSA */ + private $rsaMechanism; + + public function __construct($appName, IRequest $request, RSA $rsaMechanism) { parent::__construct($appName, $request); + $this->rsaMechanism = $rsaMechanism; } private function generateSshKeys() { - $rsa = new RSA(); - $rsa->setPublicKeyFormat(RSA::PUBLIC_FORMAT_OPENSSH); - $rsa->setPassword(\OC::$server->getConfig()->getSystemValue('secret', '')); - - $key = $rsa->createKey(); + $key = $this->rsaMechanism->createKey(); // Replace the placeholder label with a more meaningful one $key['publicKey'] = str_replace('phpseclib-generated-key', gethostname(), $key['publickey']); diff --git a/apps/files_external/lib/auth/publickey/rsa.php b/apps/files_external/lib/auth/publickey/rsa.php index b5eecb4271..f40136dda0 100644 --- a/apps/files_external/lib/auth/publickey/rsa.php +++ b/apps/files_external/lib/auth/publickey/rsa.php @@ -33,6 +33,8 @@ use \phpseclib\Crypt\RSA as RSACrypt; */ class RSA extends AuthMechanism { + const CREATE_KEY_BITS = 1024; + /** @var IConfig */ private $config; @@ -62,4 +64,17 @@ class RSA extends AuthMechanism { $storage->setBackendOption('public_key_auth', $auth); } + /** + * Generate a keypair + * + * @return array ['privatekey' => $privateKey, 'publickey' => $publicKey] + */ + public function createKey() { + $rsa = new RSACrypt(); + $rsa->setPublicKeyFormat(RSACrypt::PUBLIC_FORMAT_OPENSSH); + $rsa->setPassword($this->config->getSystemValue('secret', '')); + + return $rsa->createKey(self::CREATE_KEY_BITS); + } + } From 37b00b7443bec09aac84b359a1c2f77caf143b30 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 28 Aug 2015 15:46:55 +0200 Subject: [PATCH 139/329] Add since tag --- lib/public/l10n/ifactory.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/public/l10n/ifactory.php b/lib/public/l10n/ifactory.php index e2dc1c313c..b784505a68 100644 --- a/lib/public/l10n/ifactory.php +++ b/lib/public/l10n/ifactory.php @@ -20,6 +20,9 @@ */ namespace OCP\L10N; +/** + * @since 8.2.0 + */ interface IFactory { /** * Get a language instance @@ -27,6 +30,7 @@ interface IFactory { * @param string $app * @param string|null $lang * @return \OCP\IL10N + * @since 8.2.0 */ public function get($app, $lang = null); } From d14252d9c75f39e8a35faff91127a430e9a3bf37 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 28 Aug 2015 16:13:19 +0200 Subject: [PATCH 140/329] make sure we actually have an object store --- apps/files_external/lib/config/configadapter.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/apps/files_external/lib/config/configadapter.php b/apps/files_external/lib/config/configadapter.php index a15d9e06a5..a255a7b3d2 100644 --- a/apps/files_external/lib/config/configadapter.php +++ b/apps/files_external/lib/config/configadapter.php @@ -74,6 +74,9 @@ class ConfigAdapter implements IMountProvider { $objectStore = $storage->getBackendOption('objectstore'); if ($objectStore) { $objectClass = $objectStore['class']; + if (!is_subclass_of($objectClass, '\OCP\Files\ObjectStore\IObjectStore')) { + throw new \InvalidArgumentException('Invalid object store'); + } $storage->setBackendOption('objectstore', new $objectClass($objectStore)); } From 59273a8863ecc0aa570f56e024cb1a22d424111a Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Thu, 27 Aug 2015 13:22:58 +0200 Subject: [PATCH 141/329] Combine upload action into the "New" menu Refactored the new menu to be encapsulated in the NewFileMenu JS class --- apps/files/css/files.css | 137 ++++++-------- apps/files/css/upload.css | 14 -- apps/files/index.php | 1 + apps/files/js/file-upload.js | 149 --------------- apps/files/js/fileactionsmenu.js | 4 +- apps/files/js/filelist.js | 145 +++++++++++++++ apps/files/js/newfilemenu.js | 237 ++++++++++++++++++++++++ apps/files/templates/list.php | 52 +++--- apps/files_sharing/templates/public.php | 1 + core/css/apps.css | 73 ++++++++ core/css/styles.css | 10 + 11 files changed, 552 insertions(+), 271 deletions(-) create mode 100644 apps/files/js/newfilemenu.js diff --git a/apps/files/css/files.css b/apps/files/css/files.css index a9c85127c6..97b2a0c451 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -18,11 +18,6 @@ z-index: -30; } -#new { - z-index: 1010; - float: left; - padding: 0 !important; /* override default control bar button padding */ -} #trash { margin-right: 8px; float: right; @@ -30,49 +25,8 @@ padding: 10px; font-weight: normal; } -#new > a { - padding: 14px 10px; - position: relative; - top: 7px; -} -#new.active { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; - border-bottom: none; - background: #f8f8f8; -} -#new > ul { - display: none; - position: fixed; - min-width: 112px; - z-index: -10; - padding: 8px; - padding-bottom: 0; - margin-top: 13.5px; - margin-left: -1px; - text-align: left; - background: #f8f8f8; - border: 1px solid #ddd; - border: 1px solid rgba(240, 240, 240, 0.9); - border-radius: 5px; - border-top-left-radius: 0; - box-shadow: 0 2px 7px rgba(170,170,170,.4); -} -#new > ul > li { - height: 36px; - margin: 5px; - padding-left: 42px; - padding-bottom: 2px; - background-position: left center; - cursor: pointer; -} -#new > ul > li > p { - cursor: pointer; - padding-top: 7px; - padding-bottom: 7px; -} -#new .error, #fileList .error { +.newFileMenu .error, #fileList .error { color: #e9322d; border-color: #e9322d; -webkit-box-shadow: 0 0 6px #f8b9b7; @@ -143,6 +97,30 @@ margin-bottom: 44px; } +#app-navigation .nav-files a.nav-icon-files { + width: auto; +} +/* button needs overrides due to navigation styles */ +#app-navigation .nav-files a.new { + width: 40px; + height: 32px; + padding: 0 10px; + margin: 0; + cursor: pointer; +} + +#app-navigation .nav-files a { + display: inline-block; +} + +#app-navigation .nav-files a.new.hidden { + display: none; +} + +#app-navigation .nav-files a.new.disabled { + opacity: 0.3; +} + #filestable tbody tr { background-color: #fff; height: 40px; @@ -599,7 +577,8 @@ a.action > img { #fileList a.action.action-menu { padding: 17px 14px; } -#fileList .fileActionsMenu { + +#fileList .popovermenu { margin-right: 21px; } @@ -654,13 +633,13 @@ a.action > img { } /* properly display actions in the popover menu */ -#fileList .fileActionsMenu .action { +#fileList .popovermenu .action { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)" !important; filter: alpha(opacity=50) !important; opacity: .5 !important; } -#fileList .fileActionsMenu .action:hover, -#fileList .fileActionsMenu .action:focus { +#fileList .popovermenu .action:hover, +#fileList .popovermenu .action:focus { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)" !important; filter: alpha(opacity=100) !important; opacity: 1 !important; @@ -744,25 +723,45 @@ table.dragshadow td.size { opacity: 0; } -.fileActionsMenu { - padding: 4px 12px; -} -.fileActionsMenu li { - padding: 5px 0; -} -#fileList .fileActionsMenu a.action img { +#fileList .popovermenu a.action img { padding: initial; } -#fileList .fileActionsMenu a.action { + +#fileList .popovermenu a.action { padding: 10px; margin: -10px; } -.fileActionsMenu.hidden { - display: none; +.newFileMenu { + width: 140px; + margin-left: -56px; + margin-top: 25px; } -#fileList .fileActionsMenu .action { +.newFileMenu .menuitem { + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; +} + +.newFileMenu.bubble:after { + left: 75px; + right: auto; +} +.newFileMenu.bubble:before { + left: 75px; + right: auto; +} + +.newFileMenu .filenameform { + display: inline-block; +} + +.newFileMenu .filenameform input { + width: 100px; +} + +#fileList .popovermenu .action { display: block; line-height: 30px; padding-left: 5px; @@ -770,17 +769,3 @@ table.dragshadow td.size { padding: 0; } -.fileActionsMenu .action img, -.fileActionsMenu .action .no-icon { - display: inline-block; - width: 16px; - margin-right: 5px; -} - -.fileActionsMenu .action { - opacity: 0.5; -} - -.fileActionsMenu li:hover .action { - opacity: 1; -} diff --git a/apps/files/css/upload.css b/apps/files/css/upload.css index bd60f83138..07b788b937 100644 --- a/apps/files/css/upload.css +++ b/apps/files/css/upload.css @@ -24,20 +24,6 @@ } .file_upload_target { display:none; } .file_upload_form { display:inline; float:left; margin:0; padding:0; cursor:pointer; overflow:visible; } -#file_upload_start { - position: relative; - left: 0; - top: 0; - width: 44px; - height: 44px; - margin: -5px -3px; - padding: 0; - font-size: 16px; - -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter:alpha(opacity=0); opacity:0; - z-index: 20; - cursor: pointer; - overflow: hidden; -} #uploadprogresswrapper, #uploadprogresswrapper * { -moz-box-sizing: border-box; diff --git a/apps/files/index.php b/apps/files/index.php index a73caa50fb..cc007ebdb0 100644 --- a/apps/files/index.php +++ b/apps/files/index.php @@ -38,6 +38,7 @@ OCP\Util::addStyle('files', 'upload'); OCP\Util::addStyle('files', 'mobile'); OCP\Util::addscript('files', 'app'); OCP\Util::addscript('files', 'file-upload'); +OCP\Util::addscript('files', 'newfilemenu'); OCP\Util::addscript('files', 'jquery.iframe-transport'); OCP\Util::addscript('files', 'jquery.fileupload'); OCP\Util::addscript('files', 'jquery-visibility'); diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js index 6b6acdb5e0..17f0f77716 100644 --- a/apps/files/js/file-upload.js +++ b/apps/files/js/file-upload.js @@ -551,155 +551,6 @@ OC.Upload = { $('#file_upload_start').attr('multiple', 'multiple'); } - $(document).click(function(ev) { - // do not close when clicking in the dropdown - if ($(ev.target).closest('#new').length){ - return; - } - $('#new>ul').hide(); - $('#new').removeClass('active'); - if ($('#new .error').length > 0) { - $('#new .error').tipsy('hide'); - } - $('#new li').each(function(i,element) { - if ($(element).children('p').length === 0) { - $(element).children('form').remove(); - $(element).append('

' + $(element).data('text') + '

'); - } - }); - }); - $('#new').click(function(event) { - event.stopPropagation(); - }); - $('#new>a').click(function() { - $('#new>ul').toggle(); - $('#new').toggleClass('active'); - }); - $('#new li').click(function() { - if ($(this).children('p').length === 0) { - return; - } - - $('#new .error').tipsy('hide'); - - $('#new li').each(function(i, element) { - if ($(element).children('p').length === 0) { - $(element).children('form').remove(); - $(element).append('

' + $(element).data('text') + '

'); - } - }); - - var type = $(this).data('type'); - var text = $(this).children('p').text(); - $(this).data('text', text); - $(this).children('p').remove(); - - // add input field - var form = $('
'); - var input = $(''); - var newName = $(this).attr('data-newname') || ''; - var fileType = 'input-' + $(this).attr('data-type'); - if (newName) { - input.val(newName); - input.attr('id', fileType); - } - var label = $(''); - label.attr('for', fileType); - - form.append(label).append(input); - $(this).append(form); - var lastPos; - var checkInput = function () { - var filename = input.val(); - if (!Files.isFileNameValid(filename)) { - // Files.isFileNameValid(filename) throws an exception itself - } else if (FileList.inList(filename)) { - throw t('files', '{new_name} already exists', {new_name: filename}); - } else { - return true; - } - }; - - // verify filename on typing - input.keyup(function(event) { - try { - checkInput(); - input.tipsy('hide'); - input.removeClass('error'); - } catch (error) { - input.attr('title', error); - input.tipsy({gravity: 'w', trigger: 'manual'}); - input.tipsy('show'); - input.addClass('error'); - } - }); - - input.focus(); - // pre select name up to the extension - lastPos = newName.lastIndexOf('.'); - if (lastPos === -1) { - lastPos = newName.length; - } - input.selectRange(0, lastPos); - form.submit(function(event) { - event.stopPropagation(); - event.preventDefault(); - try { - checkInput(); - var newname = input.val(); - if (FileList.lastAction) { - FileList.lastAction(); - } - var name = FileList.getUniqueName(newname); - switch(type) { - case 'file': - $.post( - OC.filePath('files', 'ajax', 'newfile.php'), - { - dir: FileList.getCurrentDirectory(), - filename: name - }, - function(result) { - if (result.status === 'success') { - FileList.add(result.data, {animate: true, scrollTo: true}); - } else { - OC.dialogs.alert(result.data.message, t('core', 'Could not create file')); - } - } - ); - break; - case 'folder': - $.post( - OC.filePath('files','ajax','newfolder.php'), - { - dir: FileList.getCurrentDirectory(), - foldername: name - }, - function(result) { - if (result.status === 'success') { - FileList.add(result.data, {animate: true, scrollTo: true}); - } else { - OC.dialogs.alert(result.data.message, t('core', 'Could not create folder')); - } - } - ); - break; - } - var li = form.parent(); - form.remove(); - /* workaround for IE 9&10 click event trap, 2 lines: */ - $('input').first().focus(); - $('#content').focus(); - li.append('

' + li.data('text') + '

'); - $('#new>a').click(); - } catch (error) { - input.attr('title', error); - input.tipsy({gravity: 'w', trigger: 'manual'}); - input.tipsy('show'); - input.addClass('error'); - } - }); - }); window.file_upload_param = file_upload_param; return file_upload_param; } diff --git a/apps/files/js/fileactionsmenu.js b/apps/files/js/fileactionsmenu.js index 623ebde544..5ab0e42f93 100644 --- a/apps/files/js/fileactionsmenu.js +++ b/apps/files/js/fileactionsmenu.js @@ -14,7 +14,7 @@ ''; @@ -26,7 +26,7 @@ */ var FileActionsMenu = OC.Backbone.View.extend({ tagName: 'div', - className: 'fileActionsMenu bubble hidden open menu', + className: 'fileActionsMenu popovermenu bubble hidden open menu', /** * Current context diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index ac96d58701..5f55d42143 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -9,6 +9,9 @@ */ (function() { + + var TEMPLATE_ADDBUTTON = ''; + /** * @class OCA.Files.FileList * @classdesc @@ -220,6 +223,8 @@ this.$el.find('#controls').prepend(this.breadcrumb.$el); + this._renderNewButton(); + this.$el.find('thead th .columntitle').click(_.bind(this._onClickHeader, this)); this._onResize = _.debounce(_.bind(this._onResize, this), 100); @@ -262,6 +267,9 @@ * Destroy / uninitialize this instance. */ destroy: function() { + if (this._newFileMenu) { + this._newFileMenu.remove(); + } // TODO: also unregister other event handlers this.fileActions.off('registerAction', this._onFileActionsUpdated); this.fileActions.off('setDefault', this._onFileActionsUpdated); @@ -1679,6 +1687,102 @@ form.trigger('submit'); }); }, + + /** + * Create an empty file inside the current directory. + * + * @param {string} name name of the file + * + * @return {Promise} promise that will be resolved after the + * file was created + */ + createFile: function(name) { + var self = this; + var deferred = $.Deferred(); + var promise = deferred.promise(); + + OCA.Files.Files.isFileNameValid(name); + name = this.getUniqueName(name); + + if (this.lastAction) { + this.lastAction(); + } + + $.post( + OC.filePath('files', 'ajax', 'newfile.php'), + { + dir: this.getCurrentDirectory(), + filename: name + }, + function(result) { + if (result.status === 'success') { + self.add(result.data, {animate: true, scrollTo: true}); + deferred.resolve(result.status, result.data); + } else { + if (result.data && result.data.message) { + OC.Notification.showTemporary(result.data.message); + } else { + OC.Notification.showTemporary(t('core', 'Could not create file')); + } + deferred.reject(result.status, result.data); + } + } + ); + + return promise; + }, + + /** + * Create a directory inside the current directory. + * + * @param {string} name name of the directory + * + * @return {Promise} promise that will be resolved after the + * directory was created + */ + createDirectory: function(name) { + var self = this; + var deferred = $.Deferred(); + var promise = deferred.promise(); + + OCA.Files.Files.isFileNameValid(name); + name = this.getUniqueName(name); + + if (this.lastAction) { + this.lastAction(); + } + + $.post( + OC.filePath('files','ajax','newfolder.php'), + { + dir: this.getCurrentDirectory(), + foldername: name + }, + function(result) { + if (result.status === 'success') { + self.add(result.data, {animate: true, scrollTo: true}); + deferred.resolve(result.status, result.data); + } else { + if (result.data && result.data.message) { + OC.Notification.showTemporary(result.data.message); + } else { + OC.Notification.showTemporary(t('core', 'Could not create folder')); + } + deferred.reject(result.status); + } + } + ); + + return promise; + }, + + /** + * Returns whether the given file name exists in the list + * + * @param {string} file file name + * + * @return {bool} true if the file exists in the list, false otherwise + */ inList:function(file) { return this.findFileEl(file).length; }, @@ -2340,6 +2444,47 @@ }); }, + _renderNewButton: function() { + // if an upload button (legacy) already exists, skip + if ($('#controls .button.upload').length) { + return; + } + if (!this._addButtonTemplate) { + this._addButtonTemplate = Handlebars.compile(TEMPLATE_ADDBUTTON); + } + var $newButton = $(this._addButtonTemplate({ + addText: t('files', 'New'), + iconUrl: OC.imagePath('core', 'actions/add') + })); + + $('#controls .actions').prepend($newButton); + $newButton.tooltip({'placement': 'bottom'}); + + $newButton.click(_.bind(this._onClickNewButton, this)); + this._newButton = $newButton; + }, + + _onClickNewButton: function(event) { + var $target = $(event.target); + if (!$target.hasClass('.button')) { + $target = $target.closest('.button'); + } + this._newButton.tooltip('hide'); + event.preventDefault(); + if ($target.hasClass('disabled')) { + return false; + } + if (!this._newFileMenu) { + this._newFileMenu = new OCA.Files.NewFileMenu({ + fileList: this + }); + $('body').append(this._newFileMenu.$el); + } + this._newFileMenu.showAt($target); + + return false; + }, + /** * Register a tab view to be added to all views */ diff --git a/apps/files/js/newfilemenu.js b/apps/files/js/newfilemenu.js new file mode 100644 index 0000000000..c851096bd8 --- /dev/null +++ b/apps/files/js/newfilemenu.js @@ -0,0 +1,237 @@ +/* + * Copyright (c) 2014 + * + * This file is licensed under the Affero General Public License version 3 + * or later. + * + * See the COPYING-README file. + * + */ + +/* global Files */ + +(function() { + + var TEMPLATE_MENU = + '
    ' + + '
  • ' + + '' + + '
  • ' + + '{{#each items}}' + + '
  • ' + + '{{displayName}}' + + '
  • ' + + '{{/each}}' + + '
'; + + var TEMPLATE_FILENAME_FORM = + '
' + + '' + + '' + + '
'; + + /** + * Construct a new NewFileMenu instance + * @constructs NewFileMenu + * + * @memberof OCA.Files + */ + var NewFileMenu = OC.Backbone.View.extend({ + tagName: 'div', + className: 'newFileMenu popovermenu bubble hidden open menu', + + events: { + 'click .menuitem': '_onClickAction' + }, + + initialize: function(options) { + var self = this; + var $uploadEl = $('#file_upload_start'); + if ($uploadEl.length) { + $uploadEl.on('fileuploadstart', function() { + self.trigger('actionPerformed', 'upload'); + }); + } else { + console.warn('Missing upload element "file_upload_start"'); + } + + this._fileList = options && options.fileList; + }, + + template: function(data) { + if (!OCA.Files.NewFileMenu._TEMPLATE) { + OCA.Files.NewFileMenu._TEMPLATE = Handlebars.compile(TEMPLATE_MENU); + } + return OCA.Files.NewFileMenu._TEMPLATE(data); + }, + + /** + * Event handler whenever an action has been clicked within the menu + * + * @param {Object} event event object + */ + _onClickAction: function(event) { + var $target = $(event.target); + if (!$target.hasClass('menuitem')) { + $target = $target.closest('.menuitem'); + } + var action = $target.attr('data-action'); + // note: clicking the upload label will automatically + // set the focus on the "file_upload_start" hidden field + // which itself triggers the upload dialog. + // Currently the upload logic is still in file-upload.js and filelist.js + if (action === 'upload') { + OC.hideMenus(); + } else { + event.preventDefault(); + this._promptFileName($target); + } + }, + + _promptFileName: function($target) { + var self = this; + if (!OCA.Files.NewFileMenu._TEMPLATE_FORM) { + OCA.Files.NewFileMenu._TEMPLATE_FORM = Handlebars.compile(TEMPLATE_FILENAME_FORM); + } + + if ($target.find('form').length) { + $target.find('input').focus(); + return; + } + + // discard other forms + this.$el.find('form').remove(); + this.$el.find('.displayname').removeClass('hidden'); + + $target.find('.displayname').addClass('hidden'); + + var newName = $target.attr('data-templatename'); + var fileType = $target.attr('data-filetype'); + var $form = $(OCA.Files.NewFileMenu._TEMPLATE_FORM({ + fileName: newName, + cid: this.cid, + fileType: fileType + })); + + //this.trigger('actionPerformed', action); + $target.append($form); + + // here comes the OLD code + var $input = $form.find('input'); + + var lastPos; + var checkInput = function () { + var filename = $input.val(); + try { + if (!Files.isFileNameValid(filename)) { + // Files.isFileNameValid(filename) throws an exception itself + } else if (self._fileList.inList(filename)) { + throw t('files', '{newname} already exists', {newname: filename}); + } else { + return true; + } + } catch (error) { + $input.attr('title', error); + $input.tooltip({placement: 'right', trigger: 'manual'}); + $input.tooltip('show'); + $input.addClass('error'); + } + return false; + }; + + // verify filename on typing + $input.keyup(function() { + if (checkInput()) { + $input.tooltip('hide'); + $input.removeClass('error'); + } + }); + + $input.focus(); + // pre select name up to the extension + lastPos = newName.lastIndexOf('.'); + if (lastPos === -1) { + lastPos = newName.length; + } + $input.selectRange(0, lastPos); + + $form.submit(function(event) { + event.stopPropagation(); + event.preventDefault(); + + if (checkInput()) { + var newname = $input.val(); + self._createFile(fileType, newname); + $form.remove(); + $('#content').focus(); + $target.find('.displayname').removeClass('hidden'); + OC.hideMenus(); + } + }); + }, + + /** + * Creates a file with the given type and name. + * This calls the matching methods on the attached file list. + * + * @param {string} fileType file type + * @param {string} name file name + */ + _createFile: function(fileType, name) { + switch(fileType) { + case 'file': + this._fileList.createFile(name); + break; + case 'folder': + this._fileList.createDirectory(name); + break; + default: + console.warn('Unknown file type "' + fileType + '"'); + } + }, + + /** + * Renders the menu with the currently set items + */ + render: function() { + this.$el.html(this.template({ + uploadMaxHumanFileSize: 'TODO', + uploadLabel: t('files', 'Upload'), + items: [{ + id: 'file', + displayName: t('files', 'Text file'), + templateName: t('files', 'New text file.txt'), + iconClass: 'icon-text', + fileType: 'file' + }, { + id: 'folder', + displayName: t('files', 'Folder'), + templateName: t('files', 'New folder'), + iconClass: 'icon-folder', + fileType: 'folder' + }] + })); + }, + + /** + * Displays the menu under the given element + * + * @param {Object} $target target element + */ + showAt: function($target) { + this.render(); + var targetOffset = $target.offset(); + this.$el.css({ + left: targetOffset.left, + top: targetOffset.top + $target.height() + }); + this.$el.removeClass('hidden'); + + OC.showMenu(null, this.$el); + } + }); + + OCA.Files.NewFileMenu = NewFileMenu; + +})(); + diff --git a/apps/files/templates/list.php b/apps/files/templates/list.php index 32651b261d..15af1970dc 100644 --- a/apps/files/templates/list.php +++ b/apps/files/templates/list.php @@ -1,40 +1,16 @@