Compare commits
328 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 573099c47d | |||
| ab40d76c99 | |||
| 62d7165124 | |||
| 47530ef95f | |||
| 22ebf79e90 | |||
| 9fde2523e6 | |||
| ad8576f02d | |||
| e5497c7731 | |||
| 6eb8e8d6fd | |||
| a4cf7145cd | |||
| 7d1b1de155 | |||
| fb2716ab4b | |||
| a623bffb00 | |||
| f0b90e6378 | |||
| 8ac1602402 | |||
| 5f6a777c5b | |||
| dac8fe4034 | |||
| 891d0fc481 | |||
| 172698e61a | |||
| 942a92f072 | |||
| d26ec02aa1 | |||
| a8369cdbee | |||
| 038d940df1 | |||
| a2d0d8b26b | |||
| 108858daef | |||
| ab8e4e60ea | |||
| c59ad1f847 | |||
| fa535d0e20 | |||
| 41e1a995a9 | |||
| 6248afe544 | |||
| e3f951b804 | |||
| 467487ecd8 | |||
| ae74dbef2b | |||
| 663f6822c7 | |||
| 5924a2e3ec | |||
| bd664cb8fd | |||
| 805805767f | |||
| 0fa396d0b8 | |||
| 5acb93a5be | |||
| 048037b629 | |||
| f31f4eba7f | |||
| dc843f6d0a | |||
| 3c80b7f2b3 | |||
| a1979c9cd1 | |||
| c1dd559965 | |||
| 166febb940 | |||
| 408f9e8256 | |||
| 0461301597 | |||
| 08d4ccb36f | |||
| 31957add33 | |||
| e76f9284ce | |||
| a05c285979 | |||
| 1ec308a9dd | |||
| 0e22ae1efe | |||
| 5ed7c4fd97 | |||
| 545c72becb | |||
| e1133ec926 | |||
| d4674060dc | |||
| 38ed0a8283 | |||
| 4c8b9deca0 | |||
| 5c652484e3 | |||
| a5225bdf99 | |||
| ac3d09d817 | |||
| 2c3872f325 | |||
| bad5531860 | |||
| 29e31ffdb1 | |||
| bdd379e82e | |||
| 8c93d4a9e1 | |||
| 5f33fee58f | |||
| 258b30606f | |||
| 1182b6d4f0 | |||
| a45978789b | |||
| 42d745e17b | |||
| 4dcd4223de | |||
| 43727cb72c | |||
| 89166cbf9a | |||
| 6bdda55733 | |||
| f0e020f97d | |||
| 0e99c60da1 | |||
| 98619ca6fb | |||
| 8b4491ae1c | |||
| 2a2cd291d5 | |||
| 835d507d64 | |||
| 954945a26b | |||
| f4acd8a7ab | |||
| bd90e7c122 | |||
| 8d50027e78 | |||
| 29488d6a78 | |||
| 716513164f | |||
| e0e5cdf3e1 | |||
| 9e2058d199 | |||
| a1503481f3 | |||
| b9c3e47b82 | |||
| 18a7369bb9 | |||
| f89613b507 | |||
| 252956d6b2 | |||
| 3e9d2fe208 | |||
| 7335927bed | |||
| 6ce24383c2 | |||
| a17a4f4958 | |||
| 2b97afa829 | |||
| d341c2011f | |||
| 7eea3b7742 | |||
| 7c526b4de3 | |||
| 327d691c23 | |||
| 635e26dfdc | |||
| 80f6856ce7 | |||
| 2510020b33 | |||
| 927bea2b4d | |||
| 3713f40d5b | |||
| a82827dff5 | |||
| 6c20e3e103 | |||
| bacb4323de | |||
| e7d0ed2020 | |||
| 6b121c37da | |||
| 3b9ec2d119 | |||
| c2cd236411 | |||
| f870041943 | |||
| acfec22652 | |||
| 272d6141ca | |||
| be3bbf22e0 | |||
| c14948f629 | |||
| fa61c4c57d | |||
| 6dd6d06606 | |||
| 9dffca2f07 | |||
| 73e84f9bf5 | |||
| d64f7eb939 | |||
| 5565cdb390 | |||
| 765d1af2a6 | |||
| c80c980e29 | |||
| e3551e576c | |||
| 198d500ac6 | |||
| 328a4608aa | |||
| 7e188433a1 | |||
| acb3e68a93 | |||
| fbb551311e | |||
| 81a21fb718 | |||
| c2ae99a668 | |||
| 8265e4b489 | |||
| 932523e844 | |||
| 6fd76bfa0e | |||
| 510c203dfe | |||
| 0514ecfb96 | |||
| 91a544ef45 | |||
| a0c922cc7f | |||
| 2da078f258 | |||
| 36b0d7c189 | |||
| fe34ea5ec7 | |||
| ae250777fd | |||
| 17aa77e29f | |||
| 43f2470f90 | |||
| d5eab95414 | |||
| 7e4c4f2f3c | |||
| de286709f8 | |||
| d86975e9fa | |||
| 03adb7e184 | |||
| 8eb24155c4 | |||
| 377de23bf5 | |||
| 73dd45be4f | |||
| adf7ea5f0b | |||
| cc89a2a2b8 | |||
| 5403284b23 | |||
| f56f747f46 | |||
| 7a2606b894 | |||
| eb91d8671d | |||
| 1a5ad32063 | |||
| a1fbd55992 | |||
| a6a320498b | |||
| 3e4e544096 | |||
| 1a7f2f878e | |||
| f6a783e07b | |||
| 7436340f4c | |||
| 58c6a8387b | |||
| 6af64a5495 | |||
| 66c8f9c4dc | |||
| 52cfd57af9 | |||
| 6a75cd9454 | |||
| 8e5ae53e02 | |||
| ab122ac15d | |||
| f2e2e4ea21 | |||
| 534632334c | |||
| 15b45975e2 | |||
| 2d22c4f654 | |||
| 07eef5eaf4 | |||
| 09e0f06678 | |||
| 47acb66b9c | |||
| 6b3d3fd2d3 | |||
| f42493bf1e | |||
| fe393c5dbf | |||
| bd815595d4 | |||
| 86c90221f1 | |||
| 0cdd19271d | |||
| 513b37916f | |||
| 9e516beb85 | |||
| 6b6deefee9 | |||
| 8d55b13641 | |||
| 2bd2cc71e5 | |||
| 40b79f5af8 | |||
| 6eb1609b35 | |||
| 58de51160c | |||
| a430702caa | |||
| 351351a832 | |||
| 944341543e | |||
| e5c989066f | |||
| 62513dfd92 | |||
| 649e042568 | |||
| 71fa5937b2 | |||
| 6ee8325b3e | |||
| 47de164946 | |||
| c57c4843e8 | |||
| 7c64394617 | |||
| c09168e911 | |||
| 9f7d4d055e | |||
| c3be0b8814 | |||
| 1432c97584 | |||
| 178fb77be8 | |||
| 86fe44d9f4 | |||
| fdfaf6b363 | |||
| ad13a8acc7 | |||
| 693a2263cc | |||
| 65d44b0007 | |||
| ec9cac90e0 | |||
| e63c4afdab | |||
| e1d19b2c24 | |||
| 72ad2edcd7 | |||
| 72632faaf1 | |||
| ebab99ec9a | |||
| e6ac79d570 | |||
| 7c1a8a4060 | |||
| 5f797ebc32 | |||
| a100ede789 | |||
| f546daada7 | |||
| c32009fd32 | |||
| 72be2f41b3 | |||
| 758a9c26db | |||
| 0c6565ea44 | |||
| 33e5f2d345 | |||
| 16d8cc065a | |||
| 0a3cc4dd6f | |||
| c6b095234e | |||
| f9d4bb2ba8 | |||
| ad61aa7a30 | |||
| 8cc588fc42 | |||
| 35bfa1d2f0 | |||
| 5d3e1f70b2 | |||
| 8a05a3e01b | |||
| afa23291d6 | |||
| c50c5a9e6b | |||
| eb0369705a | |||
| fe0c56a1d7 | |||
| 98a4b959ec | |||
| fd96a32dda | |||
| 3726596ad0 | |||
| f9a137ea87 | |||
| 7077685bf8 | |||
| 34511e9036 | |||
| 493c371a22 | |||
| 4a9cdeb01f | |||
| 7abd46fb53 | |||
| fb18804192 | |||
| 513c0cceb6 | |||
| 867a8d1088 | |||
| 56658fc3ef | |||
| dc5d199e3a | |||
| 41c739d370 | |||
| 68149e01cb | |||
| 44216b36e4 | |||
| 68b8e2662d | |||
| bc2bdeeac5 | |||
| a6bcb18db9 | |||
| cbaf6e73a5 | |||
| 98192fc17c | |||
| 2ea1bd4cdc | |||
| 3580680f8f | |||
| 1b12fd0df3 | |||
| 97ba753e09 | |||
| ffe91b48dc | |||
| 9fed6d849a | |||
| 30f2932817 | |||
| a46f3bd21c | |||
| a1ab869381 | |||
| 7baca4264a | |||
| 24ec0e85e5 | |||
| d21fa1c0b5 | |||
| eafbb5a23c | |||
| 8cfb49012d | |||
| 39c8141f0c | |||
| 5c51b42d3f | |||
| 80caedb050 | |||
| 853db93601 | |||
| 355d6637ff | |||
| 183136d166 | |||
| b872208285 | |||
| 9ed9a317f5 | |||
| 674381e8c1 | |||
| bbbbc4de22 | |||
| 678bf538bf | |||
| b28176458d | |||
| 69249a3ce3 | |||
| 3555e00754 | |||
| 6111ecefbc | |||
| c11cc64470 | |||
| a6184661bd | |||
| 981e987bd0 | |||
| f9157c85c2 | |||
| fbe2023d39 | |||
| d59d8db1d6 | |||
| 694651de3a | |||
| 70ed393b34 | |||
| 3de06a2b33 | |||
| d3432482cc | |||
| e456f116b8 | |||
| b6ea2bc0f5 | |||
| 65aa731ef3 | |||
| 812f12ecc4 | |||
| 2ba3766bef | |||
| fbd99cef8f | |||
| a9b17a1a16 | |||
| 5f5bb77bf3 | |||
| fbe5238d7f | |||
| cc96a16df5 | |||
| 04f30cad62 | |||
| 23546013e1 | |||
| 45eb87ba6e | |||
| 01e0ca7298 | |||
| 3bb5ed502a | |||
| 13bfd8b292 | |||
| 4914b4aff3 |
@@ -53,7 +53,13 @@ jobs:
|
||||
|
||||
services:
|
||||
samba:
|
||||
image: ghcr.io/nextcloud/continuous-integration-samba:latest # zizmor: ignore[unpinned-images]
|
||||
image: ghcr.io/servercontainers/samba:smbd-only-a3.18.0-s4.18.2-r0
|
||||
env:
|
||||
ACCOUNT_test: test
|
||||
UID_test: 1000
|
||||
SAMBA_VOLUME_CONFIG_test: "[public]; path=/tmp; valid users = test; guest ok = no; read only = no; browseable = yes"
|
||||
options: >-
|
||||
--health-cmd=true
|
||||
ports:
|
||||
- 445:445
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ on:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
concurrency:
|
||||
group: static-code-analysis-${{ github.head_ref || github.run_id }}
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors
|
||||
# SPDX-License-Identifier: AGPL-3.0-only
|
||||
# Files removed at build time
|
||||
|
||||
# Global exclude
|
||||
.editorconfig
|
||||
.git
|
||||
.git-blame-ignore-revs
|
||||
.gitattributes
|
||||
.github
|
||||
.gitignore
|
||||
.gitmodules
|
||||
.idea
|
||||
.l10nignore
|
||||
.nextcloudignore
|
||||
.noopenapi
|
||||
.tx
|
||||
cypress
|
||||
tests
|
||||
|
||||
# Server specific
|
||||
/.devcontainer
|
||||
/__mocks__
|
||||
/__tests__
|
||||
/autotest*.sh
|
||||
/build
|
||||
/config/config.php
|
||||
/contribute
|
||||
/data
|
||||
+1
-1
Submodule 3rdparty updated: 086aa0783e...c62b6ed5cd
@@ -18,7 +18,7 @@ class TagManagement extends Action {
|
||||
$this->log('System tag "%s" (%s, %s) created',
|
||||
[
|
||||
'name' => $tag->getName(),
|
||||
'visbility' => $tag->isUserVisible() ? 'visible' : 'invisible',
|
||||
'visibility' => $tag->isUserVisible() ? 'visible' : 'invisible',
|
||||
'assignable' => $tag->isUserAssignable() ? 'user assignable' : 'system only',
|
||||
],
|
||||
['name', 'visibility', 'assignable']
|
||||
|
||||
@@ -25,6 +25,15 @@ return [
|
||||
'url' => '/invite-accepted',
|
||||
'verb' => 'POST',
|
||||
'root' => '/ocm',
|
||||
]
|
||||
],
|
||||
|
||||
// needs to be kept at the bottom of the list
|
||||
[
|
||||
'name' => 'OCMRequest#manageOCMRequests',
|
||||
'url' => '/{ocmPath}',
|
||||
'requirements' => ['ocmPath' => '.*'],
|
||||
'verb' => ['GET', 'POST', 'PUT', 'DELETE'],
|
||||
'root' => '/ocm',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
@@ -10,6 +10,7 @@ return array(
|
||||
'OCA\\CloudFederationAPI\\AppInfo\\Application' => $baseDir . '/../lib/AppInfo/Application.php',
|
||||
'OCA\\CloudFederationAPI\\Capabilities' => $baseDir . '/../lib/Capabilities.php',
|
||||
'OCA\\CloudFederationAPI\\Config' => $baseDir . '/../lib/Config.php',
|
||||
'OCA\\CloudFederationAPI\\Controller\\OCMRequestController' => $baseDir . '/../lib/Controller/OCMRequestController.php',
|
||||
'OCA\\CloudFederationAPI\\Controller\\RequestHandlerController' => $baseDir . '/../lib/Controller/RequestHandlerController.php',
|
||||
'OCA\\CloudFederationAPI\\Db\\FederatedInvite' => $baseDir . '/../lib/Db/FederatedInvite.php',
|
||||
'OCA\\CloudFederationAPI\\Db\\FederatedInviteMapper' => $baseDir . '/../lib/Db/FederatedInviteMapper.php',
|
||||
|
||||
@@ -25,6 +25,7 @@ class ComposerStaticInitCloudFederationAPI
|
||||
'OCA\\CloudFederationAPI\\AppInfo\\Application' => __DIR__ . '/..' . '/../lib/AppInfo/Application.php',
|
||||
'OCA\\CloudFederationAPI\\Capabilities' => __DIR__ . '/..' . '/../lib/Capabilities.php',
|
||||
'OCA\\CloudFederationAPI\\Config' => __DIR__ . '/..' . '/../lib/Config.php',
|
||||
'OCA\\CloudFederationAPI\\Controller\\OCMRequestController' => __DIR__ . '/..' . '/../lib/Controller/OCMRequestController.php',
|
||||
'OCA\\CloudFederationAPI\\Controller\\RequestHandlerController' => __DIR__ . '/..' . '/../lib/Controller/RequestHandlerController.php',
|
||||
'OCA\\CloudFederationAPI\\Db\\FederatedInvite' => __DIR__ . '/..' . '/../lib/Db/FederatedInvite.php',
|
||||
'OCA\\CloudFederationAPI\\Db\\FederatedInviteMapper' => __DIR__ . '/..' . '/../lib/Db/FederatedInviteMapper.php',
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
namespace OCA\CloudFederationAPI\Controller;
|
||||
|
||||
use JsonException;
|
||||
use OCP\AppFramework\Controller;
|
||||
use OCP\AppFramework\Http;
|
||||
use OCP\AppFramework\Http\Attribute\BruteForceProtection;
|
||||
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\AppFramework\Http\Response;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\IRequest;
|
||||
use OCP\OCM\Events\OCMEndpointRequestEvent;
|
||||
use OCP\OCM\Exceptions\OCMArgumentException;
|
||||
use OCP\OCM\IOCMDiscoveryService;
|
||||
use OCP\Security\Signature\Exceptions\IncomingRequestException;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class OCMRequestController extends Controller {
|
||||
public function __construct(
|
||||
string $appName,
|
||||
IRequest $request,
|
||||
private readonly IEventDispatcher $eventDispatcher,
|
||||
private readonly IOCMDiscoveryService $ocmDiscoveryService,
|
||||
private readonly LoggerInterface $logger,
|
||||
) {
|
||||
parent::__construct($appName, $request);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method will catch any request done to /ocm/[...] and will broadcast an event.
|
||||
* The first parameter of the remaining subpath (post-/ocm/) is defined as
|
||||
* capability and should be used by listeners to filter incoming requests.
|
||||
*
|
||||
* @see OCMEndpointRequestEvent
|
||||
* @see OCMEndpointRequestEvent::getArgs
|
||||
*
|
||||
* @param string $ocmPath
|
||||
* @return Response
|
||||
* @throws OCMArgumentException
|
||||
*/
|
||||
#[NoCSRFRequired]
|
||||
#[PublicPage]
|
||||
#[BruteForceProtection(action: 'receiveOcmRequest')]
|
||||
public function manageOCMRequests(string $ocmPath): Response {
|
||||
if (!mb_check_encoding($ocmPath, 'UTF-8')) {
|
||||
throw new OCMArgumentException('path is not UTF-8');
|
||||
}
|
||||
|
||||
try {
|
||||
// if request is signed and well signed, no exceptions are thrown
|
||||
// if request is not signed and host is known for not supporting signed request, no exceptions are thrown
|
||||
$signedRequest = $this->ocmDiscoveryService->getIncomingSignedRequest();
|
||||
} catch (IncomingRequestException $e) {
|
||||
$this->logger->warning('incoming ocm request exception', ['exception' => $e]);
|
||||
return new JSONResponse(['message' => $e->getMessage(), 'validationErrors' => []], Http::STATUS_BAD_REQUEST);
|
||||
}
|
||||
|
||||
// assuming that ocm request contains a json array
|
||||
$payload = $signedRequest?->getBody() ?? file_get_contents('php://input');
|
||||
try {
|
||||
$payload = ($payload) ? json_decode($payload, true, 512, JSON_THROW_ON_ERROR) : null;
|
||||
} catch (JsonException $e) {
|
||||
$this->logger->debug('json decode error', ['exception' => $e]);
|
||||
$payload = null;
|
||||
}
|
||||
|
||||
$event = new OCMEndpointRequestEvent(
|
||||
$this->request->getMethod(),
|
||||
preg_replace('@/+@', '/', $ocmPath),
|
||||
$payload,
|
||||
$signedRequest?->getOrigin()
|
||||
);
|
||||
$this->eventDispatcher->dispatchTyped($event);
|
||||
|
||||
return $event->getResponse() ?? new Response(Http::STATUS_NOT_FOUND);
|
||||
}
|
||||
}
|
||||
@@ -7,14 +7,6 @@
|
||||
|
||||
namespace OCA\CloudFederationAPI\Controller;
|
||||
|
||||
use NCU\Federation\ISignedCloudFederationProvider;
|
||||
use NCU\Security\Signature\Exceptions\IdentityNotFoundException;
|
||||
use NCU\Security\Signature\Exceptions\IncomingRequestException;
|
||||
use NCU\Security\Signature\Exceptions\SignatoryNotFoundException;
|
||||
use NCU\Security\Signature\Exceptions\SignatureException;
|
||||
use NCU\Security\Signature\Exceptions\SignatureNotFoundException;
|
||||
use NCU\Security\Signature\IIncomingSignedRequest;
|
||||
use NCU\Security\Signature\ISignatureManager;
|
||||
use OC\OCM\OCMSignatoryManager;
|
||||
use OCA\CloudFederationAPI\Config;
|
||||
use OCA\CloudFederationAPI\Db\FederatedInviteMapper;
|
||||
@@ -39,11 +31,18 @@ use OCP\Federation\Exceptions\ProviderDoesNotExistsException;
|
||||
use OCP\Federation\ICloudFederationFactory;
|
||||
use OCP\Federation\ICloudFederationProviderManager;
|
||||
use OCP\Federation\ICloudIdManager;
|
||||
use OCP\Federation\ISignedCloudFederationProvider;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\IGroupManager;
|
||||
use OCP\IRequest;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\IUserManager;
|
||||
use OCP\OCM\IOCMDiscoveryService;
|
||||
use OCP\Security\Signature\Exceptions\IdentityNotFoundException;
|
||||
use OCP\Security\Signature\Exceptions\IncomingRequestException;
|
||||
use OCP\Security\Signature\Exceptions\SignatoryNotFoundException;
|
||||
use OCP\Security\Signature\IIncomingSignedRequest;
|
||||
use OCP\Security\Signature\ISignatureManager;
|
||||
use OCP\Share\Exceptions\ShareNotFound;
|
||||
use OCP\Util;
|
||||
use Psr\Log\LoggerInterface;
|
||||
@@ -74,8 +73,8 @@ class RequestHandlerController extends Controller {
|
||||
private readonly IAppConfig $appConfig,
|
||||
private ICloudFederationFactory $factory,
|
||||
private ICloudIdManager $cloudIdManager,
|
||||
private readonly IOCMDiscoveryService $ocmDiscoveryService,
|
||||
private readonly ISignatureManager $signatureManager,
|
||||
private readonly OCMSignatoryManager $signatoryManager,
|
||||
private ITimeFactory $timeFactory,
|
||||
) {
|
||||
parent::__construct($appName, $request);
|
||||
@@ -108,9 +107,9 @@ class RequestHandlerController extends Controller {
|
||||
public function addShare($shareWith, $name, $description, $providerId, $owner, $ownerDisplayName, $sharedBy, $sharedByDisplayName, $protocol, $shareType, $resourceType) {
|
||||
if (!$this->appConfig->getValueBool('core', OCMSignatoryManager::APPCONFIG_SIGN_DISABLED, lazy: true)) {
|
||||
try {
|
||||
// if request is signed and well signed, no exception are thrown
|
||||
// if request is signed and well signed, no exceptions are thrown
|
||||
// if request is not signed and host is known for not supporting signed request, no exception are thrown
|
||||
$signedRequest = $this->getSignedRequest();
|
||||
$signedRequest = $this->ocmDiscoveryService->getIncomingSignedRequest();
|
||||
$this->confirmSignedOrigin($signedRequest, 'owner', $owner);
|
||||
} catch (IncomingRequestException $e) {
|
||||
$this->logger->warning('incoming request exception', ['exception' => $e]);
|
||||
@@ -360,7 +359,7 @@ class RequestHandlerController extends Controller {
|
||||
try {
|
||||
// if request is signed and well signed, no exception are thrown
|
||||
// if request is not signed and host is known for not supporting signed request, no exception are thrown
|
||||
$signedRequest = $this->getSignedRequest();
|
||||
$signedRequest = $this->ocmDiscoveryService->getIncomingSignedRequest();
|
||||
$this->confirmNotificationIdentity($signedRequest, $resourceType, $notification);
|
||||
} catch (IncomingRequestException $e) {
|
||||
$this->logger->warning('incoming request exception', ['exception' => $e]);
|
||||
@@ -434,37 +433,6 @@ class RequestHandlerController extends Controller {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* returns signed request if available.
|
||||
* throw an exception:
|
||||
* - if request is signed, but wrongly signed
|
||||
* - if request is not signed but instance is configured to only accept signed ocm request
|
||||
*
|
||||
* @return IIncomingSignedRequest|null null if remote does not (and never did) support signed request
|
||||
* @throws IncomingRequestException
|
||||
*/
|
||||
private function getSignedRequest(): ?IIncomingSignedRequest {
|
||||
try {
|
||||
$signedRequest = $this->signatureManager->getIncomingSignedRequest($this->signatoryManager);
|
||||
$this->logger->debug('signed request available', ['signedRequest' => $signedRequest]);
|
||||
return $signedRequest;
|
||||
} catch (SignatureNotFoundException|SignatoryNotFoundException $e) {
|
||||
$this->logger->debug('remote does not support signed request', ['exception' => $e]);
|
||||
// remote does not support signed request.
|
||||
// currently we still accept unsigned request until lazy appconfig
|
||||
// core.enforce_signed_ocm_request is set to true (default: false)
|
||||
if ($this->appConfig->getValueBool('core', OCMSignatoryManager::APPCONFIG_SIGN_ENFORCED, lazy: true)) {
|
||||
$this->logger->notice('ignored unsigned request', ['exception' => $e]);
|
||||
throw new IncomingRequestException('Unsigned request');
|
||||
}
|
||||
} catch (SignatureException $e) {
|
||||
$this->logger->warning('wrongly signed request', ['exception' => $e]);
|
||||
throw new IncomingRequestException('Invalid signature');
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* confirm that the value related to $key entry from the payload is in format userid@hostname
|
||||
* and compare hostname with the origin of the signed request.
|
||||
|
||||
@@ -9,8 +9,6 @@ declare(strict_types=1);
|
||||
|
||||
namespace OCA\CloudFederationApi\Tests;
|
||||
|
||||
use NCU\Security\Signature\ISignatureManager;
|
||||
use OC\OCM\OCMSignatoryManager;
|
||||
use OCA\CloudFederationAPI\Config;
|
||||
use OCA\CloudFederationAPI\Controller\RequestHandlerController;
|
||||
use OCA\CloudFederationAPI\Db\FederatedInvite;
|
||||
@@ -29,6 +27,8 @@ use OCP\IRequest;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\IUser;
|
||||
use OCP\IUserManager;
|
||||
use OCP\OCM\IOCMDiscoveryService;
|
||||
use OCP\Security\Signature\ISignatureManager;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Test\TestCase;
|
||||
@@ -45,10 +45,11 @@ class RequestHandlerControllerTest extends TestCase {
|
||||
private FederatedInviteMapper&MockObject $federatedInviteMapper;
|
||||
private AddressHandler&MockObject $addressHandler;
|
||||
private IAppConfig&MockObject $appConfig;
|
||||
|
||||
private ICloudFederationFactory&MockObject $cloudFederationFactory;
|
||||
private ICloudIdManager&MockObject $cloudIdManager;
|
||||
private IOCMDiscoveryService&MockObject $discoveryService;
|
||||
private ISignatureManager&MockObject $signatureManager;
|
||||
private OCMSignatoryManager&MockObject $signatoryManager;
|
||||
private ITimeFactory&MockObject $timeFactory;
|
||||
|
||||
private RequestHandlerController $requestHandlerController;
|
||||
@@ -69,8 +70,8 @@ class RequestHandlerControllerTest extends TestCase {
|
||||
$this->appConfig = $this->createMock(IAppConfig::class);
|
||||
$this->cloudFederationFactory = $this->createMock(ICloudFederationFactory::class);
|
||||
$this->cloudIdManager = $this->createMock(ICloudIdManager::class);
|
||||
$this->discoveryService = $this->createMock(IOCMDiscoveryService::class);
|
||||
$this->signatureManager = $this->createMock(ISignatureManager::class);
|
||||
$this->signatoryManager = $this->createMock(OCMSignatoryManager::class);
|
||||
$this->timeFactory = $this->createMock(ITimeFactory::class);
|
||||
|
||||
$this->requestHandlerController = new RequestHandlerController(
|
||||
@@ -88,8 +89,8 @@ class RequestHandlerControllerTest extends TestCase {
|
||||
$this->appConfig,
|
||||
$this->cloudFederationFactory,
|
||||
$this->cloudIdManager,
|
||||
$this->discoveryService,
|
||||
$this->signatureManager,
|
||||
$this->signatoryManager,
|
||||
$this->timeFactory,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -38,6 +38,10 @@
|
||||
</providers>
|
||||
</activity>
|
||||
|
||||
<openmetrics>
|
||||
<exporter>OCA\Comments\OpenMetrics\CommentsCountMetric</exporter>
|
||||
</openmetrics>
|
||||
|
||||
<collaboration>
|
||||
<plugins>
|
||||
<plugin type="autocomplete-sort">OCA\Comments\Collaboration\CommentersSorter</plugin>
|
||||
|
||||
@@ -22,5 +22,6 @@ return array(
|
||||
'OCA\\Comments\\MaxAutoCompleteResultsInitialState' => $baseDir . '/../lib/MaxAutoCompleteResultsInitialState.php',
|
||||
'OCA\\Comments\\Notification\\Listener' => $baseDir . '/../lib/Notification/Listener.php',
|
||||
'OCA\\Comments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php',
|
||||
'OCA\\Comments\\OpenMetrics\\CommentsCountMetric' => $baseDir . '/../lib/OpenMetrics/CommentsCountMetric.php',
|
||||
'OCA\\Comments\\Search\\CommentsSearchProvider' => $baseDir . '/../lib/Search/CommentsSearchProvider.php',
|
||||
);
|
||||
|
||||
@@ -37,6 +37,7 @@ class ComposerStaticInitComments
|
||||
'OCA\\Comments\\MaxAutoCompleteResultsInitialState' => __DIR__ . '/..' . '/../lib/MaxAutoCompleteResultsInitialState.php',
|
||||
'OCA\\Comments\\Notification\\Listener' => __DIR__ . '/..' . '/../lib/Notification/Listener.php',
|
||||
'OCA\\Comments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php',
|
||||
'OCA\\Comments\\OpenMetrics\\CommentsCountMetric' => __DIR__ . '/..' . '/../lib/OpenMetrics/CommentsCountMetric.php',
|
||||
'OCA\\Comments\\Search\\CommentsSearchProvider' => __DIR__ . '/..' . '/../lib/Search/CommentsSearchProvider.php',
|
||||
);
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ OC.L10N.register(
|
||||
"Delete comment" : "Ezabatu iruzkina",
|
||||
"Cancel edit" : "Utzi editatzeari",
|
||||
"New comment" : "Iruzkin berria",
|
||||
"Write a comment …" : "Idatzi iruzkin bat …",
|
||||
"Post comment" : "Argitaratu iruzkina",
|
||||
"@ for mentions, : for emoji, / for smart picker" : "@ aipamenetarako, : emojientzako, / hautatzaile adimentsurako",
|
||||
"Could not reload comments" : "Ezin izan dira iruzkinak freskatu",
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
"Delete comment" : "Ezabatu iruzkina",
|
||||
"Cancel edit" : "Utzi editatzeari",
|
||||
"New comment" : "Iruzkin berria",
|
||||
"Write a comment …" : "Idatzi iruzkin bat …",
|
||||
"Post comment" : "Argitaratu iruzkina",
|
||||
"@ for mentions, : for emoji, / for smart picker" : "@ aipamenetarako, : emojientzako, / hautatzaile adimentsurako",
|
||||
"Could not reload comments" : "Ezin izan dira iruzkinak freskatu",
|
||||
|
||||
@@ -9,12 +9,19 @@ OC.L10N.register(
|
||||
"%1$s commented on %2$s" : "%1$s dikomentari pada %2$s",
|
||||
"{author} commented on {file}" : "{author} berkomentar pada {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>komentar</strong> pada file",
|
||||
"Files" : "File",
|
||||
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Anda disebutkan pada \"{file}\", dalam sebuah komentar oleh akun yang sejak itu telah dihapus",
|
||||
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\" ",
|
||||
"Files app plugin to add comments to files" : "Plugin aplikasi file untuk menambah komentar pada file",
|
||||
"Edit comment" : "Sunting komentar",
|
||||
"Delete comment" : "Hapus komentar",
|
||||
"Cancel edit" : "Batal sunting",
|
||||
"New comment" : "Komentar baru",
|
||||
"Write a comment …" : "Tulis komentar …",
|
||||
"Post comment" : "Posting komentar",
|
||||
"@ for mentions, : for emoji, / for smart picker" : "@ untuk penyebutan, : untuk emoji, / untuk pemilih cerdas",
|
||||
"Could not reload comments" : "Tidak dapat memuat ulang komentar",
|
||||
"Failed to mark comments as read" : "Gagal menandai komentar sebagai sudah dibaca",
|
||||
"Unable to load the comments list" : "Tidak dapat memuat daftar komentar",
|
||||
"No comments yet, start the conversation!" : "Belum ada yang berkomentar, mulailah perbincangan!",
|
||||
"No more messages" : "Tidak ada pesan lagi",
|
||||
@@ -23,6 +30,7 @@ OC.L10N.register(
|
||||
"An error occurred while trying to edit the comment" : "Terjadi kesalahan ketika mencoba menyunting komentar",
|
||||
"Comment deleted" : "Komentar dihapus",
|
||||
"An error occurred while trying to delete the comment" : "Terjadi kesalahan ketika mencoba untuk menghapus komentar",
|
||||
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar"
|
||||
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar",
|
||||
"Write a comment …" : "Tulis komentar …"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
|
||||
@@ -7,12 +7,19 @@
|
||||
"%1$s commented on %2$s" : "%1$s dikomentari pada %2$s",
|
||||
"{author} commented on {file}" : "{author} berkomentar pada {file}",
|
||||
"<strong>Comments</strong> for files" : "<strong>komentar</strong> pada file",
|
||||
"Files" : "File",
|
||||
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Anda disebutkan pada \"{file}\", dalam sebuah komentar oleh akun yang sejak itu telah dihapus",
|
||||
"{user} mentioned you in a comment on \"{file}\"" : "{user} menyebut Anda dalam sebuah komentar pada \"{file}\" ",
|
||||
"Files app plugin to add comments to files" : "Plugin aplikasi file untuk menambah komentar pada file",
|
||||
"Edit comment" : "Sunting komentar",
|
||||
"Delete comment" : "Hapus komentar",
|
||||
"Cancel edit" : "Batal sunting",
|
||||
"New comment" : "Komentar baru",
|
||||
"Write a comment …" : "Tulis komentar …",
|
||||
"Post comment" : "Posting komentar",
|
||||
"@ for mentions, : for emoji, / for smart picker" : "@ untuk penyebutan, : untuk emoji, / untuk pemilih cerdas",
|
||||
"Could not reload comments" : "Tidak dapat memuat ulang komentar",
|
||||
"Failed to mark comments as read" : "Gagal menandai komentar sebagai sudah dibaca",
|
||||
"Unable to load the comments list" : "Tidak dapat memuat daftar komentar",
|
||||
"No comments yet, start the conversation!" : "Belum ada yang berkomentar, mulailah perbincangan!",
|
||||
"No more messages" : "Tidak ada pesan lagi",
|
||||
@@ -21,6 +28,7 @@
|
||||
"An error occurred while trying to edit the comment" : "Terjadi kesalahan ketika mencoba menyunting komentar",
|
||||
"Comment deleted" : "Komentar dihapus",
|
||||
"An error occurred while trying to delete the comment" : "Terjadi kesalahan ketika mencoba untuk menghapus komentar",
|
||||
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar"
|
||||
"An error occurred while trying to create the comment" : "Terjadi kesalahan ketika mencoba untuk membuat komentar",
|
||||
"Write a comment …" : "Tulis komentar …"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
namespace OCA\Comments\OpenMetrics;
|
||||
|
||||
use Generator;
|
||||
use OCP\IDBConnection;
|
||||
use OCP\OpenMetrics\IMetricFamily;
|
||||
use OCP\OpenMetrics\Metric;
|
||||
use OCP\OpenMetrics\MetricType;
|
||||
use Override;
|
||||
|
||||
class CommentsCountMetric implements IMetricFamily {
|
||||
public function __construct(
|
||||
private IDBConnection $connection,
|
||||
) {
|
||||
}
|
||||
|
||||
#[Override]
|
||||
public function name(): string {
|
||||
return 'comments';
|
||||
}
|
||||
|
||||
#[Override]
|
||||
public function type(): MetricType {
|
||||
return MetricType::gauge;
|
||||
}
|
||||
|
||||
#[Override]
|
||||
public function unit(): string {
|
||||
return 'comments';
|
||||
}
|
||||
|
||||
#[Override]
|
||||
public function help(): string {
|
||||
return 'Number of comments';
|
||||
}
|
||||
|
||||
#[Override]
|
||||
public function metrics(): Generator {
|
||||
$qb = $this->connection->getQueryBuilder();
|
||||
$result = $qb->select($qb->func()->count())
|
||||
->from('comments')
|
||||
->where($qb->expr()->eq('verb', $qb->expr()->literal('comment')))
|
||||
->executeQuery();
|
||||
|
||||
yield new Metric($result->fetchOne(), [], time());
|
||||
}
|
||||
}
|
||||
@@ -180,14 +180,12 @@ describe('Inline unread comments action enabled tests', () => {
|
||||
describe('Inline unread comments action execute tests', () => {
|
||||
test('Action opens sidebar', async () => {
|
||||
const openMock = vi.fn()
|
||||
const setActiveTabMock = vi.fn()
|
||||
window.OCA = {
|
||||
Files: {
|
||||
// @ts-expect-error Mocking for testing
|
||||
Sidebar: {
|
||||
_sidebar: () => ({
|
||||
open: openMock,
|
||||
setActiveTab: setActiveTabMock,
|
||||
},
|
||||
}),
|
||||
},
|
||||
}
|
||||
|
||||
@@ -211,22 +209,19 @@ describe('Inline unread comments action execute tests', () => {
|
||||
})
|
||||
|
||||
expect(result).toBe(null)
|
||||
expect(setActiveTabMock).toBeCalledWith('comments')
|
||||
expect(openMock).toBeCalledWith('/foobar.txt')
|
||||
expect(openMock).toBeCalledWith(file, 'comments')
|
||||
})
|
||||
|
||||
test('Action handles sidebar open failure', async () => {
|
||||
const openMock = vi.fn(() => {
|
||||
throw new Error('Mock error')
|
||||
})
|
||||
const setActiveTabMock = vi.fn()
|
||||
window.OCA = {
|
||||
Files: {
|
||||
// @ts-expect-error Mocking for testing
|
||||
Sidebar: {
|
||||
_sidebar: () => ({
|
||||
open: openMock,
|
||||
setActiveTab: setActiveTabMock,
|
||||
},
|
||||
}),
|
||||
},
|
||||
}
|
||||
vi.spyOn(logger, 'error').mockImplementation(() => vi.fn())
|
||||
@@ -251,8 +246,7 @@ describe('Inline unread comments action execute tests', () => {
|
||||
})
|
||||
|
||||
expect(result).toBe(false)
|
||||
expect(setActiveTabMock).toBeCalledWith('comments')
|
||||
expect(openMock).toBeCalledWith('/foobar.txt')
|
||||
expect(openMock).toBeCalledWith(file, 'comments')
|
||||
expect(logger.error).toBeCalledTimes(1)
|
||||
})
|
||||
})
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
/**
|
||||
/*!
|
||||
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import CommentProcessingSvg from '@mdi/svg/svg/comment-processing.svg?raw'
|
||||
import { FileAction } from '@nextcloud/files'
|
||||
import { FileAction, getSidebar } from '@nextcloud/files'
|
||||
import { n, t } from '@nextcloud/l10n'
|
||||
import logger from '../logger.js'
|
||||
|
||||
@@ -34,8 +35,8 @@ export const action = new FileAction({
|
||||
}
|
||||
|
||||
try {
|
||||
window.OCA.Files.Sidebar.setActiveTab('comments')
|
||||
await window.OCA.Files.Sidebar.open(nodes[0].path)
|
||||
const sidebar = getSidebar()
|
||||
sidebar.open(nodes[0], 'comments')
|
||||
return null
|
||||
} catch (error) {
|
||||
logger.error('Error while opening sidebar', { error })
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
/**
|
||||
/*!
|
||||
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import type { INode } from '@nextcloud/files'
|
||||
|
||||
import moment from '@nextcloud/moment'
|
||||
import { createPinia, PiniaVuePlugin } from 'pinia'
|
||||
import Vue, { type ComponentPublicInstance } from 'vue'
|
||||
@@ -19,7 +21,7 @@ let ActivityTabPluginInstance
|
||||
*/
|
||||
export function registerCommentsPlugins() {
|
||||
window.OCA.Activity.registerSidebarAction({
|
||||
mount: async (el, { fileInfo, reload }) => {
|
||||
mount: async (el: HTMLElement, { node, reload }: { node: INode, reload: () => void }) => {
|
||||
const pinia = createPinia()
|
||||
|
||||
if (!ActivityTabPluginView) {
|
||||
@@ -32,10 +34,10 @@ export function registerCommentsPlugins() {
|
||||
pinia,
|
||||
propsData: {
|
||||
reloadCallback: reload,
|
||||
resourceId: fileInfo.id,
|
||||
resourceId: node.fileid,
|
||||
},
|
||||
})
|
||||
logger.info('Comments plugin mounted in Activity sidebar action', { fileInfo })
|
||||
logger.info('Comments plugin mounted in Activity sidebar action', { node })
|
||||
},
|
||||
unmount: () => {
|
||||
// destroy previous instance if available
|
||||
@@ -45,9 +47,15 @@ export function registerCommentsPlugins() {
|
||||
},
|
||||
})
|
||||
|
||||
window.OCA.Activity.registerSidebarEntries(async ({ fileInfo, limit, offset }) => {
|
||||
const { data: comments } = await getComments({ resourceType: 'files', resourceId: fileInfo.id }, { limit, offset })
|
||||
logger.debug('Loaded comments', { fileInfo, comments })
|
||||
window.OCA.Activity.registerSidebarEntries(async ({ node, limit, offset }: { node: INode, limit?: number, offset?: number }) => {
|
||||
const { data: comments } = await getComments(
|
||||
{ resourceType: 'files', resourceId: node.fileid },
|
||||
{
|
||||
limit,
|
||||
offset: offset ?? 0,
|
||||
},
|
||||
)
|
||||
logger.debug('Loaded comments', { node, comments })
|
||||
const { default: CommentView } = await import('./views/ActivityCommentEntry.vue')
|
||||
// @ts-expect-error Types are broken for Vue2
|
||||
const CommentsViewObject = Vue.extend(CommentView)
|
||||
@@ -62,7 +70,7 @@ export function registerCommentsPlugins() {
|
||||
el: element,
|
||||
propsData: {
|
||||
comment,
|
||||
resourceId: fileInfo.id,
|
||||
resourceId: node.fileid,
|
||||
reloadCallback: reload,
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
|
||||
import { getCSPNonce } from '@nextcloud/auth'
|
||||
import { loadState } from '@nextcloud/initial-state'
|
||||
import { registerCommentsPlugins } from './comments-activity-tab.ts'
|
||||
|
||||
// @ts-expect-error __webpack_nonce__ is injected by webpack
|
||||
__webpack_nonce__ = getCSPNonce()
|
||||
|
||||
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
|
||||
// Do not mount own tab but mount into activity
|
||||
window.addEventListener('DOMContentLoaded', function() {
|
||||
registerCommentsPlugins()
|
||||
})
|
||||
} else {
|
||||
// Init Comments tab component
|
||||
let TabInstance = null
|
||||
const commentTab = new OCA.Files.Sidebar.Tab({
|
||||
id: 'comments',
|
||||
name: t('comments', 'Comments'),
|
||||
iconSvg: MessageReplyText,
|
||||
|
||||
async mount(el, fileInfo, context) {
|
||||
if (TabInstance) {
|
||||
TabInstance.$destroy()
|
||||
}
|
||||
TabInstance = new OCA.Comments.View('files', {
|
||||
// Better integration with vue parent component
|
||||
parent: context,
|
||||
propsData: {
|
||||
resourceId: fileInfo.id,
|
||||
},
|
||||
})
|
||||
// Only mount after we have all the info we need
|
||||
await TabInstance.update(fileInfo.id)
|
||||
TabInstance.$mount(el)
|
||||
},
|
||||
update(fileInfo) {
|
||||
TabInstance.update(fileInfo.id)
|
||||
},
|
||||
destroy() {
|
||||
TabInstance.$destroy()
|
||||
TabInstance = null
|
||||
},
|
||||
scrollBottomReached() {
|
||||
TabInstance.onScrollBottomReached()
|
||||
},
|
||||
})
|
||||
|
||||
window.addEventListener('DOMContentLoaded', function() {
|
||||
if (OCA.Files && OCA.Files.Sidebar) {
|
||||
OCA.Files.Sidebar.registerTab(commentTab)
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,57 @@
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
|
||||
import { getCSPNonce } from '@nextcloud/auth'
|
||||
import { registerSidebarTab } from '@nextcloud/files'
|
||||
import { loadState } from '@nextcloud/initial-state'
|
||||
import { t } from '@nextcloud/l10n'
|
||||
import wrap from '@vue/web-component-wrapper'
|
||||
import { createPinia, PiniaVuePlugin } from 'pinia'
|
||||
import Vue from 'vue'
|
||||
import FilesSidebarTab from './views/FilesSidebarTab.vue'
|
||||
import { registerCommentsPlugins } from './comments-activity-tab.ts'
|
||||
|
||||
__webpack_nonce__ = getCSPNonce()
|
||||
|
||||
const tagName = 'comments_files-sidebar-tab'
|
||||
|
||||
if (loadState('comments', 'activityEnabled', false) && OCA?.Activity?.registerSidebarAction !== undefined) {
|
||||
// Do not mount own tab but mount into activity
|
||||
window.addEventListener('DOMContentLoaded', function() {
|
||||
registerCommentsPlugins()
|
||||
})
|
||||
} else {
|
||||
registerSidebarTab({
|
||||
id: 'comments',
|
||||
displayName: t('comments', 'Comments'),
|
||||
iconSvgInline: MessageReplyText,
|
||||
order: 50,
|
||||
tagName,
|
||||
enabled() {
|
||||
if (!window.customElements.get(tagName)) {
|
||||
setupSidebarTab()
|
||||
}
|
||||
return true
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup the sidebar tab as a web component
|
||||
*/
|
||||
function setupSidebarTab() {
|
||||
Vue.use(PiniaVuePlugin)
|
||||
Vue.mixin({ pinia: createPinia() })
|
||||
const webComponent = wrap(Vue, FilesSidebarTab)
|
||||
// In Vue 2, wrap doesn't support disabling shadow. Disable with a hack
|
||||
Object.defineProperty(webComponent.prototype, 'attachShadow', {
|
||||
value() { return this },
|
||||
})
|
||||
Object.defineProperty(webComponent.prototype, 'shadowRoot', {
|
||||
get() { return this },
|
||||
})
|
||||
window.customElements.define(tagName, webComponent)
|
||||
}
|
||||
@@ -1,8 +1,9 @@
|
||||
import { getCurrentUser } from '@nextcloud/auth'
|
||||
/**
|
||||
/*!
|
||||
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
import { getCurrentUser } from '@nextcloud/auth'
|
||||
import axios from '@nextcloud/axios'
|
||||
import { loadState } from '@nextcloud/initial-state'
|
||||
import { generateOcsUrl } from '@nextcloud/router'
|
||||
@@ -32,7 +33,7 @@ export default defineComponent({
|
||||
},
|
||||
methods: {
|
||||
/**
|
||||
* Autocomplete @mentions
|
||||
* Autocomplete `@mentions`
|
||||
*
|
||||
* @param search the query
|
||||
* @param callback the callback to process the results with
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
<!--
|
||||
- SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
||||
- SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
-->
|
||||
|
||||
<script setup lang="ts">
|
||||
import type { IFolder, INode, IView } from '@nextcloud/files'
|
||||
|
||||
import { computed } from 'vue'
|
||||
import Comments from './Comments.vue'
|
||||
|
||||
const props = defineProps<{
|
||||
node?: INode
|
||||
// eslint-disable-next-line vue/no-unused-properties -- Required on the web component interface
|
||||
folder?: IFolder
|
||||
// eslint-disable-next-line vue/no-unused-properties -- Required on the web component interface
|
||||
view?: IView
|
||||
}>()
|
||||
|
||||
defineExpose({ setActive })
|
||||
|
||||
const resourceId = computed(() => props.node?.fileid)
|
||||
|
||||
/**
|
||||
* Set this tab as active
|
||||
*
|
||||
* @param active - The active state
|
||||
*/
|
||||
function setActive(active: boolean) {
|
||||
return active
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<Comments
|
||||
v-if="resourceId !== undefined"
|
||||
:key="resourceId"
|
||||
:resource-id="resourceId"
|
||||
resource-type="files" />
|
||||
</template>
|
||||
@@ -3,6 +3,7 @@ OC.L10N.register(
|
||||
{
|
||||
"Dashboard" : "Dasbor",
|
||||
"Dashboard app" : "Aplikasi dasbor",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Mulai hari Anda dengan informasi\n\nDasbor Nextcloud adalah titik awal hari Anda, memberikan ikhtisar janji temu mendatang, email mendesak, pesan obrolan, tiket masuk, tweet terbaru, dan masih banyak lagi! Orang dapat menambahkan widget yang mereka sukai dan mengubah latar belakang sesuai keinginan mereka.",
|
||||
"Weather" : "Cuaca",
|
||||
"Status" : "Status",
|
||||
"Good morning" : "Selamat pagi",
|
||||
@@ -13,10 +14,13 @@ OC.L10N.register(
|
||||
"Good evening, {name}" : "Selamat malam, {name}",
|
||||
"Hello" : "Halo",
|
||||
"Hello, {name}" : "Halo, {name}",
|
||||
"Happy birthday 🥳🤩🎂🎉" : "Selamat ulang tahun 🥳🤩🎂🎉",
|
||||
"Happy birthday, {name} 🥳🤩🎂🎉" : "Selamat ulang tahun, {name} 🥳🤩🎂🎉",
|
||||
"Customize" : "Sesuaikan",
|
||||
"Edit widgets" : "Edit widget",
|
||||
"Get more widgets from the App Store" : "Dapatkan lebih banyak widget dari App Store",
|
||||
"Weather service" : "Layanan cuaca",
|
||||
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Demi privasi Anda, data cuaca diminta oleh server {productName} Anda atas nama Anda sehingga layanan cuaca tidak menerima informasi pribadi apa pun.",
|
||||
"Weather data from Met.no" : "Data cuaca dari Met.no",
|
||||
"geocoding with Nominatim" : "Secara khusus, dengan geocoding",
|
||||
"elevation data from OpenTopoData" : "data ketinggian dari OpenTopoData",
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ "translations": {
|
||||
"Dashboard" : "Dasbor",
|
||||
"Dashboard app" : "Aplikasi dasbor",
|
||||
"Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an overview of your upcoming appointments, urgent emails, chat messages, incoming tickets, latest tweets and much more! People can add the widgets they like and change the background to their liking." : "Mulai hari Anda dengan informasi\n\nDasbor Nextcloud adalah titik awal hari Anda, memberikan ikhtisar janji temu mendatang, email mendesak, pesan obrolan, tiket masuk, tweet terbaru, dan masih banyak lagi! Orang dapat menambahkan widget yang mereka sukai dan mengubah latar belakang sesuai keinginan mereka.",
|
||||
"Weather" : "Cuaca",
|
||||
"Status" : "Status",
|
||||
"Good morning" : "Selamat pagi",
|
||||
@@ -11,10 +12,13 @@
|
||||
"Good evening, {name}" : "Selamat malam, {name}",
|
||||
"Hello" : "Halo",
|
||||
"Hello, {name}" : "Halo, {name}",
|
||||
"Happy birthday 🥳🤩🎂🎉" : "Selamat ulang tahun 🥳🤩🎂🎉",
|
||||
"Happy birthday, {name} 🥳🤩🎂🎉" : "Selamat ulang tahun, {name} 🥳🤩🎂🎉",
|
||||
"Customize" : "Sesuaikan",
|
||||
"Edit widgets" : "Edit widget",
|
||||
"Get more widgets from the App Store" : "Dapatkan lebih banyak widget dari App Store",
|
||||
"Weather service" : "Layanan cuaca",
|
||||
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Demi privasi Anda, data cuaca diminta oleh server {productName} Anda atas nama Anda sehingga layanan cuaca tidak menerima informasi pribadi apa pun.",
|
||||
"Weather data from Met.no" : "Data cuaca dari Met.no",
|
||||
"geocoding with Nominatim" : "Secara khusus, dengan geocoding",
|
||||
"elevation data from OpenTopoData" : "data ketinggian dari OpenTopoData",
|
||||
|
||||
@@ -20,6 +20,7 @@ OC.L10N.register(
|
||||
"Edit widgets" : "Редагувати віджети",
|
||||
"Get more widgets from the App Store" : "Більше віджетів у каталозі застосунків",
|
||||
"Weather service" : "Погода",
|
||||
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Для вашої конфіденційності дані погоди буде запитано вашим сервером {productName} від вашого імени, таким чином сервіс надання погоди не отримуватиме ваших приватних даних. ",
|
||||
"Weather data from Met.no" : "Дані про погоду з Met.no",
|
||||
"geocoding with Nominatim" : "геокодування за допомогою Nominatim",
|
||||
"elevation data from OpenTopoData" : "дані про висоту з OpenTopoData",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"Edit widgets" : "Редагувати віджети",
|
||||
"Get more widgets from the App Store" : "Більше віджетів у каталозі застосунків",
|
||||
"Weather service" : "Погода",
|
||||
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Для вашої конфіденційності дані погоди буде запитано вашим сервером {productName} від вашого імени, таким чином сервіс надання погоди не отримуватиме ваших приватних даних. ",
|
||||
"Weather data from Met.no" : "Дані про погоду з Met.no",
|
||||
"geocoding with Nominatim" : "геокодування за допомогою Nominatim",
|
||||
"elevation data from OpenTopoData" : "дані про висоту з OpenTopoData",
|
||||
|
||||
@@ -18,6 +18,7 @@ use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\DataResponse;
|
||||
use OCP\AppFramework\OCSController;
|
||||
use OCP\AppFramework\Services\IAppConfig;
|
||||
use OCP\Config\IUserConfig;
|
||||
use OCP\Dashboard\IAPIWidget;
|
||||
use OCP\Dashboard\IAPIWidgetV2;
|
||||
use OCP\Dashboard\IButtonWidget;
|
||||
@@ -30,7 +31,6 @@ use OCP\Dashboard\Model\WidgetButton;
|
||||
use OCP\Dashboard\Model\WidgetItem;
|
||||
|
||||
use OCP\Dashboard\Model\WidgetOptions;
|
||||
use OCP\IConfig;
|
||||
use OCP\IRequest;
|
||||
|
||||
/**
|
||||
@@ -45,7 +45,7 @@ class DashboardApiController extends OCSController {
|
||||
IRequest $request,
|
||||
private IManager $dashboardManager,
|
||||
private IAppConfig $appConfig,
|
||||
private IConfig $config,
|
||||
private IUserConfig $userConfig,
|
||||
private ?string $userId,
|
||||
private DashboardService $service,
|
||||
) {
|
||||
@@ -59,7 +59,7 @@ class DashboardApiController extends OCSController {
|
||||
private function getShownWidgets(array $widgetIds): array {
|
||||
if (empty($widgetIds)) {
|
||||
$systemDefault = $this->appConfig->getAppValueString('layout', 'recommendations,spreed,mail,calendar');
|
||||
$widgetIds = explode(',', $this->config->getUserValue($this->userId, 'dashboard', 'layout', $systemDefault));
|
||||
$widgetIds = explode(',', $this->userConfig->getValueString($this->userId, 'dashboard', 'layout', $systemDefault));
|
||||
}
|
||||
|
||||
return array_filter(
|
||||
@@ -202,7 +202,7 @@ class DashboardApiController extends OCSController {
|
||||
#[NoAdminRequired]
|
||||
#[ApiRoute(verb: 'POST', url: '/api/v3/layout')]
|
||||
public function updateLayout(array $layout): DataResponse {
|
||||
$this->config->setUserValue($this->userId, 'dashboard', 'layout', implode(',', $layout));
|
||||
$this->userConfig->setValueString($this->userId, 'dashboard', 'layout', implode(',', $layout));
|
||||
return new DataResponse(['layout' => $layout]);
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ class DashboardApiController extends OCSController {
|
||||
#[NoAdminRequired]
|
||||
#[ApiRoute(verb: 'POST', url: '/api/v3/statuses')]
|
||||
public function updateStatuses(array $statuses): DataResponse {
|
||||
$this->config->setUserValue($this->userId, 'dashboard', 'statuses', implode(',', $statuses));
|
||||
$this->userConfig->setValueString($this->userId, 'dashboard', 'statuses', implode(',', $statuses));
|
||||
return new DataResponse(['statuses' => $statuses]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\FeaturePolicy;
|
||||
use OCP\AppFramework\Http\TemplateResponse;
|
||||
use OCP\AppFramework\Services\IInitialState;
|
||||
use OCP\Config\IUserConfig;
|
||||
use OCP\Dashboard\IIconWidget;
|
||||
use OCP\Dashboard\IManager;
|
||||
use OCP\Dashboard\IWidget;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\IConfig;
|
||||
use OCP\IL10N;
|
||||
use OCP\IRequest;
|
||||
@@ -33,9 +33,9 @@ class DashboardController extends Controller {
|
||||
string $appName,
|
||||
IRequest $request,
|
||||
private IInitialState $initialState,
|
||||
private IEventDispatcher $eventDispatcher,
|
||||
private IManager $dashboardManager,
|
||||
private IConfig $config,
|
||||
private IUserConfig $userConfig,
|
||||
private IL10N $l10n,
|
||||
private ?string $userId,
|
||||
private DashboardService $service,
|
||||
@@ -67,9 +67,9 @@ class DashboardController extends Controller {
|
||||
$this->initialState->provideInitialState('statuses', $this->service->getStatuses());
|
||||
$this->initialState->provideInitialState('layout', $this->service->getLayout());
|
||||
$this->initialState->provideInitialState('appStoreEnabled', $this->config->getSystemValueBool('appstoreenabled', true));
|
||||
$this->initialState->provideInitialState('firstRun', $this->config->getUserValue($this->userId, 'dashboard', 'firstRun', '1') === '1');
|
||||
$this->initialState->provideInitialState('firstRun', $this->userConfig->getValueBool($this->userId, 'dashboard', 'firstRun', true));
|
||||
$this->initialState->provideInitialState('birthdate', $this->service->getBirthdate());
|
||||
$this->config->setUserValue($this->userId, 'dashboard', 'firstRun', '0');
|
||||
$this->userConfig->setValueBool($this->userId, 'dashboard', 'firstRun', false);
|
||||
|
||||
$response = new TemplateResponse('dashboard', 'index', [
|
||||
'id-app-content' => '#app-dashboard',
|
||||
|
||||
@@ -12,12 +12,12 @@ use JsonException;
|
||||
use OCP\Accounts\IAccountManager;
|
||||
use OCP\Accounts\PropertyDoesNotExistException;
|
||||
use OCP\AppFramework\Services\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\Config\IUserConfig;
|
||||
use OCP\IUserManager;
|
||||
|
||||
class DashboardService {
|
||||
public function __construct(
|
||||
private IConfig $config,
|
||||
private IUserConfig $userConfig,
|
||||
private IAppConfig $appConfig,
|
||||
private ?string $userId,
|
||||
private IUserManager $userManager,
|
||||
@@ -31,21 +31,24 @@ class DashboardService {
|
||||
*/
|
||||
public function getLayout(): array {
|
||||
$systemDefault = $this->appConfig->getAppValueString('layout', 'recommendations,spreed,mail,calendar');
|
||||
return array_values(array_filter(explode(',', $this->config->getUserValue($this->userId, 'dashboard', 'layout', $systemDefault)), fn (string $value) => $value !== ''));
|
||||
return array_values(array_filter(
|
||||
explode(',', $this->userConfig->getValueString($this->userId, 'dashboard', 'layout', $systemDefault)),
|
||||
fn (string $value) => $value !== '')
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return list<string>
|
||||
*/
|
||||
public function getStatuses() {
|
||||
$configStatuses = $this->config->getUserValue($this->userId, 'dashboard', 'statuses', '');
|
||||
public function getStatuses(): array {
|
||||
$configStatuses = $this->userConfig->getValueString($this->userId, 'dashboard', 'statuses');
|
||||
try {
|
||||
// Parse the old format
|
||||
/** @var array<string, bool> $statuses */
|
||||
$statuses = json_decode($configStatuses, true, 512, JSON_THROW_ON_ERROR);
|
||||
// We avoid getting an empty array as it will not produce an object in UI's JS
|
||||
return array_keys(array_filter($statuses, static fn (bool $value) => $value));
|
||||
} catch (JsonException $e) {
|
||||
} catch (JsonException) {
|
||||
return array_values(array_filter(explode(',', $configStatuses), fn (string $value) => $value !== ''));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ use OC\Accounts\Account;
|
||||
use OCA\Dashboard\Service\DashboardService;
|
||||
use OCP\Accounts\IAccountManager;
|
||||
use OCP\AppFramework\Services\IAppConfig;
|
||||
use OCP\IConfig;
|
||||
use OCP\Config\IUserConfig;
|
||||
use OCP\IUser;
|
||||
use OCP\IUserManager;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
@@ -21,7 +21,7 @@ use Test\TestCase;
|
||||
|
||||
class DashboardServiceTest extends TestCase {
|
||||
|
||||
private IConfig&MockObject $config;
|
||||
private IUserConfig&MockObject $userConfig;
|
||||
private IAppConfig&MockObject $appConfig;
|
||||
private IUserManager&MockObject $userManager;
|
||||
private IAccountManager&MockObject $accountManager;
|
||||
@@ -30,13 +30,13 @@ class DashboardServiceTest extends TestCase {
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
||||
$this->config = $this->createMock(IConfig::class);
|
||||
$this->userConfig = $this->createMock(IUserConfig::class);
|
||||
$this->appConfig = $this->createMock(IAppConfig::class);
|
||||
$this->userManager = $this->createMock(IUserManager::class);
|
||||
$this->accountManager = $this->createMock(IAccountManager::class);
|
||||
|
||||
$this->service = new DashboardService(
|
||||
$this->config,
|
||||
$this->userConfig,
|
||||
$this->appConfig,
|
||||
'alice',
|
||||
$this->userManager,
|
||||
@@ -90,7 +90,7 @@ class DashboardServiceTest extends TestCase {
|
||||
|
||||
public function testGetBirthdateNoUserId(): void {
|
||||
$service = new DashboardService(
|
||||
$this->config,
|
||||
$this->userConfig,
|
||||
$this->appConfig,
|
||||
null,
|
||||
$this->userManager,
|
||||
|
||||
@@ -24,6 +24,7 @@ use OCA\DAV\Connector\Sabre\Principal;
|
||||
use OCP\Accounts\IAccountManager;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\IAppConfig;
|
||||
use OCP\ICacheFactory;
|
||||
use OCP\IConfig;
|
||||
use OCP\IDBConnection;
|
||||
@@ -56,7 +57,7 @@ $principalBackend = new Principal(
|
||||
Server::get(ProxyMapper::class),
|
||||
Server::get(KnownUserService::class),
|
||||
Server::get(IConfig::class),
|
||||
\OC::$server->getL10NFactory(),
|
||||
Server::get(IL10NFactory::class),
|
||||
'principals/'
|
||||
);
|
||||
$db = Server::get(IDBConnection::class);
|
||||
@@ -84,7 +85,7 @@ $calDavBackend = new CalDavBackend(
|
||||
);
|
||||
|
||||
$debugging = Server::get(IConfig::class)->getSystemValue('debug', false);
|
||||
$sendInvitations = Server::get(IConfig::class)->getAppValue('dav', 'sendInvitations', 'yes') === 'yes';
|
||||
$sendInvitations = Server::get(IAppConfig::class)->getValueBool('dav', 'sendInvitations', true);
|
||||
|
||||
// Root nodes
|
||||
$principalCollection = new \Sabre\CalDAV\Principal\Collection($principalBackend);
|
||||
@@ -102,6 +103,7 @@ $nodes = [
|
||||
$server = new \Sabre\DAV\Server($nodes);
|
||||
$server::$exposeVersion = false;
|
||||
$server->httpRequest->setUrl(Server::get(IRequest::class)->getRequestUri());
|
||||
/** @var string $baseuri defined in remote.php */
|
||||
$server->setBaseUri($baseuri);
|
||||
|
||||
// Add plugins
|
||||
@@ -126,4 +128,4 @@ $server->addPlugin(Server::get(RateLimitingPlugin::class));
|
||||
$server->addPlugin(Server::get(CalDavValidatePlugin::class));
|
||||
|
||||
// And off we go!
|
||||
$server->exec();
|
||||
$server->start();
|
||||
|
||||
@@ -30,6 +30,7 @@ use OCP\IRequest;
|
||||
use OCP\ISession;
|
||||
use OCP\IUserManager;
|
||||
use OCP\IUserSession;
|
||||
use OCP\L10N\IFactory as IL10nFactory;
|
||||
use OCP\Security\Bruteforce\IThrottler;
|
||||
use OCP\Server;
|
||||
use Psr\Log\LoggerInterface;
|
||||
@@ -53,7 +54,7 @@ $principalBackend = new Principal(
|
||||
Server::get(ProxyMapper::class),
|
||||
Server::get(KnownUserService::class),
|
||||
Server::get(IConfig::class),
|
||||
\OC::$server->getL10NFactory(),
|
||||
Server::get(IL10nFactory::class),
|
||||
'principals/'
|
||||
);
|
||||
$db = Server::get(IDBConnection::class);
|
||||
@@ -85,9 +86,10 @@ $nodes = [
|
||||
$server = new \Sabre\DAV\Server($nodes);
|
||||
$server::$exposeVersion = false;
|
||||
$server->httpRequest->setUrl(Server::get(IRequest::class)->getRequestUri());
|
||||
/** @var string $baseuri defined in remote.php */
|
||||
$server->setBaseUri($baseuri);
|
||||
// Add plugins
|
||||
$server->addPlugin(new MaintenancePlugin(Server::get(IConfig::class), \OC::$server->getL10N('dav')));
|
||||
$server->addPlugin(new MaintenancePlugin(Server::get(IConfig::class), \OCP\Server::get(IL10nFactory::class)->get('dav')));
|
||||
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend));
|
||||
$server->addPlugin(new Plugin());
|
||||
|
||||
@@ -104,4 +106,4 @@ $server->addPlugin(Server::get(CardDavRateLimitingPlugin::class));
|
||||
$server->addPlugin(Server::get(CardDavValidatePlugin::class));
|
||||
|
||||
// And off we go!
|
||||
$server->exec();
|
||||
$server->start();
|
||||
|
||||
@@ -14,6 +14,7 @@ use OCA\DAV\Files\Sharing\FilesDropPlugin;
|
||||
use OCA\DAV\Files\Sharing\PublicLinkCheckPlugin;
|
||||
use OCA\DAV\Storage\PublicOwnerWrapper;
|
||||
use OCA\FederatedFileSharing\FederatedShareProvider;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\BeforeSabrePubliclyLoadedEvent;
|
||||
use OCP\Constants;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
@@ -26,16 +27,19 @@ use OCP\IRequest;
|
||||
use OCP\ISession;
|
||||
use OCP\ITagManager;
|
||||
use OCP\IUserSession;
|
||||
use OCP\L10N\IFactory as IL10nFactory;
|
||||
use OCP\Security\Bruteforce\IThrottler;
|
||||
use OCP\Server;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
// load needed apps
|
||||
$RUNTIME_APPTYPES = ['filesystem', 'authentication', 'logging'];
|
||||
Server::get(IAppManager::class)->loadApps($RUNTIME_APPTYPES);
|
||||
|
||||
OC_App::loadApps($RUNTIME_APPTYPES);
|
||||
|
||||
OC_Util::obEnd();
|
||||
// Turn off output buffering to prevent memory problems
|
||||
while (ob_get_level()) {
|
||||
ob_end_clean();
|
||||
}
|
||||
Server::get(ISession::class)->close();
|
||||
|
||||
// Backends
|
||||
@@ -60,7 +64,7 @@ $serverFactory = new ServerFactory(
|
||||
Server::get(IRequest::class),
|
||||
Server::get(IPreview::class),
|
||||
$eventDispatcher,
|
||||
\OC::$server->getL10N('dav')
|
||||
Server::get(IL10nFactory::class)->get('dav')
|
||||
);
|
||||
|
||||
$requestUri = Server::get(IRequest::class)->getRequestUri();
|
||||
@@ -68,6 +72,7 @@ $requestUri = Server::get(IRequest::class)->getRequestUri();
|
||||
$linkCheckPlugin = new PublicLinkCheckPlugin();
|
||||
$filesDropPlugin = new FilesDropPlugin();
|
||||
|
||||
/** @var string $baseuri defined in public.php */
|
||||
$server = $serverFactory->createServer(
|
||||
true,
|
||||
$baseuri,
|
||||
@@ -125,4 +130,4 @@ $event = new BeforeSabrePubliclyLoadedEvent($server);
|
||||
$eventDispatcher->dispatchTyped($event);
|
||||
|
||||
// And off we go!
|
||||
$server->exec();
|
||||
$server->start();
|
||||
|
||||
@@ -19,6 +19,7 @@ use OCP\IRequest;
|
||||
use OCP\ISession;
|
||||
use OCP\ITagManager;
|
||||
use OCP\IUserSession;
|
||||
use OCP\L10N\IFactory as IL10nFactory;
|
||||
use OCP\SabrePluginEvent;
|
||||
use OCP\Security\Bruteforce\IThrottler;
|
||||
use OCP\Server;
|
||||
@@ -31,7 +32,9 @@ if (!str_contains(@ini_get('disable_functions'), 'set_time_limit')) {
|
||||
ignore_user_abort(true);
|
||||
|
||||
// Turn off output buffering to prevent memory problems
|
||||
\OC_Util::obEnd();
|
||||
while (ob_get_level()) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
$dispatcher = Server::get(IEventDispatcher::class);
|
||||
|
||||
@@ -45,7 +48,7 @@ $serverFactory = new ServerFactory(
|
||||
Server::get(IRequest::class),
|
||||
Server::get(IPreview::class),
|
||||
$dispatcher,
|
||||
\OC::$server->getL10N('dav')
|
||||
Server::get(IL10nFactory::class)->get('dav')
|
||||
);
|
||||
|
||||
// Backends
|
||||
@@ -68,6 +71,7 @@ $authPlugin->addBackend($bearerAuthPlugin);
|
||||
|
||||
$requestUri = Server::get(IRequest::class)->getRequestUri();
|
||||
|
||||
/** @var string $baseuri defined in remote.php */
|
||||
$server = $serverFactory->createServer(false, $baseuri, $requestUri, $authPlugin, function () {
|
||||
// use the view for the logged in user
|
||||
return Filesystem::getView();
|
||||
@@ -80,4 +84,4 @@ $event = new SabrePluginAddEvent($server);
|
||||
$dispatcher->dispatchTyped($event);
|
||||
|
||||
// And off we go!
|
||||
$server->exec();
|
||||
$server->start();
|
||||
|
||||
@@ -21,12 +21,15 @@ if (!str_contains(@ini_get('disable_functions'), 'set_time_limit')) {
|
||||
ignore_user_abort(true);
|
||||
|
||||
// Turn off output buffering to prevent memory problems
|
||||
\OC_Util::obEnd();
|
||||
while (ob_get_level()) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
$requestUri = Server::get(IRequest::class)->getRequestUri();
|
||||
|
||||
/** @var ServerFactory $serverFactory */
|
||||
$serverFactory = Server::get(ServerFactory::class);
|
||||
/** @var string $baseuri defined in remote.php */
|
||||
$server = $serverFactory->createServer(
|
||||
$baseuri,
|
||||
$requestUri,
|
||||
@@ -37,4 +40,4 @@ $server = $serverFactory->createServer(
|
||||
Server::get(IRequest::class)
|
||||
);
|
||||
|
||||
$server->exec();
|
||||
$server->start();
|
||||
|
||||
@@ -17,6 +17,7 @@ use OCA\DAV\Storage\PublicShareWrapper;
|
||||
use OCA\DAV\Upload\ChunkingPlugin;
|
||||
use OCA\DAV\Upload\ChunkingV2Plugin;
|
||||
use OCA\FederatedFileSharing\FederatedShareProvider;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\BeforeSabrePubliclyLoadedEvent;
|
||||
use OCP\Constants;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
@@ -41,8 +42,12 @@ use Sabre\DAV\Exception\NotFound;
|
||||
|
||||
// load needed apps
|
||||
$RUNTIME_APPTYPES = ['filesystem', 'authentication', 'logging'];
|
||||
OC_App::loadApps($RUNTIME_APPTYPES);
|
||||
OC_Util::obEnd();
|
||||
Server::get(IAppManager::class)->loadApps($RUNTIME_APPTYPES);
|
||||
|
||||
// Turn off output buffering to prevent memory problems
|
||||
while (ob_get_level()) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
$session = Server::get(ISession::class);
|
||||
$request = Server::get(IRequest::class);
|
||||
|
||||
@@ -15,8 +15,11 @@ if (!str_contains(@ini_get('disable_functions'), 'set_time_limit')) {
|
||||
ignore_user_abort(true);
|
||||
|
||||
// Turn off output buffering to prevent memory problems
|
||||
\OC_Util::obEnd();
|
||||
while (ob_get_level()) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
$request = \OCP\Server::get(IRequest::class);
|
||||
/** @var string $baseuri defined in remote.php */
|
||||
$server = new Server($request, $baseuri);
|
||||
$server->exec();
|
||||
|
||||
@@ -254,6 +254,7 @@ return array(
|
||||
'OCA\\DAV\\Connector\\Sabre\\SharesPlugin' => $baseDir . '/../lib/Connector/Sabre/SharesPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\TagList' => $baseDir . '/../lib/Connector/Sabre/TagList.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\TagsPlugin' => $baseDir . '/../lib/Connector/Sabre/TagsPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\UserIdHeaderPlugin' => $baseDir . '/../lib/Connector/Sabre/UserIdHeaderPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\ZipFolderPlugin' => $baseDir . '/../lib/Connector/Sabre/ZipFolderPlugin.php',
|
||||
'OCA\\DAV\\Controller\\BirthdayCalendarController' => $baseDir . '/../lib/Controller/BirthdayCalendarController.php',
|
||||
'OCA\\DAV\\Controller\\DirectController' => $baseDir . '/../lib/Controller/DirectController.php',
|
||||
|
||||
@@ -269,6 +269,7 @@ class ComposerStaticInitDAV
|
||||
'OCA\\DAV\\Connector\\Sabre\\SharesPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/SharesPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\TagList' => __DIR__ . '/..' . '/../lib/Connector/Sabre/TagList.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\TagsPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/TagsPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\UserIdHeaderPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/UserIdHeaderPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\ZipFolderPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/ZipFolderPlugin.php',
|
||||
'OCA\\DAV\\Controller\\BirthdayCalendarController' => __DIR__ . '/..' . '/../lib/Controller/BirthdayCalendarController.php',
|
||||
'OCA\\DAV\\Controller\\DirectController' => __DIR__ . '/..' . '/../lib/Controller/DirectController.php',
|
||||
|
||||
+2
-2
@@ -202,8 +202,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "تعذّرت إعادة تسمية ملف جزئي إلى ملف نهائي. تمّ الإلغاء من قِبَل الخطّاف hook.",
|
||||
"Could not rename part file to final file" : "تعذّرت إعادة تسمية ملف جزئي إلى ملف نهائي",
|
||||
"Failed to check file size: %1$s" : "فشل في تحديد حجم الملف: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "يتعذّر فتح الملف: %1$s, يبدو أن الملف غير موجود",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "يتعذّر فتح الملف: %1$s, يبدو أن الملف غير موجود",
|
||||
"Encryption not ready: %1$s" : "التشفير غير جاهز: %1$s",
|
||||
"Failed to open file: %1$s" : "تعذّر فتح الملف: %1$s",
|
||||
"Failed to unlink: %1$s" : "تعذّر فك الارتباط: %1$s",
|
||||
@@ -319,6 +317,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["في %n أسبوع في %1$s ثم في %2$s و %3$s","في أسبوع واحد في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسابيع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["في %n شهر في %1$s ثم في %2$s و %3$s","في شهر واحد في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهور في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["في%n سنة في %1$s ثم في %2$s و %3$s","في سنة واحدة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنوات في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "يتعذّر فتح الملف: %1$s, يبدو أن الملف غير موجود",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "يتعذّر فتح الملف: %1$s, يبدو أن الملف غير موجود",
|
||||
"No results." : "لا نتائج",
|
||||
"Start typing." : "أبدا الكتابة",
|
||||
"Time zone:" : "منطقة زمنية:"
|
||||
|
||||
@@ -200,8 +200,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "تعذّرت إعادة تسمية ملف جزئي إلى ملف نهائي. تمّ الإلغاء من قِبَل الخطّاف hook.",
|
||||
"Could not rename part file to final file" : "تعذّرت إعادة تسمية ملف جزئي إلى ملف نهائي",
|
||||
"Failed to check file size: %1$s" : "فشل في تحديد حجم الملف: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "يتعذّر فتح الملف: %1$s, يبدو أن الملف غير موجود",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "يتعذّر فتح الملف: %1$s, يبدو أن الملف غير موجود",
|
||||
"Encryption not ready: %1$s" : "التشفير غير جاهز: %1$s",
|
||||
"Failed to open file: %1$s" : "تعذّر فتح الملف: %1$s",
|
||||
"Failed to unlink: %1$s" : "تعذّر فك الارتباط: %1$s",
|
||||
@@ -317,6 +315,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["في %n أسبوع في %1$s ثم في %2$s و %3$s","في أسبوع واحد في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسابيع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s","في %n أسبوع في %1$s ثم في %2$s و %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["في %n شهر في %1$s ثم في %2$s و %3$s","في شهر واحد في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهور في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s","في %n شهر في %1$s ثم في %2$s و %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["في%n سنة في %1$s ثم في %2$s و %3$s","في سنة واحدة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنوات في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s","في %n سنة في %1$s ثم في %2$s و %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "يتعذّر فتح الملف: %1$s, يبدو أن الملف غير موجود",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "يتعذّر فتح الملف: %1$s, يبدو أن الملف غير موجود",
|
||||
"No results." : "لا نتائج",
|
||||
"Start typing." : "أبدا الكتابة",
|
||||
"Time zone:" : "منطقة زمنية:"
|
||||
|
||||
+2
-2
@@ -202,8 +202,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final perquè el ganxo ho ha cancel·lat",
|
||||
"Could not rename part file to final file" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final",
|
||||
"Failed to check file size: %1$s" : "No s'ha pogut comprovar la mida del fitxer: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, el fitxer sembla que existeix",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, sembla que el fitxer no existeix",
|
||||
"Encryption not ready: %1$s" : "El xifratge no està preparat: %1$s",
|
||||
"Failed to open file: %1$s" : "No s'ha pogut obrir el fitxer: %1$s",
|
||||
"Failed to unlink: %1$s" : "No s'ha pogut desenllaçar: %1$s",
|
||||
@@ -312,6 +310,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["D'aquí a una setmana el %1$s i després el %2$s i el %3$s","D’aquí a %n setmanes el %1$s i després el %2$s i el %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["D'aquí a un mes el %1$s i després el %2$s i el %3$s","D’aquí a %n mesos el %1$s i després el %2$s i el %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["D'aquí a un any el %1$s i després el %2$s i el %3$s","D’aquí a %n anys el %1$s i després el %2$s i el %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, el fitxer sembla que existeix",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, sembla que el fitxer no existeix",
|
||||
"No results." : "Cap resultat.",
|
||||
"Start typing." : "Comença a escriure.",
|
||||
"Time zone:" : "Fus horari:"
|
||||
|
||||
@@ -200,8 +200,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final perquè el ganxo ho ha cancel·lat",
|
||||
"Could not rename part file to final file" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final",
|
||||
"Failed to check file size: %1$s" : "No s'ha pogut comprovar la mida del fitxer: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, el fitxer sembla que existeix",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, sembla que el fitxer no existeix",
|
||||
"Encryption not ready: %1$s" : "El xifratge no està preparat: %1$s",
|
||||
"Failed to open file: %1$s" : "No s'ha pogut obrir el fitxer: %1$s",
|
||||
"Failed to unlink: %1$s" : "No s'ha pogut desenllaçar: %1$s",
|
||||
@@ -310,6 +308,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["D'aquí a una setmana el %1$s i després el %2$s i el %3$s","D’aquí a %n setmanes el %1$s i després el %2$s i el %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["D'aquí a un mes el %1$s i després el %2$s i el %3$s","D’aquí a %n mesos el %1$s i després el %2$s i el %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["D'aquí a un any el %1$s i després el %2$s i el %3$s","D’aquí a %n anys el %1$s i després el %2$s i el %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, el fitxer sembla que existeix",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "No s'ha pogut obrir el fitxer: %1$s, sembla que el fitxer no existeix",
|
||||
"No results." : "Cap resultat.",
|
||||
"Start typing." : "Comença a escriure.",
|
||||
"Time zone:" : "Fus horari:"
|
||||
|
||||
+2
-2
@@ -234,8 +234,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Nedaří se zapsat přejmenovat částečný soubor na ten končený – zrušeno háčkem (hook)",
|
||||
"Could not rename part file to final file" : "Nedaří se přejmenovat částečný soubor na ten konečný",
|
||||
"Failed to check file size: %1$s" : "Nepodařilo se zkontrolovat velikost souboru: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nebylo možné otevřít soubor: %1$s – soubor zdá se existuje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s – soubor zdá se neexistuje",
|
||||
"Encryption not ready: %1$s" : "Šifrování není připraveno: %1$s",
|
||||
"Failed to open file: %1$s" : "Nepodařilo se otevřít soubor: %1$s",
|
||||
"Failed to unlink: %1$s" : "Nepodařilo se zrušit propojení: %1$s",
|
||||
@@ -367,6 +365,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Za týden %1$s, poté %2$s a %3$s","Za %n týdny %1$s, poté %2$s a %3$s","Za %n týdnů %1$s, poté %2$s a %3$s","Za %n týdny %1$s, poté %2$s a %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Za měsíc %1$s, poté %2$s a %3$s","Za %n měsíce %1$s, poté %2$s a %3$s","Za %n měsíců %1$s, poté %2$s a %3$s","Za %n měsíce %1$s, poté %2$s a %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Za rok %1$s, poté %2$s a %3$s","Za %n roky %1$s, poté %2$s a %3$s","Za %n let %1$s, poté %2$s a %3$s","Za %n roky %1$s, poté %2$s a %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nebylo možné otevřít soubor: %1$s – soubor zdá se existuje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s – soubor zdá se neexistuje",
|
||||
"No results." : "Nic nenalezeno.",
|
||||
"Start typing." : "Začněte psát.",
|
||||
"Time zone:" : "Časové pásmo:"
|
||||
|
||||
@@ -232,8 +232,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Nedaří se zapsat přejmenovat částečný soubor na ten končený – zrušeno háčkem (hook)",
|
||||
"Could not rename part file to final file" : "Nedaří se přejmenovat částečný soubor na ten konečný",
|
||||
"Failed to check file size: %1$s" : "Nepodařilo se zkontrolovat velikost souboru: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nebylo možné otevřít soubor: %1$s – soubor zdá se existuje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s – soubor zdá se neexistuje",
|
||||
"Encryption not ready: %1$s" : "Šifrování není připraveno: %1$s",
|
||||
"Failed to open file: %1$s" : "Nepodařilo se otevřít soubor: %1$s",
|
||||
"Failed to unlink: %1$s" : "Nepodařilo se zrušit propojení: %1$s",
|
||||
@@ -365,6 +363,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Za týden %1$s, poté %2$s a %3$s","Za %n týdny %1$s, poté %2$s a %3$s","Za %n týdnů %1$s, poté %2$s a %3$s","Za %n týdny %1$s, poté %2$s a %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Za měsíc %1$s, poté %2$s a %3$s","Za %n měsíce %1$s, poté %2$s a %3$s","Za %n měsíců %1$s, poté %2$s a %3$s","Za %n měsíce %1$s, poté %2$s a %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Za rok %1$s, poté %2$s a %3$s","Za %n roky %1$s, poté %2$s a %3$s","Za %n let %1$s, poté %2$s a %3$s","Za %n roky %1$s, poté %2$s a %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nebylo možné otevřít soubor: %1$s – soubor zdá se existuje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s – soubor zdá se neexistuje",
|
||||
"No results." : "Nic nenalezeno.",
|
||||
"Start typing." : "Začněte psát.",
|
||||
"Time zone:" : "Časové pásmo:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Kunne ikke omdøbe delfilen til den endelige fil, annulleret af hook",
|
||||
"Could not rename part file to final file" : "Delfilen kunne ikke omdøbes til den endelige fil",
|
||||
"Failed to check file size: %1$s" : "Kunne ikke kontrollere filstørrelsen: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunne ikke åbne filen: %1$s, filen ser ud til at eksistere",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunne ikke åbne filen: %1$s, filen ser ikke ud til at eksistere",
|
||||
"Encryption not ready: %1$s" : "Kryptering ikke klar: %1$s",
|
||||
"Failed to open file: %1$s" : "Kunne ikke åbne fil: %1$s",
|
||||
"Failed to unlink: %1$s" : "Tilknytningen kunne ikke fjernes: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på %1$s så på %2$s og %3$s","Om %n uger den %1$s derefter den %2$s og %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på %1$s så på %2$s og %3$s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på %1$s så på %2$s og %3$s","Om %n år den %1$s derefter den %2$s og %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunne ikke åbne filen: %1$s, filen ser ud til at eksistere",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunne ikke åbne filen: %1$s, filen ser ikke ud til at eksistere",
|
||||
"No results." : "Ingen resultater.",
|
||||
"Start typing." : "Begynd at skrive.",
|
||||
"Time zone:" : "Tidszone:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Kunne ikke omdøbe delfilen til den endelige fil, annulleret af hook",
|
||||
"Could not rename part file to final file" : "Delfilen kunne ikke omdøbes til den endelige fil",
|
||||
"Failed to check file size: %1$s" : "Kunne ikke kontrollere filstørrelsen: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunne ikke åbne filen: %1$s, filen ser ud til at eksistere",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunne ikke åbne filen: %1$s, filen ser ikke ud til at eksistere",
|
||||
"Encryption not ready: %1$s" : "Kryptering ikke klar: %1$s",
|
||||
"Failed to open file: %1$s" : "Kunne ikke åbne fil: %1$s",
|
||||
"Failed to unlink: %1$s" : "Tilknytningen kunne ikke fjernes: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på %1$s så på %2$s og %3$s","Om %n uger den %1$s derefter den %2$s og %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på %1$s så på %2$s og %3$s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på %1$s så på %2$s og %3$s","Om %n år den %1$s derefter den %2$s og %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunne ikke åbne filen: %1$s, filen ser ud til at eksistere",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunne ikke åbne filen: %1$s, filen ser ikke ud til at eksistere",
|
||||
"No results." : "Ingen resultater.",
|
||||
"Start typing." : "Begynd at skrive.",
|
||||
"Time zone:" : "Tidszone:"
|
||||
|
||||
+4
-2
@@ -234,8 +234,8 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Konnte temporäre Datei nicht in die endgültige Datei umbenennen, wurde durch einen Hook abgebrochen",
|
||||
"Could not rename part file to final file" : "Konnte temporäre Datei nicht in die endgültige Datei umbenennen",
|
||||
"Failed to check file size: %1$s" : "Dateigröße konnte nicht überprüft werden: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint aber zu existieren.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint nicht zu existieren.",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s (%2$d), Datei scheint aber zu existieren",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s (%2$d), Datei scheint nicht zu existieren",
|
||||
"Encryption not ready: %1$s" : "Verschlüsselung nicht bereit: %1$s",
|
||||
"Failed to open file: %1$s" : "Datei konnte nicht geöffnet werden: %1$s",
|
||||
"Failed to unlink: %1$s" : "Fehler beim Aufheben der Verknüpfung: %1$s",
|
||||
@@ -367,6 +367,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["In einer Woche am %1$s danach am %2$s und %3$s","In %n Wochen am %1$s danach am %2$s und %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["In einem Monat am %1$s danach am %2$s und %3$s","In %n Monaten am %1$s danach am %2$s und %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["In einem Jahr am %1$s danach am %2$s und %3$s","In %n Jahren am %1$s danach am %2$s und %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint aber zu existieren.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint nicht zu existieren.",
|
||||
"No results." : "Keine Ergebnisse",
|
||||
"Start typing." : "Mit dem Schreiben beginnen.",
|
||||
"Time zone:" : "Zeitzone:"
|
||||
|
||||
@@ -232,8 +232,8 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Konnte temporäre Datei nicht in die endgültige Datei umbenennen, wurde durch einen Hook abgebrochen",
|
||||
"Could not rename part file to final file" : "Konnte temporäre Datei nicht in die endgültige Datei umbenennen",
|
||||
"Failed to check file size: %1$s" : "Dateigröße konnte nicht überprüft werden: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint aber zu existieren.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint nicht zu existieren.",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s (%2$d), Datei scheint aber zu existieren",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s (%2$d), Datei scheint nicht zu existieren",
|
||||
"Encryption not ready: %1$s" : "Verschlüsselung nicht bereit: %1$s",
|
||||
"Failed to open file: %1$s" : "Datei konnte nicht geöffnet werden: %1$s",
|
||||
"Failed to unlink: %1$s" : "Fehler beim Aufheben der Verknüpfung: %1$s",
|
||||
@@ -365,6 +365,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["In einer Woche am %1$s danach am %2$s und %3$s","In %n Wochen am %1$s danach am %2$s und %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["In einem Monat am %1$s danach am %2$s und %3$s","In %n Monaten am %1$s danach am %2$s und %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["In einem Jahr am %1$s danach am %2$s und %3$s","In %n Jahren am %1$s danach am %2$s und %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint aber zu existieren.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint nicht zu existieren.",
|
||||
"No results." : "Keine Ergebnisse",
|
||||
"Start typing." : "Mit dem Schreiben beginnen.",
|
||||
"Time zone:" : "Zeitzone:"
|
||||
|
||||
@@ -234,8 +234,8 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Konnte Teildatei nicht in endgültige Datei umbenennen, wurde durch Hook abgebrochen.",
|
||||
"Could not rename part file to final file" : "Konnte Teildatei nicht in endgültige Datei umbenennen",
|
||||
"Failed to check file size: %1$s" : "Dateigröße konnte nicht überprüft werden: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint zu existieren",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint nicht zu existieren",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s (%2$d), Datei scheint aber zu existieren",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s (%2$d), Datei scheint nicht zu existieren",
|
||||
"Encryption not ready: %1$s" : "Verschlüsselung nicht bereit: %1$s",
|
||||
"Failed to open file: %1$s" : "Datei konnte nicht geöffnet werden: %1$s",
|
||||
"Failed to unlink: %1$s" : "Fehler beim Aufheben der Verknüpfung: %1$s",
|
||||
@@ -367,6 +367,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["In einer Woche am %1$s danach am %2$s und %3$s","In %n Wochen am %1$s danach am %2$s und %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["In einem Monat am %1$s danach am %2$s und %3$s","In %n Monaten am %1$s danach am %2$s und %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["In einem Jahr am %1$s danach am %2$s und %3$s","In %n Jahren am %1$s danach am %2$s und %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint zu existieren",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint nicht zu existieren",
|
||||
"No results." : "Keine Ergebnisse.",
|
||||
"Start typing." : "Anfangen zu tippen.",
|
||||
"Time zone:" : "Zeitzone:"
|
||||
|
||||
@@ -232,8 +232,8 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Konnte Teildatei nicht in endgültige Datei umbenennen, wurde durch Hook abgebrochen.",
|
||||
"Could not rename part file to final file" : "Konnte Teildatei nicht in endgültige Datei umbenennen",
|
||||
"Failed to check file size: %1$s" : "Dateigröße konnte nicht überprüft werden: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint zu existieren",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint nicht zu existieren",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s (%2$d), Datei scheint aber zu existieren",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s (%2$d), Datei scheint nicht zu existieren",
|
||||
"Encryption not ready: %1$s" : "Verschlüsselung nicht bereit: %1$s",
|
||||
"Failed to open file: %1$s" : "Datei konnte nicht geöffnet werden: %1$s",
|
||||
"Failed to unlink: %1$s" : "Fehler beim Aufheben der Verknüpfung: %1$s",
|
||||
@@ -365,6 +365,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["In einer Woche am %1$s danach am %2$s und %3$s","In %n Wochen am %1$s danach am %2$s und %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["In einem Monat am %1$s danach am %2$s und %3$s","In %n Monaten am %1$s danach am %2$s und %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["In einem Jahr am %1$s danach am %2$s und %3$s","In %n Jahren am %1$s danach am %2$s und %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint zu existieren",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Datei konnte nicht geöffnet werden: %1$s, Datei scheint nicht zu existieren",
|
||||
"No results." : "Keine Ergebnisse.",
|
||||
"Start typing." : "Anfangen zu tippen.",
|
||||
"Time zone:" : "Zeitzone:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Αδυναμία μετονομασίας μερικού αρχείου σε τελικό αρχείο, ακυρώθηκε από hook",
|
||||
"Could not rename part file to final file" : "Αδυναμία μετονομασίας μερικού αρχείου σε τελικό αρχείο",
|
||||
"Failed to check file size: %1$s" : "Αποτυχία ελέγχου μεγέθους αρχείου: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Αδυναμία ανοίγματος αρχείου: %1$s, το αρχείο φαίνεται να υπάρχει",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Αδυναμία ανοίγματος αρχείου: %1$s, το αρχείο δεν φαίνεται να υπάρχει",
|
||||
"Encryption not ready: %1$s" : "Η κρυπτογράφηση δεν είναι έτοιμη: %1$s",
|
||||
"Failed to open file: %1$s" : "Αποτυχία ανοίγματος αρχείου: %1$s",
|
||||
"Failed to unlink: %1$s" : "Αποτυχία unlink: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Σε μία εβδομάδα στις %1$s και έπειτα στις %2$s και %3$s","Σε %n εβδομάδες στις %极$s και έπειτα στις %2$s και %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Σε έναν μήνα στις %1$s και έπειτα στις %2$s και %3$s","Σε %n μήνες στις %1$s και έπειτα στις %2$s και %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Σε έναν χρόνο στις %1$s και έπειτα στις %2$s και %3$s","Σε %n χρόνια στις %1$s και έπειτα στις %2$s και %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Αδυναμία ανοίγματος αρχείου: %1$s, το αρχείο φαίνεται να υπάρχει",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Αδυναμία ανοίγματος αρχείου: %1$s, το αρχείο δεν φαίνεται να υπάρχει",
|
||||
"No results." : "Κανένα αποτέλεσμα.",
|
||||
"Start typing." : "Ξεκινήστε να πληκτρολογείτε.",
|
||||
"Time zone:" : "Ζώνη ώρας:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Αδυναμία μετονομασίας μερικού αρχείου σε τελικό αρχείο, ακυρώθηκε από hook",
|
||||
"Could not rename part file to final file" : "Αδυναμία μετονομασίας μερικού αρχείου σε τελικό αρχείο",
|
||||
"Failed to check file size: %1$s" : "Αποτυχία ελέγχου μεγέθους αρχείου: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Αδυναμία ανοίγματος αρχείου: %1$s, το αρχείο φαίνεται να υπάρχει",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Αδυναμία ανοίγματος αρχείου: %1$s, το αρχείο δεν φαίνεται να υπάρχει",
|
||||
"Encryption not ready: %1$s" : "Η κρυπτογράφηση δεν είναι έτοιμη: %1$s",
|
||||
"Failed to open file: %1$s" : "Αποτυχία ανοίγματος αρχείου: %1$s",
|
||||
"Failed to unlink: %1$s" : "Αποτυχία unlink: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Σε μία εβδομάδα στις %1$s και έπειτα στις %2$s και %3$s","Σε %n εβδομάδες στις %极$s και έπειτα στις %2$s και %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Σε έναν μήνα στις %1$s και έπειτα στις %2$s και %3$s","Σε %n μήνες στις %1$s και έπειτα στις %2$s και %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Σε έναν χρόνο στις %1$s και έπειτα στις %2$s και %3$s","Σε %n χρόνια στις %1$s και έπειτα στις %2$s και %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Αδυναμία ανοίγματος αρχείου: %1$s, το αρχείο φαίνεται να υπάρχει",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Αδυναμία ανοίγματος αρχείου: %1$s, το αρχείο δεν φαίνεται να υπάρχει",
|
||||
"No results." : "Κανένα αποτέλεσμα.",
|
||||
"Start typing." : "Ξεκινήστε να πληκτρολογείτε.",
|
||||
"Time zone:" : "Ζώνη ώρας:"
|
||||
|
||||
@@ -234,8 +234,8 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Could not rename part file to final file, cancelled by hook",
|
||||
"Could not rename part file to final file" : "Could not rename part file to final file",
|
||||
"Failed to check file size: %1$s" : "Failed to check file size: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Could not open file: %1$s, file does seem to exist",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Could not open file: %1$s, file doesn't seem to exist",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Could not open file: %1$s (%2$d), file does seem to exist",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Could not open file: %1$s (%2$d), file doesn't seem to exist",
|
||||
"Encryption not ready: %1$s" : "Encryption not ready: %1$s",
|
||||
"Failed to open file: %1$s" : "Failed to open file: %1$s",
|
||||
"Failed to unlink: %1$s" : "Failed to unlink: %1$s",
|
||||
@@ -367,6 +367,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["In a week on %1$s then on %2$s and %3$s","In %n weeks on %1$s then on %2$s and %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["In a month on %1$s then on %2$s and %3$s","In %n months on %1$s then on %2$s and %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["In a year on %1$s then on %2$s and %3$s","In %n years on %1$s then on %2$s and %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Could not open file: %1$s, file does seem to exist",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Could not open file: %1$s, file doesn't seem to exist",
|
||||
"No results." : "No results.",
|
||||
"Start typing." : "Start typing.",
|
||||
"Time zone:" : "Time zone:"
|
||||
|
||||
@@ -232,8 +232,8 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Could not rename part file to final file, cancelled by hook",
|
||||
"Could not rename part file to final file" : "Could not rename part file to final file",
|
||||
"Failed to check file size: %1$s" : "Failed to check file size: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Could not open file: %1$s, file does seem to exist",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Could not open file: %1$s, file doesn't seem to exist",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Could not open file: %1$s (%2$d), file does seem to exist",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Could not open file: %1$s (%2$d), file doesn't seem to exist",
|
||||
"Encryption not ready: %1$s" : "Encryption not ready: %1$s",
|
||||
"Failed to open file: %1$s" : "Failed to open file: %1$s",
|
||||
"Failed to unlink: %1$s" : "Failed to unlink: %1$s",
|
||||
@@ -365,6 +365,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["In a week on %1$s then on %2$s and %3$s","In %n weeks on %1$s then on %2$s and %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["In a month on %1$s then on %2$s and %3$s","In %n months on %1$s then on %2$s and %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["In a year on %1$s then on %2$s and %3$s","In %n years on %1$s then on %2$s and %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Could not open file: %1$s, file does seem to exist",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Could not open file: %1$s, file doesn't seem to exist",
|
||||
"No results." : "No results.",
|
||||
"Start typing." : "Start typing.",
|
||||
"Time zone:" : "Time zone:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "No se pudo renombrar del archivo parcial como el archivo final, cancelado por el sistema.",
|
||||
"Could not rename part file to final file" : "No se ha podido renombrar el archivo parcial como el archivo final",
|
||||
"Failed to check file size: %1$s" : "Fallo al comprobar el tamaño del archivo: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo existe",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo no existe",
|
||||
"Encryption not ready: %1$s" : "El cifrado no está listo: %1$s",
|
||||
"Failed to open file: %1$s" : "Fallo al abrir el archivo: %1$s",
|
||||
"Failed to unlink: %1$s" : "Fallo al desenlazar: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["En una semana el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["En un mes el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["En un año el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo existe",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo no existe",
|
||||
"No results." : "Sin resultados.",
|
||||
"Start typing." : "Empiece a escribir.",
|
||||
"Time zone:" : "Zona horaria:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "No se pudo renombrar del archivo parcial como el archivo final, cancelado por el sistema.",
|
||||
"Could not rename part file to final file" : "No se ha podido renombrar el archivo parcial como el archivo final",
|
||||
"Failed to check file size: %1$s" : "Fallo al comprobar el tamaño del archivo: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo existe",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo no existe",
|
||||
"Encryption not ready: %1$s" : "El cifrado no está listo: %1$s",
|
||||
"Failed to open file: %1$s" : "Fallo al abrir el archivo: %1$s",
|
||||
"Failed to unlink: %1$s" : "Fallo al desenlazar: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["En una semana el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["En un mes el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["En un año el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo existe",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo no existe",
|
||||
"No results." : "Sin resultados.",
|
||||
"Start typing." : "Empiece a escribir.",
|
||||
"Time zone:" : "Zona horaria:"
|
||||
|
||||
+34
-2
@@ -73,7 +73,19 @@ OC.L10N.register(
|
||||
"Where: %s" : "Kus: %s",
|
||||
"%1$s via %2$s" : "%1$s %2$s kaudu",
|
||||
"In the past on %1$s for the entire day" : "Minevikus kogu päeva: %1$s",
|
||||
"_In %n minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["%n minuti pärast %1$s kogu päeva kestel","%n minuti pärast %1$s kogu päeva kestel"],
|
||||
"_In %n hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["%n tunni pärast %1$s kogu päeva kestel","%n tunni pärast %1$s kogu päeva kestel"],
|
||||
"_In %n day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["%n tunni päeva %1$s kogu päeva kestel","%n tunni pärast %1$s kogu päeva kestel"],
|
||||
"_In %n week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["%n nädala pärast %1$s kogu päeva kestel","%n nädala pärast %1$s kogu päeva kestel"],
|
||||
"_In %n month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["%n kuu pärast %1$s kogu päeva kestel","%n kuu pärast %1$s kogu päeva kestel"],
|
||||
"_In %n year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["%n aasta pärast %1$s kogu päeva kestel","%n aasta pärast %1$s kogu päeva kestel"],
|
||||
"In the past on %1$s between %2$s - %3$s" : "Minevikus: %1$s ajavahemikus %2$s - %3$s",
|
||||
"_In %n minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["%n minuti pärast %1$s ajavahemikus %2$s kuni %3$s","%n minuti pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["%n tunni pärast %1$s ajavahemikus %2$s kuni %3$s","%n tunni pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["%n päeva pärast %1$s ajavahemikus %2$s kuni %3$s","%n päeva pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["%n nädala pärast %1$s ajavahemikus %2$s kuni %3$s","%n nädala pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["%n kuu pärast %1$s ajavahemikus %2$s kuni %3$s","%n kuu pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["%n aasta pärast %1$s ajavahemikus %2$s kuni %3$s","%n aasta pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"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",
|
||||
@@ -111,8 +123,26 @@ OC.L10N.register(
|
||||
"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",
|
||||
"In the past on %1$s" : "Minevikus %1$s",
|
||||
"_In %n minute on %1$s_::_In %n minutes on %1$s_" : ["%n minuti pärast %1$s","%n minuti pärast %1$s"],
|
||||
"_In %n hour on %1$s_::_In %n hours on %1$s_" : ["%n tunni pärast %1$s","%n tunni pärast %1$s"],
|
||||
"_In %n day on %1$s_::_In %n days on %1$s_" : ["%n päeva pärast %1$s","%n päeva pärast %1$s"],
|
||||
"_In %n week on %1$s_::_In %n weeks on %1$s_" : ["%n nädala pärast %1$s","%n nädala pärast %1$s"],
|
||||
"_In %n month on %1$s_::_In %n months on %1$s_" : ["%n kuu pärast %1$s","%n kuu pärast %1$s"],
|
||||
"_In %n year on %1$s_::_In %n years on %1$s_" : ["%n aasta pärast %1$s","%n aasta pärast %1$s"],
|
||||
"In the past on %1$s then on %2$s" : "Minevikus: %1$s ja siis %2$s",
|
||||
"_In %n minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["%n minuti pärast %1$s, seejärel %2$s","%n minuti pärast %1$s, seejärel %2$s"],
|
||||
"_In %n hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["%n tunni pärast %1$s, seejärel %2$s","%n tunni pärast %1$s, seejärel %2$s"],
|
||||
"_In %n day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["%n päeva pärast %1$s, seejärel %2$s","%n päeva pärast %1$s, seejärel %2$s"],
|
||||
"_In %n week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["%n nädala pärast %1$s, seejärel %2$s","%n nädala pärast %1$s, seejärel %2$s"],
|
||||
"_In %n month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["%n kuu pärast %1$s, seejärel %2$s","%n kuu pärast %1$s, seejärel %2$s"],
|
||||
"_In %n year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["%n aasta pärast %1$s, seejärel %2$s","%n aasta pärast %1$s, seejärel %2$s"],
|
||||
"In the past on %1$s then on %2$s and %3$s" : "Minevikus: %1$s ja siis %2$s ning %3$s",
|
||||
"_In %n minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["%n minuti pärast %1$s, seejärel %2$s ja %3$s","%n minuti pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["%n tunni pärast %1$s, seejärel %2$s ja %3$s","%n tunni pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["%n päeva pärast %1$s, seejärel %2$s ja %3$s","%n päeva pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["%n nädala pärast %1$s, seejärel %2$s ja %3$s","%n nädala pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["%n kuu pärast %1$s, seejärel %2$s ja %3$s","%n kuu pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["%n aasta pärast %1$s, seejärel %2$s ja %3$s","%n aasta pärast %1$s, seejärel %2$s ja %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",
|
||||
@@ -204,8 +234,8 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Osalise faili nime muutmine lõplikuks nimeks ei õnnestunud, selle katkestas programmi haak",
|
||||
"Could not rename part file to final file" : "Osalise faili nime muutmine lõplikuks nimeks ei õnnestunud",
|
||||
"Failed to check file size: %1$s" : "Faili suuruse kontrollimine ei õnnestunud: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "„%1$s“ faili avamine ei õnnestunud - aga tundub, et ta on olemas",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "„%1$s“ faili avamine ei õnnestunud - tundub, et teda pole olemas",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "„%1$s“ (%2$d) faili avamine ei õnnestunud, aga tundub, et ta on olemas",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "„%1$s“ (%2$d) faili avamine ei õnnestunud, tundub, et teda pole olemas",
|
||||
"Encryption not ready: %1$s" : "Krüptimine pole veel kasutatav: %1$s",
|
||||
"Failed to open file: %1$s" : "Faili avamine ei õnnestunud: %1$s",
|
||||
"Failed to unlink: %1$s" : "Lingi eemaldamine ei õnnestunud: %1$s",
|
||||
@@ -337,6 +367,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Nädala möödudes: %1$s ja siis %2$s ning %3$s","%n nädala möödudes: %1$s ja siis %2$s ning %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Kuu möödudes: %1$s ja siis %2$s ning %3$s","%n kuu möödudes: %1$s ja siis %2$s ning %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Aasta möödudes: %1$s ja siis %2$s ning %3$s","%n aasta möödudes: %1$s ja siis %2$s ning %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "„%1$s“ faili avamine ei õnnestunud - aga tundub, et ta on olemas",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "„%1$s“ faili avamine ei õnnestunud - tundub, et teda pole olemas",
|
||||
"No results." : "Vasteid ei leitud.",
|
||||
"Start typing." : "Alusta kirjutamist.",
|
||||
"Time zone:" : "Ajavöönd:"
|
||||
|
||||
@@ -71,7 +71,19 @@
|
||||
"Where: %s" : "Kus: %s",
|
||||
"%1$s via %2$s" : "%1$s %2$s kaudu",
|
||||
"In the past on %1$s for the entire day" : "Minevikus kogu päeva: %1$s",
|
||||
"_In %n minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["%n minuti pärast %1$s kogu päeva kestel","%n minuti pärast %1$s kogu päeva kestel"],
|
||||
"_In %n hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["%n tunni pärast %1$s kogu päeva kestel","%n tunni pärast %1$s kogu päeva kestel"],
|
||||
"_In %n day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["%n tunni päeva %1$s kogu päeva kestel","%n tunni pärast %1$s kogu päeva kestel"],
|
||||
"_In %n week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["%n nädala pärast %1$s kogu päeva kestel","%n nädala pärast %1$s kogu päeva kestel"],
|
||||
"_In %n month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["%n kuu pärast %1$s kogu päeva kestel","%n kuu pärast %1$s kogu päeva kestel"],
|
||||
"_In %n year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["%n aasta pärast %1$s kogu päeva kestel","%n aasta pärast %1$s kogu päeva kestel"],
|
||||
"In the past on %1$s between %2$s - %3$s" : "Minevikus: %1$s ajavahemikus %2$s - %3$s",
|
||||
"_In %n minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["%n minuti pärast %1$s ajavahemikus %2$s kuni %3$s","%n minuti pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["%n tunni pärast %1$s ajavahemikus %2$s kuni %3$s","%n tunni pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["%n päeva pärast %1$s ajavahemikus %2$s kuni %3$s","%n päeva pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["%n nädala pärast %1$s ajavahemikus %2$s kuni %3$s","%n nädala pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["%n kuu pärast %1$s ajavahemikus %2$s kuni %3$s","%n kuu pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"_In %n year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["%n aasta pärast %1$s ajavahemikus %2$s kuni %3$s","%n aasta pärast %1$s ajavahemikus %2$s kuni %3$s"],
|
||||
"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",
|
||||
@@ -109,8 +121,26 @@
|
||||
"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",
|
||||
"In the past on %1$s" : "Minevikus %1$s",
|
||||
"_In %n minute on %1$s_::_In %n minutes on %1$s_" : ["%n minuti pärast %1$s","%n minuti pärast %1$s"],
|
||||
"_In %n hour on %1$s_::_In %n hours on %1$s_" : ["%n tunni pärast %1$s","%n tunni pärast %1$s"],
|
||||
"_In %n day on %1$s_::_In %n days on %1$s_" : ["%n päeva pärast %1$s","%n päeva pärast %1$s"],
|
||||
"_In %n week on %1$s_::_In %n weeks on %1$s_" : ["%n nädala pärast %1$s","%n nädala pärast %1$s"],
|
||||
"_In %n month on %1$s_::_In %n months on %1$s_" : ["%n kuu pärast %1$s","%n kuu pärast %1$s"],
|
||||
"_In %n year on %1$s_::_In %n years on %1$s_" : ["%n aasta pärast %1$s","%n aasta pärast %1$s"],
|
||||
"In the past on %1$s then on %2$s" : "Minevikus: %1$s ja siis %2$s",
|
||||
"_In %n minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["%n minuti pärast %1$s, seejärel %2$s","%n minuti pärast %1$s, seejärel %2$s"],
|
||||
"_In %n hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["%n tunni pärast %1$s, seejärel %2$s","%n tunni pärast %1$s, seejärel %2$s"],
|
||||
"_In %n day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["%n päeva pärast %1$s, seejärel %2$s","%n päeva pärast %1$s, seejärel %2$s"],
|
||||
"_In %n week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["%n nädala pärast %1$s, seejärel %2$s","%n nädala pärast %1$s, seejärel %2$s"],
|
||||
"_In %n month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["%n kuu pärast %1$s, seejärel %2$s","%n kuu pärast %1$s, seejärel %2$s"],
|
||||
"_In %n year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["%n aasta pärast %1$s, seejärel %2$s","%n aasta pärast %1$s, seejärel %2$s"],
|
||||
"In the past on %1$s then on %2$s and %3$s" : "Minevikus: %1$s ja siis %2$s ning %3$s",
|
||||
"_In %n minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["%n minuti pärast %1$s, seejärel %2$s ja %3$s","%n minuti pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["%n tunni pärast %1$s, seejärel %2$s ja %3$s","%n tunni pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["%n päeva pärast %1$s, seejärel %2$s ja %3$s","%n päeva pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["%n nädala pärast %1$s, seejärel %2$s ja %3$s","%n nädala pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["%n kuu pärast %1$s, seejärel %2$s ja %3$s","%n kuu pärast %1$s, seejärel %2$s ja %3$s"],
|
||||
"_In %n year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["%n aasta pärast %1$s, seejärel %2$s ja %3$s","%n aasta pärast %1$s, seejärel %2$s ja %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",
|
||||
@@ -202,8 +232,8 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Osalise faili nime muutmine lõplikuks nimeks ei õnnestunud, selle katkestas programmi haak",
|
||||
"Could not rename part file to final file" : "Osalise faili nime muutmine lõplikuks nimeks ei õnnestunud",
|
||||
"Failed to check file size: %1$s" : "Faili suuruse kontrollimine ei õnnestunud: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "„%1$s“ faili avamine ei õnnestunud - aga tundub, et ta on olemas",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "„%1$s“ faili avamine ei õnnestunud - tundub, et teda pole olemas",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "„%1$s“ (%2$d) faili avamine ei õnnestunud, aga tundub, et ta on olemas",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "„%1$s“ (%2$d) faili avamine ei õnnestunud, tundub, et teda pole olemas",
|
||||
"Encryption not ready: %1$s" : "Krüptimine pole veel kasutatav: %1$s",
|
||||
"Failed to open file: %1$s" : "Faili avamine ei õnnestunud: %1$s",
|
||||
"Failed to unlink: %1$s" : "Lingi eemaldamine ei õnnestunud: %1$s",
|
||||
@@ -335,6 +365,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Nädala möödudes: %1$s ja siis %2$s ning %3$s","%n nädala möödudes: %1$s ja siis %2$s ning %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Kuu möödudes: %1$s ja siis %2$s ning %3$s","%n kuu möödudes: %1$s ja siis %2$s ning %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Aasta möödudes: %1$s ja siis %2$s ning %3$s","%n aasta möödudes: %1$s ja siis %2$s ning %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "„%1$s“ faili avamine ei õnnestunud - aga tundub, et ta on olemas",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "„%1$s“ faili avamine ei õnnestunud - tundub, et teda pole olemas",
|
||||
"No results." : "Vasteid ei leitud.",
|
||||
"Start typing." : "Alusta kirjutamist.",
|
||||
"Time zone:" : "Ajavöönd:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Ezin izan da zati-fitxategiaren izena aldatu azken fitxategira, kakoak bertan behera utzi du",
|
||||
"Could not rename part file to final file" : "Ezin izan da zati-fitxategia azken fitxategira aldatu",
|
||||
"Failed to check file size: %1$s" : "Ezin izan da egiaztatu fitxategiaren tamaina:%1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Ezin da fitxategi hau ireki: %1$s, badirudi fitxategia existitzen dela",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Ezin da fitxategi hau ireki: %1$s, badirudi fitxategia ez dela existitzen",
|
||||
"Encryption not ready: %1$s" : "Enkriptatzea ez dago prest:%1$s",
|
||||
"Failed to open file: %1$s" : "Ezin izan da fitxategia ireki:%1$s",
|
||||
"Failed to unlink: %1$s" : "Ezin izan da deskonektatu:%1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Aste batean %1$s(e)an, %2$s(e)an eta %3$s(e)an","%n astetan %1$s(e)an, %2$s(e)an eta %3$s(e)an"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Hilabete batean %1$s(e)an, %2$s(e)an eta %3$s(e)an","%n hilabetetan %1$s(e)an, %2$s(e)an eta %3$s(e)an"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Urte batean %1$s(e)an, %2$s(e)an eta %3$s(e)an","%n urtetan %1$s(e)an, %2$s(e)an eta %3$s(e)an"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Ezin da fitxategi hau ireki: %1$s, badirudi fitxategia existitzen dela",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Ezin da fitxategi hau ireki: %1$s, badirudi fitxategia ez dela existitzen",
|
||||
"No results." : "Ez dago emaitzarik.",
|
||||
"Start typing." : "Hasi idazten.",
|
||||
"Time zone:" : "Ordu-zona:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Ezin izan da zati-fitxategiaren izena aldatu azken fitxategira, kakoak bertan behera utzi du",
|
||||
"Could not rename part file to final file" : "Ezin izan da zati-fitxategia azken fitxategira aldatu",
|
||||
"Failed to check file size: %1$s" : "Ezin izan da egiaztatu fitxategiaren tamaina:%1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Ezin da fitxategi hau ireki: %1$s, badirudi fitxategia existitzen dela",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Ezin da fitxategi hau ireki: %1$s, badirudi fitxategia ez dela existitzen",
|
||||
"Encryption not ready: %1$s" : "Enkriptatzea ez dago prest:%1$s",
|
||||
"Failed to open file: %1$s" : "Ezin izan da fitxategia ireki:%1$s",
|
||||
"Failed to unlink: %1$s" : "Ezin izan da deskonektatu:%1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Aste batean %1$s(e)an, %2$s(e)an eta %3$s(e)an","%n astetan %1$s(e)an, %2$s(e)an eta %3$s(e)an"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Hilabete batean %1$s(e)an, %2$s(e)an eta %3$s(e)an","%n hilabetetan %1$s(e)an, %2$s(e)an eta %3$s(e)an"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Urte batean %1$s(e)an, %2$s(e)an eta %3$s(e)an","%n urtetan %1$s(e)an, %2$s(e)an eta %3$s(e)an"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Ezin da fitxategi hau ireki: %1$s, badirudi fitxategia existitzen dela",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Ezin da fitxategi hau ireki: %1$s, badirudi fitxategia ez dela existitzen",
|
||||
"No results." : "Ez dago emaitzarik.",
|
||||
"Start typing." : "Hasi idazten.",
|
||||
"Time zone:" : "Ordu-zona:"
|
||||
|
||||
+2
-2
@@ -234,8 +234,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "امکان تغییر نام فایل جزئی به فایل نهایی وجود نداشت، توسط هوک لغو شد",
|
||||
"Could not rename part file to final file" : "امکان تغییر نام فایل جزئی به فایل نهایی وجود ندارد",
|
||||
"Failed to check file size: %1$s" : "بررسی حجم فایل با شکست مواجه شد: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "امکان باز کردن فایل وجود ندارد: %1$s، به نظر میرسد فایل وجود دارد",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "امکان باز کردن فایل وجود ندارد: %1$s، به نظر میرسد فایل وجود ندارد",
|
||||
"Encryption not ready: %1$s" : "رمزگذاری آماده نیست: %1$s",
|
||||
"Failed to open file: %1$s" : "باز کردن فایل با شکست مواجه شد: %1$s",
|
||||
"Failed to unlink: %1$s" : "حذف پیوند با شکست مواجه شد: %1$s",
|
||||
@@ -367,6 +365,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["در یک هفته در %1$s سپس در %2$s و %3$s","در %n هفته در %1$s سپس در %2$s و %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["در یک ماه در %1$s سپس در %2$s و %3$s","در %n ماه در %1$s سپس در %2$s و %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["در یک سال در %1$s سپس در %2$s و %3$s","در %n سال در %1$s سپس در %2$s و %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "امکان باز کردن فایل وجود ندارد: %1$s، به نظر میرسد فایل وجود دارد",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "امکان باز کردن فایل وجود ندارد: %1$s، به نظر میرسد فایل وجود ندارد",
|
||||
"No results." : "نتیجهای یافت نشد.",
|
||||
"Start typing." : "شروع به تایپ کنید.",
|
||||
"Time zone:" : "منطقه زمانی:"
|
||||
|
||||
@@ -232,8 +232,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "امکان تغییر نام فایل جزئی به فایل نهایی وجود نداشت، توسط هوک لغو شد",
|
||||
"Could not rename part file to final file" : "امکان تغییر نام فایل جزئی به فایل نهایی وجود ندارد",
|
||||
"Failed to check file size: %1$s" : "بررسی حجم فایل با شکست مواجه شد: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "امکان باز کردن فایل وجود ندارد: %1$s، به نظر میرسد فایل وجود دارد",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "امکان باز کردن فایل وجود ندارد: %1$s، به نظر میرسد فایل وجود ندارد",
|
||||
"Encryption not ready: %1$s" : "رمزگذاری آماده نیست: %1$s",
|
||||
"Failed to open file: %1$s" : "باز کردن فایل با شکست مواجه شد: %1$s",
|
||||
"Failed to unlink: %1$s" : "حذف پیوند با شکست مواجه شد: %1$s",
|
||||
@@ -365,6 +363,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["در یک هفته در %1$s سپس در %2$s و %3$s","در %n هفته در %1$s سپس در %2$s و %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["در یک ماه در %1$s سپس در %2$s و %3$s","در %n ماه در %1$s سپس در %2$s و %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["در یک سال در %1$s سپس در %2$s و %3$s","در %n سال در %1$s سپس در %2$s و %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "امکان باز کردن فایل وجود ندارد: %1$s، به نظر میرسد فایل وجود دارد",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "امکان باز کردن فایل وجود ندارد: %1$s، به نظر میرسد فایل وجود ندارد",
|
||||
"No results." : "نتیجهای یافت نشد.",
|
||||
"Start typing." : "شروع به تایپ کنید.",
|
||||
"Time zone:" : "منطقه زمانی:"
|
||||
|
||||
+2
-2
@@ -202,8 +202,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Impossible de renommer le fichier partiel en fichier final, annulé par le hook",
|
||||
"Could not rename part file to final file" : "Impossible de renommer le fichier partiel en fichier définitif",
|
||||
"Failed to check file size: %1$s" : "Impossible de vérifier la taille du fichier : %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Impossible d'ouvrir le fichier %1$s, le fichier semble présent.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Impossible d'ouvrir le fichier %1$s, le fichier ne semble pas exister.",
|
||||
"Encryption not ready: %1$s" : "Chiffrement pas prêt : %1$s",
|
||||
"Failed to open file: %1$s" : "Impossible d'ouvrir le fichier : %1$s",
|
||||
"Failed to unlink: %1$s" : "Impossible de supprimer le lien :%1$s",
|
||||
@@ -331,6 +329,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["La semaine prochaine le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dans un mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dans un an sur %1$spuis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Impossible d'ouvrir le fichier %1$s, le fichier semble présent.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Impossible d'ouvrir le fichier %1$s, le fichier ne semble pas exister.",
|
||||
"No results." : "Pas de résultat.",
|
||||
"Start typing." : "Commencez à écrire.",
|
||||
"Time zone:" : "Fuseau horaire :"
|
||||
|
||||
@@ -200,8 +200,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Impossible de renommer le fichier partiel en fichier final, annulé par le hook",
|
||||
"Could not rename part file to final file" : "Impossible de renommer le fichier partiel en fichier définitif",
|
||||
"Failed to check file size: %1$s" : "Impossible de vérifier la taille du fichier : %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Impossible d'ouvrir le fichier %1$s, le fichier semble présent.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Impossible d'ouvrir le fichier %1$s, le fichier ne semble pas exister.",
|
||||
"Encryption not ready: %1$s" : "Chiffrement pas prêt : %1$s",
|
||||
"Failed to open file: %1$s" : "Impossible d'ouvrir le fichier : %1$s",
|
||||
"Failed to unlink: %1$s" : "Impossible de supprimer le lien :%1$s",
|
||||
@@ -329,6 +327,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["La semaine prochaine le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dans un mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dans un an sur %1$spuis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Impossible d'ouvrir le fichier %1$s, le fichier semble présent.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Impossible d'ouvrir le fichier %1$s, le fichier ne semble pas exister.",
|
||||
"No results." : "Pas de résultat.",
|
||||
"Start typing." : "Commencez à écrire.",
|
||||
"Time zone:" : "Fuseau horaire :"
|
||||
|
||||
+4
-2
@@ -234,8 +234,8 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Níorbh fhéidir páirtchomhad a athainmniú go comhad deiridh, curtha ar ceal le hook",
|
||||
"Could not rename part file to final file" : "Níorbh fhéidir páirtchomhad a athainmniú go dtí an comhad deiridh",
|
||||
"Failed to check file size: %1$s" : "Níorbh fhéidir méid an chomhaid a sheiceáil: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Níorbh fhéidir comhad a oscailt: %1$s, is cosúil go bhfuil an comhad ann",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Níorbh fhéidir comhad a oscailt: %1$s, is cosúil nach bhfuil an comhad ann",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Níorbh fhéidir an comhad a oscailt: %1$s (%2$d), is cosúil go bhfuil an comhad ann",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Níorbh fhéidir an comhad a oscailt: %1$s (%2$d), is cosúil nach bhfuil an comhad ann.",
|
||||
"Encryption not ready: %1$s" : "Níl an criptiúchán réidh: %1$s",
|
||||
"Failed to open file: %1$s" : "Níorbh fhéidir an comhad a oscailt: %1$s",
|
||||
"Failed to unlink: %1$s" : "Theip ar dhínascadh: %1$s",
|
||||
@@ -367,6 +367,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I gceann seachtaine ar %1$s ansin ar %2$s agus %3$s","I gceann %n seachtain ar %1$s ansin ar %2$s agus %3$s","I gceann %n seachtain ar %1$s ansin ar %2$s agus %3$s","I gceann %n seachtain ar %1$s ansin ar %2$s agus %3$s","I gceann %n seachtain ar %1$s ansin ar %2$s agus %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I gceann míosa ar %1$s ansin ar %2$s agus %3$s","I gceann %n mí ar %1$s ansin ar %2$s agus %3$s","I gceann %n mí ar %1$s ansin ar %2$s agus %3$s","I gceann %n mí ar %1$s ansin ar %2$s agus %3$s","I gceann %n mí ar %1$s ansin ar %2$s agus %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I mbliain ar %1$s ansin ar %2$s agus %3$s","I gceann %n bliain ar %1$s ansin ar %2$s agus %3$s","I gceann %n bliain ar %1$s ansin ar %2$s agus %3$s","I gceann %n bliain ar %1$s ansin ar %2$s agus %3$s","I gceann %n bliain ar %1$s ansin ar %2$s agus %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Níorbh fhéidir comhad a oscailt: %1$s, is cosúil go bhfuil an comhad ann",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Níorbh fhéidir comhad a oscailt: %1$s, is cosúil nach bhfuil an comhad ann",
|
||||
"No results." : "Gan torthaí.",
|
||||
"Start typing." : "Tosaigh ag clóscríobh.",
|
||||
"Time zone:" : "Crios ama:"
|
||||
|
||||
@@ -232,8 +232,8 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Níorbh fhéidir páirtchomhad a athainmniú go comhad deiridh, curtha ar ceal le hook",
|
||||
"Could not rename part file to final file" : "Níorbh fhéidir páirtchomhad a athainmniú go dtí an comhad deiridh",
|
||||
"Failed to check file size: %1$s" : "Níorbh fhéidir méid an chomhaid a sheiceáil: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Níorbh fhéidir comhad a oscailt: %1$s, is cosúil go bhfuil an comhad ann",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Níorbh fhéidir comhad a oscailt: %1$s, is cosúil nach bhfuil an comhad ann",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Níorbh fhéidir an comhad a oscailt: %1$s (%2$d), is cosúil go bhfuil an comhad ann",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Níorbh fhéidir an comhad a oscailt: %1$s (%2$d), is cosúil nach bhfuil an comhad ann.",
|
||||
"Encryption not ready: %1$s" : "Níl an criptiúchán réidh: %1$s",
|
||||
"Failed to open file: %1$s" : "Níorbh fhéidir an comhad a oscailt: %1$s",
|
||||
"Failed to unlink: %1$s" : "Theip ar dhínascadh: %1$s",
|
||||
@@ -365,6 +365,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I gceann seachtaine ar %1$s ansin ar %2$s agus %3$s","I gceann %n seachtain ar %1$s ansin ar %2$s agus %3$s","I gceann %n seachtain ar %1$s ansin ar %2$s agus %3$s","I gceann %n seachtain ar %1$s ansin ar %2$s agus %3$s","I gceann %n seachtain ar %1$s ansin ar %2$s agus %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I gceann míosa ar %1$s ansin ar %2$s agus %3$s","I gceann %n mí ar %1$s ansin ar %2$s agus %3$s","I gceann %n mí ar %1$s ansin ar %2$s agus %3$s","I gceann %n mí ar %1$s ansin ar %2$s agus %3$s","I gceann %n mí ar %1$s ansin ar %2$s agus %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I mbliain ar %1$s ansin ar %2$s agus %3$s","I gceann %n bliain ar %1$s ansin ar %2$s agus %3$s","I gceann %n bliain ar %1$s ansin ar %2$s agus %3$s","I gceann %n bliain ar %1$s ansin ar %2$s agus %3$s","I gceann %n bliain ar %1$s ansin ar %2$s agus %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Níorbh fhéidir comhad a oscailt: %1$s, is cosúil go bhfuil an comhad ann",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Níorbh fhéidir comhad a oscailt: %1$s, is cosúil nach bhfuil an comhad ann",
|
||||
"No results." : "Gan torthaí.",
|
||||
"Start typing." : "Tosaigh ag clóscríobh.",
|
||||
"Time zone:" : "Crios ama:"
|
||||
|
||||
+4
-2
@@ -234,8 +234,8 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Non foi posíbel cambiar o nome do ficheiro parcial ao ficheiro final, foi cancelado polo sistema",
|
||||
"Could not rename part file to final file" : "Non foi posíbel cambiar o nome do ficheiro parcial ao ficheiro final",
|
||||
"Failed to check file size: %1$s" : "Produciuse un erro ao comprobar o tamaño do ficheiro: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s, semella o ficheiro existe",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s, semella o ficheiro non existe",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s (%2$d), semella o ficheiro existe",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s (%2$d), semella o ficheiro non existe",
|
||||
"Encryption not ready: %1$s" : "A cifraxe non está preparada: %1$s",
|
||||
"Failed to open file: %1$s" : "Produciuse un erro ao abrir o ficheiro: %1$s",
|
||||
"Failed to unlink: %1$s" : "Produciuse un erro ao desligar: %1$s",
|
||||
@@ -367,6 +367,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Dentro dunha semana o %1$s e após o %2$s e o %3$s","Dentro de %n semanas o %1$s e após o %2$s e o %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dentro dun mes o %1$s e após o %2$s e o %3$s","Dentro de %n meses o %1$s e após o %2$s e o %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dentro dun ano o %1$s e após o %2$s e o %3$s","Dentro de %n anos o %1$s e após o %2$s e o %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s, semella o ficheiro existe",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s, semella o ficheiro non existe",
|
||||
"No results." : "Sen resultados",
|
||||
"Start typing." : "Comece a escribir.",
|
||||
"Time zone:" : "Fuso horario:"
|
||||
|
||||
@@ -232,8 +232,8 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Non foi posíbel cambiar o nome do ficheiro parcial ao ficheiro final, foi cancelado polo sistema",
|
||||
"Could not rename part file to final file" : "Non foi posíbel cambiar o nome do ficheiro parcial ao ficheiro final",
|
||||
"Failed to check file size: %1$s" : "Produciuse un erro ao comprobar o tamaño do ficheiro: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s, semella o ficheiro existe",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s, semella o ficheiro non existe",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s (%2$d), semella o ficheiro existe",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s (%2$d), semella o ficheiro non existe",
|
||||
"Encryption not ready: %1$s" : "A cifraxe non está preparada: %1$s",
|
||||
"Failed to open file: %1$s" : "Produciuse un erro ao abrir o ficheiro: %1$s",
|
||||
"Failed to unlink: %1$s" : "Produciuse un erro ao desligar: %1$s",
|
||||
@@ -365,6 +365,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Dentro dunha semana o %1$s e após o %2$s e o %3$s","Dentro de %n semanas o %1$s e após o %2$s e o %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dentro dun mes o %1$s e após o %2$s e o %3$s","Dentro de %n meses o %1$s e após o %2$s e o %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dentro dun ano o %1$s e após o %2$s e o %3$s","Dentro de %n anos o %1$s e após o %2$s e o %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s, semella o ficheiro existe",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Non foi posíbel abrir o ficheiro: %1$s, semella o ficheiro non existe",
|
||||
"No results." : "Sen resultados",
|
||||
"Start typing." : "Comece a escribir.",
|
||||
"Time zone:" : "Fuso horario:"
|
||||
|
||||
@@ -0,0 +1,312 @@
|
||||
OC.L10N.register(
|
||||
"dav",
|
||||
{
|
||||
"Calendar" : "Kalender",
|
||||
"Tasks" : "Tugas",
|
||||
"Personal" : "Pribadi",
|
||||
"{actor} created calendar {calendar}" : "{actor} membuat kalender {calendar}",
|
||||
"You created calendar {calendar}" : "Anda membuat kalender {calendar}",
|
||||
"{actor} deleted calendar {calendar}" : "{actor} menghapus kalender {calendar}",
|
||||
"You deleted calendar {calendar}" : "Anda menghapus kalender {calendar}",
|
||||
"{actor} updated calendar {calendar}" : "{actor} memperbarui kalender {calendar}",
|
||||
"You updated calendar {calendar}" : "Anda memperbarui kalender {calendar}",
|
||||
"{actor} restored calendar {calendar}" : "{actor} memulihkan kalender {calendar}",
|
||||
"You restored calendar {calendar}" : "Anda memulihkan kalender {calendar}",
|
||||
"You shared calendar {calendar} as public link" : "Anda membagikan kalender {calendar} sebagai tautan publik",
|
||||
"You removed public link for calendar {calendar}" : "Anda menghapus tautan publik untuk kalender {calendar}",
|
||||
"{actor} shared calendar {calendar} with you" : "{actor} membagikan kalender {calendar} kepada Anda",
|
||||
"You shared calendar {calendar} with {user}" : "Anda membagikan kalender {calendar} dengan {user}",
|
||||
"{actor} shared calendar {calendar} with {user}" : "{actor} membagikan kalender {calendar} dengan {user}",
|
||||
"{actor} unshared calendar {calendar} from you" : "{actor} membatalkan berbagi kalender {calendar} dari Anda",
|
||||
"You unshared calendar {calendar} from {user}" : "Anda membatalkan berbagi kalender {calendar} dari {user}",
|
||||
"{actor} unshared calendar {calendar} from {user}" : "{actor} membatalkan berbagi kalender {calendar} dari {user}",
|
||||
"{actor} unshared calendar {calendar} from themselves" : "{actor} membatalkan berbagi kalender {calendar} dari diri mereka sendiri",
|
||||
"You shared calendar {calendar} with group {group}" : "Anda membagikan kalender {calendar} dengan grup {group}",
|
||||
"{actor} shared calendar {calendar} with group {group}" : "{actor} membagikan kalender {calendar} dengan grup {group}",
|
||||
"You unshared calendar {calendar} from group {group}" : "Anda membatalkan berbagi kalender {calendar} dari grup {group}",
|
||||
"{actor} unshared calendar {calendar} from group {group}" : "{actor} membatalkan berbagi kalender {calendar} dari grup {group}",
|
||||
"Untitled event" : "Acara tanpa judul",
|
||||
"{actor} created event {event} in calendar {calendar}" : "{actor} membuat acara {event} di kalender {calendar}",
|
||||
"You created event {event} in calendar {calendar}" : "Anda membuat acara {event} di kalender {calendar}",
|
||||
"{actor} deleted event {event} from calendar {calendar}" : "{actor} menghapus acara {event} dari kalender {calendar}",
|
||||
"You deleted event {event} from calendar {calendar}" : "Anda menghapus acara {event} dari kalender {calendar}",
|
||||
"{actor} updated event {event} in calendar {calendar}" : "{actor} memperbarui acara {event} di kalender {calendar}",
|
||||
"You updated event {event} in calendar {calendar}" : "Anda memperbarui acara {event} di kalender {calendar}",
|
||||
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} memindahkan acara {event} dari kalender {sourceCalendar} ke kalender {targetCalendar}",
|
||||
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Anda memindahkan acara {event} dari kalender {sourceCalendar} ke kalender {targetCalendar}",
|
||||
"{actor} restored event {event} of calendar {calendar}" : "{actor} memulihkan acara {event} dari kalender {calendar}",
|
||||
"You restored event {event} of calendar {calendar}" : "Anda memulihkan acara {event} dari kalender {calendar}",
|
||||
"Busy" : "Sibuk",
|
||||
"{actor} created to-do {todo} in list {calendar}" : "{actor} membuat tugas {todo} di daftar {calendar}",
|
||||
"You created to-do {todo} in list {calendar}" : "Anda membuat tugas {todo} di daftar {calendar}",
|
||||
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} menghapus tugas {todo} dari daftar {calendar}",
|
||||
"You deleted to-do {todo} from list {calendar}" : "Anda menghapus tugas {todo} dari daftar {calendar}",
|
||||
"{actor} updated to-do {todo} in list {calendar}" : "{actor} memperbarui tugas {todo} di daftar {calendar}",
|
||||
"You updated to-do {todo} in list {calendar}" : "Anda memperbarui tugas {todo} di daftar {calendar}",
|
||||
"{actor} solved to-do {todo} in list {calendar}" : "{actor} menyelesaikan tugas {todo} di daftar {calendar}",
|
||||
"You solved to-do {todo} in list {calendar}" : "Anda menyelesaikan tugas {todo} di daftar {calendar}",
|
||||
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} membuka kembali tugas {todo} di daftar {calendar}",
|
||||
"You reopened to-do {todo} in list {calendar}" : "Anda membuka kembali tugas {todo} di daftar {calendar}",
|
||||
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} memindahkan tugas {todo} dari daftar {sourceCalendar} ke daftar {targetCalendar}",
|
||||
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Anda memindahkan tugas {todo} dari daftar {sourceCalendar} ke daftar {targetCalendar}",
|
||||
"Calendar, contacts and tasks" : "Kalender, kontak, dan tugas",
|
||||
"A <strong>calendar</strong> was modified" : "<strong>Kalender</strong> telah diubah",
|
||||
"A calendar <strong>event</strong> was modified" : "Sebuah <strong>acara</strong> kalender telah diubah",
|
||||
"A calendar <strong>to-do</strong> was modified" : "Sebuah <strong>tugas</strong> kalender telah diubah",
|
||||
"Contact birthdays" : "Ulang tahun kontak",
|
||||
"Death of %s" : "Wafatnya %s",
|
||||
"Untitled calendar" : "Kalender tanpa judul",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Tanggal:",
|
||||
"Where:" : "Tempat:",
|
||||
"Description:" : "Deskripsi:",
|
||||
"_%n hour_::_%n hours_" : ["%n jam"],
|
||||
"_%n minute_::_%n minutes_" : ["%n menit"],
|
||||
"%s (in %s)" : "%s (dalam %s)",
|
||||
"%s (%s ago)" : "%s (%s yang lalu)",
|
||||
"Calendar: %s" : "Kalender: %s",
|
||||
"Date: %s" : "Tanggal: %s",
|
||||
"Description: %s" : "Deskripsi: %s",
|
||||
"Where: %s" : "Di mana: %s",
|
||||
"%1$s via %2$s" : "%1$s melalui %2$s",
|
||||
"In the past on %1$s for the entire day" : "Di masa lalu pada %1$s sepanjang hari",
|
||||
"In the past on %1$s between %2$s - %3$s" : "Di masa lalu pada %1$s antara %2$s - %3$s",
|
||||
"Could not generate when statement" : "Tidak dapat membuat pernyataan waktu",
|
||||
"Every Day for the entire day" : "Setiap hari sepanjang hari",
|
||||
"Every Day for the entire day until %1$s" : "Setiap hari sepanjang hari hingga %1$s",
|
||||
"Every Day between %1$s - %2$s" : "Setiap hari antara %1$s - %2$s",
|
||||
"Every Day between %1$s - %2$s until %3$s" : "Setiap hari antara %1$s - %2$s hingga %3$s",
|
||||
"Every %1$d Days for the entire day" : "Setiap %1$d hari sepanjang hari",
|
||||
"Every %1$d Days for the entire day until %2$s" : "Setiap %1$d hari sepanjang hari hingga %2$s",
|
||||
"Every %1$d Days between %2$s - %3$s" : "Setiap %1$d hari antara %2$s - %3$s",
|
||||
"Every %1$d Days between %2$s - %3$s until %4$s" : "Setiap %1$d hari antara %2$s - %3$s hingga %4$s",
|
||||
"Could not generate event recurrence statement" : "Tidak dapat membuat pernyataan pengulangan acara",
|
||||
"Every Week on %1$s for the entire day" : "Setiap minggu pada %1$s sepanjang hari",
|
||||
"Every Week on %1$s for the entire day until %2$s" : "Setiap minggu pada %1$s sepanjang hari hingga %2$s",
|
||||
"Every Week on %1$s between %2$s - %3$s" : "Setiap minggu pada %1$s antara %2$s - %3$s",
|
||||
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Setiap minggu pada %1$s antara %2$s - %3$s hingga %4$s",
|
||||
"Every %1$d Weeks on %2$s for the entire day" : "Setiap %1$d minggu pada %2$s sepanjang hari",
|
||||
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Setiap %1$d minggu pada %2$s sepanjang hari hingga %3$s",
|
||||
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Setiap %1$d minggu pada %2$s antara %3$s - %4$s",
|
||||
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Setiap %1$d minggu pada %2$s antara %3$s - %4$s hingga %5$s",
|
||||
"Every Month on the %1$s for the entire day" : "Setiap bulan pada tanggal %1$s sepanjang hari",
|
||||
"Every Month on the %1$s for the entire day until %2$s" : "Setiap bulan pada tanggal %1$s sepanjang hari hingga %2$s",
|
||||
"Every Month on the %1$s between %2$s - %3$s" : "Setiap bulan pada tanggal %1$s antara %2$s - %3$s",
|
||||
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Setiap bulan pada tanggal %1$s antara %2$s - %3$s hingga %4$s",
|
||||
"Every %1$d Months on the %2$s for the entire day" : "Setiap %1$d bulan pada tanggal %2$s sepanjang hari",
|
||||
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Setiap %1$d bulan pada tanggal %2$s sepanjang hari hingga %3$s",
|
||||
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Setiap %1$d bulan pada tanggal %2$s antara %3$s - %4$s",
|
||||
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Setiap %1$d bulan pada tanggal %2$s antara %3$s - %4$s hingga %5$s",
|
||||
"Every Year in %1$s on the %2$s for the entire day" : "Setiap tahun pada bulan %1$s tanggal %2$s sepanjang hari",
|
||||
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Setiap tahun pada bulan %1$s tanggal %2$s sepanjang hari hingga %3$s",
|
||||
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Setiap tahun pada bulan %1$s tanggal %2$s antara %3$s - %4$s",
|
||||
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Setiap tahun pada bulan %1$s tanggal %2$s antara %3$s - %4$s hingga %5$s",
|
||||
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Setiap %1$d tahun pada bulan %2$s tanggal %3$s sepanjang hari",
|
||||
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Setiap %1$d tahun pada bulan %2$s tanggal %3$s sepanjang hari hingga %4$s",
|
||||
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Setiap %1$d tahun pada bulan %2$s tanggal %3$s antara %4$s - %5$s",
|
||||
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Setiap %1$d tahun pada bulan %2$s tanggal %3$s antara %4$s - %5$s hingga %6$s",
|
||||
"On specific dates for the entire day until %1$s" : "Pada tanggal tertentu sepanjang hari hingga %1$s",
|
||||
"On specific dates between %1$s - %2$s until %3$s" : "Pada tanggal tertentu antara %1$s - %2$s hingga %3$s",
|
||||
"In the past on %1$s" : "Di masa lalu pada %1$s",
|
||||
"In the past on %1$s then on %2$s" : "Di masa lalu pada %1$s lalu pada %2$s",
|
||||
"In the past on %1$s then on %2$s and %3$s" : "Di masa lalu pada %1$s lalu pada %2$s dan %3$s",
|
||||
"Could not generate next recurrence statement" : "Tidak dapat membuat pernyataan pengulangan berikutnya",
|
||||
"Cancelled: %1$s" : "Dibatalkan: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" telah dibatalkan",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s telah menerima undangan Anda",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s telah menerima undangan Anda secara sementara",
|
||||
"%1$s has declined your invitation" : "%1$s telah menolak undangan Anda",
|
||||
"%1$s has responded to your invitation" : "%1$s telah merespons undangan Anda",
|
||||
"Invitation updated: %1$s" : "Undangan diperbarui: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s memperbarui acara \"%2$s\"",
|
||||
"Invitation: %1$s" : "Undangan: %1$s",
|
||||
"%1$s would like to invite you to \"%2$s\"" : "%1$s ingin mengundang Anda ke \"%2$s\"",
|
||||
"Organizer:" : "Penyelenggara:",
|
||||
"Attendees:" : "Peserta:",
|
||||
"Title:" : "Judul:",
|
||||
"When:" : "Kapan:",
|
||||
"Location:" : "Lokasi:",
|
||||
"Link:" : "Tautan:",
|
||||
"Occurring:" : "Berlangsung:",
|
||||
"Accept" : "Terima",
|
||||
"Decline" : "Tolak",
|
||||
"More options …" : "Opsi lainnya …",
|
||||
"More options at %s" : "Opsi lainnya di %s",
|
||||
"Monday" : "Senin",
|
||||
"Tuesday" : "Selasa",
|
||||
"Wednesday" : "Rabu",
|
||||
"Thursday" : "Kamis",
|
||||
"Friday" : "Jumat",
|
||||
"Saturday" : "Sabtu",
|
||||
"Sunday" : "Minggu",
|
||||
"January" : "Januari",
|
||||
"February" : "Februari",
|
||||
"March" : "Maret",
|
||||
"April" : "April",
|
||||
"May" : "Mei",
|
||||
"June" : "Juni",
|
||||
"July" : "Juli",
|
||||
"August" : "Agustus",
|
||||
"September" : "September",
|
||||
"October" : "Oktober",
|
||||
"November" : "November",
|
||||
"December" : "Desember",
|
||||
"First" : "Pertama",
|
||||
"Second" : "Kedua",
|
||||
"Third" : "Ketiga",
|
||||
"Fourth" : "Keempat",
|
||||
"Fifth" : "Kelima",
|
||||
"Last" : "Terakhir",
|
||||
"Second Last" : "Kedua terakhir",
|
||||
"Third Last" : "Ketiga terakhir",
|
||||
"Fourth Last" : "Keempat terakhir",
|
||||
"Fifth Last" : "Kelima terakhir",
|
||||
"Contacts" : "Kontak",
|
||||
"{actor} created address book {addressbook}" : "{actor} membuat buku alamat {addressbook}",
|
||||
"You created address book {addressbook}" : "Anda membuat buku alamat {addressbook}",
|
||||
"{actor} deleted address book {addressbook}" : "{actor} menghapus buku alamat {addressbook}",
|
||||
"You deleted address book {addressbook}" : "Anda menghapus buku alamat {addressbook}",
|
||||
"{actor} updated address book {addressbook}" : "{actor} memperbarui buku alamat {addressbook}",
|
||||
"You updated address book {addressbook}" : "Anda memperbarui buku alamat {addressbook}",
|
||||
"{actor} shared address book {addressbook} with you" : "{actor} membagikan buku alamat {addressbook} kepada Anda",
|
||||
"You shared address book {addressbook} with {user}" : "Anda membagikan buku alamat {addressbook} dengan {user}",
|
||||
"{actor} shared address book {addressbook} with {user}" : "{actor} membagikan buku alamat {addressbook} dengan {user}",
|
||||
"{actor} unshared address book {addressbook} from you" : "{actor} membatalkan berbagi buku alamat {addressbook} dari Anda",
|
||||
"You unshared address book {addressbook} from {user}" : "Anda membatalkan berbagi buku alamat {addressbook} dari {user}",
|
||||
"{actor} unshared address book {addressbook} from {user}" : "{actor} membatalkan berbagi buku alamat {addressbook} dari {user}",
|
||||
"{actor} unshared address book {addressbook} from themselves" : "{actor} membatalkan berbagi buku alamat {addressbook} dari diri mereka sendiri",
|
||||
"You shared address book {addressbook} with group {group}" : "Anda membagikan buku alamat {addressbook} dengan grup {group}",
|
||||
"{actor} shared address book {addressbook} with group {group}" : "{actor} membagikan buku alamat {addressbook} dengan grup {group}",
|
||||
"You unshared address book {addressbook} from group {group}" : "Anda membatalkan berbagi buku alamat {addressbook} dari grup {group}",
|
||||
"{actor} unshared address book {addressbook} from group {group}" : "{actor} membatalkan berbagi buku alamat {addressbook} dari grup {group}",
|
||||
"{actor} created contact {card} in address book {addressbook}" : "{actor} membuat kontak {card} di buku alamat {addressbook}",
|
||||
"You created contact {card} in address book {addressbook}" : "Anda membuat kontak {card} di buku alamat {addressbook}",
|
||||
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} menghapus kontak {card} dari buku alamat {addressbook}",
|
||||
"You deleted contact {card} from address book {addressbook}" : "Anda menghapus kontak {card} dari buku alamat {addressbook}",
|
||||
"{actor} updated contact {card} in address book {addressbook}" : "{actor} memperbarui kontak {card} di buku alamat {addressbook}",
|
||||
"You updated contact {card} in address book {addressbook}" : "Anda memperbarui kontak {card} di buku alamat {addressbook}",
|
||||
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Sebuah <strong>kontak</strong> atau <strong>buku alamat</strong> telah diubah",
|
||||
"System address book disabled" : "Buku alamat sistem dinonaktifkan",
|
||||
"The system contacts address book has been automatically disabled during upgrade. This means that the address book will no longer be available to users in the contacts app or other clients. The system contacts address book was disabled because the amount of contacts in the address book exceeded the maximum recommended number of contacts. This limit is set to prevent performance issues. You can re-enable the system address book with the following command {command}" : "Buku alamat kontak sistem telah dinonaktifkan secara otomatis selama peningkatan. Ini berarti buku alamat tersebut tidak akan lagi tersedia bagi pengguna di aplikasi kontak atau klien lain. Buku alamat kontak sistem dinonaktifkan karena jumlah kontak dalam buku alamat melebihi jumlah maksimum kontak yang direkomendasikan. Batas ini ditetapkan untuk mencegah masalah performa. Anda dapat mengaktifkan kembali buku alamat sistem dengan perintah berikut {command}",
|
||||
"Accounts" : "Accounts",
|
||||
"System address book which holds all accounts" : "Buku alamat sistem yang menyimpan semua akun",
|
||||
"File is not updatable: %1$s" : "File tidak dapat diperbarui: %1$s",
|
||||
"Failed to get storage for file" : "Gagal mendapatkan penyimpanan untuk file",
|
||||
"Could not write to final file, canceled by hook" : "Tidak dapat menulis ke file akhir, dibatalkan oleh hook",
|
||||
"Could not write file contents" : "Tidak dapat menulis konten file",
|
||||
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Kesalahan saat menyalin file ke lokasi tujuan (disalin: %1$s, ukuran file yang diharapkan: %2$s)",
|
||||
"Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Ukuran file %1$s yang diharapkan adalah %1$s tetapi membaca (dari klien Nextcloud) dan menulis (ke penyimpanan Nextcloud) %2$s. Ini bisa jadi masalah jaringan di sisi pengirim atau masalah saat menulis ke penyimpanan di sisi server.",
|
||||
"Could not rename part file to final file, canceled by hook" : "Tidak dapat mengganti nama file bagian menjadi file akhir, dibatalkan oleh hook",
|
||||
"Could not rename part file to final file" : "Tidak dapat mengganti nama file bagian menjadi file akhir",
|
||||
"Failed to check file size: %1$s" : "Gagal memeriksa ukuran file: %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Tidak dapat membuka file: %1$s (%2$d), file tampaknya ada",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Tidak dapat membuka file: %1$s (%2$d), file tampaknya tidak ada",
|
||||
"Encryption not ready: %1$s" : "Enkripsi belum siap: %1$s",
|
||||
"Failed to open file: %1$s" : "Gagal membuka file: %1$s",
|
||||
"Failed to unlink: %1$s" : "Gagal melepas tautan: %1$s",
|
||||
"Failed to write file contents: %1$s" : "Gagal menulis konten file: %1$s",
|
||||
"File not found: %1$s" : "File tidak ditemukan: %1$s",
|
||||
"Invalid target path" : "Jalur tujuan tidak valid",
|
||||
"System is in maintenance mode." : "Sistem sedang dalam mode pemeliharaan.",
|
||||
"Upgrade needed" : "Perlu peningkatan",
|
||||
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "%s Anda perlu dikonfigurasi untuk menggunakan HTTPS agar dapat menggunakan CalDAV dan CardDAV dengan iOS/macOS.",
|
||||
"Configures a CalDAV account" : "Mengonfigurasi akun CalDAV",
|
||||
"Configures a CardDAV account" : "Mengonfigurasi akun CardDAV",
|
||||
"Events" : "Acara",
|
||||
"Untitled task" : "Tugas tanpa judul",
|
||||
"Completed on %s" : "Selesai pada %s",
|
||||
"Due on %s by %s" : "Jatuh tempo pada %s oleh %s",
|
||||
"Due on %s" : "Jatuh tempo pada %s",
|
||||
"Welcome to Nextcloud Calendar!\n\nThis is a sample event - explore the flexibility of planning with Nextcloud Calendar by making any edits you want!\n\nWith Nextcloud Calendar, you can:\n- Create, edit, and manage events effortlessly.\n- Create multiple calendars and share them with teammates, friends, or family.\n- Check availability and display your busy times to others.\n- Seamlessly integrate with apps and devices via CalDAV.\n- Customize your experience: schedule recurring events, adjust notifications and other settings." : "Selamat datang di Kalender Nextcloud!\n\nIni adalah acara contoh - jelajahi fleksibilitas perencanaan dengan Kalender Nextcloud dengan melakukan perubahan apa pun yang Anda inginkan!\n\nDengan Kalender Nextcloud, Anda dapat:\n- Membuat, mengedit, dan mengelola acara dengan mudah.\n- Membuat beberapa kalender dan membagikannya dengan rekan tim, teman, atau keluarga.\n- Memeriksa ketersediaan dan menampilkan waktu sibuk Anda kepada orang lain.\n- Terintegrasi dengan lancar dengan aplikasi dan perangkat melalui CalDAV.\n- Menyesuaikan pengalaman Anda: jadwalkan acara berulang, sesuaikan notifikasi, dan pengaturan lainnya.",
|
||||
"Example event - open me!" : "Acara contoh - buka saya!",
|
||||
"System Address Book" : "Buku Alamat Sistem",
|
||||
"The system address book contains contact information for all users in your instance." : "Buku alamat sistem berisi informasi kontak untuk semua pengguna di instance Anda.",
|
||||
"Enable System Address Book" : "Aktifkan Buku Alamat Sistem",
|
||||
"DAV system address book" : "Buku alamat sistem DAV",
|
||||
"No outstanding DAV system address book sync." : "Tidak ada sinkronisasi buku alamat sistem DAV yang tertunda.",
|
||||
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Sinkronisasi buku alamat sistem DAV belum berjalan karena instance Anda memiliki lebih dari 1000 pengguna atau karena terjadi kesalahan. Silakan jalankan secara manual dengan memanggil \"occ dav:sync-system-addressbook\".",
|
||||
"DAV system address book size" : "Ukuran buku alamat sistem DAV",
|
||||
"The system address book is disabled" : "Buku alamat sistem dinonaktifkan",
|
||||
"The system address book is enabled, but contains more than the configured limit of %d contacts" : "Buku alamat sistem diaktifkan, tetapi berisi lebih dari batas yang dikonfigurasi yaitu %d kontak",
|
||||
"The system address book is enabled and contains less than the configured limit of %d contacts" : "Buku alamat sistem diaktifkan dan berisi kurang dari batas yang dikonfigurasi yaitu %d kontak",
|
||||
"WebDAV endpoint" : "Endpoint WebDAV",
|
||||
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Tidak dapat memeriksa apakah web server Anda telah disiapkan dengan benar untuk mengizinkan sinkronisasi file melalui WebDAV. Silakan periksa secara manual.",
|
||||
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Peladen web Anda belum diatur sesuai untuk sinkronisasi berkas, karena antarmuka WebDAV tidak berfungsi.",
|
||||
"Your web server is properly set up to allow file synchronization over WebDAV." : "Web server Anda telah disiapkan dengan benar untuk mengizinkan sinkronisasi file melalui WebDAV.",
|
||||
"Migrated calendar (%1$s)" : "Kalender termigrasi (%1$s)",
|
||||
"Calendars including events, details and attendees" : "Kalender termasuk acara, detail, dan peserta",
|
||||
"Contacts and groups" : "Kontak dan grup",
|
||||
"WebDAV" : "WebDAV",
|
||||
"Absence saved" : "Ketidakhadiran disimpan",
|
||||
"Failed to save your absence settings" : "Gagal menyimpan pengaturan ketidakhadiran Anda",
|
||||
"Absence cleared" : "Ketidakhadiran dihapus",
|
||||
"Failed to clear your absence settings" : "Gagal menghapus pengaturan ketidakhadiran Anda",
|
||||
"First day" : "Hari pertama",
|
||||
"Last day (inclusive)" : "Hari terakhir (termasuk)",
|
||||
"Out of office replacement (optional)" : "Pengganti di luar kantor (opsional)",
|
||||
"Name of the replacement" : "Nama pengganti",
|
||||
"Short absence status" : "Status ketidakhadiran singkat",
|
||||
"Long absence Message" : "Pesan ketidakhadiran panjang",
|
||||
"Save" : "Simpan",
|
||||
"Disable absence" : "Nonaktifkan ketidakhadiran",
|
||||
"Failed to load availability" : "Gagal memuat ketersediaan",
|
||||
"Saved availability" : "Ketersediaan disimpan",
|
||||
"Failed to save availability" : "Gagal menyimpan ketersediaan",
|
||||
"to" : "untuk",
|
||||
"Delete slot" : "Hapus slot",
|
||||
"No working hours set" : "Tidak ada jam kerja yang ditetapkan",
|
||||
"Add slot" : "Tambahkan slot",
|
||||
"Weekdays" : "Hari kerja",
|
||||
"Pick a start time for {dayName}" : "Pilih waktu mulai untuk {dayName}",
|
||||
"Pick a end time for {dayName}" : "Pilih waktu selesai untuk {dayName}",
|
||||
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Secara otomatis tetapkan status pengguna menjadi \"Jangan ganggu\" di luar ketersediaan untuk membisukan semua notifikasi.",
|
||||
"Cancel" : "Batal",
|
||||
"Import" : "Impor",
|
||||
"Error while saving settings" : "Kesalahan saat menyimpan pengaturan",
|
||||
"Contact reset successfully" : "Kontak berhasil direset",
|
||||
"Error while resetting contact" : "Kesalahan saat mereset kontak",
|
||||
"Contact imported successfully" : "Kontak berhasil diimpor",
|
||||
"Error while importing contact" : "Kesalahan saat mengimpor kontak",
|
||||
"Import contact" : "Impor kontak",
|
||||
"Reset to default" : "Reset ke default",
|
||||
"Import contacts" : "Impor kontak",
|
||||
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Mengunggah file .vcf baru akan menghapus kontak default yang ada dan menggantinya dengan yang baru. Apakah Anda ingin melanjutkan?",
|
||||
"Failed to save example event creation setting" : "Gagal menyimpan pengaturan pembuatan acara contoh",
|
||||
"Failed to upload the example event" : "Gagal mengunggah acara contoh",
|
||||
"Custom example event was saved successfully" : "Acara contoh kustom berhasil disimpan",
|
||||
"Failed to delete the custom example event" : "Gagal menghapus acara contoh kustom",
|
||||
"Custom example event was deleted successfully" : "Acara contoh kustom berhasil dihapus",
|
||||
"Import calendar event" : "Impor acara kalender",
|
||||
"Uploading a new event will overwrite the existing one." : "Mengunggah acara baru akan menimpa acara yang sudah ada.",
|
||||
"Upload event" : "Unggah acara",
|
||||
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instal juga {calendarappstoreopen}aplikasi Kalender{linkclose}, atau {calendardocopen}hubungkan desktop & seluler Anda untuk sinkronisasi ↗{linkclose}.",
|
||||
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Pastikan Anda menyiapkan {emailopen}server email{linkclose} dengan benar.",
|
||||
"Calendar server" : "Server kalender",
|
||||
"Send invitations to attendees" : "Kirim undangan kepada peserta",
|
||||
"Automatically generate a birthday calendar" : "Buat kalender ulang tahun secara otomatis",
|
||||
"Birthday calendars will be generated by a background job." : "Kalender ulang tahun akan dibuat oleh tugas latar belakang.",
|
||||
"Hence they will not be available immediately after enabling but will show up after some time." : "Karena itu kalender tersebut tidak akan tersedia segera setelah diaktifkan, tetapi akan muncul setelah beberapa waktu.",
|
||||
"Send notifications for events" : "Kirim notifikasi untuk acara",
|
||||
"Notifications are sent via background jobs, so these must occur often enough." : "Notifikasi dikirim melalui tugas latar belakang, jadi tugas tersebut harus dijalankan cukup sering.",
|
||||
"Send reminder notifications to calendar sharees as well" : "Kirim juga notifikasi pengingat kepada pengguna yang dibagikan kalendernya",
|
||||
"Reminders are always sent to organizers and attendees." : "Pengingat selalu dikirim kepada penyelenggara dan peserta.",
|
||||
"Enable notifications for events via push" : "Aktifkan notifikasi untuk acara melalui push",
|
||||
"Example content" : "Konten contoh",
|
||||
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Konten contoh berfungsi untuk menampilkan fitur Nextcloud. Konten default disertakan dengan Nextcloud, dan dapat diganti dengan konten kustom.",
|
||||
"Availability" : "Ketersediaan",
|
||||
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jika Anda mengonfigurasi jam kerja, orang lain akan melihat kapan Anda di luar kantor saat mereka memesan rapat.",
|
||||
"Absence" : "Ketidakhadiran",
|
||||
"Configure your next absence period." : "Konfigurasikan periode ketidakhadiran Anda berikutnya.",
|
||||
"There was an error updating your attendance status." : "Terjadi kesalahan saat memperbarui status kehadiran Anda.",
|
||||
"Please contact the organizer directly." : "Silakan hubungi penyelenggara secara langsung.",
|
||||
"Are you accepting the invitation?" : "Apakah Anda menerima undangan ini?",
|
||||
"Tentative" : "Tentatif",
|
||||
"Your attendance was updated successfully." : "Kehadiran Anda berhasil diperbarui.",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Tidak dapat membuka file: %1$s, file tampaknya ada",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Tidak dapat membuka file: %1$s, file tampaknya tidak ada",
|
||||
"No results." : "Tidak ada hasil.",
|
||||
"Start typing." : "Mulai mengetik.",
|
||||
"Time zone:" : "Zona waktu:"
|
||||
},
|
||||
"nplurals=1; plural=0;");
|
||||
@@ -0,0 +1,310 @@
|
||||
{ "translations": {
|
||||
"Calendar" : "Kalender",
|
||||
"Tasks" : "Tugas",
|
||||
"Personal" : "Pribadi",
|
||||
"{actor} created calendar {calendar}" : "{actor} membuat kalender {calendar}",
|
||||
"You created calendar {calendar}" : "Anda membuat kalender {calendar}",
|
||||
"{actor} deleted calendar {calendar}" : "{actor} menghapus kalender {calendar}",
|
||||
"You deleted calendar {calendar}" : "Anda menghapus kalender {calendar}",
|
||||
"{actor} updated calendar {calendar}" : "{actor} memperbarui kalender {calendar}",
|
||||
"You updated calendar {calendar}" : "Anda memperbarui kalender {calendar}",
|
||||
"{actor} restored calendar {calendar}" : "{actor} memulihkan kalender {calendar}",
|
||||
"You restored calendar {calendar}" : "Anda memulihkan kalender {calendar}",
|
||||
"You shared calendar {calendar} as public link" : "Anda membagikan kalender {calendar} sebagai tautan publik",
|
||||
"You removed public link for calendar {calendar}" : "Anda menghapus tautan publik untuk kalender {calendar}",
|
||||
"{actor} shared calendar {calendar} with you" : "{actor} membagikan kalender {calendar} kepada Anda",
|
||||
"You shared calendar {calendar} with {user}" : "Anda membagikan kalender {calendar} dengan {user}",
|
||||
"{actor} shared calendar {calendar} with {user}" : "{actor} membagikan kalender {calendar} dengan {user}",
|
||||
"{actor} unshared calendar {calendar} from you" : "{actor} membatalkan berbagi kalender {calendar} dari Anda",
|
||||
"You unshared calendar {calendar} from {user}" : "Anda membatalkan berbagi kalender {calendar} dari {user}",
|
||||
"{actor} unshared calendar {calendar} from {user}" : "{actor} membatalkan berbagi kalender {calendar} dari {user}",
|
||||
"{actor} unshared calendar {calendar} from themselves" : "{actor} membatalkan berbagi kalender {calendar} dari diri mereka sendiri",
|
||||
"You shared calendar {calendar} with group {group}" : "Anda membagikan kalender {calendar} dengan grup {group}",
|
||||
"{actor} shared calendar {calendar} with group {group}" : "{actor} membagikan kalender {calendar} dengan grup {group}",
|
||||
"You unshared calendar {calendar} from group {group}" : "Anda membatalkan berbagi kalender {calendar} dari grup {group}",
|
||||
"{actor} unshared calendar {calendar} from group {group}" : "{actor} membatalkan berbagi kalender {calendar} dari grup {group}",
|
||||
"Untitled event" : "Acara tanpa judul",
|
||||
"{actor} created event {event} in calendar {calendar}" : "{actor} membuat acara {event} di kalender {calendar}",
|
||||
"You created event {event} in calendar {calendar}" : "Anda membuat acara {event} di kalender {calendar}",
|
||||
"{actor} deleted event {event} from calendar {calendar}" : "{actor} menghapus acara {event} dari kalender {calendar}",
|
||||
"You deleted event {event} from calendar {calendar}" : "Anda menghapus acara {event} dari kalender {calendar}",
|
||||
"{actor} updated event {event} in calendar {calendar}" : "{actor} memperbarui acara {event} di kalender {calendar}",
|
||||
"You updated event {event} in calendar {calendar}" : "Anda memperbarui acara {event} di kalender {calendar}",
|
||||
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} memindahkan acara {event} dari kalender {sourceCalendar} ke kalender {targetCalendar}",
|
||||
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Anda memindahkan acara {event} dari kalender {sourceCalendar} ke kalender {targetCalendar}",
|
||||
"{actor} restored event {event} of calendar {calendar}" : "{actor} memulihkan acara {event} dari kalender {calendar}",
|
||||
"You restored event {event} of calendar {calendar}" : "Anda memulihkan acara {event} dari kalender {calendar}",
|
||||
"Busy" : "Sibuk",
|
||||
"{actor} created to-do {todo} in list {calendar}" : "{actor} membuat tugas {todo} di daftar {calendar}",
|
||||
"You created to-do {todo} in list {calendar}" : "Anda membuat tugas {todo} di daftar {calendar}",
|
||||
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} menghapus tugas {todo} dari daftar {calendar}",
|
||||
"You deleted to-do {todo} from list {calendar}" : "Anda menghapus tugas {todo} dari daftar {calendar}",
|
||||
"{actor} updated to-do {todo} in list {calendar}" : "{actor} memperbarui tugas {todo} di daftar {calendar}",
|
||||
"You updated to-do {todo} in list {calendar}" : "Anda memperbarui tugas {todo} di daftar {calendar}",
|
||||
"{actor} solved to-do {todo} in list {calendar}" : "{actor} menyelesaikan tugas {todo} di daftar {calendar}",
|
||||
"You solved to-do {todo} in list {calendar}" : "Anda menyelesaikan tugas {todo} di daftar {calendar}",
|
||||
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} membuka kembali tugas {todo} di daftar {calendar}",
|
||||
"You reopened to-do {todo} in list {calendar}" : "Anda membuka kembali tugas {todo} di daftar {calendar}",
|
||||
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} memindahkan tugas {todo} dari daftar {sourceCalendar} ke daftar {targetCalendar}",
|
||||
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Anda memindahkan tugas {todo} dari daftar {sourceCalendar} ke daftar {targetCalendar}",
|
||||
"Calendar, contacts and tasks" : "Kalender, kontak, dan tugas",
|
||||
"A <strong>calendar</strong> was modified" : "<strong>Kalender</strong> telah diubah",
|
||||
"A calendar <strong>event</strong> was modified" : "Sebuah <strong>acara</strong> kalender telah diubah",
|
||||
"A calendar <strong>to-do</strong> was modified" : "Sebuah <strong>tugas</strong> kalender telah diubah",
|
||||
"Contact birthdays" : "Ulang tahun kontak",
|
||||
"Death of %s" : "Wafatnya %s",
|
||||
"Untitled calendar" : "Kalender tanpa judul",
|
||||
"Calendar:" : "Kalender:",
|
||||
"Date:" : "Tanggal:",
|
||||
"Where:" : "Tempat:",
|
||||
"Description:" : "Deskripsi:",
|
||||
"_%n hour_::_%n hours_" : ["%n jam"],
|
||||
"_%n minute_::_%n minutes_" : ["%n menit"],
|
||||
"%s (in %s)" : "%s (dalam %s)",
|
||||
"%s (%s ago)" : "%s (%s yang lalu)",
|
||||
"Calendar: %s" : "Kalender: %s",
|
||||
"Date: %s" : "Tanggal: %s",
|
||||
"Description: %s" : "Deskripsi: %s",
|
||||
"Where: %s" : "Di mana: %s",
|
||||
"%1$s via %2$s" : "%1$s melalui %2$s",
|
||||
"In the past on %1$s for the entire day" : "Di masa lalu pada %1$s sepanjang hari",
|
||||
"In the past on %1$s between %2$s - %3$s" : "Di masa lalu pada %1$s antara %2$s - %3$s",
|
||||
"Could not generate when statement" : "Tidak dapat membuat pernyataan waktu",
|
||||
"Every Day for the entire day" : "Setiap hari sepanjang hari",
|
||||
"Every Day for the entire day until %1$s" : "Setiap hari sepanjang hari hingga %1$s",
|
||||
"Every Day between %1$s - %2$s" : "Setiap hari antara %1$s - %2$s",
|
||||
"Every Day between %1$s - %2$s until %3$s" : "Setiap hari antara %1$s - %2$s hingga %3$s",
|
||||
"Every %1$d Days for the entire day" : "Setiap %1$d hari sepanjang hari",
|
||||
"Every %1$d Days for the entire day until %2$s" : "Setiap %1$d hari sepanjang hari hingga %2$s",
|
||||
"Every %1$d Days between %2$s - %3$s" : "Setiap %1$d hari antara %2$s - %3$s",
|
||||
"Every %1$d Days between %2$s - %3$s until %4$s" : "Setiap %1$d hari antara %2$s - %3$s hingga %4$s",
|
||||
"Could not generate event recurrence statement" : "Tidak dapat membuat pernyataan pengulangan acara",
|
||||
"Every Week on %1$s for the entire day" : "Setiap minggu pada %1$s sepanjang hari",
|
||||
"Every Week on %1$s for the entire day until %2$s" : "Setiap minggu pada %1$s sepanjang hari hingga %2$s",
|
||||
"Every Week on %1$s between %2$s - %3$s" : "Setiap minggu pada %1$s antara %2$s - %3$s",
|
||||
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Setiap minggu pada %1$s antara %2$s - %3$s hingga %4$s",
|
||||
"Every %1$d Weeks on %2$s for the entire day" : "Setiap %1$d minggu pada %2$s sepanjang hari",
|
||||
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Setiap %1$d minggu pada %2$s sepanjang hari hingga %3$s",
|
||||
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Setiap %1$d minggu pada %2$s antara %3$s - %4$s",
|
||||
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Setiap %1$d minggu pada %2$s antara %3$s - %4$s hingga %5$s",
|
||||
"Every Month on the %1$s for the entire day" : "Setiap bulan pada tanggal %1$s sepanjang hari",
|
||||
"Every Month on the %1$s for the entire day until %2$s" : "Setiap bulan pada tanggal %1$s sepanjang hari hingga %2$s",
|
||||
"Every Month on the %1$s between %2$s - %3$s" : "Setiap bulan pada tanggal %1$s antara %2$s - %3$s",
|
||||
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Setiap bulan pada tanggal %1$s antara %2$s - %3$s hingga %4$s",
|
||||
"Every %1$d Months on the %2$s for the entire day" : "Setiap %1$d bulan pada tanggal %2$s sepanjang hari",
|
||||
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Setiap %1$d bulan pada tanggal %2$s sepanjang hari hingga %3$s",
|
||||
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Setiap %1$d bulan pada tanggal %2$s antara %3$s - %4$s",
|
||||
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Setiap %1$d bulan pada tanggal %2$s antara %3$s - %4$s hingga %5$s",
|
||||
"Every Year in %1$s on the %2$s for the entire day" : "Setiap tahun pada bulan %1$s tanggal %2$s sepanjang hari",
|
||||
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Setiap tahun pada bulan %1$s tanggal %2$s sepanjang hari hingga %3$s",
|
||||
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Setiap tahun pada bulan %1$s tanggal %2$s antara %3$s - %4$s",
|
||||
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Setiap tahun pada bulan %1$s tanggal %2$s antara %3$s - %4$s hingga %5$s",
|
||||
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Setiap %1$d tahun pada bulan %2$s tanggal %3$s sepanjang hari",
|
||||
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Setiap %1$d tahun pada bulan %2$s tanggal %3$s sepanjang hari hingga %4$s",
|
||||
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Setiap %1$d tahun pada bulan %2$s tanggal %3$s antara %4$s - %5$s",
|
||||
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Setiap %1$d tahun pada bulan %2$s tanggal %3$s antara %4$s - %5$s hingga %6$s",
|
||||
"On specific dates for the entire day until %1$s" : "Pada tanggal tertentu sepanjang hari hingga %1$s",
|
||||
"On specific dates between %1$s - %2$s until %3$s" : "Pada tanggal tertentu antara %1$s - %2$s hingga %3$s",
|
||||
"In the past on %1$s" : "Di masa lalu pada %1$s",
|
||||
"In the past on %1$s then on %2$s" : "Di masa lalu pada %1$s lalu pada %2$s",
|
||||
"In the past on %1$s then on %2$s and %3$s" : "Di masa lalu pada %1$s lalu pada %2$s dan %3$s",
|
||||
"Could not generate next recurrence statement" : "Tidak dapat membuat pernyataan pengulangan berikutnya",
|
||||
"Cancelled: %1$s" : "Dibatalkan: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" telah dibatalkan",
|
||||
"Re: %1$s" : "Re: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s telah menerima undangan Anda",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s telah menerima undangan Anda secara sementara",
|
||||
"%1$s has declined your invitation" : "%1$s telah menolak undangan Anda",
|
||||
"%1$s has responded to your invitation" : "%1$s telah merespons undangan Anda",
|
||||
"Invitation updated: %1$s" : "Undangan diperbarui: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s memperbarui acara \"%2$s\"",
|
||||
"Invitation: %1$s" : "Undangan: %1$s",
|
||||
"%1$s would like to invite you to \"%2$s\"" : "%1$s ingin mengundang Anda ke \"%2$s\"",
|
||||
"Organizer:" : "Penyelenggara:",
|
||||
"Attendees:" : "Peserta:",
|
||||
"Title:" : "Judul:",
|
||||
"When:" : "Kapan:",
|
||||
"Location:" : "Lokasi:",
|
||||
"Link:" : "Tautan:",
|
||||
"Occurring:" : "Berlangsung:",
|
||||
"Accept" : "Terima",
|
||||
"Decline" : "Tolak",
|
||||
"More options …" : "Opsi lainnya …",
|
||||
"More options at %s" : "Opsi lainnya di %s",
|
||||
"Monday" : "Senin",
|
||||
"Tuesday" : "Selasa",
|
||||
"Wednesday" : "Rabu",
|
||||
"Thursday" : "Kamis",
|
||||
"Friday" : "Jumat",
|
||||
"Saturday" : "Sabtu",
|
||||
"Sunday" : "Minggu",
|
||||
"January" : "Januari",
|
||||
"February" : "Februari",
|
||||
"March" : "Maret",
|
||||
"April" : "April",
|
||||
"May" : "Mei",
|
||||
"June" : "Juni",
|
||||
"July" : "Juli",
|
||||
"August" : "Agustus",
|
||||
"September" : "September",
|
||||
"October" : "Oktober",
|
||||
"November" : "November",
|
||||
"December" : "Desember",
|
||||
"First" : "Pertama",
|
||||
"Second" : "Kedua",
|
||||
"Third" : "Ketiga",
|
||||
"Fourth" : "Keempat",
|
||||
"Fifth" : "Kelima",
|
||||
"Last" : "Terakhir",
|
||||
"Second Last" : "Kedua terakhir",
|
||||
"Third Last" : "Ketiga terakhir",
|
||||
"Fourth Last" : "Keempat terakhir",
|
||||
"Fifth Last" : "Kelima terakhir",
|
||||
"Contacts" : "Kontak",
|
||||
"{actor} created address book {addressbook}" : "{actor} membuat buku alamat {addressbook}",
|
||||
"You created address book {addressbook}" : "Anda membuat buku alamat {addressbook}",
|
||||
"{actor} deleted address book {addressbook}" : "{actor} menghapus buku alamat {addressbook}",
|
||||
"You deleted address book {addressbook}" : "Anda menghapus buku alamat {addressbook}",
|
||||
"{actor} updated address book {addressbook}" : "{actor} memperbarui buku alamat {addressbook}",
|
||||
"You updated address book {addressbook}" : "Anda memperbarui buku alamat {addressbook}",
|
||||
"{actor} shared address book {addressbook} with you" : "{actor} membagikan buku alamat {addressbook} kepada Anda",
|
||||
"You shared address book {addressbook} with {user}" : "Anda membagikan buku alamat {addressbook} dengan {user}",
|
||||
"{actor} shared address book {addressbook} with {user}" : "{actor} membagikan buku alamat {addressbook} dengan {user}",
|
||||
"{actor} unshared address book {addressbook} from you" : "{actor} membatalkan berbagi buku alamat {addressbook} dari Anda",
|
||||
"You unshared address book {addressbook} from {user}" : "Anda membatalkan berbagi buku alamat {addressbook} dari {user}",
|
||||
"{actor} unshared address book {addressbook} from {user}" : "{actor} membatalkan berbagi buku alamat {addressbook} dari {user}",
|
||||
"{actor} unshared address book {addressbook} from themselves" : "{actor} membatalkan berbagi buku alamat {addressbook} dari diri mereka sendiri",
|
||||
"You shared address book {addressbook} with group {group}" : "Anda membagikan buku alamat {addressbook} dengan grup {group}",
|
||||
"{actor} shared address book {addressbook} with group {group}" : "{actor} membagikan buku alamat {addressbook} dengan grup {group}",
|
||||
"You unshared address book {addressbook} from group {group}" : "Anda membatalkan berbagi buku alamat {addressbook} dari grup {group}",
|
||||
"{actor} unshared address book {addressbook} from group {group}" : "{actor} membatalkan berbagi buku alamat {addressbook} dari grup {group}",
|
||||
"{actor} created contact {card} in address book {addressbook}" : "{actor} membuat kontak {card} di buku alamat {addressbook}",
|
||||
"You created contact {card} in address book {addressbook}" : "Anda membuat kontak {card} di buku alamat {addressbook}",
|
||||
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} menghapus kontak {card} dari buku alamat {addressbook}",
|
||||
"You deleted contact {card} from address book {addressbook}" : "Anda menghapus kontak {card} dari buku alamat {addressbook}",
|
||||
"{actor} updated contact {card} in address book {addressbook}" : "{actor} memperbarui kontak {card} di buku alamat {addressbook}",
|
||||
"You updated contact {card} in address book {addressbook}" : "Anda memperbarui kontak {card} di buku alamat {addressbook}",
|
||||
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Sebuah <strong>kontak</strong> atau <strong>buku alamat</strong> telah diubah",
|
||||
"System address book disabled" : "Buku alamat sistem dinonaktifkan",
|
||||
"The system contacts address book has been automatically disabled during upgrade. This means that the address book will no longer be available to users in the contacts app or other clients. The system contacts address book was disabled because the amount of contacts in the address book exceeded the maximum recommended number of contacts. This limit is set to prevent performance issues. You can re-enable the system address book with the following command {command}" : "Buku alamat kontak sistem telah dinonaktifkan secara otomatis selama peningkatan. Ini berarti buku alamat tersebut tidak akan lagi tersedia bagi pengguna di aplikasi kontak atau klien lain. Buku alamat kontak sistem dinonaktifkan karena jumlah kontak dalam buku alamat melebihi jumlah maksimum kontak yang direkomendasikan. Batas ini ditetapkan untuk mencegah masalah performa. Anda dapat mengaktifkan kembali buku alamat sistem dengan perintah berikut {command}",
|
||||
"Accounts" : "Accounts",
|
||||
"System address book which holds all accounts" : "Buku alamat sistem yang menyimpan semua akun",
|
||||
"File is not updatable: %1$s" : "File tidak dapat diperbarui: %1$s",
|
||||
"Failed to get storage for file" : "Gagal mendapatkan penyimpanan untuk file",
|
||||
"Could not write to final file, canceled by hook" : "Tidak dapat menulis ke file akhir, dibatalkan oleh hook",
|
||||
"Could not write file contents" : "Tidak dapat menulis konten file",
|
||||
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Kesalahan saat menyalin file ke lokasi tujuan (disalin: %1$s, ukuran file yang diharapkan: %2$s)",
|
||||
"Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Ukuran file %1$s yang diharapkan adalah %1$s tetapi membaca (dari klien Nextcloud) dan menulis (ke penyimpanan Nextcloud) %2$s. Ini bisa jadi masalah jaringan di sisi pengirim atau masalah saat menulis ke penyimpanan di sisi server.",
|
||||
"Could not rename part file to final file, canceled by hook" : "Tidak dapat mengganti nama file bagian menjadi file akhir, dibatalkan oleh hook",
|
||||
"Could not rename part file to final file" : "Tidak dapat mengganti nama file bagian menjadi file akhir",
|
||||
"Failed to check file size: %1$s" : "Gagal memeriksa ukuran file: %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Tidak dapat membuka file: %1$s (%2$d), file tampaknya ada",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Tidak dapat membuka file: %1$s (%2$d), file tampaknya tidak ada",
|
||||
"Encryption not ready: %1$s" : "Enkripsi belum siap: %1$s",
|
||||
"Failed to open file: %1$s" : "Gagal membuka file: %1$s",
|
||||
"Failed to unlink: %1$s" : "Gagal melepas tautan: %1$s",
|
||||
"Failed to write file contents: %1$s" : "Gagal menulis konten file: %1$s",
|
||||
"File not found: %1$s" : "File tidak ditemukan: %1$s",
|
||||
"Invalid target path" : "Jalur tujuan tidak valid",
|
||||
"System is in maintenance mode." : "Sistem sedang dalam mode pemeliharaan.",
|
||||
"Upgrade needed" : "Perlu peningkatan",
|
||||
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "%s Anda perlu dikonfigurasi untuk menggunakan HTTPS agar dapat menggunakan CalDAV dan CardDAV dengan iOS/macOS.",
|
||||
"Configures a CalDAV account" : "Mengonfigurasi akun CalDAV",
|
||||
"Configures a CardDAV account" : "Mengonfigurasi akun CardDAV",
|
||||
"Events" : "Acara",
|
||||
"Untitled task" : "Tugas tanpa judul",
|
||||
"Completed on %s" : "Selesai pada %s",
|
||||
"Due on %s by %s" : "Jatuh tempo pada %s oleh %s",
|
||||
"Due on %s" : "Jatuh tempo pada %s",
|
||||
"Welcome to Nextcloud Calendar!\n\nThis is a sample event - explore the flexibility of planning with Nextcloud Calendar by making any edits you want!\n\nWith Nextcloud Calendar, you can:\n- Create, edit, and manage events effortlessly.\n- Create multiple calendars and share them with teammates, friends, or family.\n- Check availability and display your busy times to others.\n- Seamlessly integrate with apps and devices via CalDAV.\n- Customize your experience: schedule recurring events, adjust notifications and other settings." : "Selamat datang di Kalender Nextcloud!\n\nIni adalah acara contoh - jelajahi fleksibilitas perencanaan dengan Kalender Nextcloud dengan melakukan perubahan apa pun yang Anda inginkan!\n\nDengan Kalender Nextcloud, Anda dapat:\n- Membuat, mengedit, dan mengelola acara dengan mudah.\n- Membuat beberapa kalender dan membagikannya dengan rekan tim, teman, atau keluarga.\n- Memeriksa ketersediaan dan menampilkan waktu sibuk Anda kepada orang lain.\n- Terintegrasi dengan lancar dengan aplikasi dan perangkat melalui CalDAV.\n- Menyesuaikan pengalaman Anda: jadwalkan acara berulang, sesuaikan notifikasi, dan pengaturan lainnya.",
|
||||
"Example event - open me!" : "Acara contoh - buka saya!",
|
||||
"System Address Book" : "Buku Alamat Sistem",
|
||||
"The system address book contains contact information for all users in your instance." : "Buku alamat sistem berisi informasi kontak untuk semua pengguna di instance Anda.",
|
||||
"Enable System Address Book" : "Aktifkan Buku Alamat Sistem",
|
||||
"DAV system address book" : "Buku alamat sistem DAV",
|
||||
"No outstanding DAV system address book sync." : "Tidak ada sinkronisasi buku alamat sistem DAV yang tertunda.",
|
||||
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Sinkronisasi buku alamat sistem DAV belum berjalan karena instance Anda memiliki lebih dari 1000 pengguna atau karena terjadi kesalahan. Silakan jalankan secara manual dengan memanggil \"occ dav:sync-system-addressbook\".",
|
||||
"DAV system address book size" : "Ukuran buku alamat sistem DAV",
|
||||
"The system address book is disabled" : "Buku alamat sistem dinonaktifkan",
|
||||
"The system address book is enabled, but contains more than the configured limit of %d contacts" : "Buku alamat sistem diaktifkan, tetapi berisi lebih dari batas yang dikonfigurasi yaitu %d kontak",
|
||||
"The system address book is enabled and contains less than the configured limit of %d contacts" : "Buku alamat sistem diaktifkan dan berisi kurang dari batas yang dikonfigurasi yaitu %d kontak",
|
||||
"WebDAV endpoint" : "Endpoint WebDAV",
|
||||
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Tidak dapat memeriksa apakah web server Anda telah disiapkan dengan benar untuk mengizinkan sinkronisasi file melalui WebDAV. Silakan periksa secara manual.",
|
||||
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Peladen web Anda belum diatur sesuai untuk sinkronisasi berkas, karena antarmuka WebDAV tidak berfungsi.",
|
||||
"Your web server is properly set up to allow file synchronization over WebDAV." : "Web server Anda telah disiapkan dengan benar untuk mengizinkan sinkronisasi file melalui WebDAV.",
|
||||
"Migrated calendar (%1$s)" : "Kalender termigrasi (%1$s)",
|
||||
"Calendars including events, details and attendees" : "Kalender termasuk acara, detail, dan peserta",
|
||||
"Contacts and groups" : "Kontak dan grup",
|
||||
"WebDAV" : "WebDAV",
|
||||
"Absence saved" : "Ketidakhadiran disimpan",
|
||||
"Failed to save your absence settings" : "Gagal menyimpan pengaturan ketidakhadiran Anda",
|
||||
"Absence cleared" : "Ketidakhadiran dihapus",
|
||||
"Failed to clear your absence settings" : "Gagal menghapus pengaturan ketidakhadiran Anda",
|
||||
"First day" : "Hari pertama",
|
||||
"Last day (inclusive)" : "Hari terakhir (termasuk)",
|
||||
"Out of office replacement (optional)" : "Pengganti di luar kantor (opsional)",
|
||||
"Name of the replacement" : "Nama pengganti",
|
||||
"Short absence status" : "Status ketidakhadiran singkat",
|
||||
"Long absence Message" : "Pesan ketidakhadiran panjang",
|
||||
"Save" : "Simpan",
|
||||
"Disable absence" : "Nonaktifkan ketidakhadiran",
|
||||
"Failed to load availability" : "Gagal memuat ketersediaan",
|
||||
"Saved availability" : "Ketersediaan disimpan",
|
||||
"Failed to save availability" : "Gagal menyimpan ketersediaan",
|
||||
"to" : "untuk",
|
||||
"Delete slot" : "Hapus slot",
|
||||
"No working hours set" : "Tidak ada jam kerja yang ditetapkan",
|
||||
"Add slot" : "Tambahkan slot",
|
||||
"Weekdays" : "Hari kerja",
|
||||
"Pick a start time for {dayName}" : "Pilih waktu mulai untuk {dayName}",
|
||||
"Pick a end time for {dayName}" : "Pilih waktu selesai untuk {dayName}",
|
||||
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Secara otomatis tetapkan status pengguna menjadi \"Jangan ganggu\" di luar ketersediaan untuk membisukan semua notifikasi.",
|
||||
"Cancel" : "Batal",
|
||||
"Import" : "Impor",
|
||||
"Error while saving settings" : "Kesalahan saat menyimpan pengaturan",
|
||||
"Contact reset successfully" : "Kontak berhasil direset",
|
||||
"Error while resetting contact" : "Kesalahan saat mereset kontak",
|
||||
"Contact imported successfully" : "Kontak berhasil diimpor",
|
||||
"Error while importing contact" : "Kesalahan saat mengimpor kontak",
|
||||
"Import contact" : "Impor kontak",
|
||||
"Reset to default" : "Reset ke default",
|
||||
"Import contacts" : "Impor kontak",
|
||||
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Mengunggah file .vcf baru akan menghapus kontak default yang ada dan menggantinya dengan yang baru. Apakah Anda ingin melanjutkan?",
|
||||
"Failed to save example event creation setting" : "Gagal menyimpan pengaturan pembuatan acara contoh",
|
||||
"Failed to upload the example event" : "Gagal mengunggah acara contoh",
|
||||
"Custom example event was saved successfully" : "Acara contoh kustom berhasil disimpan",
|
||||
"Failed to delete the custom example event" : "Gagal menghapus acara contoh kustom",
|
||||
"Custom example event was deleted successfully" : "Acara contoh kustom berhasil dihapus",
|
||||
"Import calendar event" : "Impor acara kalender",
|
||||
"Uploading a new event will overwrite the existing one." : "Mengunggah acara baru akan menimpa acara yang sudah ada.",
|
||||
"Upload event" : "Unggah acara",
|
||||
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instal juga {calendarappstoreopen}aplikasi Kalender{linkclose}, atau {calendardocopen}hubungkan desktop & seluler Anda untuk sinkronisasi ↗{linkclose}.",
|
||||
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Pastikan Anda menyiapkan {emailopen}server email{linkclose} dengan benar.",
|
||||
"Calendar server" : "Server kalender",
|
||||
"Send invitations to attendees" : "Kirim undangan kepada peserta",
|
||||
"Automatically generate a birthday calendar" : "Buat kalender ulang tahun secara otomatis",
|
||||
"Birthday calendars will be generated by a background job." : "Kalender ulang tahun akan dibuat oleh tugas latar belakang.",
|
||||
"Hence they will not be available immediately after enabling but will show up after some time." : "Karena itu kalender tersebut tidak akan tersedia segera setelah diaktifkan, tetapi akan muncul setelah beberapa waktu.",
|
||||
"Send notifications for events" : "Kirim notifikasi untuk acara",
|
||||
"Notifications are sent via background jobs, so these must occur often enough." : "Notifikasi dikirim melalui tugas latar belakang, jadi tugas tersebut harus dijalankan cukup sering.",
|
||||
"Send reminder notifications to calendar sharees as well" : "Kirim juga notifikasi pengingat kepada pengguna yang dibagikan kalendernya",
|
||||
"Reminders are always sent to organizers and attendees." : "Pengingat selalu dikirim kepada penyelenggara dan peserta.",
|
||||
"Enable notifications for events via push" : "Aktifkan notifikasi untuk acara melalui push",
|
||||
"Example content" : "Konten contoh",
|
||||
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Konten contoh berfungsi untuk menampilkan fitur Nextcloud. Konten default disertakan dengan Nextcloud, dan dapat diganti dengan konten kustom.",
|
||||
"Availability" : "Ketersediaan",
|
||||
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jika Anda mengonfigurasi jam kerja, orang lain akan melihat kapan Anda di luar kantor saat mereka memesan rapat.",
|
||||
"Absence" : "Ketidakhadiran",
|
||||
"Configure your next absence period." : "Konfigurasikan periode ketidakhadiran Anda berikutnya.",
|
||||
"There was an error updating your attendance status." : "Terjadi kesalahan saat memperbarui status kehadiran Anda.",
|
||||
"Please contact the organizer directly." : "Silakan hubungi penyelenggara secara langsung.",
|
||||
"Are you accepting the invitation?" : "Apakah Anda menerima undangan ini?",
|
||||
"Tentative" : "Tentatif",
|
||||
"Your attendance was updated successfully." : "Kehadiran Anda berhasil diperbarui.",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Tidak dapat membuka file: %1$s, file tampaknya ada",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Tidak dapat membuka file: %1$s, file tampaknya tidak ada",
|
||||
"No results." : "Tidak ada hasil.",
|
||||
"Start typing." : "Mulai mengetik.",
|
||||
"Time zone:" : "Zona waktu:"
|
||||
},"pluralForm" :"nplurals=1; plural=0;"
|
||||
}
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Gat ekki endurnefnt hlutaskrá sem endanlega skrá, hætt við af tengikrækju",
|
||||
"Could not rename part file to final file" : "Gat ekki endurnefnt hlutaskrá sem endanlega skrá",
|
||||
"Failed to check file size: %1$s" : "Mistókst að athuga skráarstærð: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Gat ekki opnað skrá: %1$s, skráin virðist vera til.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Gat ekki opnað skrá: %1$s, skráin virðist ekki vera til.",
|
||||
"Encryption not ready: %1$s" : "Dulritun ekki tilbúin: %1$s",
|
||||
"Failed to open file: %1$s" : "Mistókst að opna skrá: %1$s",
|
||||
"Failed to unlink: %1$s" : "Mistókst að aftengja: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Eftir viku þann %1$s og síðan þann %2$s og %3$s","Eftir %n vikur þann %1$s og síðan þann %2$s og %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Eftir mánuð þann %1$s og síðan þann %2$s og %3$s","Eftir %n mánuði þann %1$s og síðan þann %2$s og %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Eftir ár þann %1$s og síðan þann %2$s og %3$s","Eftir %n ár þann %1$s og síðan þann %2$s og %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Gat ekki opnað skrá: %1$s, skráin virðist vera til.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Gat ekki opnað skrá: %1$s, skráin virðist ekki vera til.",
|
||||
"No results." : "Engar niðurstöður.",
|
||||
"Start typing." : "Byrjaðu að skrifa.",
|
||||
"Time zone:" : "Tímabelti:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Gat ekki endurnefnt hlutaskrá sem endanlega skrá, hætt við af tengikrækju",
|
||||
"Could not rename part file to final file" : "Gat ekki endurnefnt hlutaskrá sem endanlega skrá",
|
||||
"Failed to check file size: %1$s" : "Mistókst að athuga skráarstærð: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Gat ekki opnað skrá: %1$s, skráin virðist vera til.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Gat ekki opnað skrá: %1$s, skráin virðist ekki vera til.",
|
||||
"Encryption not ready: %1$s" : "Dulritun ekki tilbúin: %1$s",
|
||||
"Failed to open file: %1$s" : "Mistókst að opna skrá: %1$s",
|
||||
"Failed to unlink: %1$s" : "Mistókst að aftengja: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Eftir viku þann %1$s og síðan þann %2$s og %3$s","Eftir %n vikur þann %1$s og síðan þann %2$s og %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Eftir mánuð þann %1$s og síðan þann %2$s og %3$s","Eftir %n mánuði þann %1$s og síðan þann %2$s og %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Eftir ár þann %1$s og síðan þann %2$s og %3$s","Eftir %n ár þann %1$s og síðan þann %2$s og %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Gat ekki opnað skrá: %1$s, skráin virðist vera til.",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Gat ekki opnað skrá: %1$s, skráin virðist ekki vera til.",
|
||||
"No results." : "Engar niðurstöður.",
|
||||
"Start typing." : "Byrjaðu að skrifa.",
|
||||
"Time zone:" : "Tímabelti:"
|
||||
|
||||
+2
-2
@@ -234,8 +234,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Impossibile rinominare il file di parte in file finale, annullato da hook",
|
||||
"Could not rename part file to final file" : "Impossibile rinominare il file di parte in file finale",
|
||||
"Failed to check file size: %1$s" : "Verifica della dimensione del file non riuscito: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Impossibile aprire il file: %1$s, il file sembra esistere",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Impossibile aprire il file: %1$s, il file non sembra esistere",
|
||||
"Encryption not ready: %1$s" : "Cifratura non pronta: %1$s",
|
||||
"Failed to open file: %1$s" : "Apertura del file non riuscito: %1$s",
|
||||
"Failed to unlink: %1$s" : "Scollegamento non riuscito: %1$s",
|
||||
@@ -367,6 +365,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Fra una settimana il %1$s successivamente il %2$s e %3$s","Fra %n settimane il %1$s successivamente il %2$s e %3$s","Fra %n settimane il %1$s successivamente il %2$s e %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Fra un mese il %1$s successivamente il %2$s e %3$s","Fra %n mesi il %1$s successivamente il %2$s e %3$s","Fra %n mesi il %1$s successivamente il %2$s e %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Fra un anno il %1$s successivamente il %2$s e %3$s","Fra %n anni il %1$s successivamente il %2$s e %3$s","Fra %n anni il %1$s successivamente il %2$s e %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Impossibile aprire il file: %1$s, il file sembra esistere",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Impossibile aprire il file: %1$s, il file non sembra esistere",
|
||||
"No results." : "Nessun risultato.",
|
||||
"Start typing." : "Inizia a scrivere.",
|
||||
"Time zone:" : "Fuso orario:"
|
||||
|
||||
@@ -232,8 +232,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Impossibile rinominare il file di parte in file finale, annullato da hook",
|
||||
"Could not rename part file to final file" : "Impossibile rinominare il file di parte in file finale",
|
||||
"Failed to check file size: %1$s" : "Verifica della dimensione del file non riuscito: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Impossibile aprire il file: %1$s, il file sembra esistere",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Impossibile aprire il file: %1$s, il file non sembra esistere",
|
||||
"Encryption not ready: %1$s" : "Cifratura non pronta: %1$s",
|
||||
"Failed to open file: %1$s" : "Apertura del file non riuscito: %1$s",
|
||||
"Failed to unlink: %1$s" : "Scollegamento non riuscito: %1$s",
|
||||
@@ -365,6 +363,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Fra una settimana il %1$s successivamente il %2$s e %3$s","Fra %n settimane il %1$s successivamente il %2$s e %3$s","Fra %n settimane il %1$s successivamente il %2$s e %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Fra un mese il %1$s successivamente il %2$s e %3$s","Fra %n mesi il %1$s successivamente il %2$s e %3$s","Fra %n mesi il %1$s successivamente il %2$s e %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Fra un anno il %1$s successivamente il %2$s e %3$s","Fra %n anni il %1$s successivamente il %2$s e %3$s","Fra %n anni il %1$s successivamente il %2$s e %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Impossibile aprire il file: %1$s, il file sembra esistere",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Impossibile aprire il file: %1$s, il file non sembra esistere",
|
||||
"No results." : "Nessun risultato.",
|
||||
"Start typing." : "Inizia a scrivere.",
|
||||
"Time zone:" : "Fuso orario:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "最終ファイルの名前の変更が出来なかったため、フックによりキャンセルされました",
|
||||
"Could not rename part file to final file" : "最終ファイルの名前の変更が出来ませんでした",
|
||||
"Failed to check file size: %1$s" : "ファイルサイズの確認に失敗: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "ファイルを開けませんでした: %1$s、ファイルは存在するようです",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "ファイルを開けませんでした: %1$s ファイルが存在しないようです。",
|
||||
"Encryption not ready: %1$s" : "暗号化の準備が出来ていません: %1$s",
|
||||
"Failed to open file: %1$s" : "ファイルを開くのに失敗: %1$s",
|
||||
"Failed to unlink: %1$s" : "リンクの解除に失敗: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["%1$sの%n週間、その後%2$sと%3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["%1$sの%nヶ月、その後%2$sと%3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["%1$sの%n年間、その後%2$sと%3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "ファイルを開けませんでした: %1$s、ファイルは存在するようです",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "ファイルを開けませんでした: %1$s ファイルが存在しないようです。",
|
||||
"No results." : "結果はありません。",
|
||||
"Start typing." : "入力を開始する。",
|
||||
"Time zone:" : "タイムゾーン:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "最終ファイルの名前の変更が出来なかったため、フックによりキャンセルされました",
|
||||
"Could not rename part file to final file" : "最終ファイルの名前の変更が出来ませんでした",
|
||||
"Failed to check file size: %1$s" : "ファイルサイズの確認に失敗: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "ファイルを開けませんでした: %1$s、ファイルは存在するようです",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "ファイルを開けませんでした: %1$s ファイルが存在しないようです。",
|
||||
"Encryption not ready: %1$s" : "暗号化の準備が出来ていません: %1$s",
|
||||
"Failed to open file: %1$s" : "ファイルを開くのに失敗: %1$s",
|
||||
"Failed to unlink: %1$s" : "リンクの解除に失敗: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["%1$sの%n週間、その後%2$sと%3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["%1$sの%nヶ月、その後%2$sと%3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["%1$sの%n年間、その後%2$sと%3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "ファイルを開けませんでした: %1$s、ファイルは存在するようです",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "ファイルを開けませんでした: %1$s ファイルが存在しないようです。",
|
||||
"No results." : "結果はありません。",
|
||||
"Start typing." : "入力を開始する。",
|
||||
"Time zone:" : "タイムゾーン:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Could not rename part file to final file, canceled by hook",
|
||||
"Could not rename part file to final file" : "Could not rename part file to final file",
|
||||
"Failed to check file size: %1$s" : "Failed to check file size: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Could not open file: %1$s, file does seem to exist",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Could not open file: %1$s, file doesn't seem to exist",
|
||||
"Encryption not ready: %1$s" : "Encryption not ready: %1$s",
|
||||
"Failed to open file: %1$s" : "Failed to open file: %1$s",
|
||||
"Failed to unlink: %1$s" : "Failed to unlink: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["In %n weeks on %1$s then on %2$s and %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["In %n months on %1$s then on %2$s and %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["In %n years on %1$s then on %2$s and %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Could not open file: %1$s, file does seem to exist",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Could not open file: %1$s, file doesn't seem to exist",
|
||||
"No results." : "No results.",
|
||||
"Start typing." : "Start typing.",
|
||||
"Time zone:" : "Time zone:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Could not rename part file to final file, canceled by hook",
|
||||
"Could not rename part file to final file" : "Could not rename part file to final file",
|
||||
"Failed to check file size: %1$s" : "Failed to check file size: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Could not open file: %1$s, file does seem to exist",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Could not open file: %1$s, file doesn't seem to exist",
|
||||
"Encryption not ready: %1$s" : "Encryption not ready: %1$s",
|
||||
"Failed to open file: %1$s" : "Failed to open file: %1$s",
|
||||
"Failed to unlink: %1$s" : "Failed to unlink: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["In %n weeks on %1$s then on %2$s and %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["In %n months on %1$s then on %2$s and %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["In %n years on %1$s then on %2$s and %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Could not open file: %1$s, file does seem to exist",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Could not open file: %1$s, file doesn't seem to exist",
|
||||
"No results." : "No results.",
|
||||
"Start typing." : "Start typing.",
|
||||
"Time zone:" : "Time zone:"
|
||||
|
||||
+2
-2
@@ -234,8 +234,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Не можеше да се преименува делумната датотека во финална, поништено од hook",
|
||||
"Could not rename part file to final file" : "Не можеше да се преименува делумната датотека во финална",
|
||||
"Failed to check file size: %1$s" : "Не успеа да се провери големината на датотеката: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Не може да се отвори датотеката: %1$s, датотеката изгледа дека постои",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Не може да се отвори датотеката: %1$s, датотеката изгледа дека не постои",
|
||||
"Encryption not ready: %1$s" : "Шифрирањето не е подготвено: %1$s",
|
||||
"Failed to open file: %1$s" : "Неуспешно отварање на датотека: %1$s",
|
||||
"Failed to unlink: %1$s" : "Не успеа да се отстрани врската: %1$s",
|
||||
@@ -367,6 +365,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["За една недела, на %1$s, па на %2$s и %3$s","За %n недели, на %1$s, па на %2$s и %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["За еден месец, на %1$s, па на %2$s и %3$s","За %n месеци, на %1$s, па на %2$s и %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["За една година, на %1$s, па на %2$s и %3$s","За %n години, на %1$s, па на %2$s и %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Не може да се отвори датотеката: %1$s, датотеката изгледа дека постои",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Не може да се отвори датотеката: %1$s, датотеката изгледа дека не постои",
|
||||
"No results." : "Нема резултати.",
|
||||
"Start typing." : "Започни со пишување.",
|
||||
"Time zone:" : "Временска зона:"
|
||||
|
||||
@@ -232,8 +232,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Не можеше да се преименува делумната датотека во финална, поништено од hook",
|
||||
"Could not rename part file to final file" : "Не можеше да се преименува делумната датотека во финална",
|
||||
"Failed to check file size: %1$s" : "Не успеа да се провери големината на датотеката: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Не може да се отвори датотеката: %1$s, датотеката изгледа дека постои",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Не може да се отвори датотеката: %1$s, датотеката изгледа дека не постои",
|
||||
"Encryption not ready: %1$s" : "Шифрирањето не е подготвено: %1$s",
|
||||
"Failed to open file: %1$s" : "Неуспешно отварање на датотека: %1$s",
|
||||
"Failed to unlink: %1$s" : "Не успеа да се отстрани врската: %1$s",
|
||||
@@ -365,6 +363,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["За една недела, на %1$s, па на %2$s и %3$s","За %n недели, на %1$s, па на %2$s и %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["За еден месец, на %1$s, па на %2$s и %3$s","За %n месеци, на %1$s, па на %2$s и %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["За една година, на %1$s, па на %2$s и %3$s","За %n години, на %1$s, па на %2$s и %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Не може да се отвори датотеката: %1$s, датотеката изгледа дека постои",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Не може да се отвори датотеката: %1$s, датотеката изгледа дека не постои",
|
||||
"No results." : "Нема резултати.",
|
||||
"Start typing." : "Започни со пишување.",
|
||||
"Time zone:" : "Временска зона:"
|
||||
|
||||
+2
-2
@@ -203,8 +203,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Kunne ikke endre navn på delfilen til endelig fil, kansellert av hook",
|
||||
"Could not rename part file to final file" : "Kunne ikke endre navn på delfil til endelig fil",
|
||||
"Failed to check file size: %1$s" : "Kunne ikke kontrollere filstørrelsen: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunne ikke åpne filen: %1$s, filen eksiterer ikke",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunne ikke åpne filen: %1$s, filen eksisterer ikke ",
|
||||
"Encryption not ready: %1$s" : "Kryptering ikke klar: %1$s",
|
||||
"Failed to open file: %1$s" : "Kunne ikke åpne filen: %1$s",
|
||||
"Failed to unlink: %1$s" : "Kunne ikke fjerne tilknytningen: %1$s",
|
||||
@@ -330,6 +328,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Om en uke den %1$s deretter den %2$s og %3$s","Om %n uker den %1$s deretter den %2$s og %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Om en måned den %1$s deretter den %2$s og %3$s","Om %n måneder den %1$s deretter den %2$s og %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Om et år den %1$s deretter den %2$s og %3$s","Om %n år den %1$s deretter den %2$s og %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunne ikke åpne filen: %1$s, filen eksiterer ikke",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunne ikke åpne filen: %1$s, filen eksisterer ikke ",
|
||||
"No results." : "Ingen resultater.",
|
||||
"Start typing." : "Begynn å skrive.",
|
||||
"Time zone:" : "Tidssone:"
|
||||
|
||||
@@ -201,8 +201,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Kunne ikke endre navn på delfilen til endelig fil, kansellert av hook",
|
||||
"Could not rename part file to final file" : "Kunne ikke endre navn på delfil til endelig fil",
|
||||
"Failed to check file size: %1$s" : "Kunne ikke kontrollere filstørrelsen: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunne ikke åpne filen: %1$s, filen eksiterer ikke",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunne ikke åpne filen: %1$s, filen eksisterer ikke ",
|
||||
"Encryption not ready: %1$s" : "Kryptering ikke klar: %1$s",
|
||||
"Failed to open file: %1$s" : "Kunne ikke åpne filen: %1$s",
|
||||
"Failed to unlink: %1$s" : "Kunne ikke fjerne tilknytningen: %1$s",
|
||||
@@ -328,6 +326,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Om en uke den %1$s deretter den %2$s og %3$s","Om %n uker den %1$s deretter den %2$s og %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Om en måned den %1$s deretter den %2$s og %3$s","Om %n måneder den %1$s deretter den %2$s og %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Om et år den %1$s deretter den %2$s og %3$s","Om %n år den %1$s deretter den %2$s og %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunne ikke åpne filen: %1$s, filen eksiterer ikke",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunne ikke åpne filen: %1$s, filen eksisterer ikke ",
|
||||
"No results." : "Ingen resultater.",
|
||||
"Start typing." : "Begynn å skrive.",
|
||||
"Time zone:" : "Tidssone:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Nie można zmienić nazwy pliku podzielonego na plik końcowy, anulowane przez hook",
|
||||
"Could not rename part file to final file" : "Nie można zmienić nazwy pliku podzielonego na plik końcowy",
|
||||
"Failed to check file size: %1$s" : "Nie udało się sprawdzić rozmiaru pliku: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nie można otworzyć: %1$s, wygląda na to, że plik istnieje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nie można otworzyć: %1$s, wygląda na to, że plik nie istnieje",
|
||||
"Encryption not ready: %1$s" : "Szyfrowanie nie jest gotowe: %1$s",
|
||||
"Failed to open file: %1$s" : "Nie udało się otworzyć pliku: %1$s",
|
||||
"Failed to unlink: %1$s" : "Nie udało się odłączyć: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Za tydzień dnia %1$s, następnie dnia %2$s i %3$s","Za %n tygodnie dnia %1$s, następnie dnia %2$s i %3$s","Za %n tygodni dnia %1$s, następnie dnia %2$s i %3$s","Za %n tygodni dnia %1$s, następnie dnia %2$s i %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Za miesiąc dnia %1$s, następnie dnia %2$s i %3$s","Za %n miesiące dnia %1$s, następnie dnia %2$s i %3$s","Za %n miesięcy dnia %1$s, następnie dnia %2$s i %3$s","Za %n miesięcy dnia %1$s, następnie dnia %2$s i %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Za rok dnia %1$s, następnie dnia %2$s i %3$s","Za %n lata dnia %1$s, następnie dnia %2$s i %3$s","Za %n lat dnia %1$s, następnie dnia %2$s i %3$s","Za %n lat dnia %1$s, następnie dnia %2$s i %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nie można otworzyć: %1$s, wygląda na to, że plik istnieje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nie można otworzyć: %1$s, wygląda na to, że plik nie istnieje",
|
||||
"No results." : "Brak wyników.",
|
||||
"Start typing." : "Zacznij pisać.",
|
||||
"Time zone:" : "Strefa czasowa:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Nie można zmienić nazwy pliku podzielonego na plik końcowy, anulowane przez hook",
|
||||
"Could not rename part file to final file" : "Nie można zmienić nazwy pliku podzielonego na plik końcowy",
|
||||
"Failed to check file size: %1$s" : "Nie udało się sprawdzić rozmiaru pliku: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nie można otworzyć: %1$s, wygląda na to, że plik istnieje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nie można otworzyć: %1$s, wygląda na to, że plik nie istnieje",
|
||||
"Encryption not ready: %1$s" : "Szyfrowanie nie jest gotowe: %1$s",
|
||||
"Failed to open file: %1$s" : "Nie udało się otworzyć pliku: %1$s",
|
||||
"Failed to unlink: %1$s" : "Nie udało się odłączyć: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Za tydzień dnia %1$s, następnie dnia %2$s i %3$s","Za %n tygodnie dnia %1$s, następnie dnia %2$s i %3$s","Za %n tygodni dnia %1$s, następnie dnia %2$s i %3$s","Za %n tygodni dnia %1$s, następnie dnia %2$s i %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Za miesiąc dnia %1$s, następnie dnia %2$s i %3$s","Za %n miesiące dnia %1$s, następnie dnia %2$s i %3$s","Za %n miesięcy dnia %1$s, następnie dnia %2$s i %3$s","Za %n miesięcy dnia %1$s, następnie dnia %2$s i %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Za rok dnia %1$s, następnie dnia %2$s i %3$s","Za %n lata dnia %1$s, następnie dnia %2$s i %3$s","Za %n lat dnia %1$s, następnie dnia %2$s i %3$s","Za %n lat dnia %1$s, następnie dnia %2$s i %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nie można otworzyć: %1$s, wygląda na to, że plik istnieje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nie można otworzyć: %1$s, wygląda na to, że plik nie istnieje",
|
||||
"No results." : "Brak wyników.",
|
||||
"Start typing." : "Zacznij pisać.",
|
||||
"Time zone:" : "Strefa czasowa:"
|
||||
|
||||
@@ -234,8 +234,8 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Não foi possível renomear o arquivo de peça para o arquivo final, cancelado pelo hook",
|
||||
"Could not rename part file to final file" : "Não foi possível renomear o arquivo de peça para o arquivo final",
|
||||
"Failed to check file size: %1$s" : "Falha ao verificar o tamanho do arquivo: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o arquivo: %1$s, o arquivo parece existir",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o arquivo: %1$s, o arquivo parece não existir",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Não foi possível abrir o arquivo: %1$s (%2$d), o arquivo parece existir",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Não foi possível abrir o arquivo: %1$s (%2$d), o arquivo parece não existir",
|
||||
"Encryption not ready: %1$s" : "A criptografia não está pronta: %1$s",
|
||||
"Failed to open file: %1$s" : "Falha ao abrir arquivo: %1$s",
|
||||
"Failed to unlink: %1$s" : "Falha ao desvincular: %1$s",
|
||||
@@ -367,6 +367,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Em uma semana e %1$s e depois em %2$s e %3$s","Em %n semanas e %1$s e depois em %2$s e %3$s","Em %n semanas e %1$s e depois em %2$s e %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Em um mês e %1$s e depois em %2$s e %3$s","Em %n meses e %1$s e depois em %2$s e %3$s","Em %n meses e %1$s e depois em %2$s e %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Em um ano e %1$s e depois em %2$s e %3$s","Em %n anos e %1$s e depois em %2$s e %3$s","Em %n anos e %1$s e depois em %2$s e %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o arquivo: %1$s, o arquivo parece existir",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o arquivo: %1$s, o arquivo parece não existir",
|
||||
"No results." : "Nenhum resultado.",
|
||||
"Start typing." : "Comece a digitar.",
|
||||
"Time zone:" : "Fuso horário:"
|
||||
|
||||
@@ -232,8 +232,8 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Não foi possível renomear o arquivo de peça para o arquivo final, cancelado pelo hook",
|
||||
"Could not rename part file to final file" : "Não foi possível renomear o arquivo de peça para o arquivo final",
|
||||
"Failed to check file size: %1$s" : "Falha ao verificar o tamanho do arquivo: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o arquivo: %1$s, o arquivo parece existir",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o arquivo: %1$s, o arquivo parece não existir",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Não foi possível abrir o arquivo: %1$s (%2$d), o arquivo parece existir",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Não foi possível abrir o arquivo: %1$s (%2$d), o arquivo parece não existir",
|
||||
"Encryption not ready: %1$s" : "A criptografia não está pronta: %1$s",
|
||||
"Failed to open file: %1$s" : "Falha ao abrir arquivo: %1$s",
|
||||
"Failed to unlink: %1$s" : "Falha ao desvincular: %1$s",
|
||||
@@ -365,6 +365,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Em uma semana e %1$s e depois em %2$s e %3$s","Em %n semanas e %1$s e depois em %2$s e %3$s","Em %n semanas e %1$s e depois em %2$s e %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Em um mês e %1$s e depois em %2$s e %3$s","Em %n meses e %1$s e depois em %2$s e %3$s","Em %n meses e %1$s e depois em %2$s e %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Em um ano e %1$s e depois em %2$s e %3$s","Em %n anos e %1$s e depois em %2$s e %3$s","Em %n anos e %1$s e depois em %2$s e %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o arquivo: %1$s, o arquivo parece existir",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o arquivo: %1$s, o arquivo parece não existir",
|
||||
"No results." : "Nenhum resultado.",
|
||||
"Start typing." : "Comece a digitar.",
|
||||
"Time zone:" : "Fuso horário:"
|
||||
|
||||
@@ -202,8 +202,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Não foi possível renomear o ficheiro parcial para ficheiro final, cancelado por hook",
|
||||
"Could not rename part file to final file" : "Não foi possível renomear o ficheiro parcial para ficheiro final",
|
||||
"Failed to check file size: %1$s" : "Falha ao verificar o tamanho do ficheiro: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro parece existir",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro não parece existir",
|
||||
"Encryption not ready: %1$s" : "Encriptação não pronta: %1$s",
|
||||
"Failed to open file: %1$s" : "Falha ao abrir o ficheiro: %1$s",
|
||||
"Failed to unlink: %1$s" : "Falha ao eliminar: %1$s",
|
||||
@@ -329,6 +327,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Daqui a um semana em %1$s e depois em %2$s e %3$s","Daqui a %n semanas em %1$s e depois em %2$s e %3$s","Daqui a %n semanas em %1$s e depois em %2$s e %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Daqui a um mês em %1$s e depois em %2$s e %3$s","Daqui a %n meses em %1$s e depois em %2$s e %3$s","Daqui a %n meses em %1$s e depois em %2$s e %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Daqui a um ano em %1$s e depois em %2$s e %3$s","Daqui a %n anos em %1$s e depois em %2$s e %3$s","Daqui a %n anos em %1$s e depois em %2$s e %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro parece existir",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro não parece existir",
|
||||
"No results." : "Sem resultados.",
|
||||
"Start typing." : "Comece a escrever.",
|
||||
"Time zone:" : "Fuso horário:"
|
||||
|
||||
@@ -200,8 +200,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Não foi possível renomear o ficheiro parcial para ficheiro final, cancelado por hook",
|
||||
"Could not rename part file to final file" : "Não foi possível renomear o ficheiro parcial para ficheiro final",
|
||||
"Failed to check file size: %1$s" : "Falha ao verificar o tamanho do ficheiro: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro parece existir",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro não parece existir",
|
||||
"Encryption not ready: %1$s" : "Encriptação não pronta: %1$s",
|
||||
"Failed to open file: %1$s" : "Falha ao abrir o ficheiro: %1$s",
|
||||
"Failed to unlink: %1$s" : "Falha ao eliminar: %1$s",
|
||||
@@ -327,6 +325,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Daqui a um semana em %1$s e depois em %2$s e %3$s","Daqui a %n semanas em %1$s e depois em %2$s e %3$s","Daqui a %n semanas em %1$s e depois em %2$s e %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Daqui a um mês em %1$s e depois em %2$s e %3$s","Daqui a %n meses em %1$s e depois em %2$s e %3$s","Daqui a %n meses em %1$s e depois em %2$s e %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Daqui a um ano em %1$s e depois em %2$s e %3$s","Daqui a %n anos em %1$s e depois em %2$s e %3$s","Daqui a %n anos em %1$s e depois em %2$s e %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro parece existir",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Não foi possível abrir o ficheiro: %1$s, o ficheiro não parece existir",
|
||||
"No results." : "Sem resultados.",
|
||||
"Start typing." : "Comece a escrever.",
|
||||
"Time zone:" : "Fuso horário:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Не удалось переименовать временный файл в результирующий, операция отменена вызовом обработчика",
|
||||
"Could not rename part file to final file" : "Не удалось переименовать временный файл в результирующий",
|
||||
"Failed to check file size: %1$s" : "Не удалось проверить размер файла: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Не удалось открыть файл: %1$s, файл, похоже, существует",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Не удалось открыть файл: %1$s, файл, похоже, не существует",
|
||||
"Encryption not ready: %1$s" : "Подсистема шифрования не готова: %1$s",
|
||||
"Failed to open file: %1$s" : "Не удалось открыть файл: %1$s",
|
||||
"Failed to unlink: %1$s" : "Не удалось разорвать связь: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Через неделю, %1$s, затем %2$s и %3$s","Через %n недели, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Через месяц, %1$s, затем %2$s и %3$s","Через %n месяца, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Через год, %1$s, затем %2$s и %3$s","Через %n года, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Не удалось открыть файл: %1$s, файл, похоже, существует",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Не удалось открыть файл: %1$s, файл, похоже, не существует",
|
||||
"No results." : "Неверный целевой путь.",
|
||||
"Start typing." : "Начать печатать.",
|
||||
"Time zone:" : "Часовой пояс:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Не удалось переименовать временный файл в результирующий, операция отменена вызовом обработчика",
|
||||
"Could not rename part file to final file" : "Не удалось переименовать временный файл в результирующий",
|
||||
"Failed to check file size: %1$s" : "Не удалось проверить размер файла: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Не удалось открыть файл: %1$s, файл, похоже, существует",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Не удалось открыть файл: %1$s, файл, похоже, не существует",
|
||||
"Encryption not ready: %1$s" : "Подсистема шифрования не готова: %1$s",
|
||||
"Failed to open file: %1$s" : "Не удалось открыть файл: %1$s",
|
||||
"Failed to unlink: %1$s" : "Не удалось разорвать связь: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Через неделю, %1$s, затем %2$s и %3$s","Через %n недели, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Через месяц, %1$s, затем %2$s и %3$s","Через %n месяца, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Через год, %1$s, затем %2$s и %3$s","Через %n года, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Не удалось открыть файл: %1$s, файл, похоже, существует",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Не удалось открыть файл: %1$s, файл, похоже, не существует",
|
||||
"No results." : "Неверный целевой путь.",
|
||||
"Start typing." : "Начать печатать.",
|
||||
"Time zone:" : "Часовой пояс:"
|
||||
|
||||
+2
-2
@@ -202,8 +202,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Nepodarilo sa premenovať dočasný súbor na finálny, zrušené háčikom (hook)",
|
||||
"Could not rename part file to final file" : "Nepodarilo sa premenovať dočasný súbor na finálny.",
|
||||
"Failed to check file size: %1$s" : "Kontrola veľkosti súboru zlyhala: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nie je možné otvoriť súbor: %1$s, vyzerá to že súbor neexistuje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nie je možné otvoriť súbor: %1$s, vyzerá to že súbor neexistuje",
|
||||
"Encryption not ready: %1$s" : "Šifrovanie nie je dostupné: %1$s",
|
||||
"Failed to open file: %1$s" : "Otvorenie súboru zlyhalo: %1$s",
|
||||
"Failed to unlink: %1$s" : "Odpojenie zlyhalo: %1$s",
|
||||
@@ -319,6 +317,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Za týždeň %1$s potom %2$s a %3$s","Za %n týždne %1$s potom %2$s a %3$s","Za %n týždňov %1$s potom %2$s a %3$s","Za %n týždňov %1$s potom %2$s a %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Za mesiac %1$s potom %2$s a %3$s","Za %n mesiace %1$s potom %2$s a %3$s","Za %n mesiacov %1$s potom %2$s a %3$s","Za %n mesiacov %1$s potom %2$s a %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Za rok %1$s potom %2$s a %3$s","Za %n roky %1$s potom %2$s a %3$s","Za %n rokov %1$s potom %2$s a %3$s","Za %n rokov %1$s potom %2$s a %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nie je možné otvoriť súbor: %1$s, vyzerá to že súbor neexistuje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nie je možné otvoriť súbor: %1$s, vyzerá to že súbor neexistuje",
|
||||
"No results." : "Žiadne výsledky.",
|
||||
"Start typing." : "Začnite písať.",
|
||||
"Time zone:" : "Časová zóna:"
|
||||
|
||||
@@ -200,8 +200,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Nepodarilo sa premenovať dočasný súbor na finálny, zrušené háčikom (hook)",
|
||||
"Could not rename part file to final file" : "Nepodarilo sa premenovať dočasný súbor na finálny.",
|
||||
"Failed to check file size: %1$s" : "Kontrola veľkosti súboru zlyhala: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nie je možné otvoriť súbor: %1$s, vyzerá to že súbor neexistuje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nie je možné otvoriť súbor: %1$s, vyzerá to že súbor neexistuje",
|
||||
"Encryption not ready: %1$s" : "Šifrovanie nie je dostupné: %1$s",
|
||||
"Failed to open file: %1$s" : "Otvorenie súboru zlyhalo: %1$s",
|
||||
"Failed to unlink: %1$s" : "Odpojenie zlyhalo: %1$s",
|
||||
@@ -317,6 +315,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Za týždeň %1$s potom %2$s a %3$s","Za %n týždne %1$s potom %2$s a %3$s","Za %n týždňov %1$s potom %2$s a %3$s","Za %n týždňov %1$s potom %2$s a %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Za mesiac %1$s potom %2$s a %3$s","Za %n mesiace %1$s potom %2$s a %3$s","Za %n mesiacov %1$s potom %2$s a %3$s","Za %n mesiacov %1$s potom %2$s a %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Za rok %1$s potom %2$s a %3$s","Za %n roky %1$s potom %2$s a %3$s","Za %n rokov %1$s potom %2$s a %3$s","Za %n rokov %1$s potom %2$s a %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Nie je možné otvoriť súbor: %1$s, vyzerá to že súbor neexistuje",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Nie je možné otvoriť súbor: %1$s, vyzerá to že súbor neexistuje",
|
||||
"No results." : "Žiadne výsledky.",
|
||||
"Start typing." : "Začnite písať.",
|
||||
"Time zone:" : "Časová zóna:"
|
||||
|
||||
+2
-2
@@ -204,8 +204,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Делимични фајл не може да се преименује у коначни фајл, отказала је кука",
|
||||
"Could not rename part file to final file" : "Делимични фајл не може да се преименује у коначни фајл",
|
||||
"Failed to check file size: %1$s" : "Није успела провера величине фајла: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Фајл не може да се отвори: %1$s, изгледа да фајл постоји",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Фајл не може да се отвори: %1$s, изгледа да фајл не постоји",
|
||||
"Encryption not ready: %1$s" : "Шифрирање није спремно: %1$s",
|
||||
"Failed to open file: %1$s" : "Фајл не може да се отвори: %1$s",
|
||||
"Failed to unlink: %1$s" : "Није успело уклањање линка: %1$s",
|
||||
@@ -337,6 +335,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["За %n недељу, у %1$s па онда у %2$s и %3$s","За %n недеље, у %1$s па онда у %2$s и %3$s","За %n недеља, у %1$s па онда у %2$s и %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["За %n месец, у %1$s па онда у %2$s и %3$s","За %n месеца, у %1$s па онда у %2$s и %3$s","За %n месеци, у %1$s па онда у %2$s и %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["За %n годину, у %1$s па онда у %2$s и %3$s","За %n године, у %1$s па онда у %2$s и %3$s","За %n година, у %1$s па онда у %2$s и %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Фајл не може да се отвори: %1$s, изгледа да фајл постоји",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Фајл не може да се отвори: %1$s, изгледа да фајл не постоји",
|
||||
"No results." : "Нема резултата.",
|
||||
"Start typing." : "Почните да куцате",
|
||||
"Time zone:" : "Временска зона:"
|
||||
|
||||
@@ -202,8 +202,6 @@
|
||||
"Could not rename part file to final file, canceled by hook" : "Делимични фајл не може да се преименује у коначни фајл, отказала је кука",
|
||||
"Could not rename part file to final file" : "Делимични фајл не може да се преименује у коначни фајл",
|
||||
"Failed to check file size: %1$s" : "Није успела провера величине фајла: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Фајл не може да се отвори: %1$s, изгледа да фајл постоји",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Фајл не може да се отвори: %1$s, изгледа да фајл не постоји",
|
||||
"Encryption not ready: %1$s" : "Шифрирање није спремно: %1$s",
|
||||
"Failed to open file: %1$s" : "Фајл не може да се отвори: %1$s",
|
||||
"Failed to unlink: %1$s" : "Није успело уклањање линка: %1$s",
|
||||
@@ -335,6 +333,8 @@
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["За %n недељу, у %1$s па онда у %2$s и %3$s","За %n недеље, у %1$s па онда у %2$s и %3$s","За %n недеља, у %1$s па онда у %2$s и %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["За %n месец, у %1$s па онда у %2$s и %3$s","За %n месеца, у %1$s па онда у %2$s и %3$s","За %n месеци, у %1$s па онда у %2$s и %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["За %n годину, у %1$s па онда у %2$s и %3$s","За %n године, у %1$s па онда у %2$s и %3$s","За %n година, у %1$s па онда у %2$s и %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Фајл не може да се отвори: %1$s, изгледа да фајл постоји",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Фајл не може да се отвори: %1$s, изгледа да фајл не постоји",
|
||||
"No results." : "Нема резултата.",
|
||||
"Start typing." : "Почните да куцате",
|
||||
"Time zone:" : "Временска зона:"
|
||||
|
||||
+2
-2
@@ -233,8 +233,6 @@ OC.L10N.register(
|
||||
"Could not rename part file to final file, canceled by hook" : "Kunde inte byta namn på filfragment till slutgiltigt filnamn, avbröts av en kopplad åtgärd.",
|
||||
"Could not rename part file to final file" : "Kunde inte ändra namn från temporära filen till slutliga filen",
|
||||
"Failed to check file size: %1$s" : "Kunde inte kontrollera filstorleken: %1$s",
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunde inte öppna filen: %1$s, filen verkar inte finnas",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunde inte öppna filen: %1$s, filen verkar inte finnas",
|
||||
"Encryption not ready: %1$s" : "Kryptering ej redo: %1$s",
|
||||
"Failed to open file: %1$s" : "Kunde inte öppna fil: %1$s",
|
||||
"Failed to unlink: %1$s" : "Kunde inte ta bort: %1$s",
|
||||
@@ -366,6 +364,8 @@ OC.L10N.register(
|
||||
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Om en vecka den %1$s sedan den %2$s och %3$s","Om %n veckor den %1$s sedan den %2$s och %3$s"],
|
||||
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Om en månad den %1$s sedan den %2$s och %3$s","Om %n månader den %1$s sedan den %2$s och %3$s"],
|
||||
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Om ett år den %1$s sedan den %2$s och %3$s","Om %n år den %1$s sedan den %2$s och %3$s"],
|
||||
"Could not open file: %1$s, file does seem to exist" : "Kunde inte öppna filen: %1$s, filen verkar inte finnas",
|
||||
"Could not open file: %1$s, file doesn't seem to exist" : "Kunde inte öppna filen: %1$s, filen verkar inte finnas",
|
||||
"No results." : "Inga resultat.",
|
||||
"Start typing." : "Börja skriva.",
|
||||
"Time zone:" : "Tidszon:"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user