diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/admin_audit/l10n/es_CR.js | 3 | ||||
-rw-r--r-- | apps/admin_audit/l10n/es_CR.json | 3 | ||||
-rw-r--r-- | apps/dav/appinfo/v2/publicremote.php | 4 | ||||
-rw-r--r-- | apps/dav/l10n/et_EE.js | 31 | ||||
-rw-r--r-- | apps/dav/l10n/et_EE.json | 31 | ||||
-rw-r--r-- | apps/dav/lib/Connector/Sabre/PublicAuth.php | 35 | ||||
-rw-r--r-- | apps/dav/tests/unit/Connector/Sabre/PublicAuthTest.php | 34 | ||||
-rw-r--r-- | apps/federatedfilesharing/l10n/et_EE.js | 2 | ||||
-rw-r--r-- | apps/federatedfilesharing/l10n/et_EE.json | 2 | ||||
-rw-r--r-- | apps/files_sharing/l10n/cs.js | 1 | ||||
-rw-r--r-- | apps/files_sharing/l10n/cs.json | 1 | ||||
-rw-r--r-- | apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php | 5 | ||||
-rw-r--r-- | apps/files_sharing/tests/Controller/ShareControllerTest.php | 16 | ||||
-rw-r--r-- | apps/settings/l10n/et_EE.js | 2 | ||||
-rw-r--r-- | apps/settings/l10n/et_EE.json | 2 | ||||
-rw-r--r-- | apps/sharebymail/l10n/et_EE.js | 26 | ||||
-rw-r--r-- | apps/sharebymail/l10n/et_EE.json | 26 | ||||
-rw-r--r-- | apps/systemtags/src/components/SystemTagPicker.vue | 2 | ||||
-rw-r--r-- | apps/updatenotification/l10n/et_EE.js | 29 | ||||
-rw-r--r-- | apps/updatenotification/l10n/et_EE.json | 29 |
20 files changed, 224 insertions, 60 deletions
diff --git a/apps/admin_audit/l10n/es_CR.js b/apps/admin_audit/l10n/es_CR.js index 554f249b125..a051b8053d3 100644 --- a/apps/admin_audit/l10n/es_CR.js +++ b/apps/admin_audit/l10n/es_CR.js @@ -1,6 +1,7 @@ OC.L10N.register( "admin_audit", { - "Auditing / Logging" : "Auditoría / Registros" + "Auditing / Logging" : "Auditoría / Registros", + "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones sensibles." }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/admin_audit/l10n/es_CR.json b/apps/admin_audit/l10n/es_CR.json index 772c7486a7b..00a101b11b8 100644 --- a/apps/admin_audit/l10n/es_CR.json +++ b/apps/admin_audit/l10n/es_CR.json @@ -1,4 +1,5 @@ { "translations": { - "Auditing / Logging" : "Auditoría / Registros" + "Auditing / Logging" : "Auditoría / Registros", + "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Proporciona capacidades de registro para Nextcloud, como el registro de accesos a archivos o acciones sensibles." },"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/dav/appinfo/v2/publicremote.php b/apps/dav/appinfo/v2/publicremote.php index fbb3ddd2cb3..e089fa7bb62 100644 --- a/apps/dav/appinfo/v2/publicremote.php +++ b/apps/dav/appinfo/v2/publicremote.php @@ -29,6 +29,7 @@ use OCP\IPreview; use OCP\IRequest; use OCP\ISession; use OCP\ITagManager; +use OCP\IURLGenerator; use OCP\IUserSession; use OCP\L10N\IFactory; use OCP\Security\Bruteforce\IThrottler; @@ -56,7 +57,8 @@ $authBackend = new PublicAuth( Server::get(IManager::class), $session, Server::get(IThrottler::class), - Server::get(LoggerInterface::class) + Server::get(LoggerInterface::class), + Server::get(IURLGenerator::class), ); $authPlugin = new \Sabre\DAV\Auth\Plugin($authBackend); diff --git a/apps/dav/l10n/et_EE.js b/apps/dav/l10n/et_EE.js index b4c8248fca0..54ba6f5a401 100644 --- a/apps/dav/l10n/et_EE.js +++ b/apps/dav/l10n/et_EE.js @@ -72,7 +72,7 @@ OC.L10N.register( "Description: %s" : "Kirjeldus: %s", "Where: %s" : "Kus: %s", "%1$s via %2$s" : "%1$s %2$s kaudu", - "Could not generate when statement" : "Ei õnnstunud luua tingimuslikku „when“ lausendit", + "Could not generate when statement" : "Ei õnnestunud koostada tingimuslikku „when“ lausendit", "Every Day for the entire day" : "Iga päev kogu päeva jooksul", "Every Day for the entire day until %1$s" : "Iga päev kogu päeva jooksul kuni %1$s", "Every Day between %1$s - %2$s" : "Iga päev ajavahemikus %1$s - %2$s", @@ -81,6 +81,34 @@ OC.L10N.register( "Every %1$d Days for the entire day until %2$s" : "Iga %1$d. päev kogu päeva jooksul kuni %2$s", "Every %1$d Days between %2$s - %3$s" : "Iga %1$d. päev kogu päeva jooksul ajavahemikus %2$s - %3$s", "Every %1$d Days between %2$s - %3$s until %4$s" : "Iga %1$d. päev kogu päeva jooksul ajavahemikus %2$s - %3$s, kuni %4$s", + "Could not generate event recurrence statement" : "Ei õnnestunud koostada ürituse kordumise lausendit", + "Every Week on %1$s for the entire day" : "Kogu päeva kestel igal nädalal: %1$s", + "Every Week on %1$s for the entire day until %2$s" : "Kogu päeva kestel igal nädalal kuni %2$s: %1$s", + "Every Week on %1$s between %2$s - %3$s" : "Igal nädalal: %1$s ajavahemikus %2$s - %3$s", + "Every Week on %1$s between %2$s - %3$s until %4$s" : "Igal nädalal kuni %2$s: %1$s ajavahemikus %3$s - %4$s", + "Every %1$d Weeks on %2$s for the entire day" : "Igal %1$d-l nädalal kogu päeva kestel: %2$s", + "Every %1$d Weeks on %2$s for the entire day until %3$s" : "Igal %1$d-l nädalal kuni %3$s kogu päeva kestel: %2$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s" : "Igal %1$d-l nädalal ajavahemikus %3$s - %4$s: %2$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Igal %1$d-l nädalal kuni %5$s ajavahemikus %3$s - %4$s: %2$s", + "Every Month on the %1$s for the entire day" : "Kogu päeva kestel igal kuul: %1$s", + "Every Month on the %1$s for the entire day until %2$s" : "Kogu päeva kestel igal kuul kuni %2$s: %1$s", + "Every Month on the %1$s between %2$s - %3$s" : "Igal kuul: %1$s ajavahemikus %2$s - %3$s", + "Every Month on the %1$s between %2$s - %3$s until %4$s" : "Igal kuul kuni %2$s: %1$s ajavahemikus %3$s - %4$s", + "Every %1$d Months on the %2$s for the entire day" : "Igal %1$d-l kuul kogu päeva kestel: %2$s", + "Every %1$d Months on the %2$s for the entire day until %3$s" : "Igal %1$d-l kuul kuni %3$s kogu päeva kestel: %2$s", + "Every %1$d Months on the %2$s between %3$s - %4$s" : "Igal %1$d-l kuul ajavahemikus %3$s - %4$s: %2$s", + "Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Igal %1$d-l kuul kuni %5$s ajavahemikus %3$s - %4$s: %2$s", + "Every Year in %1$s on the %2$s for the entire day" : "Kogu päeva kestel igal aastal: %1$s, %2$s", + "Every Year in %1$s on the %2$s for the entire day until %3$s" : "Kogu päeva kestel igal aastal kuni %3$s: %1$s, %2$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s" : "Igal aastal ajavahemikus %3$s - %4$s: %1$s, %2$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Igal aastal kuni %5$sajavahemikus %3$s - %4$s: %1$s, %2$s", + "Every %1$d Years in %2$s on the %3$s for the entire day" : "Igal %1$d-l aastal kogu päeva kestel: %2$s, %3$s", + "Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Kogu päeva kestel igal %1$d-l aastal kuni %4$s: %2$s, %3$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Igal %1$d-l aastal ajavahemikus %4$s - %5$s: %2$s, %3$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Igal %1$d-l aastal kuni %6$s ajavahemikus %4$s - %5$s: %2$s, %3$s", + "On specific dates for the entire day until %1$s" : "Kindlatel päevadel kogu päeva jooksul kuni %1$s", + "On specific dates between %1$s - %2$s until %3$s" : "Kindlatel päevadel ajavahemikus %1$s - %2$s kuni %3$s", + "Could not generate next recurrence statement" : "Ei õnnestunud koostada korduva ürituse järgmise toimumise lausendit", "Cancelled: %1$s" : "Tühistatud: %1$s", "\"%1$s\" has been canceled" : "„%1$s“ on tühistatud", "Re: %1$s" : "Re: %1$s", @@ -201,6 +229,7 @@ OC.L10N.register( "Calendar server" : "Kalendriserver", "Send invitations to attendees" : "Saada osalejatele kutsed", "Automatically generate a birthday calendar" : "Koosta sünnipäevade kalender automaatselt", + "Birthday calendars will be generated by a background job." : "Sünnipäevade kalender luuakse automaatselt taustateenuse poolt.", "Send notifications for events" : "Saada sündmuste teavitusi", "Enable notifications for events via push" : "Võta kasutusele tõuketeenustepõhised teavitused", "Cancel" : "Tühista", diff --git a/apps/dav/l10n/et_EE.json b/apps/dav/l10n/et_EE.json index cf12e3257c6..060e60c7b21 100644 --- a/apps/dav/l10n/et_EE.json +++ b/apps/dav/l10n/et_EE.json @@ -70,7 +70,7 @@ "Description: %s" : "Kirjeldus: %s", "Where: %s" : "Kus: %s", "%1$s via %2$s" : "%1$s %2$s kaudu", - "Could not generate when statement" : "Ei õnnstunud luua tingimuslikku „when“ lausendit", + "Could not generate when statement" : "Ei õnnestunud koostada tingimuslikku „when“ lausendit", "Every Day for the entire day" : "Iga päev kogu päeva jooksul", "Every Day for the entire day until %1$s" : "Iga päev kogu päeva jooksul kuni %1$s", "Every Day between %1$s - %2$s" : "Iga päev ajavahemikus %1$s - %2$s", @@ -79,6 +79,34 @@ "Every %1$d Days for the entire day until %2$s" : "Iga %1$d. päev kogu päeva jooksul kuni %2$s", "Every %1$d Days between %2$s - %3$s" : "Iga %1$d. päev kogu päeva jooksul ajavahemikus %2$s - %3$s", "Every %1$d Days between %2$s - %3$s until %4$s" : "Iga %1$d. päev kogu päeva jooksul ajavahemikus %2$s - %3$s, kuni %4$s", + "Could not generate event recurrence statement" : "Ei õnnestunud koostada ürituse kordumise lausendit", + "Every Week on %1$s for the entire day" : "Kogu päeva kestel igal nädalal: %1$s", + "Every Week on %1$s for the entire day until %2$s" : "Kogu päeva kestel igal nädalal kuni %2$s: %1$s", + "Every Week on %1$s between %2$s - %3$s" : "Igal nädalal: %1$s ajavahemikus %2$s - %3$s", + "Every Week on %1$s between %2$s - %3$s until %4$s" : "Igal nädalal kuni %2$s: %1$s ajavahemikus %3$s - %4$s", + "Every %1$d Weeks on %2$s for the entire day" : "Igal %1$d-l nädalal kogu päeva kestel: %2$s", + "Every %1$d Weeks on %2$s for the entire day until %3$s" : "Igal %1$d-l nädalal kuni %3$s kogu päeva kestel: %2$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s" : "Igal %1$d-l nädalal ajavahemikus %3$s - %4$s: %2$s", + "Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Igal %1$d-l nädalal kuni %5$s ajavahemikus %3$s - %4$s: %2$s", + "Every Month on the %1$s for the entire day" : "Kogu päeva kestel igal kuul: %1$s", + "Every Month on the %1$s for the entire day until %2$s" : "Kogu päeva kestel igal kuul kuni %2$s: %1$s", + "Every Month on the %1$s between %2$s - %3$s" : "Igal kuul: %1$s ajavahemikus %2$s - %3$s", + "Every Month on the %1$s between %2$s - %3$s until %4$s" : "Igal kuul kuni %2$s: %1$s ajavahemikus %3$s - %4$s", + "Every %1$d Months on the %2$s for the entire day" : "Igal %1$d-l kuul kogu päeva kestel: %2$s", + "Every %1$d Months on the %2$s for the entire day until %3$s" : "Igal %1$d-l kuul kuni %3$s kogu päeva kestel: %2$s", + "Every %1$d Months on the %2$s between %3$s - %4$s" : "Igal %1$d-l kuul ajavahemikus %3$s - %4$s: %2$s", + "Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Igal %1$d-l kuul kuni %5$s ajavahemikus %3$s - %4$s: %2$s", + "Every Year in %1$s on the %2$s for the entire day" : "Kogu päeva kestel igal aastal: %1$s, %2$s", + "Every Year in %1$s on the %2$s for the entire day until %3$s" : "Kogu päeva kestel igal aastal kuni %3$s: %1$s, %2$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s" : "Igal aastal ajavahemikus %3$s - %4$s: %1$s, %2$s", + "Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Igal aastal kuni %5$sajavahemikus %3$s - %4$s: %1$s, %2$s", + "Every %1$d Years in %2$s on the %3$s for the entire day" : "Igal %1$d-l aastal kogu päeva kestel: %2$s, %3$s", + "Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Kogu päeva kestel igal %1$d-l aastal kuni %4$s: %2$s, %3$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Igal %1$d-l aastal ajavahemikus %4$s - %5$s: %2$s, %3$s", + "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Igal %1$d-l aastal kuni %6$s ajavahemikus %4$s - %5$s: %2$s, %3$s", + "On specific dates for the entire day until %1$s" : "Kindlatel päevadel kogu päeva jooksul kuni %1$s", + "On specific dates between %1$s - %2$s until %3$s" : "Kindlatel päevadel ajavahemikus %1$s - %2$s kuni %3$s", + "Could not generate next recurrence statement" : "Ei õnnestunud koostada korduva ürituse järgmise toimumise lausendit", "Cancelled: %1$s" : "Tühistatud: %1$s", "\"%1$s\" has been canceled" : "„%1$s“ on tühistatud", "Re: %1$s" : "Re: %1$s", @@ -199,6 +227,7 @@ "Calendar server" : "Kalendriserver", "Send invitations to attendees" : "Saada osalejatele kutsed", "Automatically generate a birthday calendar" : "Koosta sünnipäevade kalender automaatselt", + "Birthday calendars will be generated by a background job." : "Sünnipäevade kalender luuakse automaatselt taustateenuse poolt.", "Send notifications for events" : "Saada sündmuste teavitusi", "Enable notifications for events via push" : "Võta kasutusele tõuketeenustepõhised teavitused", "Cancel" : "Tühista", diff --git a/apps/dav/lib/Connector/Sabre/PublicAuth.php b/apps/dav/lib/Connector/Sabre/PublicAuth.php index b5d9ce3db72..2ca1c25e2f6 100644 --- a/apps/dav/lib/Connector/Sabre/PublicAuth.php +++ b/apps/dav/lib/Connector/Sabre/PublicAuth.php @@ -14,6 +14,7 @@ namespace OCA\DAV\Connector\Sabre; use OCP\Defaults; use OCP\IRequest; use OCP\ISession; +use OCP\IURLGenerator; use OCP\Security\Bruteforce\IThrottler; use OCP\Security\Bruteforce\MaxDelayReached; use OCP\Share\Exceptions\ShareNotFound; @@ -23,6 +24,7 @@ use Psr\Log\LoggerInterface; use Sabre\DAV\Auth\Backend\AbstractBasic; use Sabre\DAV\Exception\NotAuthenticated; use Sabre\DAV\Exception\NotFound; +use Sabre\DAV\Exception\PreconditionFailed; use Sabre\DAV\Exception\ServiceUnavailable; use Sabre\HTTP; use Sabre\HTTP\RequestInterface; @@ -45,6 +47,7 @@ class PublicAuth extends AbstractBasic { private ISession $session, private IThrottler $throttler, private LoggerInterface $logger, + private IURLGenerator $urlGenerator, ) { // setup realm $defaults = new Defaults(); @@ -52,10 +55,6 @@ class PublicAuth extends AbstractBasic { } /** - * @param RequestInterface $request - * @param ResponseInterface $response - * - * @return array * @throws NotAuthenticated * @throws MaxDelayReached * @throws ServiceUnavailable @@ -64,6 +63,10 @@ class PublicAuth extends AbstractBasic { try { $this->throttler->sleepDelayOrThrowOnMax($this->request->getRemoteAddress(), self::BRUTEFORCE_ACTION); + if (count($_COOKIE) > 0 && !$this->request->passesStrictCookieCheck() && $this->getShare()->getPassword() !== null) { + throw new PreconditionFailed('Strict cookie check failed'); + } + $auth = new HTTP\Auth\Basic( $this->realm, $request, @@ -80,6 +83,15 @@ class PublicAuth extends AbstractBasic { } catch (NotAuthenticated|MaxDelayReached $e) { $this->throttler->registerAttempt(self::BRUTEFORCE_ACTION, $this->request->getRemoteAddress()); throw $e; + } catch (PreconditionFailed $e) { + $response->setHeader( + 'Location', + $this->urlGenerator->linkToRoute( + 'files_sharing.share.showShare', + [ 'token' => $this->getToken() ], + ), + ); + throw $e; } catch (\Exception $e) { $class = get_class($e); $msg = $e->getMessage(); @@ -90,7 +102,6 @@ class PublicAuth extends AbstractBasic { /** * Extract token from request url - * @return string * @throws NotFound */ private function getToken(): string { @@ -107,7 +118,7 @@ class PublicAuth extends AbstractBasic { /** * Check token validity - * @return array + * * @throws NotFound * @throws NotAuthenticated */ @@ -155,15 +166,13 @@ class PublicAuth extends AbstractBasic { protected function validateUserPass($username, $password) { $this->throttler->sleepDelayOrThrowOnMax($this->request->getRemoteAddress(), self::BRUTEFORCE_ACTION); - $token = $this->getToken(); try { - $share = $this->shareManager->getShareByToken($token); + $share = $this->getShare(); } catch (ShareNotFound $e) { $this->throttler->registerAttempt(self::BRUTEFORCE_ACTION, $this->request->getRemoteAddress()); return false; } - $this->share = $share; \OC_User::setIncognitoMode(true); // check if the share is password protected @@ -206,7 +215,13 @@ class PublicAuth extends AbstractBasic { } public function getShare(): IShare { - assert($this->share !== null); + $token = $this->getToken(); + + if ($this->share === null) { + $share = $this->shareManager->getShareByToken($token); + $this->share = $share; + } + return $this->share; } } diff --git a/apps/dav/tests/unit/Connector/Sabre/PublicAuthTest.php b/apps/dav/tests/unit/Connector/Sabre/PublicAuthTest.php index 00bddf2e69c..67e7f6af675 100644 --- a/apps/dav/tests/unit/Connector/Sabre/PublicAuthTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/PublicAuthTest.php @@ -10,10 +10,12 @@ namespace OCA\DAV\Tests\unit\Connector; use OCA\DAV\Connector\Sabre\PublicAuth; use OCP\IRequest; use OCP\ISession; +use OCP\IURLGenerator; use OCP\Security\Bruteforce\IThrottler; use OCP\Share\Exceptions\ShareNotFound; use OCP\Share\IManager; use OCP\Share\IShare; +use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; /** @@ -25,21 +27,15 @@ use Psr\Log\LoggerInterface; */ class PublicAuthTest extends \Test\TestCase { - /** @var ISession|MockObject */ - private $session; - /** @var IRequest|MockObject */ - private $request; - /** @var IManager|MockObject */ - private $shareManager; - /** @var PublicAuth */ - private $auth; - /** @var IThrottler|MockObject */ - private $throttler; - /** @var LoggerInterface|MockObject */ - private $logger; - - /** @var string */ - private $oldUser; + private ISession&MockObject $session; + private IRequest&MockObject $request; + private IManager&MockObject $shareManager; + private PublicAuth $auth; + private IThrottler&MockObject $throttler; + private LoggerInterface&MockObject $logger; + private IURLGenerator&MockObject $urlGenerator; + + private string $oldUser; protected function setUp(): void { parent::setUp(); @@ -49,6 +45,7 @@ class PublicAuthTest extends \Test\TestCase { $this->shareManager = $this->createMock(IManager::class); $this->throttler = $this->createMock(IThrottler::class); $this->logger = $this->createMock(LoggerInterface::class); + $this->urlGenerator = $this->createMock(IURLGenerator::class); $this->auth = new PublicAuth( $this->request, @@ -56,6 +53,7 @@ class PublicAuthTest extends \Test\TestCase { $this->session, $this->throttler, $this->logger, + $this->urlGenerator, ); // Store current user @@ -137,7 +135,7 @@ class PublicAuthTest extends \Test\TestCase { $this->session->method('exists')->with('public_link_authenticated')->willReturn(true); $this->session->method('get')->with('public_link_authenticated')->willReturn('42'); - + $result = $this->invokePrivate($this->auth, 'checkToken'); $this->assertSame([true, 'principals/GX9HSGQrGE'], $result); } @@ -158,7 +156,7 @@ class PublicAuthTest extends \Test\TestCase { ->willReturn($share); $this->session->method('exists')->with('public_link_authenticated')->willReturn(false); - + $this->expectException(\Sabre\DAV\Exception\NotAuthenticated::class); $this->invokePrivate($this->auth, 'checkToken'); } @@ -180,7 +178,7 @@ class PublicAuthTest extends \Test\TestCase { $this->session->method('exists')->with('public_link_authenticated')->willReturn(false); $this->session->method('get')->with('public_link_authenticated')->willReturn('43'); - + $this->expectException(\Sabre\DAV\Exception\NotAuthenticated::class); $this->invokePrivate($this->auth, 'checkToken'); } diff --git a/apps/federatedfilesharing/l10n/et_EE.js b/apps/federatedfilesharing/l10n/et_EE.js index a755ab72cea..cc498be6c35 100644 --- a/apps/federatedfilesharing/l10n/et_EE.js +++ b/apps/federatedfilesharing/l10n/et_EE.js @@ -24,9 +24,11 @@ OC.L10N.register( "Federated file sharing" : "Failide jagamine liitpilves", "Provide federated file sharing across servers" : "Toeta failide jagamist liitpilves üle serverite", "Confirm data upload to lookup server" : "Kinnita andmete üleslaadimine tuvastusserverisse", + "When enabled, all account properties (e.g. email address) with scope visibility set to \"published\", will be automatically synced and transmitted to an external system and made available in a public, global address book." : "Kui see eelistus on kasutusel, siis kõik kasutajakonto andmed, mille nähtavuseks on märgitud „avaldatud“, sünkroniseeritakse automaatselt välistesse serveritesse ning avaldatakse liitpilve üldises aadressiraamatus.", "Disable upload" : "Keela üleslaadimine", "Enable data upload" : "Luba andmete üleslaadimine", "Confirm querying lookup server" : "Kinnita andmete pärimine tuvastusserverist", + "When enabled, the search input when creating shares will be sent to an external system that provides a public and global address book." : "Kui see eelistus on kasutusel, siis jaosmeedia loomisel kasutatud otsingusisend saadetakse automaatselt välistesse serveritesse, mis tagavad liitpilve üldise ja avaliku aadressiraamatu toimimise.", "This is used to retrieve the federated cloud ID to make federated sharing easier." : "See on kasutusel liitpilve tunnuse laadimiseks ning see teeb jagamise liitpilves lihtsamaks.", "Moreover, email addresses of users might be sent to that system in order to verify them." : "Lisaks võidakse sellesse serverisse saata verifitseerimise jaoks kasutajate e-posti aadresse.", "Disable querying" : "Keela päringute tegemine", diff --git a/apps/federatedfilesharing/l10n/et_EE.json b/apps/federatedfilesharing/l10n/et_EE.json index b7bed2a7f80..81dd979414c 100644 --- a/apps/federatedfilesharing/l10n/et_EE.json +++ b/apps/federatedfilesharing/l10n/et_EE.json @@ -22,9 +22,11 @@ "Federated file sharing" : "Failide jagamine liitpilves", "Provide federated file sharing across servers" : "Toeta failide jagamist liitpilves üle serverite", "Confirm data upload to lookup server" : "Kinnita andmete üleslaadimine tuvastusserverisse", + "When enabled, all account properties (e.g. email address) with scope visibility set to \"published\", will be automatically synced and transmitted to an external system and made available in a public, global address book." : "Kui see eelistus on kasutusel, siis kõik kasutajakonto andmed, mille nähtavuseks on märgitud „avaldatud“, sünkroniseeritakse automaatselt välistesse serveritesse ning avaldatakse liitpilve üldises aadressiraamatus.", "Disable upload" : "Keela üleslaadimine", "Enable data upload" : "Luba andmete üleslaadimine", "Confirm querying lookup server" : "Kinnita andmete pärimine tuvastusserverist", + "When enabled, the search input when creating shares will be sent to an external system that provides a public and global address book." : "Kui see eelistus on kasutusel, siis jaosmeedia loomisel kasutatud otsingusisend saadetakse automaatselt välistesse serveritesse, mis tagavad liitpilve üldise ja avaliku aadressiraamatu toimimise.", "This is used to retrieve the federated cloud ID to make federated sharing easier." : "See on kasutusel liitpilve tunnuse laadimiseks ning see teeb jagamise liitpilves lihtsamaks.", "Moreover, email addresses of users might be sent to that system in order to verify them." : "Lisaks võidakse sellesse serverisse saata verifitseerimise jaoks kasutajate e-posti aadresse.", "Disable querying" : "Keela päringute tegemine", diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js index 342b9e4f588..ddd9f9e9319 100644 --- a/apps/files_sharing/l10n/cs.js +++ b/apps/files_sharing/l10n/cs.js @@ -313,6 +313,7 @@ OC.L10N.register( "Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access." : "Tuto metodu použijte pro nasdílení souborů jednotlivcům nebo týmům ve vaší organizaci. Pokud příjemce už má přístup ke sdílení, ale nemůže ho nalézt, můžete mu přístup usnadnit zasláním vnitřního odkazu na sdílení.", "Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID." : "Tuto metodu používejte pro sdílení souborů s jednotlivci nebo organizacemi vně té vaší. Soubory a složky je možné nasdílet prostřednictvím veřejných odkazů na sdílení a e-mailových adres. Je také možné nasdílet ostatním Nextcloud účtům hostovaným na různých instancích a to prostřednictvím jejich identifikátorů v rámci federovaného cloudu.", "Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Sdílení, která nejsou součástí interních nebo externích sdílení. Toto mohou být sdílení z aplikací nebo jiných zdrojů.", + "Share with accounts, teams, federated cloud IDs" : "Nasdílejte účtům, týmům, identifikátorům v rámci federovaného cloudu", "Share with accounts and teams" : "Nasdílet účtům a týmům", "Email, federated cloud ID" : "E-mail, identif. federovaného cloudu", "Unable to load the shares list" : "Nedaří se načíst seznam sdílení", diff --git a/apps/files_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json index 8e6393fd417..b135d8e9e9e 100644 --- a/apps/files_sharing/l10n/cs.json +++ b/apps/files_sharing/l10n/cs.json @@ -311,6 +311,7 @@ "Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access." : "Tuto metodu použijte pro nasdílení souborů jednotlivcům nebo týmům ve vaší organizaci. Pokud příjemce už má přístup ke sdílení, ale nemůže ho nalézt, můžete mu přístup usnadnit zasláním vnitřního odkazu na sdílení.", "Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID." : "Tuto metodu používejte pro sdílení souborů s jednotlivci nebo organizacemi vně té vaší. Soubory a složky je možné nasdílet prostřednictvím veřejných odkazů na sdílení a e-mailových adres. Je také možné nasdílet ostatním Nextcloud účtům hostovaným na různých instancích a to prostřednictvím jejich identifikátorů v rámci federovaného cloudu.", "Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Sdílení, která nejsou součástí interních nebo externích sdílení. Toto mohou být sdílení z aplikací nebo jiných zdrojů.", + "Share with accounts, teams, federated cloud IDs" : "Nasdílejte účtům, týmům, identifikátorům v rámci federovaného cloudu", "Share with accounts and teams" : "Nasdílet účtům a týmům", "Email, federated cloud ID" : "E-mail, identif. federovaného cloudu", "Unable to load the shares list" : "Nedaří se načíst seznam sdílení", diff --git a/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php b/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php index 686ba32fd49..910d00a5972 100644 --- a/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php +++ b/apps/files_sharing/lib/DefaultPublicShareTemplateProvider.php @@ -149,10 +149,7 @@ class DefaultPublicShareTemplateProvider implements IPublicShareTemplateProvider $headerActions = []; if ($view !== 'public-file-drop' && !$share->getHideDownload()) { // The download URL is used for the "download" header action as well as in some cases for the direct link - $downloadUrl = $this->urlGenerator->linkToRouteAbsolute('files_sharing.sharecontroller.downloadShare', [ - 'token' => $token, - 'filename' => ($shareNode instanceof File) ? $shareNode->getName() : null, - ]); + $downloadUrl = $this->urlGenerator->getAbsoluteURL('/public.php/dav/files/' . $token . '/?accept=zip'); // If not a file drop, then add the download header action $headerActions[] = new SimpleMenuAction('download', $this->l10n->t('Download'), 'icon-download', $downloadUrl, 0, (string)$shareNode->getSize()); diff --git a/apps/files_sharing/tests/Controller/ShareControllerTest.php b/apps/files_sharing/tests/Controller/ShareControllerTest.php index 58cbb4e0b82..524336787cb 100644 --- a/apps/files_sharing/tests/Controller/ShareControllerTest.php +++ b/apps/files_sharing/tests/Controller/ShareControllerTest.php @@ -261,8 +261,12 @@ class ShareControllerTest extends \Test\TestCase { ['files_sharing.sharecontroller.showShare', ['token' => 'token'], 'shareUrl'], // this share is not an image to the default preview is used ['files_sharing.PublicPreview.getPreview', ['x' => 256, 'y' => 256, 'file' => $share->getTarget(), 'token' => 'token'], 'previewUrl'], - // for the direct link - ['files_sharing.sharecontroller.downloadShare', ['token' => 'token', 'filename' => $filename ], 'downloadUrl'], + ]); + + $this->urlGenerator->expects($this->once()) + ->method('getAbsoluteURL') + ->willReturnMap([ + ['/public.php/dav/files/token/?accept=zip', 'downloadUrl'], ]); $this->previewManager->method('isMimeSupported')->with('text/plain')->willReturn(true); @@ -552,8 +556,12 @@ class ShareControllerTest extends \Test\TestCase { ['files_sharing.sharecontroller.showShare', ['token' => 'token'], 'shareUrl'], // this share is not an image to the default preview is used ['files_sharing.PublicPreview.getPreview', ['x' => 256, 'y' => 256, 'file' => $share->getTarget(), 'token' => 'token'], 'previewUrl'], - // for the direct link - ['files_sharing.sharecontroller.downloadShare', ['token' => 'token', 'filename' => $filename ], 'downloadUrl'], + ]); + + $this->urlGenerator->expects($this->once()) + ->method('getAbsoluteURL') + ->willReturnMap([ + ['/public.php/dav/files/token/?accept=zip', 'downloadUrl'], ]); $this->previewManager->method('isMimeSupported')->with('text/plain')->willReturn(true); diff --git a/apps/settings/l10n/et_EE.js b/apps/settings/l10n/et_EE.js index ac71b7323d2..b7bd2029c26 100644 --- a/apps/settings/l10n/et_EE.js +++ b/apps/settings/l10n/et_EE.js @@ -155,6 +155,7 @@ OC.L10N.register( "The PHP max_input_time is too low. A time of at least %1$s is recommended. Current value: %2$s." : "PHP seadistuse „max_input_time“ väärtus on liiga väike. Meie soovitatud väärtus: %1$s. Praegune väärtus: %2$s.", "The PHP max_execution_time is too low. A time of at least %1$s is recommended. Current value: %2$s." : "PHP seadistuse „max_execution_time“ väärtus on liiga väike. Meie soovitatud väärtus: %1$s. Praegune väärtus: %2$s.", "PHP memory limit" : "PHP mälukasutuse ülempiir", + "The PHP memory limit is below the recommended value of %s. Some features or apps - including the Updater - may not function properly." : "PHP mälukasutuse piir on väiksem, muid soovitatav väärtus %s. Mõned funktsionaalsused või rakendused, sealhulgas uuendaja, ei pruugi toimida korrektselt.", "PHP modules" : "PHP lisamoodulid", "for Argon2 for password hashing" : "Argon2-põhise salasõna räsimise jaoks", "required for SFTP storage and recommended for WebAuthn performance" : "nõutav SFTP andmeruumi jaoks ja soovitatav WebAuthn jõudluse jaoks", @@ -534,6 +535,7 @@ OC.L10N.register( "Account management" : "Kasutajakontode haldus", "Sending…" : "Saadan...", "Email sent" : "E-kiri on saadetud", + "For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Kui võtad Nextcloudi serveris krüptimise kasutsele, siis jõudlusest johtuvalt krüptitakse vaid uusi ja muudetud faile.", "Location" : "Asukoht", "Profile picture" : "Profiili pilt", "About" : "Teave", diff --git a/apps/settings/l10n/et_EE.json b/apps/settings/l10n/et_EE.json index f447343abef..cc1e10a6c85 100644 --- a/apps/settings/l10n/et_EE.json +++ b/apps/settings/l10n/et_EE.json @@ -153,6 +153,7 @@ "The PHP max_input_time is too low. A time of at least %1$s is recommended. Current value: %2$s." : "PHP seadistuse „max_input_time“ väärtus on liiga väike. Meie soovitatud väärtus: %1$s. Praegune väärtus: %2$s.", "The PHP max_execution_time is too low. A time of at least %1$s is recommended. Current value: %2$s." : "PHP seadistuse „max_execution_time“ väärtus on liiga väike. Meie soovitatud väärtus: %1$s. Praegune väärtus: %2$s.", "PHP memory limit" : "PHP mälukasutuse ülempiir", + "The PHP memory limit is below the recommended value of %s. Some features or apps - including the Updater - may not function properly." : "PHP mälukasutuse piir on väiksem, muid soovitatav väärtus %s. Mõned funktsionaalsused või rakendused, sealhulgas uuendaja, ei pruugi toimida korrektselt.", "PHP modules" : "PHP lisamoodulid", "for Argon2 for password hashing" : "Argon2-põhise salasõna räsimise jaoks", "required for SFTP storage and recommended for WebAuthn performance" : "nõutav SFTP andmeruumi jaoks ja soovitatav WebAuthn jõudluse jaoks", @@ -532,6 +533,7 @@ "Account management" : "Kasutajakontode haldus", "Sending…" : "Saadan...", "Email sent" : "E-kiri on saadetud", + "For performance reasons, when you enable encryption on a Nextcloud server only new and changed files are encrypted." : "Kui võtad Nextcloudi serveris krüptimise kasutsele, siis jõudlusest johtuvalt krüptitakse vaid uusi ja muudetud faile.", "Location" : "Asukoht", "Profile picture" : "Profiili pilt", "About" : "Teave", diff --git a/apps/sharebymail/l10n/et_EE.js b/apps/sharebymail/l10n/et_EE.js index 585e0454d78..47f81d56824 100644 --- a/apps/sharebymail/l10n/et_EE.js +++ b/apps/sharebymail/l10n/et_EE.js @@ -3,21 +3,35 @@ OC.L10N.register( { "Shared with {email}" : "Jagatud aadressile {email}", "Shared with {email} by {actor}" : "Jagatud aadressile {email} {actor} poolt", - "Password for mail share sent to {email}" : "Meiliga jagamise parool saadetud aadressile {email}", - "Password for mail share sent to you" : "Meiliga jagamise parool sulle saadetud", - "Password to access {file} was sent to {email}" : "Parool {file} ligipääsuks saadeti aadressile {email}", - "Password to access {file} was sent to you" : "Sulle saadeti {file} ligipääsuparool", + "Password for mail share sent to {email}" : "E-kirjaga jagamise salasõna on saadetud aadressile {email}", + "Password for mail share sent to you" : "Sulle saadetud e-kirjaga jagamise salasõna", + "Password to access {file} was sent to {email}" : "Salasõna ligipääsuks „{file}“ failile saadeti aadressile {email}", + "Password to access {file} was sent to you" : "Sulle saadeti salasõna ligipääsuks „{file}“ failile", "Share by mail" : "Jaga e-postiga", "Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s jagamine ebaõnnestus, kuna seda üksust on juba jagatud kontoga %2$s", + "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Me ei saa sulle automaatselt loodud salasõna saata. Palun määra oma isiklikes seadistustes korrektne e-posti aadress ja proovi uuesti.", + "Failed to send share by email" : "Jaosmeediat polnud võimalik e-kirjaga saata", "%1$s shared %2$s with you" : "%1$s jagas sinuga: %2$s", "Note:" : "Märkus:", + "This share is valid until %s at midnight" : "See jaosmeedia kehtib vaid %s keskööni", + "Expiration:" : "Aegumine:", "Open %s" : "Ava %s ", "%1$s via %2$s" : "%1$s %2$s kaudu", - "It is protected with the following password:" : "See on kaitstud järgneva parooliga:", + "%1$s shared %2$s with you. You should have already received a separate mail with a link to access it." : "%2$s jagas sulle „%1$s“ jaosmeediat. Peaksid juba olema saanud eraldi e-kirja ligipääsuks vajaliku lingiga.", + "Password to access %1$s shared to you by %2$s" : "Salasõna ligipääsuks „%1$s“ jaosmeediale, mida sulle jagas %2$s", + "Password to access %s" : "Salasõna ligipääsuks „%s“ jaosmeediale", + "It is protected with the following password:" : "See on kaitstud järgneva salasõnaga:", + "This password will expire at %s" : "See salasõna aegub %s", "%1$s shared %2$s with you and wants to add:" : "%1$s jagas sinuga %2$s ning soovib lisada:", "%1$s shared %2$s with you and wants to add" : "%1$s jagas sinuga %2$s ning soovib lisada", "%s added a note to a file shared with you" : "%s jagas koos sulle jagatud failiga ka märget", + "You just shared %1$s with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Sa just jagasid „%1$s“ meediat kasutajale „%2$s“. Jaosmeedia teave on juba saadetud kasutajale. Kuna %3$s serveri peakasutaja on kehtestanud turvareeglid, siis iga jaosmeedia peab olema kaitstud salasõnaga ning salasõna ei tohi kasutajale otse saata. Seetõttu pead salasõna saajale edastama käsitsi.", + "Password to access %1$s shared by you with %2$s" : "%2$s jagas sinuga salasõna ligipääsuks „%1$s“ jaosmeediale", + "This is the password:" : "See on vajalik salasõna:", + "You can choose a different password at any time in the share dialog." : "Salasõna saad alati jagamisvaatest muuta.", "Could not find share" : "Jagamist ei leitud.", - "Send password by mail" : "Saada parool e-postiga" + "Share provider which allows you to share files by mail" : "Jagamisteenuse pakkuja, mis võimaldab sul meediat jagada e-posti vahendusel", + "Send password by mail" : "Saada parool e-postiga", + "Reply to initiator" : "Vasta algatajale" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/sharebymail/l10n/et_EE.json b/apps/sharebymail/l10n/et_EE.json index ff657b15f92..ce01d8465ad 100644 --- a/apps/sharebymail/l10n/et_EE.json +++ b/apps/sharebymail/l10n/et_EE.json @@ -1,21 +1,35 @@ { "translations": { "Shared with {email}" : "Jagatud aadressile {email}", "Shared with {email} by {actor}" : "Jagatud aadressile {email} {actor} poolt", - "Password for mail share sent to {email}" : "Meiliga jagamise parool saadetud aadressile {email}", - "Password for mail share sent to you" : "Meiliga jagamise parool sulle saadetud", - "Password to access {file} was sent to {email}" : "Parool {file} ligipääsuks saadeti aadressile {email}", - "Password to access {file} was sent to you" : "Sulle saadeti {file} ligipääsuparool", + "Password for mail share sent to {email}" : "E-kirjaga jagamise salasõna on saadetud aadressile {email}", + "Password for mail share sent to you" : "Sulle saadetud e-kirjaga jagamise salasõna", + "Password to access {file} was sent to {email}" : "Salasõna ligipääsuks „{file}“ failile saadeti aadressile {email}", + "Password to access {file} was sent to you" : "Sulle saadeti salasõna ligipääsuks „{file}“ failile", "Share by mail" : "Jaga e-postiga", "Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s jagamine ebaõnnestus, kuna seda üksust on juba jagatud kontoga %2$s", + "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Me ei saa sulle automaatselt loodud salasõna saata. Palun määra oma isiklikes seadistustes korrektne e-posti aadress ja proovi uuesti.", + "Failed to send share by email" : "Jaosmeediat polnud võimalik e-kirjaga saata", "%1$s shared %2$s with you" : "%1$s jagas sinuga: %2$s", "Note:" : "Märkus:", + "This share is valid until %s at midnight" : "See jaosmeedia kehtib vaid %s keskööni", + "Expiration:" : "Aegumine:", "Open %s" : "Ava %s ", "%1$s via %2$s" : "%1$s %2$s kaudu", - "It is protected with the following password:" : "See on kaitstud järgneva parooliga:", + "%1$s shared %2$s with you. You should have already received a separate mail with a link to access it." : "%2$s jagas sulle „%1$s“ jaosmeediat. Peaksid juba olema saanud eraldi e-kirja ligipääsuks vajaliku lingiga.", + "Password to access %1$s shared to you by %2$s" : "Salasõna ligipääsuks „%1$s“ jaosmeediale, mida sulle jagas %2$s", + "Password to access %s" : "Salasõna ligipääsuks „%s“ jaosmeediale", + "It is protected with the following password:" : "See on kaitstud järgneva salasõnaga:", + "This password will expire at %s" : "See salasõna aegub %s", "%1$s shared %2$s with you and wants to add:" : "%1$s jagas sinuga %2$s ning soovib lisada:", "%1$s shared %2$s with you and wants to add" : "%1$s jagas sinuga %2$s ning soovib lisada", "%s added a note to a file shared with you" : "%s jagas koos sulle jagatud failiga ka märget", + "You just shared %1$s with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Sa just jagasid „%1$s“ meediat kasutajale „%2$s“. Jaosmeedia teave on juba saadetud kasutajale. Kuna %3$s serveri peakasutaja on kehtestanud turvareeglid, siis iga jaosmeedia peab olema kaitstud salasõnaga ning salasõna ei tohi kasutajale otse saata. Seetõttu pead salasõna saajale edastama käsitsi.", + "Password to access %1$s shared by you with %2$s" : "%2$s jagas sinuga salasõna ligipääsuks „%1$s“ jaosmeediale", + "This is the password:" : "See on vajalik salasõna:", + "You can choose a different password at any time in the share dialog." : "Salasõna saad alati jagamisvaatest muuta.", "Could not find share" : "Jagamist ei leitud.", - "Send password by mail" : "Saada parool e-postiga" + "Share provider which allows you to share files by mail" : "Jagamisteenuse pakkuja, mis võimaldab sul meediat jagada e-posti vahendusel", + "Send password by mail" : "Saada parool e-postiga", + "Reply to initiator" : "Vasta algatajale" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/systemtags/src/components/SystemTagPicker.vue b/apps/systemtags/src/components/SystemTagPicker.vue index 601e48ea910..9a3b8e19b68 100644 --- a/apps/systemtags/src/components/SystemTagPicker.vue +++ b/apps/systemtags/src/components/SystemTagPicker.vue @@ -241,7 +241,7 @@ export default defineComponent({ } return this.sortedTags - .filter(tag => tag.displayName.normalize().includes(this.input.normalize())) + .filter(tag => tag.displayName.normalize().toLowerCase().includes(this.input.normalize().toLowerCase())) }, hasChanges(): boolean { diff --git a/apps/updatenotification/l10n/et_EE.js b/apps/updatenotification/l10n/et_EE.js index 09ff9d145df..6c2ea50b26c 100644 --- a/apps/updatenotification/l10n/et_EE.js +++ b/apps/updatenotification/l10n/et_EE.js @@ -3,8 +3,8 @@ OC.L10N.register( { "Channel updated" : "Kanal värskendatud", "Web updater is disabled" : "Veebiuuendaja on keelatud", - "App updated" : "Rakendus uuendatud", - "See what's new" : "Kae, mis uut", + "App updated" : "Rakendus on uuendatud", + "See what's new" : "Kae, mida uut leidub", "{app} updated to version {version}" : "{app} uuendati versioonile {version}", "Update notifications" : "Uuendusmärguanded", "The update server could not be reached since %d days to check for new updates." : "Uuenduste serveriga ei ole uuenduste otsimiseks saadud ühendust %d päeva.", @@ -13,26 +13,49 @@ OC.L10N.register( "Update for {app} to version %s is available." : "Uuendus {app} versioonile %s on saadaval.", "Update notification" : "Uuendusmärguanne", "Displays update notifications for Nextcloud, app updates, and provides the SSO for the updater." : "Näitab uuendusmärguannet Nexticloudi, rakenduste uuenduste puhul ja pakub SSO linki nende uuendamiseks.", - "Give feedback" : "Anna tagasisidet", + "Give feedback" : "Jaga tagasisidet", "Get started" : "Alusta", "No changelog available" : "Muudatuste logi pole saadaval", "What's new in {app} {version}" : "Mida uut {app} {version} sisaldab", "A new version is available: <strong>{newVersionString}</strong>" : "Saadaval on uus versioon: <strong>{newVersionString}</strong>", + "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Palun arvesta, et peale uue versiooni ilmumist teave pole kohe saadaval. Me jagame uute versioonide levituse ajas laiali ning vigade tuvastamisel võime ka levitamise katkestada. Lisateave uuenduste ja uuenduskanalite kohta leidub siin: {link}", "Checked on {lastCheckedDate} - Open changelog" : "Kontrollitud {lastCheckedDate} - Ava muudatuste logi", + "Checking apps for compatible versions" : "Kontrollin rakenduste ühilduvaid versioone", + "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Palun kontrolli, et selle serveri config.php failis poleks <samp>appstoreenabled</samp> võtme väärtuseks „false“.", + "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Kas rakendustepoega polnud võimalik ühendust luua või päringu vastuses polnud uuenduste teavet. Otsi uuendusi käsitsi või kontrolli, et serveri internetiühendus toimib ja tal on võimalik rakendustepoe liidesele ligi saada.", + "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Kõikidel</strong> rakendustel on selle Nextcloudi versiooniga ühilduv versioon.", + "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["1%n1 rakenduse versioon ei ühildus selle Nextcloudi versiooniga.","<strong>%n</strong> rakenduse versioon ei ühildus selle Nextcloudi versiooniga."], + "Enterprise" : "Suurorganisatsioonide versioon", + "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Mõeldud suurorganisatsioonidele. Tagab alati, et viimased pisiparandused on lisatud, kuid järgmine suurem uuendus mitte. See on võimalik alles siis, kui Nextcloud GmbH on lisanud tugevdusmeetmeid ja läbinud suurte ning missioonikriitiliste paigalduste kontekstis vajaliku testimise. See uuenduskanal on saadaval vaid lepingulistele klientidele ning on osa Nextcloudi paketist suurorganisatsioonidele (Nextcloud Enterprise).", + "Stable" : "Stabiilne versioon", + "The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Viimane stabiilne versioon. Sobib tavakasutuseks ning alati sisaldab uuendamist viimase põhiversioonini.", + "Beta" : "Beetaversioon", + "A pre-release version only for testing new features, not for production environments." : "Eelversioon uute funktsionaalsuste testimiseks ning ei sobi kasutamiseks igapäevases tarvekeskkonnas.", "Update" : "Uuenda", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Versiooni, mida kasutad, ei uuendata enam. Palun uuenda toetatud versioonile võimalikult kiiresti.", "Apps missing compatible version" : "Rakendustel puuduvad toetatud versioonid", "View in store" : "Vaata poes", "Apps with compatible version" : "Rakendused toetatud versiooniga", + "Please note that the web updater is not recommended with more than 100 accounts! Please use the command line updater instead!" : "Palun arvesta, et veebipõhine uuendaja pole soovitatav, kui serveris on üle 100 kasutajakonto! Sel puhul kasuta käsureapõhist uuendajat!", "Open updater" : "Ava uuendaja", "Download now" : "Laadi kohe alla", + "Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update." : "Veebipõhine uuendaja pole kasutusel. Palun kasuta tarkvara uuendamiseks käsureapõhist uuendajat või sinu paigalduse meetodile ettenähtud lahendust (nt. Docker pull).", "What's new?" : "Mida on uut?", "View changelog" : "Vaata muudatuste logi", "The update check is not yet finished. Please refresh the page." : "Uuenduste kontrollimine pole veel lõppenud. Palun värskendage lehte.", "Your version is up to date." : "Su versioon on ajakohane.", + "A non-default update server is in use to be checked for updates:" : "Uuenduste kontrollimiseks on kasutav vaikimisi serverist erinev server:", "Update channel" : "Uuenduste kanal", + "Changing the update channel also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Uuenduskanalite muutmine mõjutab ka rakenduste haldamise lehte. Kui võtad serveri jaoks kasutusele beetaversiooni, siis pakutakse sulle selles vaates ka rakenduste beetaversioone.", "Current update channel:" : "Praegune uuenduste kanal:", + "You can always update to a newer version. But you can never downgrade to a more stable version." : "Sa saad alati uuendada järgmisele stabiilsele versioonile, kuid ei saa kasutusele võtta eelmist stabiilset versiooni.", "Notify members of the following groups about available updates:" : "Teavita jägmiste gruppide liikmeid saadaval olevatest uuendustest:", + "No groups" : "Gruppe pole", + "Only notifications for app updates are available." : "Vaid rakenduste uuenduste märguanded on saadaval.", + "The selected update channel makes dedicated notifications for the server obsolete." : "Valitud uuenduskanal muudab serveri uuendusmärguanded mõttetuks.", + "The selected update channel does not support updates of the server." : "Valitud uuenduskanal ei toeta selle serveri uuendamist.", + "Changelog for app {app}" : "{app} rakenduse muudatuste logi", + "What's new in {app} version {version}" : "Mida uut {app} {version} sisaldab", "{version} is available. Get more information on how to update." : "{version} on saadaval. Vaata lisainfot uuendamise kohta." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/updatenotification/l10n/et_EE.json b/apps/updatenotification/l10n/et_EE.json index c90d20ec341..5fb637195ae 100644 --- a/apps/updatenotification/l10n/et_EE.json +++ b/apps/updatenotification/l10n/et_EE.json @@ -1,8 +1,8 @@ { "translations": { "Channel updated" : "Kanal värskendatud", "Web updater is disabled" : "Veebiuuendaja on keelatud", - "App updated" : "Rakendus uuendatud", - "See what's new" : "Kae, mis uut", + "App updated" : "Rakendus on uuendatud", + "See what's new" : "Kae, mida uut leidub", "{app} updated to version {version}" : "{app} uuendati versioonile {version}", "Update notifications" : "Uuendusmärguanded", "The update server could not be reached since %d days to check for new updates." : "Uuenduste serveriga ei ole uuenduste otsimiseks saadud ühendust %d päeva.", @@ -11,26 +11,49 @@ "Update for {app} to version %s is available." : "Uuendus {app} versioonile %s on saadaval.", "Update notification" : "Uuendusmärguanne", "Displays update notifications for Nextcloud, app updates, and provides the SSO for the updater." : "Näitab uuendusmärguannet Nexticloudi, rakenduste uuenduste puhul ja pakub SSO linki nende uuendamiseks.", - "Give feedback" : "Anna tagasisidet", + "Give feedback" : "Jaga tagasisidet", "Get started" : "Alusta", "No changelog available" : "Muudatuste logi pole saadaval", "What's new in {app} {version}" : "Mida uut {app} {version} sisaldab", "A new version is available: <strong>{newVersionString}</strong>" : "Saadaval on uus versioon: <strong>{newVersionString}</strong>", + "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Palun arvesta, et peale uue versiooni ilmumist teave pole kohe saadaval. Me jagame uute versioonide levituse ajas laiali ning vigade tuvastamisel võime ka levitamise katkestada. Lisateave uuenduste ja uuenduskanalite kohta leidub siin: {link}", "Checked on {lastCheckedDate} - Open changelog" : "Kontrollitud {lastCheckedDate} - Ava muudatuste logi", + "Checking apps for compatible versions" : "Kontrollin rakenduste ühilduvaid versioone", + "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Palun kontrolli, et selle serveri config.php failis poleks <samp>appstoreenabled</samp> võtme väärtuseks „false“.", + "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Kas rakendustepoega polnud võimalik ühendust luua või päringu vastuses polnud uuenduste teavet. Otsi uuendusi käsitsi või kontrolli, et serveri internetiühendus toimib ja tal on võimalik rakendustepoe liidesele ligi saada.", + "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Kõikidel</strong> rakendustel on selle Nextcloudi versiooniga ühilduv versioon.", + "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["1%n1 rakenduse versioon ei ühildus selle Nextcloudi versiooniga.","<strong>%n</strong> rakenduse versioon ei ühildus selle Nextcloudi versiooniga."], + "Enterprise" : "Suurorganisatsioonide versioon", + "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Mõeldud suurorganisatsioonidele. Tagab alati, et viimased pisiparandused on lisatud, kuid järgmine suurem uuendus mitte. See on võimalik alles siis, kui Nextcloud GmbH on lisanud tugevdusmeetmeid ja läbinud suurte ning missioonikriitiliste paigalduste kontekstis vajaliku testimise. See uuenduskanal on saadaval vaid lepingulistele klientidele ning on osa Nextcloudi paketist suurorganisatsioonidele (Nextcloud Enterprise).", + "Stable" : "Stabiilne versioon", + "The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Viimane stabiilne versioon. Sobib tavakasutuseks ning alati sisaldab uuendamist viimase põhiversioonini.", + "Beta" : "Beetaversioon", + "A pre-release version only for testing new features, not for production environments." : "Eelversioon uute funktsionaalsuste testimiseks ning ei sobi kasutamiseks igapäevases tarvekeskkonnas.", "Update" : "Uuenda", "The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "Versiooni, mida kasutad, ei uuendata enam. Palun uuenda toetatud versioonile võimalikult kiiresti.", "Apps missing compatible version" : "Rakendustel puuduvad toetatud versioonid", "View in store" : "Vaata poes", "Apps with compatible version" : "Rakendused toetatud versiooniga", + "Please note that the web updater is not recommended with more than 100 accounts! Please use the command line updater instead!" : "Palun arvesta, et veebipõhine uuendaja pole soovitatav, kui serveris on üle 100 kasutajakonto! Sel puhul kasuta käsureapõhist uuendajat!", "Open updater" : "Ava uuendaja", "Download now" : "Laadi kohe alla", + "Web updater is disabled. Please use the command line updater or the appropriate update mechanism for your installation method (e.g. Docker pull) to update." : "Veebipõhine uuendaja pole kasutusel. Palun kasuta tarkvara uuendamiseks käsureapõhist uuendajat või sinu paigalduse meetodile ettenähtud lahendust (nt. Docker pull).", "What's new?" : "Mida on uut?", "View changelog" : "Vaata muudatuste logi", "The update check is not yet finished. Please refresh the page." : "Uuenduste kontrollimine pole veel lõppenud. Palun värskendage lehte.", "Your version is up to date." : "Su versioon on ajakohane.", + "A non-default update server is in use to be checked for updates:" : "Uuenduste kontrollimiseks on kasutav vaikimisi serverist erinev server:", "Update channel" : "Uuenduste kanal", + "Changing the update channel also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Uuenduskanalite muutmine mõjutab ka rakenduste haldamise lehte. Kui võtad serveri jaoks kasutusele beetaversiooni, siis pakutakse sulle selles vaates ka rakenduste beetaversioone.", "Current update channel:" : "Praegune uuenduste kanal:", + "You can always update to a newer version. But you can never downgrade to a more stable version." : "Sa saad alati uuendada järgmisele stabiilsele versioonile, kuid ei saa kasutusele võtta eelmist stabiilset versiooni.", "Notify members of the following groups about available updates:" : "Teavita jägmiste gruppide liikmeid saadaval olevatest uuendustest:", + "No groups" : "Gruppe pole", + "Only notifications for app updates are available." : "Vaid rakenduste uuenduste märguanded on saadaval.", + "The selected update channel makes dedicated notifications for the server obsolete." : "Valitud uuenduskanal muudab serveri uuendusmärguanded mõttetuks.", + "The selected update channel does not support updates of the server." : "Valitud uuenduskanal ei toeta selle serveri uuendamist.", + "Changelog for app {app}" : "{app} rakenduse muudatuste logi", + "What's new in {app} version {version}" : "Mida uut {app} {version} sisaldab", "{version} is available. Get more information on how to update." : "{version} on saadaval. Vaata lisainfot uuendamise kohta." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file |