Compare commits
239 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 93fe7e38e2 | |||
| e8af4f1994 | |||
| e8b61c7345 | |||
| 117233fca4 | |||
| aa57c6731e | |||
| 9756097e28 | |||
| 5ce08e9704 | |||
| f573285040 | |||
| b119cace4f | |||
| 2c560b0837 | |||
| 17d60a4af0 | |||
| 3a5c445c78 | |||
| 04ee3aff1a | |||
| b71661a38b | |||
| 5b86c7a402 | |||
| e2dc439c71 | |||
| c86e2d1e67 | |||
| f5faddaf31 | |||
| 99a26b0a97 | |||
| aaf2ded381 | |||
| c8dbc73017 | |||
| a71584ee96 | |||
| bf24b24841 | |||
| f8cc0adefb | |||
| d1fd735698 | |||
| 0ff7ad3535 | |||
| 8f7b0b4264 | |||
| c08592de28 | |||
| 005b2b04e8 | |||
| 63a4778744 | |||
| ca245b4cc6 | |||
| 309d12abe1 | |||
| 7e9e1269a0 | |||
| 861f9bdb31 | |||
| a375265111 | |||
| 7fe3d1c6a0 | |||
| 0cf140e903 | |||
| 3d27f8d288 | |||
| 52dac4be2b | |||
| 252e24b83d | |||
| b7bdd76731 | |||
| 00100427be | |||
| 2ae66ff888 | |||
| 6594d54476 | |||
| 9b125a7605 | |||
| eb06a5628f | |||
| 2a5e57d2f4 | |||
| 9b605de474 | |||
| 48ce8c3fa1 | |||
| 3925176b49 | |||
| 981978d960 | |||
| 282e6b707a | |||
| 5bcac61c73 | |||
| 8225ab726f | |||
| 62f3ea390e | |||
| d677a3a5e2 | |||
| 04d9f79985 | |||
| 8fa69c1c29 | |||
| f2c73ebffd | |||
| 5a7d38b22c | |||
| e4c2a1d218 | |||
| e367c5a928 | |||
| 5c935429ef | |||
| c88a1d3961 | |||
| 9b84a0ec19 | |||
| b256928385 | |||
| 8032ad83b3 | |||
| 6b49aa792b | |||
| cd2d09de64 | |||
| 2c068f3683 | |||
| 1398c598cf | |||
| 614afec231 | |||
| 3fcb3a962d | |||
| 5961eba6a1 | |||
| 6f7961f5ce | |||
| 69db28c7ec | |||
| 18f03f69b4 | |||
| f34513d8ad | |||
| 9beed5c8fe | |||
| 50c37e300c | |||
| 730db45c26 | |||
| eec757fc2e | |||
| 5bc0ba6a51 | |||
| 1ed0769d4c | |||
| cde3780f01 | |||
| 4a88f9316b | |||
| e17f7aa92d | |||
| 9d8bab02fc | |||
| 8bd63c5fe2 | |||
| e53c124ecc | |||
| 5f658d9eae | |||
| bd0784e056 | |||
| 23569000a8 | |||
| 4b2a77b1ff | |||
| 6346b9c884 | |||
| 6a88c86a54 | |||
| 9da1e46def | |||
| 24550e5aac | |||
| 1c1bd469b8 | |||
| fafc55c039 | |||
| f5040be492 | |||
| ce009c4f95 | |||
| c1251e0292 | |||
| 753e6ee442 | |||
| df0f570802 | |||
| c107cd4555 | |||
| 38278d172f | |||
| 7df1d3683d | |||
| 4ac7bec175 | |||
| 1493d30f14 | |||
| b59fcd4c32 | |||
| 9fee8d4dfe | |||
| 7434af87c2 | |||
| 784a2adb87 | |||
| d0c63a1753 | |||
| 5e93c58795 | |||
| 7cdbb38d52 | |||
| 28bb7305c0 | |||
| c5e9a1598a | |||
| e7f8950d65 | |||
| 0cb96fb77d | |||
| 9e7e32f0c7 | |||
| 5c1b58c380 | |||
| 9e65c597fe | |||
| f4c6b26e7b | |||
| e045bb9f2b | |||
| 7c61e06b74 | |||
| e4ab89d5b2 | |||
| a51d74407a | |||
| ad5e709f7f | |||
| b1517d8938 | |||
| 549b081f2f | |||
| e46b967b53 | |||
| de9852eca4 | |||
| 9cc334312b | |||
| 118ca6a94b | |||
| 95f22bc48d | |||
| 7cb4b4bbdb | |||
| 2c68e65e19 | |||
| 3d0234bb2e | |||
| e01440af96 | |||
| b5d8a97128 | |||
| 0af21b72ae | |||
| 7eedf9c713 | |||
| 85f9a593a4 | |||
| 97ceffcbb4 | |||
| 43c8d2de30 | |||
| bf58238b5f | |||
| 82ee720335 | |||
| 7af11b4315 | |||
| f20789fb9d | |||
| 0c5feae8d0 | |||
| f01ba2de0f | |||
| 35606bc6bd | |||
| a24fc77bcf | |||
| 3be8a652bc | |||
| 1688dff259 | |||
| badd759ff1 | |||
| 0ace547307 | |||
| 1c01895796 | |||
| 44175e3cdb | |||
| 1b504bf4ec | |||
| 22976d20d5 | |||
| 294e5397f3 | |||
| db3ff20ce9 | |||
| 3f27ba3aac | |||
| b96083862b | |||
| fee637ca12 | |||
| 2351df0172 | |||
| 39a0545c53 | |||
| df15699a31 | |||
| 7f8f86ab9a | |||
| a1c72a25c2 | |||
| 08495bfc0e | |||
| 77b0d6cbbc | |||
| aaab13c7ca | |||
| 3961a8be67 | |||
| fe89541be3 | |||
| 7e5a690a67 | |||
| 5a1c233de9 | |||
| d3faa4247d | |||
| f6d2e6219a | |||
| 3d6d38a2fb | |||
| acbc10cc8c | |||
| b4f859b0ec | |||
| 438f942081 | |||
| 99a20afa8a | |||
| 6dfeeffe20 | |||
| 5830b0a0af | |||
| 0787185967 | |||
| c826288435 | |||
| 24ce01d8f5 | |||
| 11959a1359 | |||
| b17d5180b2 | |||
| 46f61ca5e5 | |||
| f722f4648e | |||
| 91cfd7aded | |||
| b865115cc8 | |||
| 5f80f26799 | |||
| bb4c9ecc0e | |||
| e48685600e | |||
| cec23a0d83 | |||
| 1fdb54bdf5 | |||
| 2dbd9dd381 | |||
| c968f1f3b3 | |||
| 7f6f29ea32 | |||
| 72cf9e01b6 | |||
| 93568366f4 | |||
| 8ec12f3446 | |||
| c2ab8a3e8c | |||
| 5eec4fd69c | |||
| 58619b2a68 | |||
| 6791e95312 | |||
| 649f333c89 | |||
| 52801b995c | |||
| 8e6ce46485 | |||
| 2997b0a53c | |||
| 529b30eb04 | |||
| 1e40bd0d33 | |||
| e961190912 | |||
| 4da2a1e2e1 | |||
| a10204b11b | |||
| fceece9ba8 | |||
| a2144ab2f2 | |||
| 44c8dae987 | |||
| cc99dd8fd9 | |||
| 232192c59c | |||
| 25e7dd799e | |||
| e03d825062 | |||
| 7dfcf5afad | |||
| 504dc5142e | |||
| d68face43f | |||
| 91334643dc | |||
| 447ee17759 | |||
| bd343a6e9e | |||
| 520878338f | |||
| 629740d935 | |||
| 101819821a | |||
| 62ab29960f |
+3
-3
@@ -24,7 +24,7 @@ package.json @nextcloud/server-dependabot @next
|
||||
package-lock.json @nextcloud/server-dependabot
|
||||
|
||||
# App maintainers
|
||||
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @blizzz
|
||||
/apps/admin_audit/appinfo/info.xml @luka-nextcloud @samin-z
|
||||
/apps/cloud_federation_api/appinfo/info.xml @nfebe @mejo-
|
||||
/apps/comments/appinfo/info.xml @edward-ly @sorbaugh
|
||||
/apps/contactsinteraction/appinfo/info.xml @kesselb @SebastianKrupinski
|
||||
@@ -46,12 +46,12 @@ package-lock.json @nextcloud/server-dependabot
|
||||
/apps/files_versions/appinfo/info.xml @artonge @icewind1991
|
||||
/apps/oauth2/appinfo/info.xml @julien-nc @ChristophWurst
|
||||
/apps/provisioning_api/appinfo/info.xml @provokateurin @nickvergessen
|
||||
/apps/settings/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
|
||||
/apps/settings/appinfo/info.xml @hweihwang @sorbaugh
|
||||
/apps/sharebymail/appinfo/info.xml @Altahrim @skjnldsv
|
||||
/apps/systemtags/appinfo/info.xml @Antreesy @marcelklehr
|
||||
/apps/theming/appinfo/info.xml @skjnldsv @juliusknorr
|
||||
/apps/twofactor_backupcodes/appinfo/info.xml @miaulalala @ChristophWurst
|
||||
/apps/updatenotification/appinfo/info.xml @JuliaKirschenheuter @sorbaugh
|
||||
/apps/updatenotification/appinfo/info.xml @enjeck @sorbaugh
|
||||
/apps/user_ldap/appinfo/info.xml @come-nc @blizzz
|
||||
/apps/user_status/appinfo/info.xml @Antreesy @nickvergessen
|
||||
/apps/weather_status/appinfo/info.xml @julien-nc @juliusknorr
|
||||
|
||||
@@ -56,4 +56,4 @@ jobs:
|
||||
- name: PHPUnit
|
||||
uses: docker://ghcr.io/nextcloud/continuous-integration-php8.4-32bit:latest
|
||||
with:
|
||||
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure,PRIMARY-s3,PRIMARY-swift,Memcached,Redis,RoutingWeirdness"
|
||||
args: /bin/sh -c "composer run test -- --exclude-group PRIMARY-azure --exclude-group PRIMARY-s3 --exclude-group PRIMARY-swift --exclude-group Memcached --exclude-group Redis --exclude-group RoutingWeirdness"
|
||||
|
||||
@@ -129,11 +129,10 @@
|
||||
## Rule: Map /remote* --> /remote.php* including the query string
|
||||
##
|
||||
## Context:
|
||||
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
|
||||
## - XXX: Is this even used anymore? Seems a relic from <NC12
|
||||
##
|
||||
|
||||
RewriteRule ^remote/(.*) remote.php [QSA,L]
|
||||
RewriteRule ^remote/(.*) remote.php [L]
|
||||
|
||||
##
|
||||
## Rule: Prevent access to non-public files
|
||||
@@ -148,21 +147,19 @@
|
||||
## - Intentionally excludes URIs used for HTTPS certificate verifications
|
||||
## - RFC 8555 / ACME HTTP Challenges (acme-challenge)
|
||||
## - File-based Validations (pki-validation)
|
||||
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
|
||||
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
|
||||
##
|
||||
|
||||
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
|
||||
RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [L]
|
||||
|
||||
##
|
||||
## Rule: Map the ocm-provider handling to our main frontend controller (/index.php)
|
||||
##
|
||||
## Context:
|
||||
## - XXX: `QSA` seems unnecessary (no-op) here (query string is passed by default when the replacement URI doesn't contain a query string)
|
||||
## - XXX: Sometimes we are using `/index.php` and other times `index.php` as our replacement URI; this may be incorrect
|
||||
##
|
||||
|
||||
RewriteRule ^ocm-provider/?$ index.php [QSA,L]
|
||||
RewriteRule ^ocm-provider/?$ index.php [L]
|
||||
|
||||
##
|
||||
## Rule: Prevent access to more non-public files
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
.gitmodules
|
||||
.idea
|
||||
.jshint
|
||||
.jshintrc
|
||||
.l10nignore
|
||||
.mailmap
|
||||
.nextcloudignore
|
||||
@@ -32,7 +33,9 @@ SECURITY.md
|
||||
codecov.yml
|
||||
cs-fixer
|
||||
csfixer
|
||||
custom.d.ts
|
||||
cypress
|
||||
cypress.config.ts
|
||||
eslint.config.js
|
||||
flake.lock
|
||||
flake.nix
|
||||
@@ -44,6 +47,7 @@ rector
|
||||
stylelint.config.js
|
||||
tests
|
||||
tsconfig.json
|
||||
vite.config.ts
|
||||
vitest.config.ts
|
||||
window.d.ts
|
||||
|
||||
@@ -56,3 +60,5 @@ window.d.ts
|
||||
/config/config.php
|
||||
/contribute
|
||||
/data
|
||||
/openapi.json
|
||||
/vendor-bin
|
||||
|
||||
+1
-1
Submodule 3rdparty updated: 34fdf0b083...e1dc48ae9d
@@ -32,6 +32,6 @@ OC.L10N.register(
|
||||
"Comment deleted" : "Kommentar gelöscht",
|
||||
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
|
||||
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
|
||||
"Write a comment …" : "Einen Kommentar schreiben …"
|
||||
"Write a comment …" : "Einen Kommentar schreiben …"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -30,6 +30,6 @@
|
||||
"Comment deleted" : "Kommentar gelöscht",
|
||||
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
|
||||
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
|
||||
"Write a comment …" : "Einen Kommentar schreiben …"
|
||||
"Write a comment …" : "Einen Kommentar schreiben …"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -32,6 +32,6 @@ OC.L10N.register(
|
||||
"Comment deleted" : "Kommentar gelöscht",
|
||||
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
|
||||
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
|
||||
"Write a comment …" : "Schreiben Sie einen Kommentar …"
|
||||
"Write a comment …" : "Einen Kommentar schreiben …"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -30,6 +30,6 @@
|
||||
"Comment deleted" : "Kommentar gelöscht",
|
||||
"An error occurred while trying to delete the comment" : "Es ist ein Fehler beim Löschen des Kommentars aufgetreten",
|
||||
"An error occurred while trying to create the comment" : "Es ist ein Fehler beim Erstellen des Kommentars aufgetreten",
|
||||
"Write a comment …" : "Schreiben Sie einen Kommentar …"
|
||||
"Write a comment …" : "Einen Kommentar schreiben …"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -10,20 +10,28 @@ OC.L10N.register(
|
||||
"{author} commented on {file}" : "{author} pakomentavo {file}",
|
||||
"<strong>Comments</strong> for files" : "Failų <strong>komentarai</strong>",
|
||||
"Files" : "Failai",
|
||||
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Buvote paminėtas „{file}“, komentare, kuris buvo parašytas iš paskyros, kuri vėliau buvo ištrinta.",
|
||||
"{user} mentioned you in a comment on \"{file}\"" : "{user} minėjo jus \"{file}\" komentare",
|
||||
"Files app plugin to add comments to files" : "Failų programėlės įskiepis, skirtas prie failų pridėti komentarus",
|
||||
"Edit comment" : "Taisyti komentarą",
|
||||
"Delete comment" : "Ištrinti komentarą",
|
||||
"Cancel edit" : "Atsisakyti taisymo",
|
||||
"New comment" : "Naujas komentaras",
|
||||
"Write a comment …" : "Rašyti komentarą ...",
|
||||
"Post comment" : "Paskelbti komentarą",
|
||||
"@ for mentions, : for emoji, / for smart picker" : "@ paminėjimams, : jaustukams, / išmaniajam rinkikliui",
|
||||
"Could not reload comments" : "Nepavyko įkelti komentarų iš naujo",
|
||||
"Failed to mark comments as read" : "Nepavyko pažymėti komentarų kaip perskaitytų",
|
||||
"Unable to load the comments list" : "Nepavyko įkelti komentarų sąrašo",
|
||||
"No comments yet, start the conversation!" : "Komentarų kol kas nėra, pradėkite pokalbį!",
|
||||
"No more messages" : "Daugiau jokių pranešimų",
|
||||
"Retry" : "Bandyti dar kartą",
|
||||
"_1 new comment_::_{unread} new comments_" : ["1 neskaitytas komentaras","{unread} neskaityti komentarai","{unread} neskaitytų komentarų","{unread} neskaitytas komentaras"],
|
||||
"Comment" : "Komentaras",
|
||||
"An error occurred while trying to edit the comment" : "Bandant taisyti komentarą, įvyko klaida",
|
||||
"Comment deleted" : "Komentaras ištrintas",
|
||||
"An error occurred while trying to delete the comment" : "Bandant ištrinti komentarą, įvyko klaida",
|
||||
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida"
|
||||
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida",
|
||||
"Write a comment …" : "Rašyti komentarą..."
|
||||
},
|
||||
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
|
||||
|
||||
@@ -8,20 +8,28 @@
|
||||
"{author} commented on {file}" : "{author} pakomentavo {file}",
|
||||
"<strong>Comments</strong> for files" : "Failų <strong>komentarai</strong>",
|
||||
"Files" : "Failai",
|
||||
"You were mentioned on \"{file}\", in a comment by an account that has since been deleted" : "Buvote paminėtas „{file}“, komentare, kuris buvo parašytas iš paskyros, kuri vėliau buvo ištrinta.",
|
||||
"{user} mentioned you in a comment on \"{file}\"" : "{user} minėjo jus \"{file}\" komentare",
|
||||
"Files app plugin to add comments to files" : "Failų programėlės įskiepis, skirtas prie failų pridėti komentarus",
|
||||
"Edit comment" : "Taisyti komentarą",
|
||||
"Delete comment" : "Ištrinti komentarą",
|
||||
"Cancel edit" : "Atsisakyti taisymo",
|
||||
"New comment" : "Naujas komentaras",
|
||||
"Write a comment …" : "Rašyti komentarą ...",
|
||||
"Post comment" : "Paskelbti komentarą",
|
||||
"@ for mentions, : for emoji, / for smart picker" : "@ paminėjimams, : jaustukams, / išmaniajam rinkikliui",
|
||||
"Could not reload comments" : "Nepavyko įkelti komentarų iš naujo",
|
||||
"Failed to mark comments as read" : "Nepavyko pažymėti komentarų kaip perskaitytų",
|
||||
"Unable to load the comments list" : "Nepavyko įkelti komentarų sąrašo",
|
||||
"No comments yet, start the conversation!" : "Komentarų kol kas nėra, pradėkite pokalbį!",
|
||||
"No more messages" : "Daugiau jokių pranešimų",
|
||||
"Retry" : "Bandyti dar kartą",
|
||||
"_1 new comment_::_{unread} new comments_" : ["1 neskaitytas komentaras","{unread} neskaityti komentarai","{unread} neskaitytų komentarų","{unread} neskaitytas komentaras"],
|
||||
"Comment" : "Komentaras",
|
||||
"An error occurred while trying to edit the comment" : "Bandant taisyti komentarą, įvyko klaida",
|
||||
"Comment deleted" : "Komentaras ištrintas",
|
||||
"An error occurred while trying to delete the comment" : "Bandant ištrinti komentarą, įvyko klaida",
|
||||
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida"
|
||||
"An error occurred while trying to create the comment" : "Bandant sukurti komentarą, įvyko klaida",
|
||||
"Write a comment …" : "Rašyti komentarą..."
|
||||
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
|
||||
}
|
||||
@@ -2,6 +2,8 @@ OC.L10N.register(
|
||||
"contactsinteraction",
|
||||
{
|
||||
"Recently contacted" : "Paskiausiai susisiekta",
|
||||
"Contacts Interaction" : "Sąveika su adresatais"
|
||||
"Contacts Interaction" : "Sąveika su adresatais",
|
||||
"Manages interaction between accounts and contacts" : "Tvarko sąveiką tarp paskyrų ir kontaktų",
|
||||
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Rinkti duomenis apie klientų ir kontaktų sąveiką ir pateikti adresų knygą duomenims"
|
||||
},
|
||||
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
{ "translations": {
|
||||
"Recently contacted" : "Paskiausiai susisiekta",
|
||||
"Contacts Interaction" : "Sąveika su adresatais"
|
||||
"Contacts Interaction" : "Sąveika su adresatais",
|
||||
"Manages interaction between accounts and contacts" : "Tvarko sąveiką tarp paskyrų ir kontaktų",
|
||||
"Collect data about accounts and contacts interactions and provide an address book for the data" : "Rinkti duomenis apie klientų ir kontaktų sąveiką ir pateikti adresų knygą duomenims"
|
||||
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
|
||||
}
|
||||
@@ -3,6 +3,7 @@ OC.L10N.register(
|
||||
{
|
||||
"Dashboard" : "Skydelis",
|
||||
"Dashboard app" : "Skydelio programėlė",
|
||||
"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." : "Pradėkite dieną informuotai\n\n„Nextcloud“ ataskaitų sritis yra jūsų dienos atspirties taškas, kuriame pateikiama artėjančių susitikimų, skubių el. laiškų, pokalbių žinučių, gaunamų bilietų, naujausių tviterio žinučių ir daug daugiau apžvalga! Žmonės gali pridėti norimus valdiklius ir pakeisti foną pagal savo skonį.",
|
||||
"Weather" : "Orai",
|
||||
"Status" : "Būsena",
|
||||
"Good morning" : "Labas rytas",
|
||||
@@ -19,6 +20,7 @@ OC.L10N.register(
|
||||
"Edit widgets" : "Taisyti valdiklius",
|
||||
"Get more widgets from the App Store" : "Parsisiųsti įskiepių iš App Store",
|
||||
"Weather service" : "Orų tarnyba",
|
||||
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Dėl jūsų privatumo, {productName} serveris jūsų vardu užklausė orų duomenis, todėl orų tarnyba negauna jokios asmeninės informacijos.",
|
||||
"Weather data from Met.no" : "Orų duomenys iš Met.no",
|
||||
"geocoding with Nominatim" : "geografinis kodavimas naudojant Nominatim",
|
||||
"elevation data from OpenTopoData" : "aukščio duomenys iš OpenTopoData"
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{ "translations": {
|
||||
"Dashboard" : "Skydelis",
|
||||
"Dashboard app" : "Skydelio programėlė",
|
||||
"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." : "Pradėkite dieną informuotai\n\n„Nextcloud“ ataskaitų sritis yra jūsų dienos atspirties taškas, kuriame pateikiama artėjančių susitikimų, skubių el. laiškų, pokalbių žinučių, gaunamų bilietų, naujausių tviterio žinučių ir daug daugiau apžvalga! Žmonės gali pridėti norimus valdiklius ir pakeisti foną pagal savo skonį.",
|
||||
"Weather" : "Orai",
|
||||
"Status" : "Būsena",
|
||||
"Good morning" : "Labas rytas",
|
||||
@@ -17,6 +18,7 @@
|
||||
"Edit widgets" : "Taisyti valdiklius",
|
||||
"Get more widgets from the App Store" : "Parsisiųsti įskiepių iš App Store",
|
||||
"Weather service" : "Orų tarnyba",
|
||||
"For your privacy, the weather data is requested by your {productName} server on your behalf so the weather service receives no personal information." : "Dėl jūsų privatumo, {productName} serveris jūsų vardu užklausė orų duomenis, todėl orų tarnyba negauna jokios asmeninės informacijos.",
|
||||
"Weather data from Met.no" : "Orų duomenys iš Met.no",
|
||||
"geocoding with Nominatim" : "geografinis kodavimas naudojant Nominatim",
|
||||
"elevation data from OpenTopoData" : "aukščio duomenys iš OpenTopoData"
|
||||
|
||||
@@ -210,6 +210,7 @@ return array(
|
||||
'OCA\\DAV\\ConfigLexicon' => $baseDir . '/../lib/ConfigLexicon.php',
|
||||
'OCA\\DAV\\Connector\\LegacyDAVACL' => $baseDir . '/../lib/Connector/LegacyDAVACL.php',
|
||||
'OCA\\DAV\\Connector\\LegacyPublicAuth' => $baseDir . '/../lib/Connector/LegacyPublicAuth.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\AddExtraHeadersPlugin' => $baseDir . '/../lib/Connector/Sabre/AddExtraHeadersPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\AnonymousOptionsPlugin' => $baseDir . '/../lib/Connector/Sabre/AnonymousOptionsPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\AppleQuirksPlugin' => $baseDir . '/../lib/Connector/Sabre/AppleQuirksPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\Auth' => $baseDir . '/../lib/Connector/Sabre/Auth.php',
|
||||
|
||||
@@ -225,6 +225,7 @@ class ComposerStaticInitDAV
|
||||
'OCA\\DAV\\ConfigLexicon' => __DIR__ . '/..' . '/../lib/ConfigLexicon.php',
|
||||
'OCA\\DAV\\Connector\\LegacyDAVACL' => __DIR__ . '/..' . '/../lib/Connector/LegacyDAVACL.php',
|
||||
'OCA\\DAV\\Connector\\LegacyPublicAuth' => __DIR__ . '/..' . '/../lib/Connector/LegacyPublicAuth.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\AddExtraHeadersPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/AddExtraHeadersPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\AnonymousOptionsPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/AnonymousOptionsPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\AppleQuirksPlugin' => __DIR__ . '/..' . '/../lib/Connector/Sabre/AppleQuirksPlugin.php',
|
||||
'OCA\\DAV\\Connector\\Sabre\\Auth' => __DIR__ . '/..' . '/../lib/Connector/Sabre/Auth.php',
|
||||
|
||||
@@ -236,6 +236,7 @@ OC.L10N.register(
|
||||
"Failed to check file size: %1$s" : "Nepodařilo se zkontrolovat velikost souboru: %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) – zdá se, že soubor existuje",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) – zdá se, že soubor neexistuje",
|
||||
"Failed to get size for : %1$s" : "Nepodařilo se získat velikost pro: %1$s",
|
||||
"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",
|
||||
@@ -252,6 +253,7 @@ OC.L10N.register(
|
||||
"Completed on %s" : "Dokončeno %s",
|
||||
"Due on %s by %s" : "Termín do %s od %s",
|
||||
"Due on %s" : "Termín do %s",
|
||||
"This is an example contact" : "Toto je kontakt pro ukázku",
|
||||
"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." : "Vítejte v Nextcloud Kalendáři!\n\nToto je událost pro ukázku – prozkoumejte flexibilitu plánování pomoc Nextcloud Kalendáře upravením čeho chcete!\n\nS Nextcloud Kalendářem je možné:\n- Jednoduše vytvářet, upravovat a spravovat události.\n- Vytvářet vícero kalendářů a sdílet je s kolegy, přáteli či rodinou.\n- Zjišťovat dostupnost a zobrazovat své doby nedostupnosti ostatním.\n- Hladce napojovat na aplikace a zřízení prostřednictvím CalDAV.\n- Přizpůsobit si svůj dojem z používání: plánovat opakující se události, upravovat notifikace a ostatní nastavení.",
|
||||
"Example event - open me!" : "Událost pro ukázku – otevřete ji!",
|
||||
"System Address Book" : "Systémový adresář kontaktů",
|
||||
|
||||
@@ -234,6 +234,7 @@
|
||||
"Failed to check file size: %1$s" : "Nepodařilo se zkontrolovat velikost souboru: %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) – zdá se, že soubor existuje",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nebylo možné otevřít soubor: %1$s (%2$d) – zdá se, že soubor neexistuje",
|
||||
"Failed to get size for : %1$s" : "Nepodařilo se získat velikost pro: %1$s",
|
||||
"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",
|
||||
@@ -250,6 +251,7 @@
|
||||
"Completed on %s" : "Dokončeno %s",
|
||||
"Due on %s by %s" : "Termín do %s od %s",
|
||||
"Due on %s" : "Termín do %s",
|
||||
"This is an example contact" : "Toto je kontakt pro ukázku",
|
||||
"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." : "Vítejte v Nextcloud Kalendáři!\n\nToto je událost pro ukázku – prozkoumejte flexibilitu plánování pomoc Nextcloud Kalendáře upravením čeho chcete!\n\nS Nextcloud Kalendářem je možné:\n- Jednoduše vytvářet, upravovat a spravovat události.\n- Vytvářet vícero kalendářů a sdílet je s kolegy, přáteli či rodinou.\n- Zjišťovat dostupnost a zobrazovat své doby nedostupnosti ostatním.\n- Hladce napojovat na aplikace a zřízení prostřednictvím CalDAV.\n- Přizpůsobit si svůj dojem z používání: plánovat opakující se události, upravovat notifikace a ostatní nastavení.",
|
||||
"Example event - open me!" : "Událost pro ukázku – otevřete ji!",
|
||||
"System Address Book" : "Systémový adresář kontaktů",
|
||||
|
||||
@@ -253,6 +253,7 @@ OC.L10N.register(
|
||||
"Completed on %s" : "Completed on %s",
|
||||
"Due on %s by %s" : "Due on %s by %s",
|
||||
"Due on %s" : "Due on %s",
|
||||
"This is an example contact" : "This is an example contact",
|
||||
"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." : "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.",
|
||||
"Example event - open me!" : "Example event - open me!",
|
||||
"System Address Book" : "System Address Book",
|
||||
|
||||
@@ -251,6 +251,7 @@
|
||||
"Completed on %s" : "Completed on %s",
|
||||
"Due on %s by %s" : "Due on %s by %s",
|
||||
"Due on %s" : "Due on %s",
|
||||
"This is an example contact" : "This is an example contact",
|
||||
"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." : "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.",
|
||||
"Example event - open me!" : "Example event - open me!",
|
||||
"System Address Book" : "System Address Book",
|
||||
|
||||
@@ -236,6 +236,7 @@ OC.L10N.register(
|
||||
"Failed to check file size: %1$s" : "Impossible de vérifier la taille du fichier : %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Impossible d'ouvrir le fichier : %1$s (%2$d), le fichier semble exister",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Impossible d'ouvrir le fichier : %1$s (%2$d), le fichier ne semble pas exister",
|
||||
"Failed to get size for : %1$s" : "Impossible d'obtenir la taille pour : %1$s",
|
||||
"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",
|
||||
@@ -252,6 +253,7 @@ OC.L10N.register(
|
||||
"Completed on %s" : "Terminé le %s",
|
||||
"Due on %s by %s" : "Echéance le %s pour %s",
|
||||
"Due on %s" : "Echéance le %s",
|
||||
"This is an example contact" : "Ceci est un contact pour l'exemple",
|
||||
"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." : "Bienvenue dans Nextcloud Calendar !\n\nCeci est un exemple d'événement. Découvrez la flexibilité de la planification avec Nextcloud Calendar en effectuant toutes les modifications que vous souhaitez !\n\nAvec Nextcloud Calendar, vous pouvez :\n- Créer, modifier et gérer des événements sans effort.\n- Créer plusieurs calendriers et les partager avec vos collègues, vos amis ou votre famille.\n- Vérifier vos disponibilités et afficher vos périodes d'indisponibilité à d'autres personnes.\n- Intégrer de manière transparente des applications et des appareils via CalDAV.\n- Personnaliser votre expérience : planifier des événements récurrents, ajuster les notifications et d'autres paramètres.",
|
||||
"Example event - open me!" : "Exemple d'événement - ouvrez-moi !",
|
||||
"System Address Book" : "Carnet d'adresses du système",
|
||||
|
||||
@@ -234,6 +234,7 @@
|
||||
"Failed to check file size: %1$s" : "Impossible de vérifier la taille du fichier : %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Impossible d'ouvrir le fichier : %1$s (%2$d), le fichier semble exister",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Impossible d'ouvrir le fichier : %1$s (%2$d), le fichier ne semble pas exister",
|
||||
"Failed to get size for : %1$s" : "Impossible d'obtenir la taille pour : %1$s",
|
||||
"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",
|
||||
@@ -250,6 +251,7 @@
|
||||
"Completed on %s" : "Terminé le %s",
|
||||
"Due on %s by %s" : "Echéance le %s pour %s",
|
||||
"Due on %s" : "Echéance le %s",
|
||||
"This is an example contact" : "Ceci est un contact pour l'exemple",
|
||||
"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." : "Bienvenue dans Nextcloud Calendar !\n\nCeci est un exemple d'événement. Découvrez la flexibilité de la planification avec Nextcloud Calendar en effectuant toutes les modifications que vous souhaitez !\n\nAvec Nextcloud Calendar, vous pouvez :\n- Créer, modifier et gérer des événements sans effort.\n- Créer plusieurs calendriers et les partager avec vos collègues, vos amis ou votre famille.\n- Vérifier vos disponibilités et afficher vos périodes d'indisponibilité à d'autres personnes.\n- Intégrer de manière transparente des applications et des appareils via CalDAV.\n- Personnaliser votre expérience : planifier des événements récurrents, ajuster les notifications et d'autres paramètres.",
|
||||
"Example event - open me!" : "Exemple d'événement - ouvrez-moi !",
|
||||
"System Address Book" : "Carnet d'adresses du système",
|
||||
|
||||
@@ -253,6 +253,7 @@ OC.L10N.register(
|
||||
"Completed on %s" : "Críochnaithe ar %s",
|
||||
"Due on %s by %s" : "Dlite ar %s faoi %s",
|
||||
"Due on %s" : "Dlite ar %s",
|
||||
"This is an example contact" : "Seo sampla teagmhála",
|
||||
"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." : "Fáilte go Féilire Nextcloud!\n\nSeo sampla imeachta - déan iniúchadh ar sholúbthacht na pleanála le Féilire Nextcloud trí aon eagarthóireacht is mian leat a dhéanamh!\n\nLe Féilire Nextcloud, is féidir leat:\n- Imeachtaí a chruthú, a chur in eagar agus a bhainistiú gan stró.\n- Ilfhéilirí a chruthú agus iad a roinnt le comhghleacaithe foirne, cairde nó teaghlach.\n- Infhaighteacht a sheiceáil agus do chuid amanna gnóthacha a thaispeáint do dhaoine eile.\n- Comhtháthú gan uaim le haipeanna agus gléasanna trí CalDAV.\n- Do thaithí a shaincheapadh: imeachtaí athfhillteacha a sceidealú, fógraí agus socruithe eile a choigeartú.",
|
||||
"Example event - open me!" : "Imeacht shamplach - oscail mé!",
|
||||
"System Address Book" : "Leabhar Seoltaí Córais",
|
||||
|
||||
@@ -251,6 +251,7 @@
|
||||
"Completed on %s" : "Críochnaithe ar %s",
|
||||
"Due on %s by %s" : "Dlite ar %s faoi %s",
|
||||
"Due on %s" : "Dlite ar %s",
|
||||
"This is an example contact" : "Seo sampla teagmhála",
|
||||
"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." : "Fáilte go Féilire Nextcloud!\n\nSeo sampla imeachta - déan iniúchadh ar sholúbthacht na pleanála le Féilire Nextcloud trí aon eagarthóireacht is mian leat a dhéanamh!\n\nLe Féilire Nextcloud, is féidir leat:\n- Imeachtaí a chruthú, a chur in eagar agus a bhainistiú gan stró.\n- Ilfhéilirí a chruthú agus iad a roinnt le comhghleacaithe foirne, cairde nó teaghlach.\n- Infhaighteacht a sheiceáil agus do chuid amanna gnóthacha a thaispeáint do dhaoine eile.\n- Comhtháthú gan uaim le haipeanna agus gléasanna trí CalDAV.\n- Do thaithí a shaincheapadh: imeachtaí athfhillteacha a sceidealú, fógraí agus socruithe eile a choigeartú.",
|
||||
"Example event - open me!" : "Imeacht shamplach - oscail mé!",
|
||||
"System Address Book" : "Leabhar Seoltaí Córais",
|
||||
|
||||
@@ -236,6 +236,7 @@ OC.L10N.register(
|
||||
"Failed to check file size: %1$s" : "Neuspjela provjera veličine datoteke: %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nije moguće otvoriti datoteku: %1$s (%2$d), čini se da datoteka postoji",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nije moguće otvoriti datoteku: %1$s (%2$d), čini se da datoteka ne postoji",
|
||||
"Failed to get size for : %1$s" : "Neuspjelo dohvaćanje veličine: %1$s",
|
||||
"Encryption not ready: %1$s" : "Šifriranje nije spremno: %1$s",
|
||||
"Failed to open file: %1$s" : "Neuspjelo otvaranje datoteke: %1$s",
|
||||
"Failed to unlink: %1$s" : "Neuspjelo uklanjanje veze: %1$s",
|
||||
@@ -252,6 +253,7 @@ OC.L10N.register(
|
||||
"Completed on %s" : "Završeno na %s",
|
||||
"Due on %s by %s" : "%s treba završiti do %s",
|
||||
"Due on %s" : "Treba završiti do %s",
|
||||
"This is an example contact" : "Ovo je primjer kontakta",
|
||||
"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." : "Dobrodošli u Nextcloud Kalendar!\n\nOvo je primjer događaja – istražite fleksibilnost planiranja s Nextcloud Kalendarom tako da napravite bilo kakve izmjene koje želite!\n\nUz Nextcloud Kalendar možete:\n- Jednostavno stvarati, uređivati i upravljati događajima..\n- Stvarati više kalendara i dijeliti ih s kolegama, prijateljima ili obitelji.\n- Provjeravati dostupnost i drugima prikazivati svoja zauzeta razdoblja.\n- Neprimjetno se integrirati s aplikacijama i uređajima putem CalDAV-a.\n- Prilagoditi svoje iskustvo: zakazivati ponavljajuće događaje, prilagođavati obavijesti i druge postavke.",
|
||||
"Example event - open me!" : "Primjer događaja – otvori me!",
|
||||
"System Address Book" : "Adresar sustava",
|
||||
|
||||
@@ -234,6 +234,7 @@
|
||||
"Failed to check file size: %1$s" : "Neuspjela provjera veličine datoteke: %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nije moguće otvoriti datoteku: %1$s (%2$d), čini se da datoteka postoji",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nije moguće otvoriti datoteku: %1$s (%2$d), čini se da datoteka ne postoji",
|
||||
"Failed to get size for : %1$s" : "Neuspjelo dohvaćanje veličine: %1$s",
|
||||
"Encryption not ready: %1$s" : "Šifriranje nije spremno: %1$s",
|
||||
"Failed to open file: %1$s" : "Neuspjelo otvaranje datoteke: %1$s",
|
||||
"Failed to unlink: %1$s" : "Neuspjelo uklanjanje veze: %1$s",
|
||||
@@ -250,6 +251,7 @@
|
||||
"Completed on %s" : "Završeno na %s",
|
||||
"Due on %s by %s" : "%s treba završiti do %s",
|
||||
"Due on %s" : "Treba završiti do %s",
|
||||
"This is an example contact" : "Ovo je primjer kontakta",
|
||||
"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." : "Dobrodošli u Nextcloud Kalendar!\n\nOvo je primjer događaja – istražite fleksibilnost planiranja s Nextcloud Kalendarom tako da napravite bilo kakve izmjene koje želite!\n\nUz Nextcloud Kalendar možete:\n- Jednostavno stvarati, uređivati i upravljati događajima..\n- Stvarati više kalendara i dijeliti ih s kolegama, prijateljima ili obitelji.\n- Provjeravati dostupnost i drugima prikazivati svoja zauzeta razdoblja.\n- Neprimjetno se integrirati s aplikacijama i uređajima putem CalDAV-a.\n- Prilagoditi svoje iskustvo: zakazivati ponavljajuće događaje, prilagođavati obavijesti i druge postavke.",
|
||||
"Example event - open me!" : "Primjer događaja – otvori me!",
|
||||
"System Address Book" : "Adresar sustava",
|
||||
|
||||
@@ -0,0 +1,345 @@
|
||||
OC.L10N.register(
|
||||
"dav",
|
||||
{
|
||||
"Calendar" : "Kalendorius",
|
||||
"Tasks" : "Užduotys",
|
||||
"Personal" : "Asmeniniai",
|
||||
"{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
|
||||
"You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
|
||||
"{actor} deleted calendar {calendar}" : "{actor} ištrynė kalendorių {calendar}",
|
||||
"You deleted calendar {calendar}" : "Jūs ištrynėte kalendorių {calendar}",
|
||||
"{actor} updated calendar {calendar}" : "{actor} atnaujino kalendorių {calendar}",
|
||||
"You updated calendar {calendar}" : "Jūs atnaujinote kalendorių {calendar}",
|
||||
"{actor} restored calendar {calendar}" : "{actor} atkūrė kalendorių {calendar}",
|
||||
"You restored calendar {calendar}" : "Jūs atkūrėte kalendorių {calendar}",
|
||||
"You shared calendar {calendar} as public link" : "Jūs pradėjote bendrinti kalendorių {calendar} kaip viešąją nuorodą",
|
||||
"You removed public link for calendar {calendar}" : "Jūs pašalinote viešąją nuorodą kalendoriui {calendar}",
|
||||
"{actor} shared calendar {calendar} with you" : "{actor} pradėjo bendrinti su jumis kalendorių {calendar}",
|
||||
"You shared calendar {calendar} with {user}" : "Jūs pradėjote bendrinti kalendorių {calendar} su {user}",
|
||||
"{actor} shared calendar {calendar} with {user}" : "{actor} pradėjo bendrinti kalendorių {calendar} su {user}",
|
||||
"{actor} unshared calendar {calendar} from you" : "{actor} nustojo bendrinti su jumis kalendorių {calendar}",
|
||||
"You unshared calendar {calendar} from {user}" : "Jūs nustojote bendrinti kalendorių {calendar} su {user}",
|
||||
"{actor} unshared calendar {calendar} from {user}" : "{actor} nustojo bendrinti kalendorių {calendar} su {user}",
|
||||
"{actor} unshared calendar {calendar} from themselves" : "{actor} nustojo bendrinti su savimi kalendorių {calendar}",
|
||||
"You shared calendar {calendar} with group {group}" : "Jūs pradėjote bendrinti kalendorių {calendar} su grupe {group}",
|
||||
"{actor} shared calendar {calendar} with group {group}" : "{actor} pradėjo bendrinti kalendorių {calendar} su grupe {group}",
|
||||
"You unshared calendar {calendar} from group {group}" : "Jūs nustojote bendrinti kalendorių {calendar} su grupe {group}",
|
||||
"{actor} unshared calendar {calendar} from group {group}" : "{actor} nustojo bendrinti kalendorių {calendar} su grupe {group}",
|
||||
"Untitled event" : "Įvykis be pavadinimo",
|
||||
"{actor} created event {event} in calendar {calendar}" : "{actor} kalendoriuje {calendar} sukūrė įvykį {event}",
|
||||
"You created event {event} in calendar {calendar}" : "Jūs kalendoriuje {calendar} sukūrėte įvykį {event}",
|
||||
"{actor} deleted event {event} from calendar {calendar}" : "{actor} ištrynė įvykį {event} iš kalendoriaus {calendar}",
|
||||
"You deleted event {event} from calendar {calendar}" : "Jūs ištrynėte įvykį {event} iš kalendoriaus {calendar}",
|
||||
"{actor} updated event {event} in calendar {calendar}" : "{actor} kalendoriuje {calendar} atnaujino įvykį {event}",
|
||||
"You updated event {event} in calendar {calendar}" : "Jūs kalendoriuje {calendar} atnaujinote įvykį {event}",
|
||||
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} perkėlė {event} įvykį iš {sourceCalendar} kalendoriaus į {targetCalendar} kalendorių",
|
||||
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Jūs perkėlėte {event} įvykį iš {sourceCalendar} kalendroriaus į {targetCalendar} kalendorių",
|
||||
"{actor} restored event {event} of calendar {calendar}" : "{actor} kalendoriuje {calendar} atkūrė įvykį {event}",
|
||||
"You restored event {event} of calendar {calendar}" : "Jūs kalendoriuje {calendar} atkūrėte įvykį {event}",
|
||||
"Busy" : "Užimtas laikas",
|
||||
"{actor} created to-do {todo} in list {calendar}" : "{actor} sukūrė {todo} darbų sąraše {calendar}",
|
||||
"You created to-do {todo} in list {calendar}" : "Jūs sukūrėte {todo} darbų sąraše {calendar}",
|
||||
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} pašalino {todo} darbą iš sąrašo {calendar}",
|
||||
"You deleted to-do {todo} from list {calendar}" : "Jūs ištrynėte {todo} darbus iš sąrašo {calendar}",
|
||||
"{actor} updated to-do {todo} in list {calendar}" : "{actor} atnaujino {todo} darbą sąraše {calendar}",
|
||||
"You updated to-do {todo} in list {calendar}" : "Jūs atnaujinote {todo} darbą sąraše {calendar}",
|
||||
"{actor} solved to-do {todo} in list {calendar}" : "{actor} užbaigė {todo} darbą iš sąrašo {calendar}",
|
||||
"You solved to-do {todo} in list {calendar}" : "Jūs užbaigėte {todo} darbą iš sąrašo {calendar}",
|
||||
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} vėl pradėjo {todo} darbą iš sąrašo {calendar}",
|
||||
"You reopened to-do {todo} in list {calendar}" : "Jūs vėl pradėjote {todo} darbą iš sąrašo {calendar}",
|
||||
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} perkėlė {todo} darbą iš {sourceCalendar} sąrašo į {targetCalendar}",
|
||||
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Jūs perkėlėte {todo} darbą iš {sourceCalendar} sąrašo į {targetCalendar}",
|
||||
"Calendar, contacts and tasks" : "Kalendorius, adresatai ir užduotys",
|
||||
"A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
|
||||
"A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
|
||||
"A calendar <strong>to-do</strong> was modified" : "Kalendoriaus <strong>darbų sąrašas</strong> buvo atnaujintas",
|
||||
"Contact birthdays" : "Adresatų gimtadieniai",
|
||||
"Death of %s" : "%s pabaiga",
|
||||
"Untitled calendar" : "Kalendorius be pavadinimo",
|
||||
"Calendar:" : "Kalendorius:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Kur:",
|
||||
"Description:" : "Aprašas:",
|
||||
"_%n year_::_%n years_" : ["%n metai","%n metai","%n metų","%n metai"],
|
||||
"_%n month_::_%n months_" : ["%n mėnesis","%n mėnesiai","%n mėnesių","%n mėnesis"],
|
||||
"_%n day_::_%n days_" : ["%n diena","%n dienos","%n dienų","%n diena"],
|
||||
"_%n hour_::_%n hours_" : ["%n valanda","%n valandos","%n valandų","%n valanda"],
|
||||
"_%n minute_::_%n minutes_" : ["%n minutė","%n minutės","%n minučių","%n minutė"],
|
||||
"%s (in %s)" : "%s (po %s)",
|
||||
"%s (%s ago)" : "%s (prieš %s)",
|
||||
"Calendar: %s" : "Kalendorius: %s",
|
||||
"Date: %s" : "Data: %s",
|
||||
"Description: %s" : "Aprašas: %s",
|
||||
"Where: %s" : "Kur: %s",
|
||||
"%1$s via %2$s" : "%1$s per %2$s",
|
||||
"In the past on %1$s for the entire day" : "Anksčiau %1$s visą dieną",
|
||||
"_In %n minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Per %n minutę %1$s visai dienai","Per %n minutes %1$s visai dienai","Per %n minučių %1$s visai dienai","Per %n minučių %1$s visai dienai"],
|
||||
"_In %n hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Per %n valandą %1$s visai dienai","Per %n valandas %1$s visai dienai","Per %n valandų %1$s visai dienai","Per %n valandų %1$s visai dienai"],
|
||||
"_In %n day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Per %n dieną %1$s visai dienai","Per %n dienas %1$s visai dienai","Per %n dienų %1$s visai dienai","Per %n dienų %1$s visai dienai"],
|
||||
"_In %n week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Per %n savaitę %1$s visai dienai","Per %n savaites %1$s visai dienai","Per %n savaičių %1$s visai dienai","Per %n savaičių %1$s visai dienai"],
|
||||
"_In %n month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Per %n mėnesį %1$s visai dienai","Per %n mėnesius %1$s visai dienai","Per %n mėnesių %1$s visai dienai","Per %n mėnesių %1$s visai dienai"],
|
||||
"_In %n year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Per %n metus %1$s visai dienai","Per %n metus %1$s visai dienai","Per %n metų %1$s visai dienai","Per %n metų %1$s visai dienai"],
|
||||
"In the past on %1$s between %2$s - %3$s" : "Anksčiau %1$s tarp %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_" : ["Per %n minutę %1$s tarp %2$s - %3$s","Per %n minutes %1$s tarp %2$s - %3$s","Per %n minučių %1$s tarp %2$s - %3$s","Per %n minučių %1$s tarp %2$s - %3$s"],
|
||||
"_In %n hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Per %n valandą %1$s tarp %2$s - %3$s","Per %n valandas %1$s tarp %2$s - %3$s","Per %n valandų %1$s tarp %2$s - %3$s","Per %n valandų %1$s tarp %2$s - %3$s"],
|
||||
"_In %n day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Per %n dieną %1$s tarp %2$s - %3$s","Per %n dienas %1$s tarp %2$s - %3$s","Per %n dienų %1$s tarp %2$s - %3$s","Per %n dienų %1$s tarp %2$s - %3$s"],
|
||||
"_In %n week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Per %n savaitę %1$s tarp %2$s - %3$s","Per %n savaites %1$s tarp %2$s - %3$s","Per %n savaičių %1$s tarp %2$s - %3$s","Per %n savaičių %1$s tarp %2$s - %3$s"],
|
||||
"_In %n month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Per %n mėnesį %1$s tarp %2$s ir %3$s","Per %n mėnesius %1$s tarp %2$s - %3$s","Per %n mėnesių %1$s tarp %2$s - %3$s","Per %n mėnesių %1$s tarp %2$s - %3$s"],
|
||||
"_In %n year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Per %n metus %1$s tarp %2$s - %3$s","Per %n metus %1$s tarp %2$s - %3$s","Per %n metų %1$s tarp %2$s - %3$s","Per %n metų %1$s tarp %2$s - %3$s"],
|
||||
"Could not generate when statement" : "Nepavyko sugeneruoti kada sakinio",
|
||||
"Every Day for the entire day" : "Kiekvieną dieną visą dieną",
|
||||
"Every Day for the entire day until %1$s" : "Kiekvieną dieną visą dieną iki %1$s",
|
||||
"Every Day between %1$s - %2$s" : "Kiekvieną dieną tarp %1$s - %2$s",
|
||||
"Every Day between %1$s - %2$s until %3$s" : "Kiekvieną dieną tarp %1$s - %2$s iki %3$s",
|
||||
"Every %1$d Days for the entire day" : "Kiekvieną %1$d dieną visą dieną",
|
||||
"Every %1$d Days for the entire day until %2$s" : "Kiekvieną %1$d dieną visą dieną iki %2$s",
|
||||
"Every %1$d Days between %2$s - %3$s" : "Kiekvieną %1$d dieną tarp %2$s - %3$s",
|
||||
"Every %1$d Days between %2$s - %3$s until %4$s" : "Kiekvieną %1$d dieną tarp %2$s - %3$s iki %4$s",
|
||||
"Could not generate event recurrence statement" : "Nepavyko sugeneruoti įvykio pasikartojimo sakinio",
|
||||
"Every Week on %1$s for the entire day" : "Kiekvieną savaitę %1$s visą dieną",
|
||||
"Every Week on %1$s for the entire day until %2$s" : "Kiekvieną savaitę %1$s visą dieną iki %2$s",
|
||||
"Every Week on %1$s between %2$s - %3$s" : "Kiekvieną savaitę %1$s tarp %2$s - %3$s",
|
||||
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Kiekvieną savaitę %1$s tarp %2$s - %3$s iki %4$s",
|
||||
"Every %1$d Weeks on %2$s for the entire day" : "Kiekvieną %1$d savaitę %2$s visą dieną",
|
||||
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Kiekvieną %1$d savaitę %2$s visą dieną iki %3$s",
|
||||
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Kiekvieną %1$d savaitę %2$s tarp %3$s - %4$s",
|
||||
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Kiekvieną %1$d savaitę %2$s tarp %3$s - %4$s iki %5$s",
|
||||
"Every Month on the %1$s for the entire day" : "Kiekvieną mėnesį %1$s visą dieną",
|
||||
"Every Month on the %1$s for the entire day until %2$s" : "Kiekvieną mėnesį %1$s visą dieną iki %2$s",
|
||||
"Every Month on the %1$s between %2$s - %3$s" : "Kiekvieną mėnesį %1$s tarp %2$s - %3$s",
|
||||
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Kiekvieną mėnesį %1$s tarp %2$s - %3$s iki %4$s",
|
||||
"Every %1$d Months on the %2$s for the entire day" : "Kiekvieną %1$d mėnesį %2$s visą dieną",
|
||||
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Kiekvieną %1$d mėnesį %2$s visą dieną iki %3$s",
|
||||
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Kiekvieną %1$d mėnesį %2$s tarp %3$s - %4$s",
|
||||
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Kiekvieną %1$d mėnesį %2$s tarp %3$s - %4$s iki %5$s",
|
||||
"Every Year in %1$s on the %2$s for the entire day" : "Kiekvienais metais %1$s , %2$s visą dieną",
|
||||
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Kiekvienais metais %1$s , %2$s visą dieną iki %3$s",
|
||||
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Kiekvienais metais %1$s , %2$s tarp %3$s - %4$s",
|
||||
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Kiekvienais metais %1$s , %2$s tarp %3$s - %4$s iki %5$s",
|
||||
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Kiekvienais %1$d metais %2$s, %3$s visą dieną",
|
||||
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Kiekvienais %1$d metais %2$s , %3$s visą dieną iki %4$s",
|
||||
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Kiekvienais %1$d metais %2$s , %3$s tarp %4$s - %5$s",
|
||||
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Kiekvienais %1$d metais %2$s , %3$s tarp %4$s - %5$s iki %6$s",
|
||||
"On specific dates for the entire day until %1$s" : "Konkrečiomis datomis visą dieną iki %1$s",
|
||||
"On specific dates between %1$s - %2$s until %3$s" : "Konkrečiomis datomis tarp %1$s - %2$s iki %3$s",
|
||||
"In the past on %1$s" : "Praeityje %1$s",
|
||||
"_In %n minute on %1$s_::_In %n minutes on %1$s_" : ["Per %n minutę %1$s","Per %n minutes %1$s","Per %n minučių %1$s","Per %n minučių %1$s"],
|
||||
"_In %n hour on %1$s_::_In %n hours on %1$s_" : ["Per %n valandą %1$s","Per %n valandas %1$s","Per %n valandų %1$s","Per %n valandų %1$s"],
|
||||
"_In %n day on %1$s_::_In %n days on %1$s_" : ["Per %n dieną %1$s","Per %n dienas %1$s","Per %n dienų %1$s","Per %n dienų %1$s"],
|
||||
"_In %n week on %1$s_::_In %n weeks on %1$s_" : ["Per %n savaitę %1$s","Per %n savaites %1$s","Per %n savaičių %1$s","Per %n savaičių %1$s"],
|
||||
"_In %n month on %1$s_::_In %n months on %1$s_" : ["Per %n mėnesį %1$s","Per %n mėnesius %1$s","Per %n mėnesių %1$s","Per %n mėnesių %1$s"],
|
||||
"_In %n year on %1$s_::_In %n years on %1$s_" : ["Per %n metus %1$s","Per %n metus %1$s","Per %n metų %1$s","Per %n metų %1$s"],
|
||||
"In the past on %1$s then on %2$s" : "Anksčiau %1$s tuomet %2$s",
|
||||
"_In %n minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Per %n minutę %1$s tuomet %2$s","Per %n minutes %1$s tuomet %2$s","Per %n minučių %1$s tuomet %2$s","Per %n minučių %1$s tuomet %2$s"],
|
||||
"_In %n hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Per %n valandą %1$s tuomet %2$s","Per %n valandas %1$s tuomet %2$s","Per %n valandų %1$s tuomet %2$s","Per %n valandų %1$s tuomet %2$s"],
|
||||
"_In %n day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Per %n dieną %1$s tuomet %2$s","Per %n dienas %1$s tuomet %2$s","Per %n dienų %1$s tuomet %2$s","Per %n dienų %1$s tuomet %2$s"],
|
||||
"_In %n week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["Per %n savaitę %1$s tuomet %2$s","Per %n savaites %1$s tuomet %2$s","Per %n savaičių %1$s tuomet %2$s","Per %n savaičių %1$s tuomet %2$s"],
|
||||
"_In %n month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Per %n mėnesį %1$s tuomet %2$s","Per %n mėnesius %1$s tuomet %2$s","Per %n mėnesių %1$s tuomet %2$s","Per %n mėnesių %1$s tuomet %2$s"],
|
||||
"_In %n year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["Per %n metus %1$s tuomet %2$s","Per %n metus %1$s tuomet %2$s","Per %n metų %1$s tuomet %2$s","Per %n metų %1$s tuomet %2$s"],
|
||||
"In the past on %1$s then on %2$s and %3$s" : "Anksčiau %1$s tuomet %2$s ir %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_" : ["Per %n minutę %1$s tuomet %2$s ir %3$s","Per %n minutes %1$s tuomet %2$s ir %3$s","Per %n minučių %1$s tuomet %2$s ir %3$s","Per %n minučių %1$s tuomet %2$s ir %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_" : ["Per %n valandą %1$s tuomet %2$s ir %3$s","Per %n valandas %1$s tuomet %2$s ir %3$s","Per %n valandų %1$s tuomet %2$s ir %3$s","Per %n valandų %1$s tuomet %2$s ir %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_" : ["Per %n dieną %1$s tuomet %2$s ir %3$s","Per %n dienas %1$s tuomet %2$s ir %3$s","Per %n dienų %1$s tuomet %2$s ir %3$s","Per %n dienų %1$s tuomet %2$s ir %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_" : ["Per %n savaitę %1$s tuomet %2$s ir %3$s","Per %n savaites %1$s tuomet %2$s ir %3$s","Per %n savaičių %1$s tuomet %2$s ir %3$s","Per %n savaičių %1$s tuomet %2$s ir %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_" : ["Per %n mėnesį %1$s tuomet %2$s ir %3$s","Per %n mėnesius %1$s tuomet %2$s ir %3$s","Per %n mėnesių %1$s tuomet %2$s ir %3$s","Per %n mėnesių %1$s tuomet %2$s ir %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_" : ["Per %n metus %1$s tuomet %2$s ir %3$s","Per %n metus %1$s tuomet %2$s ir %3$s","Per %n metų %1$s tuomet %2$s ir %3$s","Per %n metų %1$s tuomet %2$s ir %3$s"],
|
||||
"Could not generate next recurrence statement" : "Nepavyko sugeneruoti kito pasikartojimo sakinio",
|
||||
"Cancelled: %1$s" : "Atšaukta: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" buvo atšauktas",
|
||||
"Re: %1$s" : "Dėl: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s priėmė jūsų kvietimą",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s preliminariai priėmė jūsų kvietimą",
|
||||
"%1$s has declined your invitation" : "%1$s atmetė jūsų kvietimą",
|
||||
"%1$s has responded to your invitation" : "%1$s atsakė į jūsų kvietimą",
|
||||
"Invitation updated: %1$s" : "Kvietimas atnaujintas: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s atnaujino įvykį \"%2$s\"",
|
||||
"Invitation: %1$s" : "Pakvietimas: %1$s",
|
||||
"%1$s would like to invite you to \"%2$s\"" : "%1$s norėtų jus pakviesti į \"%2$s\"",
|
||||
"Organizer:" : "Organizatorius:",
|
||||
"Attendees:" : "Kviestiniai:",
|
||||
"Title:" : "Pavadinimas:",
|
||||
"When:" : "Kada:",
|
||||
"Location:" : "Vieta:",
|
||||
"Link:" : "Nuoroda:",
|
||||
"Occurring:" : "Pasitaiko:",
|
||||
"Accept" : "Priimti",
|
||||
"Decline" : "Atmesti",
|
||||
"More options …" : "Daugiau parinkčių…",
|
||||
"More options at %s" : "Daugiau parinkčių %s",
|
||||
"Monday" : "Pirmadienis",
|
||||
"Tuesday" : "Antradienis",
|
||||
"Wednesday" : "Trečiadienis",
|
||||
"Thursday" : "Ketvirtadienis",
|
||||
"Friday" : "Penktadienis",
|
||||
"Saturday" : "Šeštadienis",
|
||||
"Sunday" : "Sekmadienis",
|
||||
"January" : "Sausis",
|
||||
"February" : "Vasaris",
|
||||
"March" : "Kovas",
|
||||
"April" : "Balandis",
|
||||
"May" : "Gegužė",
|
||||
"June" : "Birželis",
|
||||
"July" : "Liepa",
|
||||
"August" : "Rugpjūtis",
|
||||
"September" : "Rugsėjis",
|
||||
"October" : "Spalis",
|
||||
"November" : "Lapkritis",
|
||||
"December" : "Gruodis",
|
||||
"First" : "Pirmas",
|
||||
"Second" : "Antras",
|
||||
"Third" : "Trečias",
|
||||
"Fourth" : "Ketvirtas",
|
||||
"Fifth" : "Penktas",
|
||||
"Last" : "Paskutinis",
|
||||
"Second Last" : "Antras paskutinis",
|
||||
"Third Last" : "Trečias paskutinis",
|
||||
"Fourth Last" : "Ketvirtasis paskutinis",
|
||||
"Fifth Last" : "Penktas paskutinis",
|
||||
"Contacts" : "Adresatai",
|
||||
"{actor} created address book {addressbook}" : "{actor} sukūrė adresų knygą {addressbook}",
|
||||
"You created address book {addressbook}" : "Jūs sukūrėte adresų knygą {addressbook}",
|
||||
"{actor} deleted address book {addressbook}" : "{actor} ištrynė adresų knygą {addressbook}",
|
||||
"You deleted address book {addressbook}" : "Jūs ištrynėte adresų knygą {addressbook}",
|
||||
"{actor} updated address book {addressbook}" : "{actor} atnaujino adresų knygą {addressbook}",
|
||||
"You updated address book {addressbook}" : "Jūs atnaujinote adresų knygą {addressbook}",
|
||||
"{actor} shared address book {addressbook} with you" : "{actor} pasidalino su jumis {addressbook} adresų knyga",
|
||||
"You shared address book {addressbook} with {user}" : "Jūs pasidalinote {addressbook} adresų knyga su {user}",
|
||||
"{actor} shared address book {addressbook} with {user}" : "{actor} pasidalino {addressbook} adresų knyga su {user}",
|
||||
"{actor} unshared address book {addressbook} from you" : "{actor} atšaukė su jumis bendrinamą {addressbook} adresų knygą",
|
||||
"You unshared address book {addressbook} from {user}" : "Jūs atšaukėte bendrinamą {addressbook} adresų knygą su {user}",
|
||||
"{actor} unshared address book {addressbook} from {user}" : "{actor} atšaukė {addressbook} bendrinamą adresų knygą su {user}",
|
||||
"{actor} unshared address book {addressbook} from themselves" : "{actor} atšaukė savo paties bendrinamą {addressbook} adresų knygą",
|
||||
"You shared address book {addressbook} with group {group}" : "Jūs bendrinote {addressbook} adresų knygą su {group} grupe",
|
||||
"{actor} shared address book {addressbook} with group {group}" : "{actor} bendrino {addressbook} adresų knygą su {group} grupe",
|
||||
"You unshared address book {addressbook} from group {group}" : "Jūs atšaukėte bendrinamą {addressbook}adresų knygą su {group} grupe",
|
||||
"{actor} unshared address book {addressbook} from group {group}" : "{actor} atšaukė bendrinamą {addressbook} adresų knygą su {group} grupe",
|
||||
"{actor} created contact {card} in address book {addressbook}" : "{actor} sukūrė {card} kontaktą {addressbook} adresų knygoje",
|
||||
"You created contact {card} in address book {addressbook}" : "Jūs sukūrėte {card} kontaktą {addressbook} adresų knygoje",
|
||||
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} ištrynė {card} kontaktų iš {addressbook} adresų knygos",
|
||||
"You deleted contact {card} from address book {addressbook}" : "Jūs ištrynėte {card} kontaktą iš {addressbook} adresų knygos",
|
||||
"{actor} updated contact {card} in address book {addressbook}" : "{actor} atnaujino {card} kontaktą {addressbook} adresų knygoje",
|
||||
"You updated contact {card} in address book {addressbook}" : "Jūs atnaujinote {card} kontaktą {addressbook} adresų knygoje",
|
||||
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>kontaktas</strong> arba <strong>adresų knyga</strong> buvo atnaujinta",
|
||||
"System address book disabled" : "Sistemos adresų knyga išjungta",
|
||||
"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}" : "Sistemos kontaktų adresų knyga buvo automatiškai išjungta atnaujinimo metu. Tai reiškia, kad adresų knyga nebebus pasiekiama vartotojams kontaktų programėlėje ar kituose klientuose. Sistemos kontaktų adresų knyga buvo išjungta, nes joje esančių kontaktų skaičius viršijo maksimalų rekomenduojamą kontaktų skaičių. Šis apribojimas nustatytas siekiant išvengti našumo problemų. Sistemos adresų knygą galite iš naujo įjungti naudodami šią komandą {command}.",
|
||||
"Accounts" : "Paskyros",
|
||||
"System address book which holds all accounts" : "Sistemos adresų knyga, kurioje saugomos visos paskyros",
|
||||
"File is not updatable: %1$s" : "Failo atnaujinamas negalimas: %1$s",
|
||||
"Failed to get storage for file" : "Nepavyko gauti failo saugyklos vietos",
|
||||
"Could not write to final file, canceled by hook" : "Nepavyko įrašyti į galutinį failą, atšaukta naudojant interceptorių",
|
||||
"Could not write file contents" : "Nepavyko įrašyti failo turinio",
|
||||
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų","%n baitų"],
|
||||
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Klaida kopijuojant failą į paskirties vietą (nukopijuota: %1$s, numatomas failo dydis: %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." : "Tikėtasi %1$s failo dydžio, bet nuskaityta (iš „Nextcloud“ kliento) ir įrašyta (į „Nextcloud“ saugyklą) %2$s. Gali būti tinklo problema siuntėjo pusėje arba problema rašant į saugyklą serverio pusėje.",
|
||||
"Could not rename part file to final file, canceled by hook" : "Nepavyko pervadinti dalinio failo į galutinį failą, atšaukta naudojant interceptorių",
|
||||
"Could not rename part file to final file" : "Nepavyko pervadinti dalinio failo į galutinį failą",
|
||||
"Failed to check file size: %1$s" : "Nepavyko patikrinti failo dydžio: %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nepavyko atidaryti failo: %1$s (%2$d), atrodo, kad failas egzistuoja",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nepavyko atidaryti failo: %1$s (%2$d), atrodo, kad failo nėra",
|
||||
"Failed to get size for : %1$s" : "Nepavyko gauti %1$s dydžio",
|
||||
"Encryption not ready: %1$s" : "Šifravimas neparuoštas: %1$s",
|
||||
"Failed to open file: %1$s" : "Nepavyko atverti failo: %1$s",
|
||||
"Failed to unlink: %1$s" : "Nepavyko atsieti: %1$s",
|
||||
"Failed to write file contents: %1$s" : "Nepavyko įrašyti failo turinio: %1$s",
|
||||
"File not found: %1$s" : "Failas nerastas: %1$s",
|
||||
"Invalid target path" : "Netinkamas tikslinis kelias",
|
||||
"System is in maintenance mode." : "Sistema yra techninės priežiūros veiksenoje.",
|
||||
"Upgrade needed" : "Reikalingas naujinimas",
|
||||
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Norint naudoti CalDAV ir CardDAV su iOS/macOS, jūsų %s turi būti sukonfigūruota taip, kad naudotų HTTPS.",
|
||||
"Configures a CalDAV account" : "Konfigūruoja CalDAV paskyrą",
|
||||
"Configures a CardDAV account" : "Konfigūruoja CardDAV paskyrą",
|
||||
"Events" : "Įvykiai",
|
||||
"Untitled task" : "Užduotis be pavadinimo",
|
||||
"Completed on %s" : "Pabaigta %s",
|
||||
"Due on %s by %s" : "Laukiamas %s iki %s",
|
||||
"Due on %s" : "Laukiamas %s",
|
||||
"This is an example contact" : "Tai yra kontakto pavyzdys",
|
||||
"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." : "Sveiki atvykę į „Nextcloud“ kalendorių!\n\nTai pavyzdinis įrašas – išbandykite planavimo lankstumą su „Nextcloud“ kalendoriumi, atlikdami bet kokius norimus pakeitimus!\n\nSu „Nextcloud“ kalendoriumi galite:\n- Nesunkiai kurti, redaguoti ir valdyti įvykius.\n- Kurti kelis kalendorius ir bendrinti juos su komandos nariais, draugais ar šeima.\n- Patikrinti prieinamumą ir rodyti savo užimtumo laiką kitiems.\n- Sklandžiai integruotis su programėlėmis ir įrenginiais per „CalDAV“.\n- Tinkinti savo patirtį: planuoti pasikartojančius įvykius, koreguoti pranešimus ir kitus nustatymus.",
|
||||
"Example event - open me!" : "Pavyzdinis įvykis – atverk mane!",
|
||||
"System Address Book" : "Sistemos adresų knyga",
|
||||
"The system address book contains contact information for all users in your instance." : "Sistemos adresų knygoje yra visų jūsų turimų vartotojų kontaktinė informacija.",
|
||||
"Enable System Address Book" : "Įjungti sistemos adresų knygą",
|
||||
"DAV system address book" : "DAV sistemos adresų knyga",
|
||||
"No outstanding DAV system address book sync." : "Nėra jokių nepatvirtintų DAV sistemos adresų knygos sinchronizavimo.",
|
||||
"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\"." : "DAV sistemos adresų knygos sinchronizavimas dar nebuvo paleistas, nes jūsų egzemplioriuje yra daugiau nei 1000 vartotojų arba įvyko klaida. Paleiskite jį rankiniu būdu, iškviečiant „occ dav:sync-system-addressbook“.",
|
||||
"DAV system address book size" : "DAV sistemos adresų knygos dydis",
|
||||
"The system address book is disabled" : "Sistemos adresų knyga išjungta",
|
||||
"The system address book is enabled, but contains more than the configured limit of %d contacts" : "Sistemos adresų knyga įjungta ir joje yra daugiau kontaktų nei nustatyta riba, t.y. %d kontaktų",
|
||||
"The system address book is enabled and contains less than the configured limit of %d contacts" : "Sistemos adresų knyga įjungta ir joje yra mažiau kontaktų nei nustatyta riba, t.y. %d kontaktų",
|
||||
"WebDAV endpoint" : "WebDAV galutinis taškas",
|
||||
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nepavyko patikrinti, ar jūsų žiniatinklio serveris tinkamai nustatytas leisti failų sinchronizavimą per WebDAV. Patikrinkite rankiniu būdu.",
|
||||
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Jūsų svetainės serveris nėra tinkamai sukonfiguruotas, Failų sinchronizavimas negalimas, nes neveikia WebDAV interfeisas.",
|
||||
"Your web server is properly set up to allow file synchronization over WebDAV." : "Jūsų žiniatinklio serveris tinkamai sukonfigūruotas, kad būtų galima sinchronizuoti failus per WebDAV.",
|
||||
"Calendars including events, details and attendees" : "Kalendoriai su įvykiais, informacija ir dalyviais",
|
||||
"Migrated calendar (%1$s)" : "Perkeltas kalendorius (%1$s)",
|
||||
"Contacts and groups" : "Adresatai ir grupės",
|
||||
"WebDAV" : "WebDAV",
|
||||
"Absence saved" : "Išsaugotas nebuvimas",
|
||||
"Failed to save your absence settings" : "Nepavyko išsaugoti jūsų nebuvimo nustatymų",
|
||||
"Absence cleared" : "Nebuvimas pašalintas",
|
||||
"Failed to clear your absence settings" : "Nepavyko išvalyti nedalyvavimo nustatymų",
|
||||
"First day" : "Pirma diena",
|
||||
"Last day (inclusive)" : "Paskutinė diena (imtinai)",
|
||||
"Out of office replacement (optional)" : "Nebuvimo biure pakeitimas (neprivaloma)",
|
||||
"Name of the replacement" : "Pakeitimo pavadinimas",
|
||||
"Short absence status" : "Trumpo nebuvimo būsena",
|
||||
"Long absence Message" : "Ilgo nebuvimo žinutė",
|
||||
"Save" : "Įrašyti",
|
||||
"Disable absence" : "Išjungti nebuvimą",
|
||||
"Failed to load availability" : "Nepavyko įkelti prieinamumo",
|
||||
"Saved availability" : "Išsaugotas pasiekiamumas",
|
||||
"Failed to save availability" : "Nepavyko išsaugoti pasiekiamumo",
|
||||
"to" : "iki",
|
||||
"Delete slot" : "Ištrinti laiko tarpą",
|
||||
"No working hours set" : "Nenustatyta jokių darbo valandų",
|
||||
"Add slot" : "Pridėti laiko tarpą",
|
||||
"Weekdays" : "Šiokiadieniai",
|
||||
"Pick a start time for {dayName}" : "Pasirinkite {dayName} pradžios laiką",
|
||||
"Pick a end time for {dayName}" : "Pasirinkite {dayName} pabaigos laiką",
|
||||
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatiškai nustatyti naudotojo būseną į „Netrukdyti“, kai jis nėra pasiekiamas, kad būtų nutildyti visi pranešimai.",
|
||||
"Cancel" : "Atsisakyti",
|
||||
"Import" : "Importuoti",
|
||||
"Error while saving settings" : "Klaida įrašant nustatymus",
|
||||
"Contact reset successfully" : "Kontaktas sėkmingai nustatytas iš naujo",
|
||||
"Error while resetting contact" : "Iš naujo nustatant kontaktą įvyko klaida",
|
||||
"Contact imported successfully" : "Kontaktas sėkmingai importuotas",
|
||||
"Error while importing contact" : "Importuojant kontaktą įvyko klaida",
|
||||
"Import contact" : "Importuoti kontaktą",
|
||||
"Reset to default" : "Atstatyti į numatytąjį",
|
||||
"Import contacts" : "Importuoti kontaktus",
|
||||
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importuojant naują .vcf failą, esamas numatytasis kontaktas bus ištrintas ir pakeistas nauju. Ar norite tęsti?",
|
||||
"Failed to save example event creation setting" : "Nepavyko išsaugoti pavyzdinio įvykio kūrimo nustatymo",
|
||||
"Failed to upload the example event" : "Nepavyko įkelti pavyzdinio įvykio",
|
||||
"Custom example event was saved successfully" : "Pasirinktinis pavyzdinis įvykis sėkmingai išsaugotas",
|
||||
"Failed to delete the custom example event" : "Nepavyko ištrinti pasirinktinio pavyzdžio įvykio",
|
||||
"Custom example event was deleted successfully" : "Pasirinktinis pavyzdinis įvykis sėkmingai ištrintas",
|
||||
"Import calendar event" : "Importuoti kalendoriaus įvykį",
|
||||
"Uploading a new event will overwrite the existing one." : "Įkėlus naują įvykį, esamas bus perrašytas.",
|
||||
"Upload event" : "Įkelti įvykį",
|
||||
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Taip pat įsidiekite {calendarappstoreopen}Kalendoriaus programėlę{linkclose} arba sinchronizavimui {calendardocopen}prijunkite savo darbalaukį ir mobilųjį ↗{linkclose}.",
|
||||
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Įsitikinkite, kad tinkamai nusistatėte {emailopen}el. pašto serverį{linkclose}.",
|
||||
"Calendar server" : "Kalendoriaus serveris",
|
||||
"Send invitations to attendees" : "Siųsti pakvietimus kviestiniams",
|
||||
"Automatically generate a birthday calendar" : "Automatiškai sukurti gimtadienių kalendorių",
|
||||
"Birthday calendars will be generated by a background job." : "Gimtadienių kalendoriai bus sukurti foninės užduoties.",
|
||||
"Hence they will not be available immediately after enabling but will show up after some time." : "Tai reiškia, kad jie nebus matomi iš karto įjungus, o pasirodys tik po kurio laiko.",
|
||||
"Send notifications for events" : "Siųsti įvykių pranešimus",
|
||||
"Notifications are sent via background jobs, so these must occur often enough." : "Pranešimai yra siunčiami per fonines užduotis, todėl jos privalo būti vykdomos gana dažnai.",
|
||||
"Send reminder notifications to calendar sharees as well" : "Siųskite priminimus ir tiems, kurie bendrina kalendorių",
|
||||
"Reminders are always sent to organizers and attendees." : "Priminimai visada siunčiami organizatoriams ir dalyviams.",
|
||||
"Enable notifications for events via push" : "Įjungti pranešimus apie įvykius per tiesioginius pranešimus",
|
||||
"Example content" : "Turinio pavyzdys",
|
||||
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Pavyzdinis turinys skirtas „Nextcloud“ funkcijoms demonstruoti. Numatytasis turinys pateikiamas kartu su „Nextcloud“ ir gali būti pakeistas pasirinktiniu turiniu.",
|
||||
"Availability" : "Pasiekiamumas",
|
||||
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jei sukonfigūruosite savo darbo valandas, kiti žmonės, rezervuodami susitikimą, matys, kada esate išvykę.",
|
||||
"Absence" : "Nebuvimas",
|
||||
"Configure your next absence period." : "Konfigūruokite kitą nebuvimo laikotarpį.",
|
||||
"There was an error updating your attendance status." : "Atnaujinant lankomumo būseną įvyko klaida.",
|
||||
"Please contact the organizer directly." : "Prašome susisiekti su organizatoriumi tiesiogiai.",
|
||||
"Are you accepting the invitation?" : "Ar priimate pakvietimą?",
|
||||
"Tentative" : "Preliminarus",
|
||||
"Your attendance was updated successfully." : "Jūsų lankomumas sėkmingai atnaujintas.",
|
||||
"No results." : "Jokių rezultatų.",
|
||||
"Start typing." : "Start typing."
|
||||
},
|
||||
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
|
||||
@@ -0,0 +1,343 @@
|
||||
{ "translations": {
|
||||
"Calendar" : "Kalendorius",
|
||||
"Tasks" : "Užduotys",
|
||||
"Personal" : "Asmeniniai",
|
||||
"{actor} created calendar {calendar}" : "{actor} sukūrė kalendorių {calendar}",
|
||||
"You created calendar {calendar}" : "Jūs sukūrėte kalendorių {calendar}",
|
||||
"{actor} deleted calendar {calendar}" : "{actor} ištrynė kalendorių {calendar}",
|
||||
"You deleted calendar {calendar}" : "Jūs ištrynėte kalendorių {calendar}",
|
||||
"{actor} updated calendar {calendar}" : "{actor} atnaujino kalendorių {calendar}",
|
||||
"You updated calendar {calendar}" : "Jūs atnaujinote kalendorių {calendar}",
|
||||
"{actor} restored calendar {calendar}" : "{actor} atkūrė kalendorių {calendar}",
|
||||
"You restored calendar {calendar}" : "Jūs atkūrėte kalendorių {calendar}",
|
||||
"You shared calendar {calendar} as public link" : "Jūs pradėjote bendrinti kalendorių {calendar} kaip viešąją nuorodą",
|
||||
"You removed public link for calendar {calendar}" : "Jūs pašalinote viešąją nuorodą kalendoriui {calendar}",
|
||||
"{actor} shared calendar {calendar} with you" : "{actor} pradėjo bendrinti su jumis kalendorių {calendar}",
|
||||
"You shared calendar {calendar} with {user}" : "Jūs pradėjote bendrinti kalendorių {calendar} su {user}",
|
||||
"{actor} shared calendar {calendar} with {user}" : "{actor} pradėjo bendrinti kalendorių {calendar} su {user}",
|
||||
"{actor} unshared calendar {calendar} from you" : "{actor} nustojo bendrinti su jumis kalendorių {calendar}",
|
||||
"You unshared calendar {calendar} from {user}" : "Jūs nustojote bendrinti kalendorių {calendar} su {user}",
|
||||
"{actor} unshared calendar {calendar} from {user}" : "{actor} nustojo bendrinti kalendorių {calendar} su {user}",
|
||||
"{actor} unshared calendar {calendar} from themselves" : "{actor} nustojo bendrinti su savimi kalendorių {calendar}",
|
||||
"You shared calendar {calendar} with group {group}" : "Jūs pradėjote bendrinti kalendorių {calendar} su grupe {group}",
|
||||
"{actor} shared calendar {calendar} with group {group}" : "{actor} pradėjo bendrinti kalendorių {calendar} su grupe {group}",
|
||||
"You unshared calendar {calendar} from group {group}" : "Jūs nustojote bendrinti kalendorių {calendar} su grupe {group}",
|
||||
"{actor} unshared calendar {calendar} from group {group}" : "{actor} nustojo bendrinti kalendorių {calendar} su grupe {group}",
|
||||
"Untitled event" : "Įvykis be pavadinimo",
|
||||
"{actor} created event {event} in calendar {calendar}" : "{actor} kalendoriuje {calendar} sukūrė įvykį {event}",
|
||||
"You created event {event} in calendar {calendar}" : "Jūs kalendoriuje {calendar} sukūrėte įvykį {event}",
|
||||
"{actor} deleted event {event} from calendar {calendar}" : "{actor} ištrynė įvykį {event} iš kalendoriaus {calendar}",
|
||||
"You deleted event {event} from calendar {calendar}" : "Jūs ištrynėte įvykį {event} iš kalendoriaus {calendar}",
|
||||
"{actor} updated event {event} in calendar {calendar}" : "{actor} kalendoriuje {calendar} atnaujino įvykį {event}",
|
||||
"You updated event {event} in calendar {calendar}" : "Jūs kalendoriuje {calendar} atnaujinote įvykį {event}",
|
||||
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} perkėlė {event} įvykį iš {sourceCalendar} kalendoriaus į {targetCalendar} kalendorių",
|
||||
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Jūs perkėlėte {event} įvykį iš {sourceCalendar} kalendroriaus į {targetCalendar} kalendorių",
|
||||
"{actor} restored event {event} of calendar {calendar}" : "{actor} kalendoriuje {calendar} atkūrė įvykį {event}",
|
||||
"You restored event {event} of calendar {calendar}" : "Jūs kalendoriuje {calendar} atkūrėte įvykį {event}",
|
||||
"Busy" : "Užimtas laikas",
|
||||
"{actor} created to-do {todo} in list {calendar}" : "{actor} sukūrė {todo} darbų sąraše {calendar}",
|
||||
"You created to-do {todo} in list {calendar}" : "Jūs sukūrėte {todo} darbų sąraše {calendar}",
|
||||
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} pašalino {todo} darbą iš sąrašo {calendar}",
|
||||
"You deleted to-do {todo} from list {calendar}" : "Jūs ištrynėte {todo} darbus iš sąrašo {calendar}",
|
||||
"{actor} updated to-do {todo} in list {calendar}" : "{actor} atnaujino {todo} darbą sąraše {calendar}",
|
||||
"You updated to-do {todo} in list {calendar}" : "Jūs atnaujinote {todo} darbą sąraše {calendar}",
|
||||
"{actor} solved to-do {todo} in list {calendar}" : "{actor} užbaigė {todo} darbą iš sąrašo {calendar}",
|
||||
"You solved to-do {todo} in list {calendar}" : "Jūs užbaigėte {todo} darbą iš sąrašo {calendar}",
|
||||
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} vėl pradėjo {todo} darbą iš sąrašo {calendar}",
|
||||
"You reopened to-do {todo} in list {calendar}" : "Jūs vėl pradėjote {todo} darbą iš sąrašo {calendar}",
|
||||
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} perkėlė {todo} darbą iš {sourceCalendar} sąrašo į {targetCalendar}",
|
||||
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Jūs perkėlėte {todo} darbą iš {sourceCalendar} sąrašo į {targetCalendar}",
|
||||
"Calendar, contacts and tasks" : "Kalendorius, adresatai ir užduotys",
|
||||
"A <strong>calendar</strong> was modified" : "<strong>Kalendorius</strong> buvo modifikuotas",
|
||||
"A calendar <strong>event</strong> was modified" : "Kalendoriaus <strong>įvykis</strong> buvo modifikuotas",
|
||||
"A calendar <strong>to-do</strong> was modified" : "Kalendoriaus <strong>darbų sąrašas</strong> buvo atnaujintas",
|
||||
"Contact birthdays" : "Adresatų gimtadieniai",
|
||||
"Death of %s" : "%s pabaiga",
|
||||
"Untitled calendar" : "Kalendorius be pavadinimo",
|
||||
"Calendar:" : "Kalendorius:",
|
||||
"Date:" : "Data:",
|
||||
"Where:" : "Kur:",
|
||||
"Description:" : "Aprašas:",
|
||||
"_%n year_::_%n years_" : ["%n metai","%n metai","%n metų","%n metai"],
|
||||
"_%n month_::_%n months_" : ["%n mėnesis","%n mėnesiai","%n mėnesių","%n mėnesis"],
|
||||
"_%n day_::_%n days_" : ["%n diena","%n dienos","%n dienų","%n diena"],
|
||||
"_%n hour_::_%n hours_" : ["%n valanda","%n valandos","%n valandų","%n valanda"],
|
||||
"_%n minute_::_%n minutes_" : ["%n minutė","%n minutės","%n minučių","%n minutė"],
|
||||
"%s (in %s)" : "%s (po %s)",
|
||||
"%s (%s ago)" : "%s (prieš %s)",
|
||||
"Calendar: %s" : "Kalendorius: %s",
|
||||
"Date: %s" : "Data: %s",
|
||||
"Description: %s" : "Aprašas: %s",
|
||||
"Where: %s" : "Kur: %s",
|
||||
"%1$s via %2$s" : "%1$s per %2$s",
|
||||
"In the past on %1$s for the entire day" : "Anksčiau %1$s visą dieną",
|
||||
"_In %n minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Per %n minutę %1$s visai dienai","Per %n minutes %1$s visai dienai","Per %n minučių %1$s visai dienai","Per %n minučių %1$s visai dienai"],
|
||||
"_In %n hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Per %n valandą %1$s visai dienai","Per %n valandas %1$s visai dienai","Per %n valandų %1$s visai dienai","Per %n valandų %1$s visai dienai"],
|
||||
"_In %n day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Per %n dieną %1$s visai dienai","Per %n dienas %1$s visai dienai","Per %n dienų %1$s visai dienai","Per %n dienų %1$s visai dienai"],
|
||||
"_In %n week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Per %n savaitę %1$s visai dienai","Per %n savaites %1$s visai dienai","Per %n savaičių %1$s visai dienai","Per %n savaičių %1$s visai dienai"],
|
||||
"_In %n month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Per %n mėnesį %1$s visai dienai","Per %n mėnesius %1$s visai dienai","Per %n mėnesių %1$s visai dienai","Per %n mėnesių %1$s visai dienai"],
|
||||
"_In %n year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Per %n metus %1$s visai dienai","Per %n metus %1$s visai dienai","Per %n metų %1$s visai dienai","Per %n metų %1$s visai dienai"],
|
||||
"In the past on %1$s between %2$s - %3$s" : "Anksčiau %1$s tarp %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_" : ["Per %n minutę %1$s tarp %2$s - %3$s","Per %n minutes %1$s tarp %2$s - %3$s","Per %n minučių %1$s tarp %2$s - %3$s","Per %n minučių %1$s tarp %2$s - %3$s"],
|
||||
"_In %n hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Per %n valandą %1$s tarp %2$s - %3$s","Per %n valandas %1$s tarp %2$s - %3$s","Per %n valandų %1$s tarp %2$s - %3$s","Per %n valandų %1$s tarp %2$s - %3$s"],
|
||||
"_In %n day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Per %n dieną %1$s tarp %2$s - %3$s","Per %n dienas %1$s tarp %2$s - %3$s","Per %n dienų %1$s tarp %2$s - %3$s","Per %n dienų %1$s tarp %2$s - %3$s"],
|
||||
"_In %n week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Per %n savaitę %1$s tarp %2$s - %3$s","Per %n savaites %1$s tarp %2$s - %3$s","Per %n savaičių %1$s tarp %2$s - %3$s","Per %n savaičių %1$s tarp %2$s - %3$s"],
|
||||
"_In %n month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Per %n mėnesį %1$s tarp %2$s ir %3$s","Per %n mėnesius %1$s tarp %2$s - %3$s","Per %n mėnesių %1$s tarp %2$s - %3$s","Per %n mėnesių %1$s tarp %2$s - %3$s"],
|
||||
"_In %n year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Per %n metus %1$s tarp %2$s - %3$s","Per %n metus %1$s tarp %2$s - %3$s","Per %n metų %1$s tarp %2$s - %3$s","Per %n metų %1$s tarp %2$s - %3$s"],
|
||||
"Could not generate when statement" : "Nepavyko sugeneruoti kada sakinio",
|
||||
"Every Day for the entire day" : "Kiekvieną dieną visą dieną",
|
||||
"Every Day for the entire day until %1$s" : "Kiekvieną dieną visą dieną iki %1$s",
|
||||
"Every Day between %1$s - %2$s" : "Kiekvieną dieną tarp %1$s - %2$s",
|
||||
"Every Day between %1$s - %2$s until %3$s" : "Kiekvieną dieną tarp %1$s - %2$s iki %3$s",
|
||||
"Every %1$d Days for the entire day" : "Kiekvieną %1$d dieną visą dieną",
|
||||
"Every %1$d Days for the entire day until %2$s" : "Kiekvieną %1$d dieną visą dieną iki %2$s",
|
||||
"Every %1$d Days between %2$s - %3$s" : "Kiekvieną %1$d dieną tarp %2$s - %3$s",
|
||||
"Every %1$d Days between %2$s - %3$s until %4$s" : "Kiekvieną %1$d dieną tarp %2$s - %3$s iki %4$s",
|
||||
"Could not generate event recurrence statement" : "Nepavyko sugeneruoti įvykio pasikartojimo sakinio",
|
||||
"Every Week on %1$s for the entire day" : "Kiekvieną savaitę %1$s visą dieną",
|
||||
"Every Week on %1$s for the entire day until %2$s" : "Kiekvieną savaitę %1$s visą dieną iki %2$s",
|
||||
"Every Week on %1$s between %2$s - %3$s" : "Kiekvieną savaitę %1$s tarp %2$s - %3$s",
|
||||
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Kiekvieną savaitę %1$s tarp %2$s - %3$s iki %4$s",
|
||||
"Every %1$d Weeks on %2$s for the entire day" : "Kiekvieną %1$d savaitę %2$s visą dieną",
|
||||
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Kiekvieną %1$d savaitę %2$s visą dieną iki %3$s",
|
||||
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Kiekvieną %1$d savaitę %2$s tarp %3$s - %4$s",
|
||||
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Kiekvieną %1$d savaitę %2$s tarp %3$s - %4$s iki %5$s",
|
||||
"Every Month on the %1$s for the entire day" : "Kiekvieną mėnesį %1$s visą dieną",
|
||||
"Every Month on the %1$s for the entire day until %2$s" : "Kiekvieną mėnesį %1$s visą dieną iki %2$s",
|
||||
"Every Month on the %1$s between %2$s - %3$s" : "Kiekvieną mėnesį %1$s tarp %2$s - %3$s",
|
||||
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Kiekvieną mėnesį %1$s tarp %2$s - %3$s iki %4$s",
|
||||
"Every %1$d Months on the %2$s for the entire day" : "Kiekvieną %1$d mėnesį %2$s visą dieną",
|
||||
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Kiekvieną %1$d mėnesį %2$s visą dieną iki %3$s",
|
||||
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Kiekvieną %1$d mėnesį %2$s tarp %3$s - %4$s",
|
||||
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Kiekvieną %1$d mėnesį %2$s tarp %3$s - %4$s iki %5$s",
|
||||
"Every Year in %1$s on the %2$s for the entire day" : "Kiekvienais metais %1$s , %2$s visą dieną",
|
||||
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Kiekvienais metais %1$s , %2$s visą dieną iki %3$s",
|
||||
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Kiekvienais metais %1$s , %2$s tarp %3$s - %4$s",
|
||||
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Kiekvienais metais %1$s , %2$s tarp %3$s - %4$s iki %5$s",
|
||||
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Kiekvienais %1$d metais %2$s, %3$s visą dieną",
|
||||
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Kiekvienais %1$d metais %2$s , %3$s visą dieną iki %4$s",
|
||||
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Kiekvienais %1$d metais %2$s , %3$s tarp %4$s - %5$s",
|
||||
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Kiekvienais %1$d metais %2$s , %3$s tarp %4$s - %5$s iki %6$s",
|
||||
"On specific dates for the entire day until %1$s" : "Konkrečiomis datomis visą dieną iki %1$s",
|
||||
"On specific dates between %1$s - %2$s until %3$s" : "Konkrečiomis datomis tarp %1$s - %2$s iki %3$s",
|
||||
"In the past on %1$s" : "Praeityje %1$s",
|
||||
"_In %n minute on %1$s_::_In %n minutes on %1$s_" : ["Per %n minutę %1$s","Per %n minutes %1$s","Per %n minučių %1$s","Per %n minučių %1$s"],
|
||||
"_In %n hour on %1$s_::_In %n hours on %1$s_" : ["Per %n valandą %1$s","Per %n valandas %1$s","Per %n valandų %1$s","Per %n valandų %1$s"],
|
||||
"_In %n day on %1$s_::_In %n days on %1$s_" : ["Per %n dieną %1$s","Per %n dienas %1$s","Per %n dienų %1$s","Per %n dienų %1$s"],
|
||||
"_In %n week on %1$s_::_In %n weeks on %1$s_" : ["Per %n savaitę %1$s","Per %n savaites %1$s","Per %n savaičių %1$s","Per %n savaičių %1$s"],
|
||||
"_In %n month on %1$s_::_In %n months on %1$s_" : ["Per %n mėnesį %1$s","Per %n mėnesius %1$s","Per %n mėnesių %1$s","Per %n mėnesių %1$s"],
|
||||
"_In %n year on %1$s_::_In %n years on %1$s_" : ["Per %n metus %1$s","Per %n metus %1$s","Per %n metų %1$s","Per %n metų %1$s"],
|
||||
"In the past on %1$s then on %2$s" : "Anksčiau %1$s tuomet %2$s",
|
||||
"_In %n minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Per %n minutę %1$s tuomet %2$s","Per %n minutes %1$s tuomet %2$s","Per %n minučių %1$s tuomet %2$s","Per %n minučių %1$s tuomet %2$s"],
|
||||
"_In %n hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Per %n valandą %1$s tuomet %2$s","Per %n valandas %1$s tuomet %2$s","Per %n valandų %1$s tuomet %2$s","Per %n valandų %1$s tuomet %2$s"],
|
||||
"_In %n day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Per %n dieną %1$s tuomet %2$s","Per %n dienas %1$s tuomet %2$s","Per %n dienų %1$s tuomet %2$s","Per %n dienų %1$s tuomet %2$s"],
|
||||
"_In %n week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["Per %n savaitę %1$s tuomet %2$s","Per %n savaites %1$s tuomet %2$s","Per %n savaičių %1$s tuomet %2$s","Per %n savaičių %1$s tuomet %2$s"],
|
||||
"_In %n month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Per %n mėnesį %1$s tuomet %2$s","Per %n mėnesius %1$s tuomet %2$s","Per %n mėnesių %1$s tuomet %2$s","Per %n mėnesių %1$s tuomet %2$s"],
|
||||
"_In %n year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["Per %n metus %1$s tuomet %2$s","Per %n metus %1$s tuomet %2$s","Per %n metų %1$s tuomet %2$s","Per %n metų %1$s tuomet %2$s"],
|
||||
"In the past on %1$s then on %2$s and %3$s" : "Anksčiau %1$s tuomet %2$s ir %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_" : ["Per %n minutę %1$s tuomet %2$s ir %3$s","Per %n minutes %1$s tuomet %2$s ir %3$s","Per %n minučių %1$s tuomet %2$s ir %3$s","Per %n minučių %1$s tuomet %2$s ir %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_" : ["Per %n valandą %1$s tuomet %2$s ir %3$s","Per %n valandas %1$s tuomet %2$s ir %3$s","Per %n valandų %1$s tuomet %2$s ir %3$s","Per %n valandų %1$s tuomet %2$s ir %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_" : ["Per %n dieną %1$s tuomet %2$s ir %3$s","Per %n dienas %1$s tuomet %2$s ir %3$s","Per %n dienų %1$s tuomet %2$s ir %3$s","Per %n dienų %1$s tuomet %2$s ir %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_" : ["Per %n savaitę %1$s tuomet %2$s ir %3$s","Per %n savaites %1$s tuomet %2$s ir %3$s","Per %n savaičių %1$s tuomet %2$s ir %3$s","Per %n savaičių %1$s tuomet %2$s ir %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_" : ["Per %n mėnesį %1$s tuomet %2$s ir %3$s","Per %n mėnesius %1$s tuomet %2$s ir %3$s","Per %n mėnesių %1$s tuomet %2$s ir %3$s","Per %n mėnesių %1$s tuomet %2$s ir %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_" : ["Per %n metus %1$s tuomet %2$s ir %3$s","Per %n metus %1$s tuomet %2$s ir %3$s","Per %n metų %1$s tuomet %2$s ir %3$s","Per %n metų %1$s tuomet %2$s ir %3$s"],
|
||||
"Could not generate next recurrence statement" : "Nepavyko sugeneruoti kito pasikartojimo sakinio",
|
||||
"Cancelled: %1$s" : "Atšaukta: %1$s",
|
||||
"\"%1$s\" has been canceled" : "\"%1$s\" buvo atšauktas",
|
||||
"Re: %1$s" : "Dėl: %1$s",
|
||||
"%1$s has accepted your invitation" : "%1$s priėmė jūsų kvietimą",
|
||||
"%1$s has tentatively accepted your invitation" : "%1$s preliminariai priėmė jūsų kvietimą",
|
||||
"%1$s has declined your invitation" : "%1$s atmetė jūsų kvietimą",
|
||||
"%1$s has responded to your invitation" : "%1$s atsakė į jūsų kvietimą",
|
||||
"Invitation updated: %1$s" : "Kvietimas atnaujintas: %1$s",
|
||||
"%1$s updated the event \"%2$s\"" : "%1$s atnaujino įvykį \"%2$s\"",
|
||||
"Invitation: %1$s" : "Pakvietimas: %1$s",
|
||||
"%1$s would like to invite you to \"%2$s\"" : "%1$s norėtų jus pakviesti į \"%2$s\"",
|
||||
"Organizer:" : "Organizatorius:",
|
||||
"Attendees:" : "Kviestiniai:",
|
||||
"Title:" : "Pavadinimas:",
|
||||
"When:" : "Kada:",
|
||||
"Location:" : "Vieta:",
|
||||
"Link:" : "Nuoroda:",
|
||||
"Occurring:" : "Pasitaiko:",
|
||||
"Accept" : "Priimti",
|
||||
"Decline" : "Atmesti",
|
||||
"More options …" : "Daugiau parinkčių…",
|
||||
"More options at %s" : "Daugiau parinkčių %s",
|
||||
"Monday" : "Pirmadienis",
|
||||
"Tuesday" : "Antradienis",
|
||||
"Wednesday" : "Trečiadienis",
|
||||
"Thursday" : "Ketvirtadienis",
|
||||
"Friday" : "Penktadienis",
|
||||
"Saturday" : "Šeštadienis",
|
||||
"Sunday" : "Sekmadienis",
|
||||
"January" : "Sausis",
|
||||
"February" : "Vasaris",
|
||||
"March" : "Kovas",
|
||||
"April" : "Balandis",
|
||||
"May" : "Gegužė",
|
||||
"June" : "Birželis",
|
||||
"July" : "Liepa",
|
||||
"August" : "Rugpjūtis",
|
||||
"September" : "Rugsėjis",
|
||||
"October" : "Spalis",
|
||||
"November" : "Lapkritis",
|
||||
"December" : "Gruodis",
|
||||
"First" : "Pirmas",
|
||||
"Second" : "Antras",
|
||||
"Third" : "Trečias",
|
||||
"Fourth" : "Ketvirtas",
|
||||
"Fifth" : "Penktas",
|
||||
"Last" : "Paskutinis",
|
||||
"Second Last" : "Antras paskutinis",
|
||||
"Third Last" : "Trečias paskutinis",
|
||||
"Fourth Last" : "Ketvirtasis paskutinis",
|
||||
"Fifth Last" : "Penktas paskutinis",
|
||||
"Contacts" : "Adresatai",
|
||||
"{actor} created address book {addressbook}" : "{actor} sukūrė adresų knygą {addressbook}",
|
||||
"You created address book {addressbook}" : "Jūs sukūrėte adresų knygą {addressbook}",
|
||||
"{actor} deleted address book {addressbook}" : "{actor} ištrynė adresų knygą {addressbook}",
|
||||
"You deleted address book {addressbook}" : "Jūs ištrynėte adresų knygą {addressbook}",
|
||||
"{actor} updated address book {addressbook}" : "{actor} atnaujino adresų knygą {addressbook}",
|
||||
"You updated address book {addressbook}" : "Jūs atnaujinote adresų knygą {addressbook}",
|
||||
"{actor} shared address book {addressbook} with you" : "{actor} pasidalino su jumis {addressbook} adresų knyga",
|
||||
"You shared address book {addressbook} with {user}" : "Jūs pasidalinote {addressbook} adresų knyga su {user}",
|
||||
"{actor} shared address book {addressbook} with {user}" : "{actor} pasidalino {addressbook} adresų knyga su {user}",
|
||||
"{actor} unshared address book {addressbook} from you" : "{actor} atšaukė su jumis bendrinamą {addressbook} adresų knygą",
|
||||
"You unshared address book {addressbook} from {user}" : "Jūs atšaukėte bendrinamą {addressbook} adresų knygą su {user}",
|
||||
"{actor} unshared address book {addressbook} from {user}" : "{actor} atšaukė {addressbook} bendrinamą adresų knygą su {user}",
|
||||
"{actor} unshared address book {addressbook} from themselves" : "{actor} atšaukė savo paties bendrinamą {addressbook} adresų knygą",
|
||||
"You shared address book {addressbook} with group {group}" : "Jūs bendrinote {addressbook} adresų knygą su {group} grupe",
|
||||
"{actor} shared address book {addressbook} with group {group}" : "{actor} bendrino {addressbook} adresų knygą su {group} grupe",
|
||||
"You unshared address book {addressbook} from group {group}" : "Jūs atšaukėte bendrinamą {addressbook}adresų knygą su {group} grupe",
|
||||
"{actor} unshared address book {addressbook} from group {group}" : "{actor} atšaukė bendrinamą {addressbook} adresų knygą su {group} grupe",
|
||||
"{actor} created contact {card} in address book {addressbook}" : "{actor} sukūrė {card} kontaktą {addressbook} adresų knygoje",
|
||||
"You created contact {card} in address book {addressbook}" : "Jūs sukūrėte {card} kontaktą {addressbook} adresų knygoje",
|
||||
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} ištrynė {card} kontaktų iš {addressbook} adresų knygos",
|
||||
"You deleted contact {card} from address book {addressbook}" : "Jūs ištrynėte {card} kontaktą iš {addressbook} adresų knygos",
|
||||
"{actor} updated contact {card} in address book {addressbook}" : "{actor} atnaujino {card} kontaktą {addressbook} adresų knygoje",
|
||||
"You updated contact {card} in address book {addressbook}" : "Jūs atnaujinote {card} kontaktą {addressbook} adresų knygoje",
|
||||
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>kontaktas</strong> arba <strong>adresų knyga</strong> buvo atnaujinta",
|
||||
"System address book disabled" : "Sistemos adresų knyga išjungta",
|
||||
"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}" : "Sistemos kontaktų adresų knyga buvo automatiškai išjungta atnaujinimo metu. Tai reiškia, kad adresų knyga nebebus pasiekiama vartotojams kontaktų programėlėje ar kituose klientuose. Sistemos kontaktų adresų knyga buvo išjungta, nes joje esančių kontaktų skaičius viršijo maksimalų rekomenduojamą kontaktų skaičių. Šis apribojimas nustatytas siekiant išvengti našumo problemų. Sistemos adresų knygą galite iš naujo įjungti naudodami šią komandą {command}.",
|
||||
"Accounts" : "Paskyros",
|
||||
"System address book which holds all accounts" : "Sistemos adresų knyga, kurioje saugomos visos paskyros",
|
||||
"File is not updatable: %1$s" : "Failo atnaujinamas negalimas: %1$s",
|
||||
"Failed to get storage for file" : "Nepavyko gauti failo saugyklos vietos",
|
||||
"Could not write to final file, canceled by hook" : "Nepavyko įrašyti į galutinį failą, atšaukta naudojant interceptorių",
|
||||
"Could not write file contents" : "Nepavyko įrašyti failo turinio",
|
||||
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų","%n baitų"],
|
||||
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Klaida kopijuojant failą į paskirties vietą (nukopijuota: %1$s, numatomas failo dydis: %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." : "Tikėtasi %1$s failo dydžio, bet nuskaityta (iš „Nextcloud“ kliento) ir įrašyta (į „Nextcloud“ saugyklą) %2$s. Gali būti tinklo problema siuntėjo pusėje arba problema rašant į saugyklą serverio pusėje.",
|
||||
"Could not rename part file to final file, canceled by hook" : "Nepavyko pervadinti dalinio failo į galutinį failą, atšaukta naudojant interceptorių",
|
||||
"Could not rename part file to final file" : "Nepavyko pervadinti dalinio failo į galutinį failą",
|
||||
"Failed to check file size: %1$s" : "Nepavyko patikrinti failo dydžio: %1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "Nepavyko atidaryti failo: %1$s (%2$d), atrodo, kad failas egzistuoja",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "Nepavyko atidaryti failo: %1$s (%2$d), atrodo, kad failo nėra",
|
||||
"Failed to get size for : %1$s" : "Nepavyko gauti %1$s dydžio",
|
||||
"Encryption not ready: %1$s" : "Šifravimas neparuoštas: %1$s",
|
||||
"Failed to open file: %1$s" : "Nepavyko atverti failo: %1$s",
|
||||
"Failed to unlink: %1$s" : "Nepavyko atsieti: %1$s",
|
||||
"Failed to write file contents: %1$s" : "Nepavyko įrašyti failo turinio: %1$s",
|
||||
"File not found: %1$s" : "Failas nerastas: %1$s",
|
||||
"Invalid target path" : "Netinkamas tikslinis kelias",
|
||||
"System is in maintenance mode." : "Sistema yra techninės priežiūros veiksenoje.",
|
||||
"Upgrade needed" : "Reikalingas naujinimas",
|
||||
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Norint naudoti CalDAV ir CardDAV su iOS/macOS, jūsų %s turi būti sukonfigūruota taip, kad naudotų HTTPS.",
|
||||
"Configures a CalDAV account" : "Konfigūruoja CalDAV paskyrą",
|
||||
"Configures a CardDAV account" : "Konfigūruoja CardDAV paskyrą",
|
||||
"Events" : "Įvykiai",
|
||||
"Untitled task" : "Užduotis be pavadinimo",
|
||||
"Completed on %s" : "Pabaigta %s",
|
||||
"Due on %s by %s" : "Laukiamas %s iki %s",
|
||||
"Due on %s" : "Laukiamas %s",
|
||||
"This is an example contact" : "Tai yra kontakto pavyzdys",
|
||||
"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." : "Sveiki atvykę į „Nextcloud“ kalendorių!\n\nTai pavyzdinis įrašas – išbandykite planavimo lankstumą su „Nextcloud“ kalendoriumi, atlikdami bet kokius norimus pakeitimus!\n\nSu „Nextcloud“ kalendoriumi galite:\n- Nesunkiai kurti, redaguoti ir valdyti įvykius.\n- Kurti kelis kalendorius ir bendrinti juos su komandos nariais, draugais ar šeima.\n- Patikrinti prieinamumą ir rodyti savo užimtumo laiką kitiems.\n- Sklandžiai integruotis su programėlėmis ir įrenginiais per „CalDAV“.\n- Tinkinti savo patirtį: planuoti pasikartojančius įvykius, koreguoti pranešimus ir kitus nustatymus.",
|
||||
"Example event - open me!" : "Pavyzdinis įvykis – atverk mane!",
|
||||
"System Address Book" : "Sistemos adresų knyga",
|
||||
"The system address book contains contact information for all users in your instance." : "Sistemos adresų knygoje yra visų jūsų turimų vartotojų kontaktinė informacija.",
|
||||
"Enable System Address Book" : "Įjungti sistemos adresų knygą",
|
||||
"DAV system address book" : "DAV sistemos adresų knyga",
|
||||
"No outstanding DAV system address book sync." : "Nėra jokių nepatvirtintų DAV sistemos adresų knygos sinchronizavimo.",
|
||||
"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\"." : "DAV sistemos adresų knygos sinchronizavimas dar nebuvo paleistas, nes jūsų egzemplioriuje yra daugiau nei 1000 vartotojų arba įvyko klaida. Paleiskite jį rankiniu būdu, iškviečiant „occ dav:sync-system-addressbook“.",
|
||||
"DAV system address book size" : "DAV sistemos adresų knygos dydis",
|
||||
"The system address book is disabled" : "Sistemos adresų knyga išjungta",
|
||||
"The system address book is enabled, but contains more than the configured limit of %d contacts" : "Sistemos adresų knyga įjungta ir joje yra daugiau kontaktų nei nustatyta riba, t.y. %d kontaktų",
|
||||
"The system address book is enabled and contains less than the configured limit of %d contacts" : "Sistemos adresų knyga įjungta ir joje yra mažiau kontaktų nei nustatyta riba, t.y. %d kontaktų",
|
||||
"WebDAV endpoint" : "WebDAV galutinis taškas",
|
||||
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "Nepavyko patikrinti, ar jūsų žiniatinklio serveris tinkamai nustatytas leisti failų sinchronizavimą per WebDAV. Patikrinkite rankiniu būdu.",
|
||||
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Jūsų svetainės serveris nėra tinkamai sukonfiguruotas, Failų sinchronizavimas negalimas, nes neveikia WebDAV interfeisas.",
|
||||
"Your web server is properly set up to allow file synchronization over WebDAV." : "Jūsų žiniatinklio serveris tinkamai sukonfigūruotas, kad būtų galima sinchronizuoti failus per WebDAV.",
|
||||
"Calendars including events, details and attendees" : "Kalendoriai su įvykiais, informacija ir dalyviais",
|
||||
"Migrated calendar (%1$s)" : "Perkeltas kalendorius (%1$s)",
|
||||
"Contacts and groups" : "Adresatai ir grupės",
|
||||
"WebDAV" : "WebDAV",
|
||||
"Absence saved" : "Išsaugotas nebuvimas",
|
||||
"Failed to save your absence settings" : "Nepavyko išsaugoti jūsų nebuvimo nustatymų",
|
||||
"Absence cleared" : "Nebuvimas pašalintas",
|
||||
"Failed to clear your absence settings" : "Nepavyko išvalyti nedalyvavimo nustatymų",
|
||||
"First day" : "Pirma diena",
|
||||
"Last day (inclusive)" : "Paskutinė diena (imtinai)",
|
||||
"Out of office replacement (optional)" : "Nebuvimo biure pakeitimas (neprivaloma)",
|
||||
"Name of the replacement" : "Pakeitimo pavadinimas",
|
||||
"Short absence status" : "Trumpo nebuvimo būsena",
|
||||
"Long absence Message" : "Ilgo nebuvimo žinutė",
|
||||
"Save" : "Įrašyti",
|
||||
"Disable absence" : "Išjungti nebuvimą",
|
||||
"Failed to load availability" : "Nepavyko įkelti prieinamumo",
|
||||
"Saved availability" : "Išsaugotas pasiekiamumas",
|
||||
"Failed to save availability" : "Nepavyko išsaugoti pasiekiamumo",
|
||||
"to" : "iki",
|
||||
"Delete slot" : "Ištrinti laiko tarpą",
|
||||
"No working hours set" : "Nenustatyta jokių darbo valandų",
|
||||
"Add slot" : "Pridėti laiko tarpą",
|
||||
"Weekdays" : "Šiokiadieniai",
|
||||
"Pick a start time for {dayName}" : "Pasirinkite {dayName} pradžios laiką",
|
||||
"Pick a end time for {dayName}" : "Pasirinkite {dayName} pabaigos laiką",
|
||||
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatiškai nustatyti naudotojo būseną į „Netrukdyti“, kai jis nėra pasiekiamas, kad būtų nutildyti visi pranešimai.",
|
||||
"Cancel" : "Atsisakyti",
|
||||
"Import" : "Importuoti",
|
||||
"Error while saving settings" : "Klaida įrašant nustatymus",
|
||||
"Contact reset successfully" : "Kontaktas sėkmingai nustatytas iš naujo",
|
||||
"Error while resetting contact" : "Iš naujo nustatant kontaktą įvyko klaida",
|
||||
"Contact imported successfully" : "Kontaktas sėkmingai importuotas",
|
||||
"Error while importing contact" : "Importuojant kontaktą įvyko klaida",
|
||||
"Import contact" : "Importuoti kontaktą",
|
||||
"Reset to default" : "Atstatyti į numatytąjį",
|
||||
"Import contacts" : "Importuoti kontaktus",
|
||||
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importuojant naują .vcf failą, esamas numatytasis kontaktas bus ištrintas ir pakeistas nauju. Ar norite tęsti?",
|
||||
"Failed to save example event creation setting" : "Nepavyko išsaugoti pavyzdinio įvykio kūrimo nustatymo",
|
||||
"Failed to upload the example event" : "Nepavyko įkelti pavyzdinio įvykio",
|
||||
"Custom example event was saved successfully" : "Pasirinktinis pavyzdinis įvykis sėkmingai išsaugotas",
|
||||
"Failed to delete the custom example event" : "Nepavyko ištrinti pasirinktinio pavyzdžio įvykio",
|
||||
"Custom example event was deleted successfully" : "Pasirinktinis pavyzdinis įvykis sėkmingai ištrintas",
|
||||
"Import calendar event" : "Importuoti kalendoriaus įvykį",
|
||||
"Uploading a new event will overwrite the existing one." : "Įkėlus naują įvykį, esamas bus perrašytas.",
|
||||
"Upload event" : "Įkelti įvykį",
|
||||
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Taip pat įsidiekite {calendarappstoreopen}Kalendoriaus programėlę{linkclose} arba sinchronizavimui {calendardocopen}prijunkite savo darbalaukį ir mobilųjį ↗{linkclose}.",
|
||||
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Įsitikinkite, kad tinkamai nusistatėte {emailopen}el. pašto serverį{linkclose}.",
|
||||
"Calendar server" : "Kalendoriaus serveris",
|
||||
"Send invitations to attendees" : "Siųsti pakvietimus kviestiniams",
|
||||
"Automatically generate a birthday calendar" : "Automatiškai sukurti gimtadienių kalendorių",
|
||||
"Birthday calendars will be generated by a background job." : "Gimtadienių kalendoriai bus sukurti foninės užduoties.",
|
||||
"Hence they will not be available immediately after enabling but will show up after some time." : "Tai reiškia, kad jie nebus matomi iš karto įjungus, o pasirodys tik po kurio laiko.",
|
||||
"Send notifications for events" : "Siųsti įvykių pranešimus",
|
||||
"Notifications are sent via background jobs, so these must occur often enough." : "Pranešimai yra siunčiami per fonines užduotis, todėl jos privalo būti vykdomos gana dažnai.",
|
||||
"Send reminder notifications to calendar sharees as well" : "Siųskite priminimus ir tiems, kurie bendrina kalendorių",
|
||||
"Reminders are always sent to organizers and attendees." : "Priminimai visada siunčiami organizatoriams ir dalyviams.",
|
||||
"Enable notifications for events via push" : "Įjungti pranešimus apie įvykius per tiesioginius pranešimus",
|
||||
"Example content" : "Turinio pavyzdys",
|
||||
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Pavyzdinis turinys skirtas „Nextcloud“ funkcijoms demonstruoti. Numatytasis turinys pateikiamas kartu su „Nextcloud“ ir gali būti pakeistas pasirinktiniu turiniu.",
|
||||
"Availability" : "Pasiekiamumas",
|
||||
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jei sukonfigūruosite savo darbo valandas, kiti žmonės, rezervuodami susitikimą, matys, kada esate išvykę.",
|
||||
"Absence" : "Nebuvimas",
|
||||
"Configure your next absence period." : "Konfigūruokite kitą nebuvimo laikotarpį.",
|
||||
"There was an error updating your attendance status." : "Atnaujinant lankomumo būseną įvyko klaida.",
|
||||
"Please contact the organizer directly." : "Prašome susisiekti su organizatoriumi tiesiogiai.",
|
||||
"Are you accepting the invitation?" : "Ar priimate pakvietimą?",
|
||||
"Tentative" : "Preliminarus",
|
||||
"Your attendance was updated successfully." : "Jūsų lankomumas sėkmingai atnaujintas.",
|
||||
"No results." : "Jokių rezultatų.",
|
||||
"Start typing." : "Start typing."
|
||||
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
|
||||
}
|
||||
@@ -253,6 +253,7 @@ OC.L10N.register(
|
||||
"Completed on %s" : "%s tarihinde tamamlandı",
|
||||
"Due on %s by %s" : "%s tarihine kadar %s tarafından",
|
||||
"Due on %s" : "%s tarihine kadar",
|
||||
"This is an example contact" : "Bu bir kişi örneğidir",
|
||||
"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." : "Nextcloud Takvim uygulamasına hoş geldiniz!\n\nBu bir örnek etkinliktir. İstediğiniz düzenlemeleri yaparak Nextcloud Takvim ile planlamanın esnekliğini keşfedin!\n\nNextcloud Takvim ile şunları yapabilirsiniz:\n- Etkinlikleri kolayca oluşturabilir, düzenleyebilir ve yönetebilirsiniz.\n- Birden fazla takvim oluşturabilir ve bunları takım arkadaşlarınız, arkadaşlarınız veya ailenizle paylaşabilirsiniz.\n- Uygunluğunuzu kontrol edebilir ve yoğun zamanlarınızı başkalarına gösterebilirsiniz.\n- CalDAV aracılığıyla uygulamaları ve aygıtları sorunsuz bir şekilde bütünleştirebilirsiniz.\n- Deneyiminizi özelleştirebilirsiniz: Yinelenen etkinlikler planlayabilir, bildirimleri ve diğer ayarları ayarlayabilirsiniz.",
|
||||
"Example event - open me!" : "Örnek etkinlik. Beni aç!",
|
||||
"System Address Book" : "Sistem adres defteri",
|
||||
|
||||
@@ -251,6 +251,7 @@
|
||||
"Completed on %s" : "%s tarihinde tamamlandı",
|
||||
"Due on %s by %s" : "%s tarihine kadar %s tarafından",
|
||||
"Due on %s" : "%s tarihine kadar",
|
||||
"This is an example contact" : "Bu bir kişi örneğidir",
|
||||
"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." : "Nextcloud Takvim uygulamasına hoş geldiniz!\n\nBu bir örnek etkinliktir. İstediğiniz düzenlemeleri yaparak Nextcloud Takvim ile planlamanın esnekliğini keşfedin!\n\nNextcloud Takvim ile şunları yapabilirsiniz:\n- Etkinlikleri kolayca oluşturabilir, düzenleyebilir ve yönetebilirsiniz.\n- Birden fazla takvim oluşturabilir ve bunları takım arkadaşlarınız, arkadaşlarınız veya ailenizle paylaşabilirsiniz.\n- Uygunluğunuzu kontrol edebilir ve yoğun zamanlarınızı başkalarına gösterebilirsiniz.\n- CalDAV aracılığıyla uygulamaları ve aygıtları sorunsuz bir şekilde bütünleştirebilirsiniz.\n- Deneyiminizi özelleştirebilirsiniz: Yinelenen etkinlikler planlayabilir, bildirimleri ve diğer ayarları ayarlayabilirsiniz.",
|
||||
"Example event - open me!" : "Örnek etkinlik. Beni aç!",
|
||||
"System Address Book" : "Sistem adres defteri",
|
||||
|
||||
@@ -236,6 +236,7 @@ OC.L10N.register(
|
||||
"Failed to check file size: %1$s" : "检查文件大小失败:%1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "无法打开文件:%1$s(%2$d),文件似乎不存在",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "无法打开文件:%1$s(%2$d),文件似乎不存在",
|
||||
"Failed to get size for : %1$s" : "无法获取以下项目的大小:%1$s",
|
||||
"Encryption not ready: %1$s" : "加密不可用:%1$s",
|
||||
"Failed to open file: %1$s" : "打开文件失败:%1$s",
|
||||
"Failed to unlink: %1$s" : "解除链接失败:%1$s",
|
||||
@@ -252,6 +253,7 @@ OC.L10N.register(
|
||||
"Completed on %s" : "已完成 %s",
|
||||
"Due on %s by %s" : "到期于 %s,在 %s 之前",
|
||||
"Due on %s" : "到期于 %s",
|
||||
"This is an example contact" : "这是一个示例联系人",
|
||||
"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." : "欢迎使用 Nextcloud 日历!\n\n这是一个示例事件——探索使用 Nextcloud 日历进行规划的灵活性,进行任何您想要的编辑!\n\n使用 Nextcloud 日历,您可以:\n- 轻松创建、编辑和管理事件。\n- 创建多个日历并与队友、朋友或家人共享。\n- 查看空闲时间并向他人显示您的忙碌时间。\n- 通过 CalDAV 与应用和设备无缝集成。\n- 自定义您的体验:安排重复事件、调整通知和其他设置。",
|
||||
"Example event - open me!" : "示例事件——打开我!",
|
||||
"System Address Book" : "系统通讯录",
|
||||
|
||||
@@ -234,6 +234,7 @@
|
||||
"Failed to check file size: %1$s" : "检查文件大小失败:%1$s",
|
||||
"Could not open file: %1$s (%2$d), file does seem to exist" : "无法打开文件:%1$s(%2$d),文件似乎不存在",
|
||||
"Could not open file: %1$s (%2$d), file doesn't seem to exist" : "无法打开文件:%1$s(%2$d),文件似乎不存在",
|
||||
"Failed to get size for : %1$s" : "无法获取以下项目的大小:%1$s",
|
||||
"Encryption not ready: %1$s" : "加密不可用:%1$s",
|
||||
"Failed to open file: %1$s" : "打开文件失败:%1$s",
|
||||
"Failed to unlink: %1$s" : "解除链接失败:%1$s",
|
||||
@@ -250,6 +251,7 @@
|
||||
"Completed on %s" : "已完成 %s",
|
||||
"Due on %s by %s" : "到期于 %s,在 %s 之前",
|
||||
"Due on %s" : "到期于 %s",
|
||||
"This is an example contact" : "这是一个示例联系人",
|
||||
"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." : "欢迎使用 Nextcloud 日历!\n\n这是一个示例事件——探索使用 Nextcloud 日历进行规划的灵活性,进行任何您想要的编辑!\n\n使用 Nextcloud 日历,您可以:\n- 轻松创建、编辑和管理事件。\n- 创建多个日历并与队友、朋友或家人共享。\n- 查看空闲时间并向他人显示您的忙碌时间。\n- 通过 CalDAV 与应用和设备无缝集成。\n- 自定义您的体验:安排重复事件、调整通知和其他设置。",
|
||||
"Example event - open me!" : "示例事件——打开我!",
|
||||
"System Address Book" : "系统通讯录",
|
||||
|
||||
@@ -253,6 +253,7 @@ OC.L10N.register(
|
||||
"Completed on %s" : "完成於 %s",
|
||||
"Due on %s by %s" : "完成日期為 %s %s",
|
||||
"Due on %s" : "完成日期 %s",
|
||||
"This is an example contact" : "此為示例聯絡人",
|
||||
"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." : "歡迎使用 Nextcloud 日曆!\n\n這是範例事件 - 使用 Nextcloud 日曆進行任何編輯,探索規劃的彈性!\n\n使用 Nextcloud 日曆,您可以:\n- 毫不費力地建立、編輯與管理活動。\n- 建立多個日曆,並與同事、朋友或家人分享。\n- 檢查可得性,並向他人顯示您的忙碌時間。\n- 透過 CalDAV 與應用程式與裝置無縫整合。\n- 自訂您的體驗:排定定期活動、調整通知與其他設定。",
|
||||
"Example event - open me!" : "範例活動 - 打開我!",
|
||||
"System Address Book" : "系統通訊錄",
|
||||
|
||||
@@ -251,6 +251,7 @@
|
||||
"Completed on %s" : "完成於 %s",
|
||||
"Due on %s by %s" : "完成日期為 %s %s",
|
||||
"Due on %s" : "完成日期 %s",
|
||||
"This is an example contact" : "此為示例聯絡人",
|
||||
"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." : "歡迎使用 Nextcloud 日曆!\n\n這是範例事件 - 使用 Nextcloud 日曆進行任何編輯,探索規劃的彈性!\n\n使用 Nextcloud 日曆,您可以:\n- 毫不費力地建立、編輯與管理活動。\n- 建立多個日曆,並與同事、朋友或家人分享。\n- 檢查可得性,並向他人顯示您的忙碌時間。\n- 透過 CalDAV 與應用程式與裝置無縫整合。\n- 自訂您的體驗:排定定期活動、調整通知與其他設定。",
|
||||
"Example event - open me!" : "範例活動 - 打開我!",
|
||||
"System Address Book" : "系統通訊錄",
|
||||
|
||||
@@ -76,7 +76,7 @@ class BulkUploadPlugin extends ServerPlugin {
|
||||
'error' => false,
|
||||
'etag' => $node->getETag(),
|
||||
'fileid' => DavUtil::getDavFileId($node->getId()),
|
||||
'permissions' => DavUtil::getDavPermissions($node),
|
||||
'permissions' => DavUtil::getDavPermissions($node, $node->getParent()),
|
||||
];
|
||||
} catch (\Exception $e) {
|
||||
$this->logger->error($e->getMessage(), ['path' => $headers['x-file-path']]);
|
||||
|
||||
@@ -190,7 +190,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||
];
|
||||
|
||||
/** @var array parameters to index */
|
||||
public static array $indexParameters = [
|
||||
private const INDEXED_PARAMETERS = [
|
||||
'ATTENDEE' => ['CN'],
|
||||
'ORGANIZER' => ['CN'],
|
||||
];
|
||||
@@ -2062,6 +2062,10 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||
$outerQuery->andWhere($outerQuery->expr()->eq('uid', $outerQuery->createNamedParameter($options['uid'])));
|
||||
}
|
||||
|
||||
if (isset($options['uri'])) {
|
||||
$outerQuery->andWhere($outerQuery->expr()->eq('uri', $outerQuery->createNamedParameter($options['uri'])));
|
||||
}
|
||||
|
||||
if (!empty($options['types'])) {
|
||||
$or = [];
|
||||
foreach ($options['types'] as $type) {
|
||||
@@ -3382,9 +3386,9 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
|
||||
$query->executeStatement();
|
||||
}
|
||||
|
||||
if (array_key_exists($property->name, self::$indexParameters)) {
|
||||
if (array_key_exists($property->name, self::INDEXED_PARAMETERS)) {
|
||||
$parameters = $property->parameters();
|
||||
$indexedParametersForProperty = self::$indexParameters[$property->name];
|
||||
$indexedParametersForProperty = self::INDEXED_PARAMETERS[$property->name];
|
||||
|
||||
foreach ($parameters as $key => $value) {
|
||||
if (in_array($key, $indexedParametersForProperty)) {
|
||||
|
||||
@@ -16,6 +16,7 @@ use OCP\Calendar\CalendarExportOptions;
|
||||
use OCP\Calendar\Exceptions\CalendarException;
|
||||
use OCP\Calendar\ICalendarExport;
|
||||
use OCP\Calendar\ICalendarIsEnabled;
|
||||
use OCP\Calendar\ICalendarIsPublic;
|
||||
use OCP\Calendar\ICalendarIsShared;
|
||||
use OCP\Calendar\ICalendarIsWritable;
|
||||
use OCP\Calendar\ICreateFromString;
|
||||
@@ -32,7 +33,7 @@ use Sabre\VObject\Reader;
|
||||
|
||||
use function Sabre\Uri\split as uriSplit;
|
||||
|
||||
class CalendarImpl implements ICreateFromString, IHandleImipMessage, ICalendarIsWritable, ICalendarIsShared, ICalendarExport, ICalendarIsEnabled {
|
||||
class CalendarImpl implements ICreateFromString, IHandleImipMessage, ICalendarIsWritable, ICalendarIsShared, ICalendarExport, ICalendarIsEnabled, ICalendarIsPublic {
|
||||
public function __construct(
|
||||
private Calendar $calendar,
|
||||
/** @var array<string, mixed> */
|
||||
@@ -168,6 +169,13 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage, ICalendarIs
|
||||
return $this->calendar->isShared();
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 33.0.1, 32.0.7, 31.0.14.1, 30.0.17.8
|
||||
*/
|
||||
public function getPublicToken(): ?string {
|
||||
return $this->calendar->getPublishStatus() ?: null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @throws CalendarException
|
||||
*/
|
||||
@@ -336,5 +344,4 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage, ICalendarIs
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ class Capabilities implements ICapability {
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array{dav: array{chunking: string, public_shares_chunking: bool, search_supports_creation_time: bool, search_supports_upload_time: bool, bulkupload?: string, absence-supported?: bool, absence-replacement?: bool}}
|
||||
* @return array{dav: array{chunking: string, public_shares_chunking: bool, search_supports_creation_time: bool, search_supports_upload_time: bool, search_supports_last_activity: bool, bulkupload?: string, absence-supported?: bool, absence-replacement?: bool}}
|
||||
*/
|
||||
public function getCapabilities() {
|
||||
$capabilities = [
|
||||
@@ -29,6 +29,7 @@ class Capabilities implements ICapability {
|
||||
'public_shares_chunking' => true,
|
||||
'search_supports_creation_time' => true,
|
||||
'search_supports_upload_time' => true,
|
||||
'search_supports_last_activity' => true,
|
||||
]
|
||||
];
|
||||
if ($this->config->getSystemValueBool('bulkupload.enabled', true)) {
|
||||
|
||||
@@ -42,7 +42,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||
private string $dbCardsPropertiesTable = 'cards_properties';
|
||||
|
||||
/** @var array properties to index */
|
||||
public static array $indexProperties = [
|
||||
private const INDEXED_PROPERTIES = [
|
||||
'BDAY', 'UID', 'N', 'FN', 'TITLE', 'ROLE', 'NOTE', 'NICKNAME',
|
||||
'ORG', 'CATEGORIES', 'EMAIL', 'TEL', 'IMPP', 'ADR', 'URL', 'GEO',
|
||||
'CLOUD', 'X-SOCIALPROFILE'];
|
||||
@@ -478,6 +478,13 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||
->from($this->dbCardsTable)
|
||||
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressbookId)));
|
||||
|
||||
return $this->getCardsFromQuery($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
*/
|
||||
private function getCardsFromQuery(IQueryBuilder $query): array {
|
||||
$cards = [];
|
||||
|
||||
$result = $query->executeQuery();
|
||||
@@ -1384,7 +1391,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||
);
|
||||
|
||||
foreach ($vCard->children() as $property) {
|
||||
if (!in_array($property->name, self::$indexProperties)) {
|
||||
if (!in_array($property->name, self::INDEXED_PROPERTIES)) {
|
||||
continue;
|
||||
}
|
||||
$preferred = 0;
|
||||
@@ -1532,4 +1539,32 @@ class CardDavBackend implements BackendInterface, SyncSupport {
|
||||
// should already be handled, but just in case
|
||||
throw new BadRequest('vCard can not be empty');
|
||||
}
|
||||
|
||||
/**
|
||||
* Mark all cards in an address book as needing to be validated
|
||||
*
|
||||
* This is done by setting the modified date to `null`, once a sync runs
|
||||
* the mtime will be set to a non-null value. Leaving all deleted items with
|
||||
* a null modified date.
|
||||
*/
|
||||
public function markCardsAsPending(int $addressBookId): void {
|
||||
$query = $this->db->getTypedQueryBuilder();
|
||||
$query->update($this->dbCardsTable)
|
||||
->set('lastmodified', $query->createNamedParameter(null))
|
||||
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
|
||||
->executeStatement();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
*/
|
||||
public function getPendingCards(int $addressBookId): array {
|
||||
$query = $this->db->getQueryBuilder();
|
||||
$query->select(['id', 'addressbookid', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
|
||||
->from($this->dbCardsTable)
|
||||
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
|
||||
->andWhere($query->expr()->isNull('lastmodified'));
|
||||
|
||||
return $this->getCardsFromQuery($query);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -214,4 +214,15 @@ class SyncService extends ASyncService {
|
||||
public static function getCardUri(IUser $user): string {
|
||||
return $user->getBackendClassName() . ':' . $user->getUID() . '.vcf';
|
||||
}
|
||||
|
||||
public function markCardsAsPending(int $addressBookId): void {
|
||||
$this->backend->markCardsAsPending($addressBookId);
|
||||
}
|
||||
|
||||
public function deletePendingCards(int $addressBookId): void {
|
||||
$cards = $this->backend->getPendingCards($addressBookId);
|
||||
foreach ($cards as $card) {
|
||||
$this->backend->deleteCard($addressBookId, $card['uri']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -232,7 +232,8 @@ class SystemAddressbook extends AddressBook {
|
||||
return $changed;
|
||||
}
|
||||
|
||||
$added = $modified = $deleted = [];
|
||||
$added = $modified = [];
|
||||
$deleted = array_values($changed['deleted']);
|
||||
foreach ($changed['added'] as $uri) {
|
||||
try {
|
||||
$this->getChild($uri);
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
namespace OCA\DAV\Connector\Sabre;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Sabre\DAV\Exception\NotFound;
|
||||
use Sabre\DAV\Server;
|
||||
use Sabre\HTTP\RequestInterface;
|
||||
use Sabre\HTTP\ResponseInterface;
|
||||
|
||||
/**
|
||||
* Adds the "OC-OwnerId" and "OC-Permissions" after PUT requests so that
|
||||
* clients don't need to do a propfind after uploading a file to decide what
|
||||
* to display.
|
||||
*/
|
||||
class AddExtraHeadersPlugin extends \Sabre\DAV\ServerPlugin {
|
||||
|
||||
private ?Server $server = null;
|
||||
|
||||
public function __construct(
|
||||
private LoggerInterface $logger,
|
||||
private bool $isPublic = false,
|
||||
) {
|
||||
}
|
||||
|
||||
public function initialize(Server $server): void {
|
||||
$this->server = $server;
|
||||
|
||||
$server->on('afterMethod:PUT', $this->afterPut(...));
|
||||
}
|
||||
|
||||
private function afterPut(RequestInterface $request, ResponseInterface $response): void {
|
||||
if ($this->server === null) {
|
||||
return;
|
||||
}
|
||||
|
||||
$node = null;
|
||||
try {
|
||||
$node = $this->server->tree->getNodeForPath($request->getPath());
|
||||
} catch (NotFound) {
|
||||
$this->logger->error("Cannot set extra headers for non-existing file '{$request->getPath()}'");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$node instanceof Node) {
|
||||
$nodeType = get_debug_type($node);
|
||||
$this->logger->error("Cannot set extra headers for node of type {$nodeType} for file '{$request->getPath()}'");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$this->isPublic) {
|
||||
$ownerId = $node->getOwner()?->getUID();
|
||||
if ($ownerId !== null) {
|
||||
$response->setHeader('X-NC-OwnerId', $ownerId);
|
||||
}
|
||||
}
|
||||
|
||||
$permissions = $this->isPublic ? $node->getPublicDavPermissions()
|
||||
: $node->getDavPermissions();
|
||||
|
||||
$response->setHeader('X-NC-Permissions', $permissions);
|
||||
}
|
||||
}
|
||||
@@ -49,7 +49,7 @@ class BlockLegacyClientPlugin extends ServerPlugin {
|
||||
return;
|
||||
}
|
||||
|
||||
$minimumSupportedDesktopVersion = $this->config->getSystemValueString('minimum.supported.desktop.version', '3.1.50');
|
||||
$minimumSupportedDesktopVersion = $this->config->getSystemValueString('minimum.supported.desktop.version', '3.1.81');
|
||||
$maximumSupportedDesktopVersion = $this->config->getSystemValueString('maximum.supported.desktop.version', '99.99.99');
|
||||
|
||||
// Check if the client is a desktop client
|
||||
|
||||
@@ -40,6 +40,7 @@ use Sabre\HTTP\RequestInterface;
|
||||
use Sabre\HTTP\ResponseInterface;
|
||||
|
||||
class FilesPlugin extends ServerPlugin {
|
||||
|
||||
// namespace
|
||||
public const NS_OWNCLOUD = 'http://owncloud.org/ns';
|
||||
public const NS_NEXTCLOUD = 'http://nextcloud.org/ns';
|
||||
@@ -67,6 +68,7 @@ class FilesPlugin extends ServerPlugin {
|
||||
public const METADATA_ETAG_PROPERTYNAME = '{http://nextcloud.org/ns}metadata_etag';
|
||||
public const UPLOAD_TIME_PROPERTYNAME = '{http://nextcloud.org/ns}upload_time';
|
||||
public const CREATION_TIME_PROPERTYNAME = '{http://nextcloud.org/ns}creation_time';
|
||||
public const LAST_ACTIVITY_PROPERTYNAME = '{http://nextcloud.org/ns}last_activity';
|
||||
public const SHARE_NOTE = '{http://nextcloud.org/ns}note';
|
||||
public const SHARE_HIDE_DOWNLOAD_PROPERTYNAME = '{http://nextcloud.org/ns}hide-download';
|
||||
public const SUBFOLDER_COUNT_PROPERTYNAME = '{http://nextcloud.org/ns}contained-folder-count';
|
||||
@@ -201,10 +203,19 @@ class FilesPlugin extends ServerPlugin {
|
||||
// First check copyable (move only needs additional delete permission)
|
||||
$this->checkCopy($source, $target);
|
||||
|
||||
// The source needs to be deletable for moving
|
||||
$sourceNodeFileInfo = $sourceNode->getFileInfo();
|
||||
if (!$sourceNodeFileInfo->isDeletable()) {
|
||||
throw new Forbidden($source . ' cannot be deleted');
|
||||
[$sourceDir] = \Sabre\Uri\split($source);
|
||||
[$destinationDir, ] = \Sabre\Uri\split($target);
|
||||
|
||||
if ($sourceDir === $destinationDir) {
|
||||
if (!$sourceNode->canRename()) {
|
||||
throw new Forbidden($source . ' cannot be renamed');
|
||||
}
|
||||
} else {
|
||||
// The source needs to be deletable for moving
|
||||
$sourceNodeFileInfo = $sourceNode->getFileInfo();
|
||||
if (!$sourceNodeFileInfo->isDeletable()) {
|
||||
throw new Forbidden($source . ' cannot be deleted');
|
||||
}
|
||||
}
|
||||
|
||||
// The source is not allowed to be the parent of the target
|
||||
@@ -311,12 +322,7 @@ class FilesPlugin extends ServerPlugin {
|
||||
});
|
||||
|
||||
$propFind->handle(self::PERMISSIONS_PROPERTYNAME, function () use ($node) {
|
||||
$perms = $node->getDavPermissions();
|
||||
if ($this->isPublic) {
|
||||
// remove mount information
|
||||
$perms = str_replace(['S', 'M'], '', $perms);
|
||||
}
|
||||
return $perms;
|
||||
return $this->isPublic ? $node->getPublicDavPermissions() : $node->getDavPermissions();
|
||||
});
|
||||
|
||||
$propFind->handle(self::SHARE_PERMISSIONS_PROPERTYNAME, function () use ($node, $httpRequest) {
|
||||
@@ -441,6 +447,10 @@ class FilesPlugin extends ServerPlugin {
|
||||
return $node->getFileInfo()->getCreationTime();
|
||||
});
|
||||
|
||||
$propFind->handle(self::LAST_ACTIVITY_PROPERTYNAME, function () use ($node) {
|
||||
return $node->getFileInfo()->getLastActivity();
|
||||
});
|
||||
|
||||
foreach ($node->getFileInfo()->getMetadata() as $metadataKey => $metadataValue) {
|
||||
$propFind->handle(self::FILE_METADATA_PREFIX . $metadataKey, $metadataValue);
|
||||
}
|
||||
|
||||
@@ -112,6 +112,13 @@ abstract class Node implements INode {
|
||||
return $this->path;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if this node can be renamed
|
||||
*/
|
||||
public function canRename(): bool {
|
||||
return DavUtil::canRename($this->node, $this->node->getParent());
|
||||
}
|
||||
|
||||
/**
|
||||
* Renames the node
|
||||
*
|
||||
@@ -123,10 +130,8 @@ abstract class Node implements INode {
|
||||
* @throws LockedException
|
||||
*/
|
||||
public function setName($name): void {
|
||||
// rename is only allowed if the delete privilege is granted
|
||||
// (basically rename is a copy with delete of the original node)
|
||||
if (!$this->info->isDeletable() && !($this->info->getMountPoint() instanceof MoveableMount && $this->info->getInternalPath() === '')) {
|
||||
throw new Forbidden();
|
||||
if (!$this->canRename()) {
|
||||
throw new Forbidden('');
|
||||
}
|
||||
|
||||
/** @var string $parentPath */
|
||||
@@ -320,7 +325,14 @@ abstract class Node implements INode {
|
||||
}
|
||||
|
||||
public function getDavPermissions(): string {
|
||||
return DavUtil::getDavPermissions($this->info);
|
||||
return DavUtil::getDavPermissions($this->info, $this->node->getParent());
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the DAV Permissions with share and mount infromation stripped.
|
||||
*/
|
||||
public function getPublicDavPermissions(): string {
|
||||
return str_replace(['S', 'M'], '', $this->getDavPermissions());
|
||||
}
|
||||
|
||||
public function getOwner(): ?IUser {
|
||||
|
||||
@@ -258,8 +258,8 @@ class QuotaPlugin extends \Sabre\DAV\ServerPlugin {
|
||||
|
||||
if ($length > $freeSpace) {
|
||||
$msg = $isDir
|
||||
? "Insufficient space in $normalizedPath. $freeSpace available. Cannot create directory"
|
||||
: "Insufficient space in $normalizedPath, $length required, $freeSpace available";
|
||||
? "Insufficient space in $normalizedPath. Cannot create directory"
|
||||
: "Insufficient space in $normalizedPath";
|
||||
throw new InsufficientStorage($msg);
|
||||
}
|
||||
|
||||
|
||||
@@ -209,6 +209,7 @@ class ServerFactory {
|
||||
);
|
||||
}
|
||||
$server->addPlugin(new CopyEtagHeaderPlugin());
|
||||
$server->addPlugin(new AddExtraHeadersPlugin($this->logger, $isPublicShare));
|
||||
|
||||
// Load dav plugins from apps
|
||||
$event = new SabrePluginEvent($server);
|
||||
|
||||
@@ -88,6 +88,7 @@ class FileSearchBackend implements ISearchBackend {
|
||||
new SearchPropertyDefinition('{DAV:}getlastmodified', true, true, true, SearchPropertyDefinition::DATATYPE_DATETIME),
|
||||
new SearchPropertyDefinition('{DAV:}creationdate', true, true, true, SearchPropertyDefinition::DATATYPE_DATETIME),
|
||||
new SearchPropertyDefinition('{http://nextcloud.org/ns}upload_time', true, true, true, SearchPropertyDefinition::DATATYPE_DATETIME),
|
||||
new SearchPropertyDefinition('{http://nextcloud.org/ns}last_activity', true, false, true, SearchPropertyDefinition::DATATYPE_DATETIME),
|
||||
new SearchPropertyDefinition(FilesPlugin::SIZE_PROPERTYNAME, true, true, true, SearchPropertyDefinition::DATATYPE_NONNEGATIVE_INTEGER),
|
||||
new SearchPropertyDefinition(TagsPlugin::FAVORITE_PROPERTYNAME, true, true, true, SearchPropertyDefinition::DATATYPE_BOOLEAN),
|
||||
new SearchPropertyDefinition(FilesPlugin::INTERNAL_FILEID_PROPERTYNAME, true, true, false, SearchPropertyDefinition::DATATYPE_NONNEGATIVE_INTEGER),
|
||||
@@ -304,6 +305,8 @@ class FileSearchBackend implements ISearchBackend {
|
||||
return $node->getNode()->getCreationTime();
|
||||
case '{http://nextcloud.org/ns}upload_time':
|
||||
return $node->getNode()->getUploadTime();
|
||||
case '{http://nextcloud.org/ns}last_activity':
|
||||
return $node->getNode()->getLastActivity();
|
||||
case FilesPlugin::SIZE_PROPERTYNAME:
|
||||
return $node->getSize();
|
||||
case FilesPlugin::INTERNAL_FILEID_PROPERTYNAME:
|
||||
@@ -332,6 +335,8 @@ class FileSearchBackend implements ISearchBackend {
|
||||
$direction = $order->order === Order::ASC ? ISearchOrder::DIRECTION_ASCENDING : ISearchOrder::DIRECTION_DESCENDING;
|
||||
if (str_starts_with($order->property->name, FilesPlugin::FILE_METADATA_PREFIX)) {
|
||||
return new SearchOrder($direction, substr($order->property->name, strlen(FilesPlugin::FILE_METADATA_PREFIX)), IMetadataQuery::EXTRA);
|
||||
} elseif ($order->property->name === FilesPlugin::LAST_ACTIVITY_PROPERTYNAME) {
|
||||
return new SearchOrder($direction, 'last_activity');
|
||||
} else {
|
||||
return new SearchOrder($direction, $this->mapPropertyNameToColumn($order->property));
|
||||
}
|
||||
|
||||
@@ -23,14 +23,14 @@ use Sabre\VObject\Component\VCard;
|
||||
use Sabre\VObject\Reader;
|
||||
|
||||
class ContactsSearchProvider implements IFilteringProvider {
|
||||
private static array $searchPropertiesRestricted = [
|
||||
private const SEARCH_PROPERTIES_RESTRICTED = [
|
||||
'N',
|
||||
'FN',
|
||||
'NICKNAME',
|
||||
'EMAIL',
|
||||
];
|
||||
|
||||
private static array $searchProperties = [
|
||||
private const SEARCH_PROPERTIES = [
|
||||
'N',
|
||||
'FN',
|
||||
'NICKNAME',
|
||||
@@ -87,7 +87,7 @@ class ContactsSearchProvider implements IFilteringProvider {
|
||||
$searchResults = $this->backend->searchPrincipalUri(
|
||||
$principalUri,
|
||||
$query->getFilter('term')?->get() ?? '',
|
||||
$query->getFilter('title-only')?->get() ? self::$searchPropertiesRestricted : self::$searchProperties,
|
||||
$query->getFilter('title-only')?->get() ? self::SEARCH_PROPERTIES_RESTRICTED : self::SEARCH_PROPERTIES,
|
||||
[
|
||||
'limit' => $query->getLimit(),
|
||||
'offset' => $query->getCursor(),
|
||||
|
||||
@@ -32,7 +32,7 @@ class EventsSearchProvider extends ACalendarSearchProvider implements IFiltering
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
private static $searchProperties = [
|
||||
private const SEARCH_PROPERTIES = [
|
||||
'SUMMARY',
|
||||
'LOCATION',
|
||||
'DESCRIPTION',
|
||||
@@ -42,9 +42,9 @@ class EventsSearchProvider extends ACalendarSearchProvider implements IFiltering
|
||||
];
|
||||
|
||||
/**
|
||||
* @var string[]
|
||||
* @var array<string, string[]>
|
||||
*/
|
||||
private static $searchParameters = [
|
||||
private const SEARCH_PARAMETERS = [
|
||||
'ATTENDEE' => ['CN'],
|
||||
'ORGANIZER' => ['CN'],
|
||||
];
|
||||
@@ -52,7 +52,7 @@ class EventsSearchProvider extends ACalendarSearchProvider implements IFiltering
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private static $componentType = 'VEVENT';
|
||||
private const COMPONENT_TYPE = 'VEVENT';
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
@@ -102,9 +102,9 @@ class EventsSearchProvider extends ACalendarSearchProvider implements IFiltering
|
||||
$searchResults = $this->backend->searchPrincipalUri(
|
||||
$principalUri,
|
||||
$term,
|
||||
[self::$componentType],
|
||||
self::$searchProperties,
|
||||
self::$searchParameters,
|
||||
[self::COMPONENT_TYPE],
|
||||
self::SEARCH_PROPERTIES,
|
||||
self::SEARCH_PARAMETERS,
|
||||
[
|
||||
'limit' => $query->getLimit(),
|
||||
'offset' => $query->getCursor(),
|
||||
@@ -122,9 +122,9 @@ class EventsSearchProvider extends ACalendarSearchProvider implements IFiltering
|
||||
$attendeeSearchResults = $this->backend->searchPrincipalUri(
|
||||
$principalUri,
|
||||
$personDisplayName,
|
||||
[self::$componentType],
|
||||
[self::COMPONENT_TYPE],
|
||||
['ATTENDEE'],
|
||||
self::$searchParameters,
|
||||
self::SEARCH_PARAMETERS,
|
||||
[
|
||||
'limit' => $query->getLimit(),
|
||||
'offset' => $query->getCursor(),
|
||||
@@ -148,7 +148,7 @@ class EventsSearchProvider extends ACalendarSearchProvider implements IFiltering
|
||||
}
|
||||
}
|
||||
$formattedResults = \array_map(function (array $eventRow) use ($calendarsById, $subscriptionsById): SearchResultEntry {
|
||||
$component = $this->getPrimaryComponent($eventRow['calendardata'], self::$componentType);
|
||||
$component = $this->getPrimaryComponent($eventRow['calendardata'], self::COMPONENT_TYPE);
|
||||
$title = (string)($component->SUMMARY ?? $this->l10n->t('Untitled event'));
|
||||
|
||||
if ($eventRow['calendartype'] === CalDavBackend::CALENDAR_TYPE_CALENDAR) {
|
||||
|
||||
@@ -24,7 +24,7 @@ class TasksSearchProvider extends ACalendarSearchProvider {
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
private static $searchProperties = [
|
||||
private const SEARCH_PROPERTIES = [
|
||||
'SUMMARY',
|
||||
'DESCRIPTION',
|
||||
'CATEGORIES',
|
||||
@@ -33,12 +33,12 @@ class TasksSearchProvider extends ACalendarSearchProvider {
|
||||
/**
|
||||
* @var string[]
|
||||
*/
|
||||
private static $searchParameters = [];
|
||||
private const SEARCH_PARAMETERS = [];
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private static $componentType = 'VTODO';
|
||||
private const COMPONENT_TYPE = 'VTODO';
|
||||
|
||||
/**
|
||||
* @inheritDoc
|
||||
@@ -83,9 +83,9 @@ class TasksSearchProvider extends ACalendarSearchProvider {
|
||||
$searchResults = $this->backend->searchPrincipalUri(
|
||||
$principalUri,
|
||||
$query->getFilter('term')?->get() ?? '',
|
||||
[self::$componentType],
|
||||
self::$searchProperties,
|
||||
self::$searchParameters,
|
||||
[self::COMPONENT_TYPE],
|
||||
self::SEARCH_PROPERTIES,
|
||||
self::SEARCH_PARAMETERS,
|
||||
[
|
||||
'limit' => $query->getLimit(),
|
||||
'offset' => $query->getCursor(),
|
||||
@@ -94,7 +94,7 @@ class TasksSearchProvider extends ACalendarSearchProvider {
|
||||
]
|
||||
);
|
||||
$formattedResults = \array_map(function (array $taskRow) use ($calendarsById, $subscriptionsById):SearchResultEntry {
|
||||
$component = $this->getPrimaryComponent($taskRow['calendardata'], self::$componentType);
|
||||
$component = $this->getPrimaryComponent($taskRow['calendardata'], self::COMPONENT_TYPE);
|
||||
$title = (string)($component->SUMMARY ?? $this->l10n->t('Untitled task'));
|
||||
|
||||
if ($taskRow['calendartype'] === CalDavBackend::CALENDAR_TYPE_CALENDAR) {
|
||||
|
||||
@@ -27,6 +27,7 @@ use OCA\DAV\CardDAV\PhotoCache;
|
||||
use OCA\DAV\CardDAV\Security\CardDavRateLimitingPlugin;
|
||||
use OCA\DAV\CardDAV\Validation\CardDavValidatePlugin;
|
||||
use OCA\DAV\Comments\CommentsPlugin;
|
||||
use OCA\DAV\Connector\Sabre\AddExtraHeadersPlugin;
|
||||
use OCA\DAV\Connector\Sabre\AnonymousOptionsPlugin;
|
||||
use OCA\DAV\Connector\Sabre\AppleQuirksPlugin;
|
||||
use OCA\DAV\Connector\Sabre\Auth;
|
||||
@@ -385,6 +386,7 @@ class Server {
|
||||
)
|
||||
);
|
||||
}
|
||||
$this->server->addPlugin(new AddExtraHeadersPlugin($logger, false));
|
||||
$this->server->addPlugin(new EnablePlugin(
|
||||
\OCP\Server::get(IConfig::class),
|
||||
\OCP\Server::get(BirthdayService::class),
|
||||
|
||||
@@ -32,7 +32,8 @@
|
||||
"chunking",
|
||||
"public_shares_chunking",
|
||||
"search_supports_creation_time",
|
||||
"search_supports_upload_time"
|
||||
"search_supports_upload_time",
|
||||
"search_supports_last_activity"
|
||||
],
|
||||
"properties": {
|
||||
"chunking": {
|
||||
@@ -47,6 +48,9 @@
|
||||
"search_supports_upload_time": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"search_supports_last_activity": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"bulkupload": {
|
||||
"type": "string"
|
||||
},
|
||||
|
||||
@@ -238,14 +238,14 @@ class CalendarMigratorTest extends TestCase {
|
||||
$exportedData = null;
|
||||
|
||||
$exportDestination->method('addFileContents')
|
||||
->willReturnCallback(function (string $path, string $content) use (&$exportedCalendarsJson) {
|
||||
->willReturnCallback(function (string $path, string $content) use (&$exportedCalendarsJson): void {
|
||||
if ($path === 'dav/calendars/calendars.json') {
|
||||
$exportedCalendarsJson = json_decode($content, true);
|
||||
}
|
||||
});
|
||||
|
||||
$exportDestination->method('addFileAsStream')
|
||||
->willReturnCallback(function (string $path, $stream) use (&$exportedData) {
|
||||
->willReturnCallback(function (string $path, $stream) use (&$exportedData): void {
|
||||
if (str_ends_with($path, '.data')) {
|
||||
$exportedData = stream_get_contents($stream);
|
||||
}
|
||||
@@ -296,11 +296,11 @@ class CalendarMigratorTest extends TestCase {
|
||||
|
||||
$exportDestination = $this->createMock(IExportDestination::class);
|
||||
$exportDestination->method('addFileContents')
|
||||
->willReturnCallback(function (string $path, string $content) use (&$exportedFiles) {
|
||||
->willReturnCallback(function (string $path, string $content) use (&$exportedFiles): void {
|
||||
$exportedFiles[$path] = $content;
|
||||
});
|
||||
$exportDestination->method('addFileAsStream')
|
||||
->willReturnCallback(function (string $path, $stream) use (&$exportedFiles) {
|
||||
->willReturnCallback(function (string $path, $stream) use (&$exportedFiles): void {
|
||||
$exportedFiles[$path] = stream_get_contents($stream);
|
||||
});
|
||||
|
||||
@@ -469,7 +469,7 @@ class CalendarMigratorTest extends TestCase {
|
||||
$exportedSubscriptionsJson = null;
|
||||
|
||||
$exportDestination->method('addFileContents')
|
||||
->willReturnCallback(function (string $path, string $content) use (&$exportedSubscriptionsJson) {
|
||||
->willReturnCallback(function (string $path, string $content) use (&$exportedSubscriptionsJson): void {
|
||||
if ($path === 'dav/calendars/subscriptions.json') {
|
||||
$exportedSubscriptionsJson = json_decode($content, true);
|
||||
}
|
||||
@@ -578,7 +578,7 @@ class CalendarMigratorTest extends TestCase {
|
||||
|
||||
$exportDestination = $this->createMock(IExportDestination::class);
|
||||
$exportDestination->method('addFileContents')
|
||||
->willReturnCallback(function (string $path, string $content) use (&$exportedFiles) {
|
||||
->willReturnCallback(function (string $path, string $content) use (&$exportedFiles): void {
|
||||
$exportedFiles[$path] = $content;
|
||||
});
|
||||
|
||||
|
||||
@@ -1840,6 +1840,72 @@ EOD;
|
||||
$this->assertEquals('Missing DTSTART 2', $results[3]['objects'][0]['SUMMARY'][0]);
|
||||
}
|
||||
|
||||
public function testSearchByUri(): void {
|
||||
$calendarId = $this->createTestCalendar();
|
||||
$uris = [];
|
||||
$calData = [];
|
||||
|
||||
$uris[] = static::getUniqueID('calobj');
|
||||
$calData[] = <<<'EOD'
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:Nextcloud Calendar
|
||||
BEGIN:VEVENT
|
||||
CREATED;VALUE=DATE-TIME:20260323T093039Z
|
||||
UID:search-by-uri-test1
|
||||
LAST-MODIFIED;VALUE=DATE-TIME:20260323T093039Z
|
||||
DTSTAMP;VALUE=DATE-TIME:20260323T093039Z
|
||||
SUMMARY:First Test Event
|
||||
DTSTART;VALUE=DATE-TIME:20260323T093039Z
|
||||
DTEND;VALUE=DATE-TIME:20260323T093039Z
|
||||
CLASS:PUBLIC
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
EOD;
|
||||
|
||||
$uris[] = static::getUniqueID('calobj');
|
||||
$calData[] = <<<'EOD'
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:Nextcloud Calendar
|
||||
BEGIN:VEVENT
|
||||
CREATED;VALUE=DATE-TIME:20260323T093039Z
|
||||
UID:search-by-uri-test2
|
||||
LAST-MODIFIED;VALUE=DATE-TIME:20260323T093039Z
|
||||
DTSTAMP;VALUE=DATE-TIME:20260323T093039Z
|
||||
SUMMARY:Second Test Event
|
||||
DTSTART;VALUE=DATE-TIME:20260323T093039Z
|
||||
DTEND;VALUE=DATE-TIME:20260323T093039Z
|
||||
CLASS:PUBLIC
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
EOD;
|
||||
|
||||
foreach ($uris as $i => $uri) {
|
||||
$this->backend->createCalendarObject($calendarId, $uri, $calData[$i]);
|
||||
}
|
||||
|
||||
$calendarInfo = [
|
||||
'id' => $calendarId,
|
||||
'principaluri' => 'user1',
|
||||
'{http://owncloud.org/ns}owner-principal' => 'user1',
|
||||
];
|
||||
|
||||
// Searching by first event's URI returns this event
|
||||
$results = $this->backend->search($calendarInfo, '', [], ['uri' => $uris[0]], null, null);
|
||||
$this->assertCount(1, $results);
|
||||
$this->assertEquals($uris[0], $results[0]['uri']);
|
||||
|
||||
// Searching by second event's URI returns this event
|
||||
$results = $this->backend->search($calendarInfo, '', [], ['uri' => $uris[1]], null, null);
|
||||
$this->assertCount(1, $results);
|
||||
$this->assertEquals($uris[1], $results[0]['uri']);
|
||||
|
||||
// Searching by a non-existent URI returns nothing
|
||||
$result = $this->backend->search($calendarInfo, '', [], ['uri' => 'nonexistant.ical'], null, null);
|
||||
$this->assertCount(0, $result);
|
||||
}
|
||||
|
||||
public function testUnshare(): void {
|
||||
$principalGroup = 'principal:' . self::UNIT_TEST_GROUP;
|
||||
$principalUser = 'principal:' . self::UNIT_TEST_USER;
|
||||
|
||||
@@ -33,7 +33,7 @@ class CalendarImplTest extends \Test\TestCase {
|
||||
$this->backend = $this->createMock(CalDavBackend::class);
|
||||
$this->calendar = $this->createMock(Calendar::class);
|
||||
$this->calendarInfo = [
|
||||
'id' => 'fancy_id_123',
|
||||
'id' => 123,
|
||||
'{DAV:}displayname' => 'user readable name 123',
|
||||
'{http://apple.com/ns/ical/}calendar-color' => '#AABBCC',
|
||||
'uri' => '/this/is/a/uri',
|
||||
@@ -62,7 +62,7 @@ class CalendarImplTest extends \Test\TestCase {
|
||||
|
||||
|
||||
public function testGetKey(): void {
|
||||
$this->assertEquals($this->calendarImpl->getKey(), 'fancy_id_123');
|
||||
$this->assertEquals($this->calendarImpl->getKey(), '123');
|
||||
}
|
||||
|
||||
public function testGetDisplayname(): void {
|
||||
@@ -73,6 +73,18 @@ class CalendarImplTest extends \Test\TestCase {
|
||||
$this->assertEquals($this->calendarImpl->getDisplayColor(), '#AABBCC');
|
||||
}
|
||||
|
||||
public function testGetPublicToken(): void {
|
||||
$publicToken = $this->calendar->setPublishStatus(true);
|
||||
|
||||
$this->assertEquals($this->calendarImpl->getPublicToken(), $publicToken);
|
||||
}
|
||||
|
||||
public function testGetPublicTokenWithPrivateCalendar(): void {
|
||||
$this->calendar->setPublishStatus(false);
|
||||
|
||||
$this->assertNull($this->calendarImpl->getPublicToken());
|
||||
}
|
||||
|
||||
public function testSearch(): void {
|
||||
$this->backend->expects($this->once())
|
||||
->method('search')
|
||||
@@ -266,5 +278,4 @@ class CalendarImplTest extends \Test\TestCase {
|
||||
|
||||
$calendarImpl->handleIMipMessage('fakeUser', $vObject->serialize());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ class CapabilitiesTest extends TestCase {
|
||||
'public_shares_chunking' => true,
|
||||
'search_supports_creation_time' => true,
|
||||
'search_supports_upload_time' => true,
|
||||
'search_supports_last_activity' => true,
|
||||
],
|
||||
];
|
||||
$this->assertSame($expected, $capabilities->getCapabilities());
|
||||
@@ -55,6 +56,7 @@ class CapabilitiesTest extends TestCase {
|
||||
'public_shares_chunking' => true,
|
||||
'search_supports_creation_time' => true,
|
||||
'search_supports_upload_time' => true,
|
||||
'search_supports_last_activity' => true,
|
||||
'bulkupload' => '1.0',
|
||||
],
|
||||
];
|
||||
@@ -78,6 +80,7 @@ class CapabilitiesTest extends TestCase {
|
||||
'public_shares_chunking' => true,
|
||||
'search_supports_creation_time' => true,
|
||||
'search_supports_upload_time' => true,
|
||||
'search_supports_last_activity' => true,
|
||||
'absence-supported' => true,
|
||||
'absence-replacement' => true,
|
||||
],
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
namespace OCA\DAV\Tests\unit\CardDAV;
|
||||
|
||||
use GuzzleHttp\Exception\ClientException;
|
||||
@@ -104,7 +105,7 @@ class SyncServiceTest extends TestCase {
|
||||
'system',
|
||||
'system',
|
||||
'1234567890',
|
||||
null,
|
||||
'1',
|
||||
'1',
|
||||
'principals/system/system',
|
||||
[]
|
||||
@@ -175,7 +176,7 @@ END:VCARD';
|
||||
'system',
|
||||
'system',
|
||||
'1234567890',
|
||||
null,
|
||||
'1',
|
||||
'1',
|
||||
'principals/system/system',
|
||||
[]
|
||||
@@ -246,7 +247,7 @@ END:VCARD';
|
||||
'system',
|
||||
'system',
|
||||
'1234567890',
|
||||
null,
|
||||
'1',
|
||||
'1',
|
||||
'principals/system/system',
|
||||
[]
|
||||
@@ -287,7 +288,7 @@ END:VCARD';
|
||||
'system',
|
||||
'system',
|
||||
'1234567890',
|
||||
null,
|
||||
'1',
|
||||
'1',
|
||||
'principals/system/system',
|
||||
[]
|
||||
@@ -296,6 +297,97 @@ END:VCARD';
|
||||
$this->assertEquals('http://sabre.io/ns/sync/4', $token);
|
||||
}
|
||||
|
||||
public function testFullSyncWithOrphanElement(): void {
|
||||
$pendingCards = [];
|
||||
$this->backend->expects($this->exactly(0))
|
||||
->method('createCard');
|
||||
$this->backend->expects($this->exactly(1))
|
||||
->method('updateCard')
|
||||
->willReturnCallback(function ($id, $uri) use (&$pendingCards) {
|
||||
unset($pendingCards[$uri]);
|
||||
});
|
||||
$this->backend->expects($this->exactly(1))
|
||||
->method('markCardsAsPending')
|
||||
->willReturnCallback(function ($id) use (&$pendingCards) {
|
||||
$cards = array_values($this->backend->getCards($id));
|
||||
$uris = array_map(fn ($card) => $card['uri'], $cards);
|
||||
$pendingCards = array_combine($uris, $cards);
|
||||
});
|
||||
$this->backend->expects($this->exactly(1))
|
||||
->method('getPendingCards')
|
||||
->willReturnCallback(function ($id) use (&$pendingCards) {
|
||||
return array_values($pendingCards);
|
||||
});
|
||||
$this->backend->expects($this->exactly(1))
|
||||
->method('deleteCard');
|
||||
|
||||
$body = '<?xml version="1.0"?>
|
||||
<d:multistatus xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" xmlns:card="urn:ietf:params:xml:ns:carddav" xmlns:oc="http://owncloud.org/ns">
|
||||
<d:response>
|
||||
<d:href>/remote.php/dav/addressbooks/system/system/system/Database:alice.vcf</d:href>
|
||||
<d:propstat>
|
||||
<d:prop>
|
||||
<d:getcontenttype>text/vcard; charset=utf-8</d:getcontenttype>
|
||||
<d:getetag>"2df155fa5c2a24cd7f750353fc63f037"</d:getetag>
|
||||
</d:prop>
|
||||
<d:status>HTTP/1.1 200 OK</d:status>
|
||||
</d:propstat>
|
||||
</d:response>
|
||||
<d:sync-token>http://sabre.io/ns/sync/3</d:sync-token>
|
||||
</d:multistatus>';
|
||||
|
||||
$reportResponse = new Response(new PsrResponse(
|
||||
207,
|
||||
['Content-Type' => 'application/xml; charset=utf-8', 'Content-Length' => strlen($body)],
|
||||
$body
|
||||
));
|
||||
|
||||
$this->client
|
||||
->method('request')
|
||||
->willReturn($reportResponse);
|
||||
|
||||
$vCard = 'BEGIN:VCARD
|
||||
VERSION:3.0
|
||||
PRODID:-//Sabre//Sabre VObject 4.5.4//EN
|
||||
UID:alice
|
||||
FN;X-NC-SCOPE=v2-federated:alice
|
||||
N;X-NC-SCOPE=v2-federated:alice;;;;
|
||||
X-SOCIALPROFILE;TYPE=NEXTCLOUD;X-NC-SCOPE=v2-published:https://server2.internal/index.php/u/alice
|
||||
CLOUD:alice@server2.internal
|
||||
END:VCARD';
|
||||
|
||||
$getResponse = new Response(new PsrResponse(
|
||||
200,
|
||||
['Content-Type' => 'text/vcard; charset=utf-8', 'Content-Length' => strlen($vCard)],
|
||||
$vCard,
|
||||
));
|
||||
|
||||
$this->client
|
||||
->method('get')
|
||||
->willReturn($getResponse);
|
||||
|
||||
$this->backend->method('getCards')
|
||||
->willReturn([
|
||||
['uri' => 'Database:alice.vcf'],
|
||||
['uri' => 'Database:bob.vcf'],
|
||||
]);
|
||||
|
||||
$this->service->markCardsAsPending(1);
|
||||
$token = $this->service->syncRemoteAddressBook(
|
||||
'',
|
||||
'system',
|
||||
'system',
|
||||
'1234567890',
|
||||
null,
|
||||
'1',
|
||||
'principals/system/system',
|
||||
[]
|
||||
)[0];
|
||||
$this->service->deletePendingCards(1);
|
||||
|
||||
$this->assertEquals('http://sabre.io/ns/sync/3', $token);
|
||||
}
|
||||
|
||||
public function testEnsureSystemAddressBookExists(): void {
|
||||
/** @var CardDavBackend&MockObject $backend */
|
||||
$backend = $this->createMock(CardDavBackend::class);
|
||||
@@ -458,7 +550,7 @@ END:VCARD';
|
||||
'system',
|
||||
'remote.php/dav/addressbooks/system/system/system',
|
||||
'1234567890',
|
||||
null,
|
||||
'1',
|
||||
'1',
|
||||
'principals/system/system',
|
||||
[]
|
||||
|
||||
@@ -0,0 +1,130 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
namespace unit\Connector\Sabre;
|
||||
|
||||
use LogicException;
|
||||
use OCA\DAV\Connector\Sabre\AddExtraHeadersPlugin;
|
||||
use OCA\DAV\Connector\Sabre\Node;
|
||||
use OCA\DAV\Connector\Sabre\Server;
|
||||
use OCP\IUser;
|
||||
use PHPUnit\Framework\Attributes\DataProvider;
|
||||
use PHPUnit\Framework\MockObject\MockObject;
|
||||
use Psr\Log\LoggerInterface;
|
||||
use Sabre\DAV\Exception\NotFound;
|
||||
use Sabre\DAV\Tree;
|
||||
use Sabre\HTTP\RequestInterface;
|
||||
use Sabre\HTTP\ResponseInterface;
|
||||
use Test\TestCase;
|
||||
|
||||
class AddExtraHeadersPluginTest extends TestCase {
|
||||
|
||||
private AddExtraHeadersPlugin $plugin;
|
||||
private Server&MockObject $server;
|
||||
private LoggerInterface&MockObject $logger;
|
||||
private RequestInterface&MockObject $request;
|
||||
private ResponseInterface&MockObject $response;
|
||||
private Tree&MockObject $tree;
|
||||
|
||||
public static function afterPutData(): array {
|
||||
return [
|
||||
'owner and permissions present' => [
|
||||
'user', true, 'PERMISSIONS', true, 2
|
||||
],
|
||||
'permissions only' => [
|
||||
null, false, 'PERMISSIONS', true, 1
|
||||
],
|
||||
];
|
||||
}
|
||||
|
||||
public function testAfterPutNotFoundException(): void {
|
||||
$afterPut = null;
|
||||
$this->server->expects($this->once())
|
||||
->method('on')
|
||||
->willReturnCallback(
|
||||
function ($method, $callback) use (&$afterPut): void {
|
||||
$this->assertSame('afterMethod:PUT', $method);
|
||||
$afterPut = $callback;
|
||||
});
|
||||
|
||||
$this->plugin->initialize($this->server);
|
||||
$node = $this->createMock(Node::class);
|
||||
$this->tree->expects($this->once())->method('getNodeForPath')
|
||||
->willThrowException(new NotFound());
|
||||
|
||||
$this->logger->expects($this->once())->method('error');
|
||||
|
||||
$afterPut($this->request, $this->response);
|
||||
}
|
||||
|
||||
#[DataProvider('afterPutData')]
|
||||
public function testAfterPut(?string $ownerId, bool $expectOwnerIdHeader,
|
||||
?string $permissions, bool $expectPermissionsHeader,
|
||||
int $expectedInvocations): void {
|
||||
$afterPut = null;
|
||||
$this->server->expects($this->once())
|
||||
->method('on')
|
||||
->willReturnCallback(
|
||||
function ($method, $callback) use (&$afterPut): void {
|
||||
$this->assertSame('afterMethod:PUT', $method);
|
||||
$afterPut = $callback;
|
||||
});
|
||||
|
||||
$this->plugin->initialize($this->server);
|
||||
$node = $this->createMock(Node::class);
|
||||
$this->tree->expects($this->once())->method('getNodeForPath')
|
||||
->willReturn($node);
|
||||
|
||||
$user = $this->createMock(IUser::class);
|
||||
$node->expects($this->once())->method('getOwner')->willReturn($user);
|
||||
$user->expects($this->once())->method('getUID')->willReturn($ownerId);
|
||||
$node->expects($this->once())->method('getDavPermissions')->willReturn($permissions);
|
||||
|
||||
$matcher = $this->exactly($expectedInvocations);
|
||||
$this->response->expects($matcher)->method('setHeader')
|
||||
->willReturnCallback(function ($name, $value) use (
|
||||
$expectedInvocations,
|
||||
$expectPermissionsHeader,
|
||||
$expectOwnerIdHeader,
|
||||
$matcher,
|
||||
$ownerId, $permissions): void {
|
||||
$invocationNumber = $matcher->numberOfInvocations();
|
||||
if ($invocationNumber === 0) {
|
||||
throw new LogicException('No invocations were expected');
|
||||
}
|
||||
|
||||
if (($expectOwnerIdHeader && $expectedInvocations === 1)
|
||||
|| ($expectedInvocations
|
||||
=== 2 && $invocationNumber === 1)) {
|
||||
$this->assertEquals('X-NC-OwnerId', $name);
|
||||
$this->assertEquals($ownerId, $value);
|
||||
}
|
||||
|
||||
if (($expectPermissionsHeader && $expectedInvocations === 1)
|
||||
|| ($expectedInvocations
|
||||
=== 2 && $invocationNumber === 2)) {
|
||||
$this->assertEquals('X-NC-Permissions', $name);
|
||||
$this->assertEquals($permissions, $value);
|
||||
}
|
||||
});
|
||||
|
||||
$afterPut($this->request, $this->response);
|
||||
}
|
||||
|
||||
protected function setUp(): void {
|
||||
parent::setUp();
|
||||
|
||||
$this->server = $this->createMock(Server::class);
|
||||
$this->tree = $this->createMock(Tree::class);
|
||||
$this->server->tree = $this->tree;
|
||||
$this->logger = $this->createMock(LoggerInterface::class);
|
||||
$this->plugin = new AddExtraHeadersPlugin($this->logger, false);
|
||||
$this->request = $this->createMock(RequestInterface::class);
|
||||
$this->response = $this->createMock(ResponseInterface::class);
|
||||
}
|
||||
}
|
||||
@@ -332,9 +332,12 @@ class FilesPluginTest extends TestCase {
|
||||
|
||||
/** @var File&MockObject $node */
|
||||
$node = $this->createTestNode(File::class);
|
||||
$node->expects($this->any())
|
||||
->method('getDavPermissions')
|
||||
->willReturn('DWCKMSR');
|
||||
$node->expects($this->once())
|
||||
->method('getPublicDavPermissions')
|
||||
->willReturn('DWCKR');
|
||||
|
||||
$node->expects($this->never())
|
||||
->method('getDavPermissions');
|
||||
|
||||
$this->plugin->handleGetProperties(
|
||||
$propFind,
|
||||
|
||||
@@ -42,7 +42,7 @@ class NodeTest extends \Test\TestCase {
|
||||
[Constants::PERMISSION_ALL, 'file', true, Constants::PERMISSION_ALL, true, '' , 'SRMGDNVW'],
|
||||
[Constants::PERMISSION_ALL, 'file', true, Constants::PERMISSION_ALL - Constants::PERMISSION_UPDATE, true, '' , 'SRMGDNV'],
|
||||
[Constants::PERMISSION_ALL - Constants::PERMISSION_SHARE, 'file', true, Constants::PERMISSION_ALL, false, 'test', 'SGDNVW'],
|
||||
[Constants::PERMISSION_ALL - Constants::PERMISSION_UPDATE, 'file', false, Constants::PERMISSION_ALL, false, 'test', 'RGD'],
|
||||
[Constants::PERMISSION_ALL - Constants::PERMISSION_UPDATE, 'file', false, Constants::PERMISSION_ALL, false, 'test', 'RGDN'],
|
||||
[Constants::PERMISSION_ALL - Constants::PERMISSION_DELETE, 'file', false, Constants::PERMISSION_ALL, false, 'test', 'RGNVW'],
|
||||
[Constants::PERMISSION_ALL - Constants::PERMISSION_CREATE, 'file', false, Constants::PERMISSION_ALL, false, 'test', 'RGDNVW'],
|
||||
[Constants::PERMISSION_ALL - Constants::PERMISSION_READ, 'file', false, Constants::PERMISSION_ALL, false, 'test', 'RDNVW'],
|
||||
|
||||
@@ -41,10 +41,16 @@ OC.L10N.register(
|
||||
"Enable recovery key" : "Activer la clé de récupération",
|
||||
"The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten." : "La clé de récupération est une clé de chiffrement supplémentaire utilisée pour chiffrer les fichiers. Elle est utilisée pour récupérer les fichiers d'un compte si le mot de passe a été oublié.",
|
||||
"Recovery key password" : "Mot de passe de la clé de récupération",
|
||||
"Passwords fields do not match" : "Les deux mots de passe ne correspondent pas",
|
||||
"Repeat recovery key password" : "Répétez le mot de passe de la clé de récupération",
|
||||
"An error occurred while updating the recovery key settings. Please try again." : "Une erreur est survenue lors de la mise à jour des paramètres de la clé de récupération. Veuillez essayer à nouveau.",
|
||||
"Change recovery key password" : "Modifier le mot de passe de la clé de récupération",
|
||||
"Old recovery key password" : "Ancien mot de passe de la clé de récupération",
|
||||
"New recovery key password" : "Nouveau mot de passe de la clé de récupération",
|
||||
"Repeat new recovery key password" : "Répétez le nouveau mot de passe de la clé de récupération",
|
||||
"An error occurred while changing the recovery key password. Please try again." : "Une erreur est survenue lors de la modification de la clé de récupération. Veuillez essayer à nouveau.",
|
||||
"Update private key password" : "Mettre à jour le mot de passe de la clé privée",
|
||||
"Your private key password no longer matches your log-in password. Set your old private key password to your current log-in password." : "Votre mot de passe de clé privée ne correspond plus à votre mot de passe de connexion. Définissez votre ancien mot de passe de clé privée à la valeur actuelle du mot de passe de connexion.",
|
||||
"If you do not remember your old password you can ask your administrator to recover your files." : "Si vous ne vous souvenez pas de votre ancien mot de passe, vous pouvez demander à votre administrateur de récupérer vos fichiers.",
|
||||
"Old log-in password" : "Ancien mot de passe de connexion",
|
||||
"Current log-in password" : "Actuel mot de passe de connexion",
|
||||
|
||||
@@ -39,10 +39,16 @@
|
||||
"Enable recovery key" : "Activer la clé de récupération",
|
||||
"The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten." : "La clé de récupération est une clé de chiffrement supplémentaire utilisée pour chiffrer les fichiers. Elle est utilisée pour récupérer les fichiers d'un compte si le mot de passe a été oublié.",
|
||||
"Recovery key password" : "Mot de passe de la clé de récupération",
|
||||
"Passwords fields do not match" : "Les deux mots de passe ne correspondent pas",
|
||||
"Repeat recovery key password" : "Répétez le mot de passe de la clé de récupération",
|
||||
"An error occurred while updating the recovery key settings. Please try again." : "Une erreur est survenue lors de la mise à jour des paramètres de la clé de récupération. Veuillez essayer à nouveau.",
|
||||
"Change recovery key password" : "Modifier le mot de passe de la clé de récupération",
|
||||
"Old recovery key password" : "Ancien mot de passe de la clé de récupération",
|
||||
"New recovery key password" : "Nouveau mot de passe de la clé de récupération",
|
||||
"Repeat new recovery key password" : "Répétez le nouveau mot de passe de la clé de récupération",
|
||||
"An error occurred while changing the recovery key password. Please try again." : "Une erreur est survenue lors de la modification de la clé de récupération. Veuillez essayer à nouveau.",
|
||||
"Update private key password" : "Mettre à jour le mot de passe de la clé privée",
|
||||
"Your private key password no longer matches your log-in password. Set your old private key password to your current log-in password." : "Votre mot de passe de clé privée ne correspond plus à votre mot de passe de connexion. Définissez votre ancien mot de passe de clé privée à la valeur actuelle du mot de passe de connexion.",
|
||||
"If you do not remember your old password you can ask your administrator to recover your files." : "Si vous ne vous souvenez pas de votre ancien mot de passe, vous pouvez demander à votre administrateur de récupérer vos fichiers.",
|
||||
"Old log-in password" : "Ancien mot de passe de connexion",
|
||||
"Current log-in password" : "Actuel mot de passe de connexion",
|
||||
|
||||
@@ -21,9 +21,8 @@ use OCP\IUserSession;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class PassphraseService {
|
||||
|
||||
/** @var array<string, bool> */
|
||||
private static array $passwordResetUsers = [];
|
||||
private array $passwordResetUsers = [];
|
||||
|
||||
public function __construct(
|
||||
private Util $util,
|
||||
@@ -39,9 +38,9 @@ class PassphraseService {
|
||||
|
||||
public function setProcessingReset(string $uid, bool $processing = true): void {
|
||||
if ($processing) {
|
||||
self::$passwordResetUsers[$uid] = true;
|
||||
$this->passwordResetUsers[$uid] = true;
|
||||
} else {
|
||||
unset(self::$passwordResetUsers[$uid]);
|
||||
unset($this->passwordResetUsers[$uid]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +50,7 @@ class PassphraseService {
|
||||
public function setPassphraseForUser(string $userId, string $password, ?string $recoveryPassword = null): bool {
|
||||
// if we are in the process to resetting a user password, we have nothing
|
||||
// to do here
|
||||
if (isset(self::$passwordResetUsers[$userId])) {
|
||||
if (isset($this->passwordResetUsers[$userId])) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ OC.L10N.register(
|
||||
"Cancel" : "Abbrechen",
|
||||
"Add remote share" : "Externe Freigabe hinzufügen",
|
||||
"Remote share" : "Externe Freigabe",
|
||||
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Möchten Sie die externe Freigabe {name} von {owner}@{remote} hinzufügen?",
|
||||
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Soll die externe Freigabe {name} von {owner}@{remote} hinzufügt werden?",
|
||||
"Remote share password" : "Passwort für die externe Freigabe",
|
||||
"Incoming share could not be processed" : "Eingehende Freigabe konnte nicht verarbeitet werden",
|
||||
"X (formerly Twitter)" : "X (früher Twitter)",
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"Cancel" : "Abbrechen",
|
||||
"Add remote share" : "Externe Freigabe hinzufügen",
|
||||
"Remote share" : "Externe Freigabe",
|
||||
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Möchten Sie die externe Freigabe {name} von {owner}@{remote} hinzufügen?",
|
||||
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Soll die externe Freigabe {name} von {owner}@{remote} hinzufügt werden?",
|
||||
"Remote share password" : "Passwort für die externe Freigabe",
|
||||
"Incoming share could not be processed" : "Eingehende Freigabe konnte nicht verarbeitet werden",
|
||||
"X (formerly Twitter)" : "X (früher Twitter)",
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
OC.L10N.register(
|
||||
"federatedfilesharing",
|
||||
{
|
||||
"Invalid Federated Cloud ID" : "Neteisingas federacinės debesijos ID",
|
||||
"Server to server sharing is not enabled on this server" : "Dalinimasis tarp serverių yra neleidžiamas šiame serveryje",
|
||||
"Couldn't establish a federated share." : "Nepavyko užmegzti federacinio viešinio.",
|
||||
"Couldn't establish a federated share, maybe the password was wrong." : "Nepavyko užmegzti federacinio viešinio, galbūt, neteisingas slaptažodis.",
|
||||
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Federacinio viešinio užklausa išsiųsta, jūs gausite pakvietimą. Tikrinkite savo pranešimus.",
|
||||
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Nepavyko užmegzti federacinio viešinio, atrodo, kad serveris su kuriuo ketinama jungtis į federaciją yra per senas (Nextcloud <= 9).",
|
||||
"It is not allowed to send federated group shares from this server." : "Iš šio serverio neleidžiama siųsti federacinių grupės viešinių.",
|
||||
"Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s bendrinimas nepavyko, nes šis elementas jau bendrinamas su %2$s paskyra",
|
||||
"Not allowed to create a federated share to the same account" : "Draudžiama kurti federacinį bendrinamą išteklių ta pačia paskyra",
|
||||
"Federated shares require read permissions" : "Federaciniams bendrinamiesiems elementams reikalingi leidimai skaityti",
|
||||
"File is already shared with %s" : "Failas jau yra bendrinamas su %s",
|
||||
"Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "%1$s bendrinimas nepavyko, %2$s nepavyko rasti, galbūt serveris šiuo metu nepasiekiamas arba naudoja automatiškai pasirašytą sertifikatą.",
|
||||
"Could not find share" : "Nepavyko rasti viešinio",
|
||||
"Federated sharing" : "Federacinis bendrinimas",
|
||||
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "Jūs gavote {share} kaip nuotolinį viešinį iš {user} ({behalf} vardu)",
|
||||
"You received {share} as a remote share from {user}" : "Jūs gavote {share} kaip nuotolinį viešinį iš {user}",
|
||||
"Accept" : "Priimti",
|
||||
"Decline" : "Atmesti",
|
||||
"Federated Cloud Sharing" : "Bendrinimas federacinėje debesijoje",
|
||||
"Sharing" : "Duomenų bendrinimas",
|
||||
"Federated file sharing" : "Federacinis failų bendrinimas",
|
||||
"Provide federated file sharing across servers" : "Užtikrinti federacinį failų bendrinimą tarp serverių",
|
||||
"Confirm data upload to lookup server" : "Patvirtinkite duomenų įkėlimą į paieškos serverį",
|
||||
"When enabled, all account properties (e.g. email address) with scope visibility set to \"published\", will be automatically synced and transmitted to an external system and made available in a public, global address book." : "Kai įjungta, visos paskyros ypatybės (pvz., el. pašto adresas), kurių matomumo apimtis nustatyta kaip „publikuota“, bus automatiškai sinchronizuojamos ir perduotos išorinei sistemai bei padaromos prieinamos viešojoje, globalioje adresų knygoje.",
|
||||
"Enable data upload" : "Įgalinti duomenų įkėlimą",
|
||||
"Disable upload" : "Išjungti įkėlimą",
|
||||
"Confirm querying lookup server" : "Patvirtinkite užklausos paieškos serverį",
|
||||
"When enabled, the search input when creating shares will be sent to an external system that provides a public and global address book." : "Kai įgalinta, paieškos įvestis kuriant bendrinamus failus bus siunčiama į išorinę sistemą, kurioje yra vieša ir globali adresų knyga.",
|
||||
"This is used to retrieve the federated cloud ID to make federated sharing easier." : "Tai naudojama norint gauti federacinio debesies ID, kad būtų lengviau bendrinti federacinį serverį.",
|
||||
"Moreover, email addresses of users might be sent to that system in order to verify them." : "Be to, į tą sistemą gali būti siunčiami vartotojų el. pašto adresai, siekiant juos patikrinti.",
|
||||
"Enable querying" : "Įgalinti užklausą",
|
||||
"Disable querying" : "Išjungti užklausą",
|
||||
"Unable to update federated files sharing config" : "Nepavyko atnaujinti federacinių failų bendrinimo konfigūracijos",
|
||||
"Adjust how people can share between servers. This includes shares between people on this server as well if they are using federated sharing." : "Koreguokite, kaip naudotojai gali bendrinti tarp serverių. Tai apima ir bendrinimą tarp šio serverio naudotojų, jei jie naudoja federacinį bendrinimą.",
|
||||
"Allow people on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Leisti šio serverio naudotojams siųsti bendrinamus failus į kitus serverius (ši parinktis taip pat suteikia „WebDAV“ prieigą prie viešai bendrinamų failų)",
|
||||
"Allow people on this server to receive shares from other servers" : "Leisti šio serverio naudotojams gauti bendrinamus failus iš kitų serverių",
|
||||
"Allow people on this server to send shares to groups on other servers" : "Leisti šio serverio naudotojams siųsti bendrinamus failus grupėms kituose serveriuose",
|
||||
"Allow people on this server to receive group shares from other servers" : "Leisti šio serverio naudotojams gauti grupės bendrinimus iš kitų serverių",
|
||||
"The lookup server is only available for global scale." : "Paieškos serveris galimas tik globaliu mastu.",
|
||||
"Search global and public address book for people" : "Ieškoti žmonių globalioje ir viešojoje adresų knygoje",
|
||||
"Allow people to publish their data to a global and public address book" : "Leisti žmonėms publikuoti savo duomenis globalioje ir viešojoje adresų knygoje",
|
||||
"Trusted federation" : "Patikima federacija",
|
||||
"Automatically accept shares from trusted federated accounts and groups by default" : "Automatiškai priimti bendrinimus iš patikimų federacinių paskyrų ir grupių pagal numatytuosius nustatymus",
|
||||
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Pasidalinkite su manimi per mano #Nextcloud Federated Cloud ID, žr. {url}",
|
||||
"Share with me through my #Nextcloud Federated Cloud ID" : "Bendrinti su manimi per mano #Nextcloud federacinės debesijos ID",
|
||||
"Share with me via Nextcloud" : "Bendrinkite su manimi per „Nextcloud“",
|
||||
"Cloud ID copied" : "Cloud ID nukopijuotas",
|
||||
"Copy" : "Kopijuoti",
|
||||
"Clipboard not available. Please copy the cloud ID manually." : "Iškarpinė neprieinama. Nukopijuokite debesijos ID rankiniu būdu.",
|
||||
"Copied!" : "Nukopijuota!",
|
||||
"Federated Cloud" : "Federacinė debesija",
|
||||
"You can share with anyone who uses a {productName} server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Galite bendrinti su visais, kas naudoja {productName} serverį ar kitus su „Open Cloud Mesh“ (OCM) suderinamus serverius ir paslaugas! Tiesiog bendrinimo dialogo lange įveskite jų „Federated Cloud“ ID. Jis atrodo taip: person@cloud.example.com",
|
||||
"Your Federated Cloud ID" : "Jūsų „Federated Cloud“ ID",
|
||||
"Share it so your friends can share files with you:" : "Pasidalinkite juo, kad jūsų draugai galėtų bendrinti failus kartu su jumis:",
|
||||
"Bluesky" : "\"Bluesky\"",
|
||||
"Facebook" : "„Facebook“",
|
||||
"Mastodon" : "„Mastodon“",
|
||||
"Add to your website" : "Pridėkite prie savo svetainės",
|
||||
"Share with me via {productName}" : "Pasidalinkite su manimi per {productName}",
|
||||
"HTML Code:" : "HTML kodas:",
|
||||
"Cancel" : "Atsisakyti",
|
||||
"Add remote share" : "Pridėti nuotolinį viešinį",
|
||||
"Remote share" : "Nuotolinis viešinys",
|
||||
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Ar norite pridėti nuotolinį viešinį {name} iš {owner}@{remote}?",
|
||||
"Remote share password" : "Nuotolinio viešinio slaptažodis",
|
||||
"Incoming share could not be processed" : "Gaunamo bendrinimo apdoroti nepavyko",
|
||||
"X (formerly Twitter)" : "X (anksčiau „Twitter“)",
|
||||
"formerly Twitter" : "anksčiau „Twitter“"
|
||||
},
|
||||
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
|
||||
@@ -0,0 +1,71 @@
|
||||
{ "translations": {
|
||||
"Invalid Federated Cloud ID" : "Neteisingas federacinės debesijos ID",
|
||||
"Server to server sharing is not enabled on this server" : "Dalinimasis tarp serverių yra neleidžiamas šiame serveryje",
|
||||
"Couldn't establish a federated share." : "Nepavyko užmegzti federacinio viešinio.",
|
||||
"Couldn't establish a federated share, maybe the password was wrong." : "Nepavyko užmegzti federacinio viešinio, galbūt, neteisingas slaptažodis.",
|
||||
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Federacinio viešinio užklausa išsiųsta, jūs gausite pakvietimą. Tikrinkite savo pranešimus.",
|
||||
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Nepavyko užmegzti federacinio viešinio, atrodo, kad serveris su kuriuo ketinama jungtis į federaciją yra per senas (Nextcloud <= 9).",
|
||||
"It is not allowed to send federated group shares from this server." : "Iš šio serverio neleidžiama siųsti federacinių grupės viešinių.",
|
||||
"Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s bendrinimas nepavyko, nes šis elementas jau bendrinamas su %2$s paskyra",
|
||||
"Not allowed to create a federated share to the same account" : "Draudžiama kurti federacinį bendrinamą išteklių ta pačia paskyra",
|
||||
"Federated shares require read permissions" : "Federaciniams bendrinamiesiems elementams reikalingi leidimai skaityti",
|
||||
"File is already shared with %s" : "Failas jau yra bendrinamas su %s",
|
||||
"Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "%1$s bendrinimas nepavyko, %2$s nepavyko rasti, galbūt serveris šiuo metu nepasiekiamas arba naudoja automatiškai pasirašytą sertifikatą.",
|
||||
"Could not find share" : "Nepavyko rasti viešinio",
|
||||
"Federated sharing" : "Federacinis bendrinimas",
|
||||
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "Jūs gavote {share} kaip nuotolinį viešinį iš {user} ({behalf} vardu)",
|
||||
"You received {share} as a remote share from {user}" : "Jūs gavote {share} kaip nuotolinį viešinį iš {user}",
|
||||
"Accept" : "Priimti",
|
||||
"Decline" : "Atmesti",
|
||||
"Federated Cloud Sharing" : "Bendrinimas federacinėje debesijoje",
|
||||
"Sharing" : "Duomenų bendrinimas",
|
||||
"Federated file sharing" : "Federacinis failų bendrinimas",
|
||||
"Provide federated file sharing across servers" : "Užtikrinti federacinį failų bendrinimą tarp serverių",
|
||||
"Confirm data upload to lookup server" : "Patvirtinkite duomenų įkėlimą į paieškos serverį",
|
||||
"When enabled, all account properties (e.g. email address) with scope visibility set to \"published\", will be automatically synced and transmitted to an external system and made available in a public, global address book." : "Kai įjungta, visos paskyros ypatybės (pvz., el. pašto adresas), kurių matomumo apimtis nustatyta kaip „publikuota“, bus automatiškai sinchronizuojamos ir perduotos išorinei sistemai bei padaromos prieinamos viešojoje, globalioje adresų knygoje.",
|
||||
"Enable data upload" : "Įgalinti duomenų įkėlimą",
|
||||
"Disable upload" : "Išjungti įkėlimą",
|
||||
"Confirm querying lookup server" : "Patvirtinkite užklausos paieškos serverį",
|
||||
"When enabled, the search input when creating shares will be sent to an external system that provides a public and global address book." : "Kai įgalinta, paieškos įvestis kuriant bendrinamus failus bus siunčiama į išorinę sistemą, kurioje yra vieša ir globali adresų knyga.",
|
||||
"This is used to retrieve the federated cloud ID to make federated sharing easier." : "Tai naudojama norint gauti federacinio debesies ID, kad būtų lengviau bendrinti federacinį serverį.",
|
||||
"Moreover, email addresses of users might be sent to that system in order to verify them." : "Be to, į tą sistemą gali būti siunčiami vartotojų el. pašto adresai, siekiant juos patikrinti.",
|
||||
"Enable querying" : "Įgalinti užklausą",
|
||||
"Disable querying" : "Išjungti užklausą",
|
||||
"Unable to update federated files sharing config" : "Nepavyko atnaujinti federacinių failų bendrinimo konfigūracijos",
|
||||
"Adjust how people can share between servers. This includes shares between people on this server as well if they are using federated sharing." : "Koreguokite, kaip naudotojai gali bendrinti tarp serverių. Tai apima ir bendrinimą tarp šio serverio naudotojų, jei jie naudoja federacinį bendrinimą.",
|
||||
"Allow people on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Leisti šio serverio naudotojams siųsti bendrinamus failus į kitus serverius (ši parinktis taip pat suteikia „WebDAV“ prieigą prie viešai bendrinamų failų)",
|
||||
"Allow people on this server to receive shares from other servers" : "Leisti šio serverio naudotojams gauti bendrinamus failus iš kitų serverių",
|
||||
"Allow people on this server to send shares to groups on other servers" : "Leisti šio serverio naudotojams siųsti bendrinamus failus grupėms kituose serveriuose",
|
||||
"Allow people on this server to receive group shares from other servers" : "Leisti šio serverio naudotojams gauti grupės bendrinimus iš kitų serverių",
|
||||
"The lookup server is only available for global scale." : "Paieškos serveris galimas tik globaliu mastu.",
|
||||
"Search global and public address book for people" : "Ieškoti žmonių globalioje ir viešojoje adresų knygoje",
|
||||
"Allow people to publish their data to a global and public address book" : "Leisti žmonėms publikuoti savo duomenis globalioje ir viešojoje adresų knygoje",
|
||||
"Trusted federation" : "Patikima federacija",
|
||||
"Automatically accept shares from trusted federated accounts and groups by default" : "Automatiškai priimti bendrinimus iš patikimų federacinių paskyrų ir grupių pagal numatytuosius nustatymus",
|
||||
"Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Pasidalinkite su manimi per mano #Nextcloud Federated Cloud ID, žr. {url}",
|
||||
"Share with me through my #Nextcloud Federated Cloud ID" : "Bendrinti su manimi per mano #Nextcloud federacinės debesijos ID",
|
||||
"Share with me via Nextcloud" : "Bendrinkite su manimi per „Nextcloud“",
|
||||
"Cloud ID copied" : "Cloud ID nukopijuotas",
|
||||
"Copy" : "Kopijuoti",
|
||||
"Clipboard not available. Please copy the cloud ID manually." : "Iškarpinė neprieinama. Nukopijuokite debesijos ID rankiniu būdu.",
|
||||
"Copied!" : "Nukopijuota!",
|
||||
"Federated Cloud" : "Federacinė debesija",
|
||||
"You can share with anyone who uses a {productName} server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Galite bendrinti su visais, kas naudoja {productName} serverį ar kitus su „Open Cloud Mesh“ (OCM) suderinamus serverius ir paslaugas! Tiesiog bendrinimo dialogo lange įveskite jų „Federated Cloud“ ID. Jis atrodo taip: person@cloud.example.com",
|
||||
"Your Federated Cloud ID" : "Jūsų „Federated Cloud“ ID",
|
||||
"Share it so your friends can share files with you:" : "Pasidalinkite juo, kad jūsų draugai galėtų bendrinti failus kartu su jumis:",
|
||||
"Bluesky" : "\"Bluesky\"",
|
||||
"Facebook" : "„Facebook“",
|
||||
"Mastodon" : "„Mastodon“",
|
||||
"Add to your website" : "Pridėkite prie savo svetainės",
|
||||
"Share with me via {productName}" : "Pasidalinkite su manimi per {productName}",
|
||||
"HTML Code:" : "HTML kodas:",
|
||||
"Cancel" : "Atsisakyti",
|
||||
"Add remote share" : "Pridėti nuotolinį viešinį",
|
||||
"Remote share" : "Nuotolinis viešinys",
|
||||
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Ar norite pridėti nuotolinį viešinį {name} iš {owner}@{remote}?",
|
||||
"Remote share password" : "Nuotolinio viešinio slaptažodis",
|
||||
"Incoming share could not be processed" : "Gaunamo bendrinimo apdoroti nepavyko",
|
||||
"X (formerly Twitter)" : "X (anksčiau „Twitter“)",
|
||||
"formerly Twitter" : "anksčiau „Twitter“"
|
||||
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
|
||||
}
|
||||
@@ -18,7 +18,6 @@ use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
|
||||
use OCP\AppFramework\Http\Attribute\OpenAPI;
|
||||
use OCP\AppFramework\Http\Attribute\PublicPage;
|
||||
use OCP\AppFramework\Http\JSONResponse;
|
||||
use OCP\Constants;
|
||||
use OCP\Federation\ICloudIdManager;
|
||||
use OCP\HintException;
|
||||
use OCP\Http\Client\IClientService;
|
||||
@@ -108,9 +107,9 @@ class MountPublicLinkController extends Controller {
|
||||
return $response;
|
||||
}
|
||||
|
||||
if (($share->getPermissions() & Constants::PERMISSION_READ) === 0) {
|
||||
if (!$share->canDownload()) {
|
||||
$response = new JSONResponse(
|
||||
['message' => 'Mounting file drop not supported'],
|
||||
['message' => 'Mounting download restricted share is not allowed'],
|
||||
Http::STATUS_BAD_REQUEST
|
||||
);
|
||||
$response->throttle();
|
||||
|
||||
@@ -15,6 +15,14 @@ OC.L10N.register(
|
||||
"Add trusted server" : "Ajouter un serveur de confiance",
|
||||
"Server url" : "URL du serveur",
|
||||
"Add" : "Ajouter",
|
||||
"Server ok" : "Serveur Ok",
|
||||
"User list was exchanged at least once successfully with the remote server." : "La liste des utilisateurs a été échangée au moins une fois avec succès avec le serveur distant.",
|
||||
"Server pending" : "Serveur en attente",
|
||||
"Waiting for shared secret or initial user list exchange." : "En attente du partage du secret ou de l'échange initial de la liste des utilisateurs.",
|
||||
"Server access revoked" : "Accès du serveur révoqué",
|
||||
"Server failure" : "Échec du serveur",
|
||||
"Connection to the remote server failed or the remote server is misconfigured." : "La connexion avec le serveur distant a échoué ou le serveur distant est mal configuré.",
|
||||
"Failed to delete trusted server. Please try again later." : "Échec de suppression du serveur de confiance. Veuillez réessayer plus tard.",
|
||||
"Delete" : "Supprimer",
|
||||
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des comptes. Par exemple, ce sera utilisé pour auto-compléter les comptes externes lors du partage fédéré. Il n'est pas nécessaire d'ajouter un serveur comme serveur de confiance afin de créer un partage fédéré.",
|
||||
"Each server must validate the other. This process may require a few cron cycles." : "Chaque serveur doit valider l'autre. Ce processus peut prendre plusieurs cycles de tâches planifiées.",
|
||||
|
||||
@@ -13,6 +13,14 @@
|
||||
"Add trusted server" : "Ajouter un serveur de confiance",
|
||||
"Server url" : "URL du serveur",
|
||||
"Add" : "Ajouter",
|
||||
"Server ok" : "Serveur Ok",
|
||||
"User list was exchanged at least once successfully with the remote server." : "La liste des utilisateurs a été échangée au moins une fois avec succès avec le serveur distant.",
|
||||
"Server pending" : "Serveur en attente",
|
||||
"Waiting for shared secret or initial user list exchange." : "En attente du partage du secret ou de l'échange initial de la liste des utilisateurs.",
|
||||
"Server access revoked" : "Accès du serveur révoqué",
|
||||
"Server failure" : "Échec du serveur",
|
||||
"Connection to the remote server failed or the remote server is misconfigured." : "La connexion avec le serveur distant a échoué ou le serveur distant est mal configuré.",
|
||||
"Failed to delete trusted server. Please try again later." : "Échec de suppression du serveur de confiance. Veuillez réessayer plus tard.",
|
||||
"Delete" : "Supprimer",
|
||||
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Une fédération vous permet de vous connecter avec d'autres serveurs de confiance pour échanger la liste des comptes. Par exemple, ce sera utilisé pour auto-compléter les comptes externes lors du partage fédéré. Il n'est pas nécessaire d'ajouter un serveur comme serveur de confiance afin de créer un partage fédéré.",
|
||||
"Each server must validate the other. This process may require a few cron cycles." : "Chaque serveur doit valider l'autre. Ce processus peut prendre plusieurs cycles de tâches planifiées.",
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
OC.L10N.register(
|
||||
"federation",
|
||||
{
|
||||
"Added to the list of trusted servers" : "Pridėtas į patikimų serverių sąrašą",
|
||||
"No server found with ID: %s" : "Nerasta jokio serverio, kurio ID: %s",
|
||||
"Could not remove server" : "Nepavyko pašalinti serverio",
|
||||
"Server is already in the list of trusted servers." : "Serveris jau yra patikimų serverių sąraše.",
|
||||
"No server to federate with found" : "Nerasta jokio serverio, su kuriuo jungtis į federaciją",
|
||||
"Could not add server" : "Nepavyko pridėti serverio",
|
||||
"Trusted servers" : "Patikimi serveriai",
|
||||
"Federation" : "Federacija",
|
||||
"Federation allows you to connect with other trusted servers to exchange the account directory." : "Federacija leidžia prisijungti prie kitų patikimų serverių, kad būtų galima keistis paskyros katalogu.",
|
||||
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federacija leidžia prisijungti prie kitų patikimų serverių, kad būtų galima keistis paskyros katalogu.",
|
||||
"Could not add trusted server. Please try again later." : "Nepavyko pridėti patikimo serverio. Bandykite dar kartą vėliau.",
|
||||
"Add trusted server" : "Pridėti patikimą serverį",
|
||||
"Server url" : "Serverio url",
|
||||
"Add" : "Pridėti",
|
||||
"Server ok" : "Serveris tvarkoje",
|
||||
"User list was exchanged at least once successfully with the remote server." : "Vartotojų sąrašas buvo bent kartą sėkmingai pakeistas su nuotoliniu serveriu.",
|
||||
"Server pending" : "Laukiama serverio",
|
||||
"Waiting for shared secret or initial user list exchange." : "Laukiama bendrinamo slapto rakto arba pradinio naudotojų sąrašo pasikeitimo.",
|
||||
"Server access revoked" : "Prieiga prie serverio atšaukta",
|
||||
"Server failure" : "Serverio gedimas",
|
||||
"Connection to the remote server failed or the remote server is misconfigured." : "Ryšys su nuotoliniu serveriu nepavyko arba nuotolinis serveris yra neteisingai sukonfigūruotas.",
|
||||
"Failed to delete trusted server. Please try again later." : "Nepavyko pašalinti patikimo serverio. Bandykite dar kartą vėliau.",
|
||||
"Delete" : "Ištrinti",
|
||||
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federacija leidžia prisijungti prie kitų patikimų serverių, kad būtų galima keistis paskyrų katalogu. Pavyzdžiui, tai bus naudojama automatiškai užpildyti išorines paskyras, skirtas federuotam bendrinimui. Norint sukurti federuotą bendrinimą, nebūtina pridėti serverio kaip patikimo serverio.",
|
||||
"Each server must validate the other. This process may require a few cron cycles." : "Kiekvienas serveris turi patvirtinti kitą. Šiam procesui gali prireikti kelių „cron“ ciklų.",
|
||||
"External documentation for Federated Cloud Sharing" : "Išorinė dokumentacija apie Federacinį Debesies Bendrinimą",
|
||||
"+ Add trusted server" : "+ Pridėti patikimą serverį",
|
||||
"Trusted server" : "Patikimas serveris"
|
||||
},
|
||||
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
|
||||
@@ -0,0 +1,31 @@
|
||||
{ "translations": {
|
||||
"Added to the list of trusted servers" : "Pridėtas į patikimų serverių sąrašą",
|
||||
"No server found with ID: %s" : "Nerasta jokio serverio, kurio ID: %s",
|
||||
"Could not remove server" : "Nepavyko pašalinti serverio",
|
||||
"Server is already in the list of trusted servers." : "Serveris jau yra patikimų serverių sąraše.",
|
||||
"No server to federate with found" : "Nerasta jokio serverio, su kuriuo jungtis į federaciją",
|
||||
"Could not add server" : "Nepavyko pridėti serverio",
|
||||
"Trusted servers" : "Patikimi serveriai",
|
||||
"Federation" : "Federacija",
|
||||
"Federation allows you to connect with other trusted servers to exchange the account directory." : "Federacija leidžia prisijungti prie kitų patikimų serverių, kad būtų galima keistis paskyros katalogu.",
|
||||
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federacija leidžia prisijungti prie kitų patikimų serverių, kad būtų galima keistis paskyros katalogu.",
|
||||
"Could not add trusted server. Please try again later." : "Nepavyko pridėti patikimo serverio. Bandykite dar kartą vėliau.",
|
||||
"Add trusted server" : "Pridėti patikimą serverį",
|
||||
"Server url" : "Serverio url",
|
||||
"Add" : "Pridėti",
|
||||
"Server ok" : "Serveris tvarkoje",
|
||||
"User list was exchanged at least once successfully with the remote server." : "Vartotojų sąrašas buvo bent kartą sėkmingai pakeistas su nuotoliniu serveriu.",
|
||||
"Server pending" : "Laukiama serverio",
|
||||
"Waiting for shared secret or initial user list exchange." : "Laukiama bendrinamo slapto rakto arba pradinio naudotojų sąrašo pasikeitimo.",
|
||||
"Server access revoked" : "Prieiga prie serverio atšaukta",
|
||||
"Server failure" : "Serverio gedimas",
|
||||
"Connection to the remote server failed or the remote server is misconfigured." : "Ryšys su nuotoliniu serveriu nepavyko arba nuotolinis serveris yra neteisingai sukonfigūruotas.",
|
||||
"Failed to delete trusted server. Please try again later." : "Nepavyko pašalinti patikimo serverio. Bandykite dar kartą vėliau.",
|
||||
"Delete" : "Ištrinti",
|
||||
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federacija leidžia prisijungti prie kitų patikimų serverių, kad būtų galima keistis paskyrų katalogu. Pavyzdžiui, tai bus naudojama automatiškai užpildyti išorines paskyras, skirtas federuotam bendrinimui. Norint sukurti federuotą bendrinimą, nebūtina pridėti serverio kaip patikimo serverio.",
|
||||
"Each server must validate the other. This process may require a few cron cycles." : "Kiekvienas serveris turi patvirtinti kitą. Šiam procesui gali prireikti kelių „cron“ ciklų.",
|
||||
"External documentation for Federated Cloud Sharing" : "Išorinė dokumentacija apie Federacinį Debesies Bendrinimą",
|
||||
"+ Add trusted server" : "+ Pridėti patikimą serverį",
|
||||
"Trusted server" : "Patikimas serveris"
|
||||
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
|
||||
}
|
||||
@@ -13,6 +13,7 @@ use OCA\Federation\SyncFederationAddressBooks as SyncService;
|
||||
use Symfony\Component\Console\Command\Command;
|
||||
use Symfony\Component\Console\Helper\ProgressBar;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Input\InputOption;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
|
||||
class SyncFederationAddressBooks extends Command {
|
||||
@@ -25,19 +26,21 @@ class SyncFederationAddressBooks extends Command {
|
||||
protected function configure() {
|
||||
$this
|
||||
->setName('federation:sync-addressbooks')
|
||||
->setDescription('Synchronizes addressbooks of all federated clouds');
|
||||
->setDescription('Synchronizes addressbooks of all federated clouds')
|
||||
->addOption('full', null, InputOption::VALUE_NONE, 'Perform a full sync instead of a delta sync');
|
||||
}
|
||||
|
||||
protected function execute(InputInterface $input, OutputInterface $output): int {
|
||||
$progress = new ProgressBar($output);
|
||||
$progress->start();
|
||||
$full = (bool)$input->getOption('full');
|
||||
$this->syncService->syncThemAll(function ($url, $ex) use ($progress, $output): void {
|
||||
if ($ex instanceof \Exception) {
|
||||
$output->writeln("Error while syncing $url : " . $ex->getMessage());
|
||||
} else {
|
||||
$progress->advance();
|
||||
}
|
||||
});
|
||||
}, $full);
|
||||
|
||||
$progress->finish();
|
||||
$output->writeln('');
|
||||
|
||||
@@ -24,7 +24,7 @@ class SyncFederationAddressBooks {
|
||||
/**
|
||||
* @param \Closure $callback
|
||||
*/
|
||||
public function syncThemAll(\Closure $callback) {
|
||||
public function syncThemAll(\Closure $callback, bool $full = false) {
|
||||
$trustedServers = $this->dbHandler->getAllServer();
|
||||
foreach ($trustedServers as $trustedServer) {
|
||||
$url = $trustedServer['url'];
|
||||
@@ -49,19 +49,28 @@ class SyncFederationAddressBooks {
|
||||
try {
|
||||
$syncToken = $oldSyncToken;
|
||||
|
||||
$book = $this->syncService->ensureSystemAddressBookExists($targetPrincipal, $targetBookId, $targetBookProperties);
|
||||
if ($full) {
|
||||
$this->syncService->markCardsAsPending($book['id']);
|
||||
}
|
||||
|
||||
do {
|
||||
[$syncToken, $truncated] = $this->syncService->syncRemoteAddressBook(
|
||||
$url,
|
||||
$cardDavUser,
|
||||
$addressBookUrl,
|
||||
$sharedSecret,
|
||||
$syncToken,
|
||||
$full ? null : $syncToken,
|
||||
$targetBookId,
|
||||
$targetPrincipal,
|
||||
$targetBookProperties
|
||||
);
|
||||
} while ($truncated);
|
||||
|
||||
if ($full) {
|
||||
$this->syncService->deletePendingCards($book['id']);
|
||||
}
|
||||
|
||||
if ($syncToken !== $oldSyncToken) {
|
||||
$this->dbHandler->setServerStatus($url, TrustedServers::STATUS_OK, $syncToken);
|
||||
} else {
|
||||
|
||||
@@ -95,6 +95,7 @@ OC.L10N.register(
|
||||
"Another entry with the same name already exists." : "Už existuje jiná položka se stejným názvem.",
|
||||
"Invalid filename." : "Neplatný název souboru.",
|
||||
"Rename file" : "Přejmenovat soubor",
|
||||
"Recently created" : "Nedávno vytvořeno",
|
||||
"Folder" : "Složka",
|
||||
"Unknown file type" : "Neznámý typ souboru",
|
||||
"{ext} image" : "{ext}obrázek",
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
"Another entry with the same name already exists." : "Už existuje jiná položka se stejným názvem.",
|
||||
"Invalid filename." : "Neplatný název souboru.",
|
||||
"Rename file" : "Přejmenovat soubor",
|
||||
"Recently created" : "Nedávno vytvořeno",
|
||||
"Folder" : "Složka",
|
||||
"Unknown file type" : "Neznámý typ souboru",
|
||||
"{ext} image" : "{ext}obrázek",
|
||||
|
||||
@@ -399,10 +399,10 @@ OC.L10N.register(
|
||||
"Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" in \"{newName}\" umbenannt",
|
||||
"Clear filter" : "Filter zurücksetzen",
|
||||
"Open file sidebar" : "Datei-Seitenleiste öffnen",
|
||||
"Search everywhere …" : "Überall suchen …",
|
||||
"Search here …" : "Hier suchen …",
|
||||
"Preparing …" : "Bereite vor …",
|
||||
"Submitting fields …" : "Felder werden übermittelt …",
|
||||
"Search everywhere …" : "Überall suchen …",
|
||||
"Search here …" : "Hier suchen …",
|
||||
"Preparing …" : "Bereite vor …",
|
||||
"Submitting fields …" : "Felder werden übermittelt …",
|
||||
"Shared by link" : "Über einen Link geteilt",
|
||||
"Shared" : "Geteilt",
|
||||
"You" : "Du",
|
||||
@@ -410,8 +410,8 @@ OC.L10N.register(
|
||||
"Unable to change the favorite state of the file" : "Der Favoriten-Status der Datei kann nicht geändert werden",
|
||||
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
|
||||
"Tags" : "Schlagworte",
|
||||
"Save as …" : "Speichern als …",
|
||||
"Converting files …" : "Dateien werden konvertiert …",
|
||||
"Converting file …" : "Datei wird konvertiert …"
|
||||
"Save as …" : "Speichern als …",
|
||||
"Converting files …" : "Dateien werden konvertiert …",
|
||||
"Converting file …" : "Datei wird konvertiert …"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -397,10 +397,10 @@
|
||||
"Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" in \"{newName}\" umbenannt",
|
||||
"Clear filter" : "Filter zurücksetzen",
|
||||
"Open file sidebar" : "Datei-Seitenleiste öffnen",
|
||||
"Search everywhere …" : "Überall suchen …",
|
||||
"Search here …" : "Hier suchen …",
|
||||
"Preparing …" : "Bereite vor …",
|
||||
"Submitting fields …" : "Felder werden übermittelt …",
|
||||
"Search everywhere …" : "Überall suchen …",
|
||||
"Search here …" : "Hier suchen …",
|
||||
"Preparing …" : "Bereite vor …",
|
||||
"Submitting fields …" : "Felder werden übermittelt …",
|
||||
"Shared by link" : "Über einen Link geteilt",
|
||||
"Shared" : "Geteilt",
|
||||
"You" : "Du",
|
||||
@@ -408,8 +408,8 @@
|
||||
"Unable to change the favorite state of the file" : "Der Favoriten-Status der Datei kann nicht geändert werden",
|
||||
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
|
||||
"Tags" : "Schlagworte",
|
||||
"Save as …" : "Speichern als …",
|
||||
"Converting files …" : "Dateien werden konvertiert …",
|
||||
"Converting file …" : "Datei wird konvertiert …"
|
||||
"Save as …" : "Speichern als …",
|
||||
"Converting files …" : "Dateien werden konvertiert …",
|
||||
"Converting file …" : "Datei wird konvertiert …"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -399,10 +399,10 @@ OC.L10N.register(
|
||||
"Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" in \"{newName}\" umbenannt",
|
||||
"Clear filter" : "Filter zurücksetzen",
|
||||
"Open file sidebar" : "Datei-Seitenleiste öffnen",
|
||||
"Search everywhere …" : "Überall suchen …",
|
||||
"Search here …" : "Hier suchen …",
|
||||
"Preparing …" : "Bereite vor …",
|
||||
"Submitting fields …" : "Felder werden übermittelt …",
|
||||
"Search everywhere …" : "Überall suchen …",
|
||||
"Search here …" : "Hier suchen …",
|
||||
"Preparing …" : "Bereite vor …",
|
||||
"Submitting fields …" : "Felder werden übermittelt …",
|
||||
"Shared by link" : "Über einen Link geteilt",
|
||||
"Shared" : "Geteilt",
|
||||
"You" : "Sie",
|
||||
@@ -410,8 +410,8 @@ OC.L10N.register(
|
||||
"Unable to change the favorite state of the file" : "Der Favoriten-Status der Datei kann nicht geändert werden",
|
||||
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
|
||||
"Tags" : "Schlagworte",
|
||||
"Save as …" : "Speichern als …",
|
||||
"Converting files …" : "Dateien werden konvertiert …",
|
||||
"Converting file …" : "Datei wird konvertiert …"
|
||||
"Save as …" : "Speichern als …",
|
||||
"Converting files …" : "Dateien werden konvertiert …",
|
||||
"Converting file …" : "Datei wird konvertiert …"
|
||||
},
|
||||
"nplurals=2; plural=(n != 1);");
|
||||
|
||||
@@ -397,10 +397,10 @@
|
||||
"Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" in \"{newName}\" umbenannt",
|
||||
"Clear filter" : "Filter zurücksetzen",
|
||||
"Open file sidebar" : "Datei-Seitenleiste öffnen",
|
||||
"Search everywhere …" : "Überall suchen …",
|
||||
"Search here …" : "Hier suchen …",
|
||||
"Preparing …" : "Bereite vor …",
|
||||
"Submitting fields …" : "Felder werden übermittelt …",
|
||||
"Search everywhere …" : "Überall suchen …",
|
||||
"Search here …" : "Hier suchen …",
|
||||
"Preparing …" : "Bereite vor …",
|
||||
"Submitting fields …" : "Felder werden übermittelt …",
|
||||
"Shared by link" : "Über einen Link geteilt",
|
||||
"Shared" : "Geteilt",
|
||||
"You" : "Sie",
|
||||
@@ -408,8 +408,8 @@
|
||||
"Unable to change the favorite state of the file" : "Der Favoriten-Status der Datei kann nicht geändert werden",
|
||||
"Error while loading the file data" : "Fehler beim Laden der Datei-Daten",
|
||||
"Tags" : "Schlagworte",
|
||||
"Save as …" : "Speichern als …",
|
||||
"Converting files …" : "Dateien werden konvertiert …",
|
||||
"Converting file …" : "Datei wird konvertiert …"
|
||||
"Save as …" : "Speichern als …",
|
||||
"Converting files …" : "Dateien werden konvertiert …",
|
||||
"Converting file …" : "Datei wird konvertiert …"
|
||||
},"pluralForm" :"nplurals=2; plural=(n != 1);"
|
||||
}
|
||||
@@ -95,6 +95,7 @@ OC.L10N.register(
|
||||
"Another entry with the same name already exists." : "Une autre entrée avec le même nom existe déjà.",
|
||||
"Invalid filename." : "Nom de fichier invalide.",
|
||||
"Rename file" : "Renommer le fichier",
|
||||
"Recently created" : "Créé récemment",
|
||||
"Folder" : "Dossier",
|
||||
"Unknown file type" : "Type de fichier inconnu",
|
||||
"{ext} image" : "{ext} image",
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
"Another entry with the same name already exists." : "Une autre entrée avec le même nom existe déjà.",
|
||||
"Invalid filename." : "Nom de fichier invalide.",
|
||||
"Rename file" : "Renommer le fichier",
|
||||
"Recently created" : "Créé récemment",
|
||||
"Folder" : "Dossier",
|
||||
"Unknown file type" : "Type de fichier inconnu",
|
||||
"{ext} image" : "{ext} image",
|
||||
|
||||
@@ -95,6 +95,7 @@ OC.L10N.register(
|
||||
"Another entry with the same name already exists." : "Već postoji drugi upis s istim nazivom.",
|
||||
"Invalid filename." : "Nevažeći naziv datoteke.",
|
||||
"Rename file" : "Preimenuj datoteku",
|
||||
"Recently created" : "Nedavno stvoreno",
|
||||
"Folder" : "Mapa",
|
||||
"Unknown file type" : "Nepoznata vrsta datoteke",
|
||||
"{ext} image" : "{ext} slika",
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
"Another entry with the same name already exists." : "Već postoji drugi upis s istim nazivom.",
|
||||
"Invalid filename." : "Nevažeći naziv datoteke.",
|
||||
"Rename file" : "Preimenuj datoteku",
|
||||
"Recently created" : "Nedavno stvoreno",
|
||||
"Folder" : "Mapa",
|
||||
"Unknown file type" : "Nepoznata vrsta datoteke",
|
||||
"{ext} image" : "{ext} slika",
|
||||
|
||||
+17
-16
@@ -1,24 +1,25 @@
|
||||
OC.L10N.register(
|
||||
"files",
|
||||
{
|
||||
"Added to favorites" : "Added to favorites",
|
||||
"Removed from favorites" : "Removed from favorites",
|
||||
"You added {file} to your favorites" : "You added {file} to your favorites",
|
||||
"You removed {file} from your favorites" : "You removed {file} from your favorites",
|
||||
"Added to favorites" : "დაემატა რჩეულებში",
|
||||
"Removed from favorites" : "ამოიშალა რჩეულებიდან",
|
||||
"You added {file} to your favorites" : "თქვენ დაამატეთ {file}-ი რჩეულებში",
|
||||
"You removed {file} from your favorites" : "თქვენ ამოშალეთ {file}-ი თქვენი რჩეული ფაილებიდან",
|
||||
"Favorites" : "ფავორიტები",
|
||||
"File changes" : "ფაილის ცვლილებები",
|
||||
"Created by {user}" : "Created by {user}",
|
||||
"Changed by {user}" : "Changed by {user}",
|
||||
"Deleted by {user}" : "Deleted by {user}",
|
||||
"Restored by {user}" : "Restored by {user}",
|
||||
"Renamed by {user}" : "Renamed by {user}",
|
||||
"Moved by {user}" : "Moved by {user}",
|
||||
"You created {file}" : "You created {file}",
|
||||
"You created an encrypted file in {file}" : "You created an encrypted file in {file}",
|
||||
"{user} created {file}" : "{user} created {file}",
|
||||
"{user} created an encrypted file in {file}" : "{user} created an encrypted file in {file}",
|
||||
"{file} was created in a public folder" : "{file} was created in a public folder",
|
||||
"You changed {file}" : "You changed {file}",
|
||||
"Created by {user}" : "შექმნა მომხმარებელმა {user}",
|
||||
"Changed by {user}" : "შეცვალა მომხმარებელმა {user}",
|
||||
"Deleted by {user}" : "წაშალა მომხმარებელმა {user}",
|
||||
"Restored by {user}" : "აღადგინა მომხმარებელმა {user}",
|
||||
"Renamed by {user}" : "სახელი გადაარქვა მომხმარებელმა {user}",
|
||||
"Moved by {user}" : "გადაიტანა მომხმარებელმა {user}",
|
||||
"\"remote account\"" : "დისნტანციური ანგარიში",
|
||||
"You created {file}" : "თქვენ შექმენით {file}",
|
||||
"You created an encrypted file in {file}" : "შექმენით დაშიფრული ფაილი {file}-ში",
|
||||
"{user} created {file}" : "{user} მომხმარებელმა შექმნა {file}",
|
||||
"{user} created an encrypted file in {file}" : "{user} მომხმარებელმა შექმნა დაშიფრული ფაილი {file}-ში",
|
||||
"{file} was created in a public folder" : "{file} შეიქმნა საზოგადო დირექტორიაში",
|
||||
"You changed {file}" : "თქვენ შეცვალეთ {file}",
|
||||
"You changed an encrypted file in {file}" : "You changed an encrypted file in {file}",
|
||||
"{user} changed {file}" : "{user} changed {file}",
|
||||
"{user} changed an encrypted file in {file}" : "{user} changed an encrypted file in {file}",
|
||||
|
||||
+17
-16
@@ -1,22 +1,23 @@
|
||||
{ "translations": {
|
||||
"Added to favorites" : "Added to favorites",
|
||||
"Removed from favorites" : "Removed from favorites",
|
||||
"You added {file} to your favorites" : "You added {file} to your favorites",
|
||||
"You removed {file} from your favorites" : "You removed {file} from your favorites",
|
||||
"Added to favorites" : "დაემატა რჩეულებში",
|
||||
"Removed from favorites" : "ამოიშალა რჩეულებიდან",
|
||||
"You added {file} to your favorites" : "თქვენ დაამატეთ {file}-ი რჩეულებში",
|
||||
"You removed {file} from your favorites" : "თქვენ ამოშალეთ {file}-ი თქვენი რჩეული ფაილებიდან",
|
||||
"Favorites" : "ფავორიტები",
|
||||
"File changes" : "ფაილის ცვლილებები",
|
||||
"Created by {user}" : "Created by {user}",
|
||||
"Changed by {user}" : "Changed by {user}",
|
||||
"Deleted by {user}" : "Deleted by {user}",
|
||||
"Restored by {user}" : "Restored by {user}",
|
||||
"Renamed by {user}" : "Renamed by {user}",
|
||||
"Moved by {user}" : "Moved by {user}",
|
||||
"You created {file}" : "You created {file}",
|
||||
"You created an encrypted file in {file}" : "You created an encrypted file in {file}",
|
||||
"{user} created {file}" : "{user} created {file}",
|
||||
"{user} created an encrypted file in {file}" : "{user} created an encrypted file in {file}",
|
||||
"{file} was created in a public folder" : "{file} was created in a public folder",
|
||||
"You changed {file}" : "You changed {file}",
|
||||
"Created by {user}" : "შექმნა მომხმარებელმა {user}",
|
||||
"Changed by {user}" : "შეცვალა მომხმარებელმა {user}",
|
||||
"Deleted by {user}" : "წაშალა მომხმარებელმა {user}",
|
||||
"Restored by {user}" : "აღადგინა მომხმარებელმა {user}",
|
||||
"Renamed by {user}" : "სახელი გადაარქვა მომხმარებელმა {user}",
|
||||
"Moved by {user}" : "გადაიტანა მომხმარებელმა {user}",
|
||||
"\"remote account\"" : "დისნტანციური ანგარიში",
|
||||
"You created {file}" : "თქვენ შექმენით {file}",
|
||||
"You created an encrypted file in {file}" : "შექმენით დაშიფრული ფაილი {file}-ში",
|
||||
"{user} created {file}" : "{user} მომხმარებელმა შექმნა {file}",
|
||||
"{user} created an encrypted file in {file}" : "{user} მომხმარებელმა შექმნა დაშიფრული ფაილი {file}-ში",
|
||||
"{file} was created in a public folder" : "{file} შეიქმნა საზოგადო დირექტორიაში",
|
||||
"You changed {file}" : "თქვენ შეცვალეთ {file}",
|
||||
"You changed an encrypted file in {file}" : "You changed an encrypted file in {file}",
|
||||
"{user} changed {file}" : "{user} changed {file}",
|
||||
"{user} changed an encrypted file in {file}" : "{user} changed an encrypted file in {file}",
|
||||
|
||||
+194
-10
@@ -43,38 +43,65 @@ OC.L10N.register(
|
||||
"Files" : "Failai",
|
||||
"A file or folder has been <strong>changed</strong>" : "Buvo <strong>pakeistas</strong> failas ar aplankas",
|
||||
"A favorite file or folder has been <strong>changed</strong>" : "Buvo <strong>pakeistas</strong> mėgstamas failas ar aplankas",
|
||||
"Failed to authorize" : "Nepavyko autorizuoti",
|
||||
"Invalid folder path" : "Neteisingas aplanko kelias",
|
||||
"Folder not found" : "Aplankas nerastas",
|
||||
"The file cannot be found" : "Failas negali būti surastas",
|
||||
"The destination path does not exist: %1$s" : "Paskirties kelio nėra: %1$s",
|
||||
"You do not have permission to create a file at the specified location" : "Jūs neturite leidimo sukurti failą nurodytoje vietoje",
|
||||
"The file could not be converted." : "Nepavyko konvertuoti failo.",
|
||||
"Could not get relative path to converted file" : "Nepavyko gauti santykinio kelio į konvertuotą failą",
|
||||
"Limit must be a positive integer." : "Limito riba turi būti teigiamas sveikasis skaičius.",
|
||||
"The replacement character may only be a single character." : "Pakaitinis simbolis gali būti tik vienas simbolis.",
|
||||
"Filename sanitization already started." : "Failų pavadinimų valymas jau pradėtas.",
|
||||
"No filename sanitization in progress." : "Failų pavadinimų valymas nevykdomas.",
|
||||
"Favorite files" : "Mėgstamiausi failai",
|
||||
"No favorites" : "Nėra mėgstamiausių",
|
||||
"More favorites" : "Daugiau mėgstamiausių",
|
||||
"Accept" : "Priimti",
|
||||
"Reject" : "Atmesti",
|
||||
"Incoming ownership transfer from {user}" : "Gaunamasis nuosavybės perdavimas nuo {user}",
|
||||
"Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Ar norite priimti {path}?\n\nPastaba: Priėmus, perdavimo procesas gali užtrukti iki 1 valandos.",
|
||||
"Ownership transfer denied" : "Nuosavybės perdavimas atmestas",
|
||||
"Your ownership transfer of {path} was denied by {user}." : "Jūsų nuosavybės {path} perdavimas buvo atmestas {user}.",
|
||||
"Ownership transfer failed" : "Nuosavybės perdavimas nepavyko",
|
||||
"Your ownership transfer of {path} to {user} failed." : "Nepavyko perduoti jūsų {path} nuosavybės naudotojui {user}.",
|
||||
"The ownership transfer of {path} from {user} failed." : "{path} nuosavybės perdavimas iš naudotojo {user} nepavyko.",
|
||||
"Ownership transfer done" : "Nuosavybės perdavimas atliktas",
|
||||
"Your ownership transfer of {path} to {user} has completed." : "Jūsų {path} nuosavybės perdavimas naudotojui {user} užbaigtas.",
|
||||
"The ownership transfer of {path} from {user} has completed." : "{path} nuosavybės perdavimas iš naudotojo {user} užbaigtas.",
|
||||
"in %s" : "per %s",
|
||||
"in %s" : "pо %s",
|
||||
"Transferred from %1$s on %2$s" : "Perkelta iš %1$s į %2$s",
|
||||
"File Management" : "Failų tvarkymas",
|
||||
"Home" : "Pagrindinis",
|
||||
"Target folder does not exist any more" : "Paskirties aplanko daugiau nebėra",
|
||||
"Reload current directory" : "Įkelti dabartinį katalogą iš naujo",
|
||||
"Go to the \"{dir}\" directory" : "Eikite į \"{dir}\" katalogą",
|
||||
"Current directory path" : "Dabartinis katalogo kelias",
|
||||
"Share" : "Bendrinti",
|
||||
"Drag and drop files here to upload" : "Tempkite failus čia norėdami išsiųsti",
|
||||
"Reload content" : "Įkelti turinį iš naujo",
|
||||
"Your have used your space quota and cannot upload files anymore" : "Jūs išnaudojote leidžiamą duomenų kiekį ir daugiau nebegalite išsiųsti failų",
|
||||
"You do not have permission to upload or create files here." : "Jūs neturite leidimo čia įkelti ar kurti failų.",
|
||||
"Drag and drop files here to upload" : "Tempkite čia failus norėdami juos išsiųsti",
|
||||
"Favorite" : "Mėgstamas",
|
||||
"Back" : "Atgal",
|
||||
"Toggle selection for file \"{displayName}\"" : "Perjungti failo „{displayName}“ pasirinkimą",
|
||||
"Toggle selection for folder \"{displayName}\"" : "Perjungti aplanko „{displayName}“ pasirinkimą",
|
||||
"File is loading" : "Failas yra įkeliamas",
|
||||
"Folder is loading" : "Aplankas yra įkeliamas",
|
||||
"Filename" : "Failo pavadinimas",
|
||||
"Folder name" : "Aplanko pavadinimas",
|
||||
"This node is unavailable" : "Šis mazgas neprieinamas",
|
||||
"Another entry with the same name already exists." : "Kitas įrašas tuo pačiu pavadinimu jau yra.",
|
||||
"Invalid filename." : "Neteisingas failo pavadinimas.",
|
||||
"Rename file" : "Pervadinti failą",
|
||||
"Recently created" : "Neseniai sukurta",
|
||||
"Folder" : "Aplankas",
|
||||
"Unknown file type" : "Nežinomas failo tipas",
|
||||
"{ext} image" : "{ext} paveikslėlis",
|
||||
"{ext} video" : "{ext} vaizdo įrašas",
|
||||
"{ext} audio" : "{ext} garso įrašas",
|
||||
"{ext} text" : "{ext} tekstas",
|
||||
"Pending" : "Laukiantis",
|
||||
"Unknown date" : "Nežinoma data",
|
||||
"Active filters" : "Aktyvūs filtrai",
|
||||
@@ -82,6 +109,11 @@ OC.L10N.register(
|
||||
"Today" : "Šiandien",
|
||||
"Last 7 days" : "Paskutinės 7 dienos",
|
||||
"Last 30 days" : "Paskutinės 30 dienų",
|
||||
"This year ({year})" : "Šie metai ({year})",
|
||||
"Last year ({year})" : "Praėję metai ({year})",
|
||||
"Custom range" : "Pasirinktinis diapazonas",
|
||||
"Custom date range" : "Pasirinktinis datų diapazonas",
|
||||
"Search everywhere" : "Ieškoti visur",
|
||||
"Documents" : "Dokumentai",
|
||||
"Spreadsheets" : "Skaičiuoklės",
|
||||
"Presentations" : "Pateiktys",
|
||||
@@ -91,26 +123,64 @@ OC.L10N.register(
|
||||
"Images" : "Paveikslai",
|
||||
"Videos" : "Vaizdo įrašai",
|
||||
"Filters" : "Filtrai",
|
||||
"Back to filters" : "Atgal į filtrus",
|
||||
"Appearance" : "Išvaizda",
|
||||
"Show hidden files" : "Rodyti paslėptus failus",
|
||||
"Show file type column" : "Rodyti failo tipo stulpelį",
|
||||
"Show file extensions" : "Rodyti failų plėtinius",
|
||||
"Crop image previews" : "Apkirpti paveikslėlių peržiūras",
|
||||
"General" : "Bendra",
|
||||
"Sort favorites first" : "Pirmiausia rūšiuoti mėgstamiausius",
|
||||
"Sort folders before files" : "Rūšiuoti aplankus prieš failus",
|
||||
"Enable folder tree view" : "Įjungti aplankų medžio rodinį",
|
||||
"Default view" : "Numatytasis rodinys",
|
||||
"All files" : "Visi failai",
|
||||
"Personal files" : "Asmeniniai failai",
|
||||
"Additional settings" : "Papildomi nustatymai",
|
||||
"Actions" : "Veiksmai",
|
||||
"File actions" : "Veiksmai su failais",
|
||||
"Selection" : "Pasirinkimas",
|
||||
"Select all files" : "Pasirinkti visus failus",
|
||||
"Deselect all" : "Panaikinti pasirinkimą",
|
||||
"Navigation" : "Navigacija",
|
||||
"Select or deselect" : "Pasirinkti arba panaikinti pasirinkimą",
|
||||
"Select a range" : "Pasirinkite diapazoną",
|
||||
"Navigation" : "Naršymas",
|
||||
"Go to parent folder" : "Eiti į viršesnį aplanką",
|
||||
"Go to file above" : "Eiti į aukščiau esantį failą",
|
||||
"Go to file below" : "Eiti į žemiau esantį failą",
|
||||
"Go left in grid" : "Eiti į kairę tinklelyje",
|
||||
"Go right in grid" : "Eiti į dešinę tinklelyje",
|
||||
"View" : "Rodyti",
|
||||
"Toggle grid view" : "Rodyti tinkleliu",
|
||||
"Toggle grid view" : "Perjungti tinklelio rodinį",
|
||||
"Show those shortcuts" : "Rodyti tuos sparčiuosius klavišus",
|
||||
"Warnings" : "Įspėjimai",
|
||||
"Warn before changing a file extension" : "Įspėti prieš keičiant failo prievardį",
|
||||
"Warn before deleting a file" : "Įspėti prieš ištrinant failą",
|
||||
"WebDAV URL" : "WebDAV URL",
|
||||
"Create an app password" : "Sukurkite programėlės slaptažodį",
|
||||
"Required for WebDAV authentication because Two-Factor Authentication is enabled for this account." : "Būtina „WebDAV“ autentifikavimui, nes šiai paskyrai įjungtas dviejų veiksnių autentifikavimas.",
|
||||
"How to access files using WebDAV" : "Kaip pasiekti failus naudojant WebDAV",
|
||||
"Total rows summary" : "Bendras eilučių skaičius",
|
||||
"Toggle selection for all files and folders" : "Perjungti visų failų ir aplankų pasirinkimą",
|
||||
"Name" : "Pavadinimas",
|
||||
"File type" : "Failo tipas",
|
||||
"Size" : "Dydis",
|
||||
"Modified" : "Pakeistas",
|
||||
"{displayName}: failed on some elements" : "{displayName}: kai kurių elementų klaida",
|
||||
"{displayName}: done" : "{displayName}: padaryta",
|
||||
"{displayName}: failed" : "{displayName}: nepavyko",
|
||||
"(selected)" : "(pasirinktas)",
|
||||
"List of files and folders." : "Failų ir aplankų sąrašas.",
|
||||
"You have used your space quota and cannot upload files anymore." : "Išnaudojote savo vietos kvotą ir daugiau negalite įkelti failų.",
|
||||
"Column headers with buttons are sortable." : "Stulpelių antraštes su mygtukais galima rūšiuoti.",
|
||||
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Šis sąrašas nėra pilnai sugeneruotas dėl našumo priežasčių. Failai bus sugeneruoti jums naršant sąraše.",
|
||||
"File not found" : "Failas nerastas",
|
||||
"_{count} selected_::_{count} selected_" : ["{count} pasirinktas","{count} pasirinkti","{count} pasirinkti","{count} pasirinkti"],
|
||||
"Views" : "Rodiniai",
|
||||
"Search everywhere …" : "Ieškoti visur…",
|
||||
"Search here …" : "Ieškoti čia…",
|
||||
"Search scope options" : "Paieškos apimties parinktys",
|
||||
"Search here" : "Ieškoti čia",
|
||||
"Owner" : "Savininkas",
|
||||
"{usedQuotaByte} used" : "Naudojama {usedQuotaByte}",
|
||||
"{used} of {quota} used" : "panaudota {used} iš {quota}",
|
||||
@@ -118,11 +188,32 @@ OC.L10N.register(
|
||||
"Could not refresh storage stats" : "Nepavyko iš naujo įkelti saugyklos statistikos",
|
||||
"Your storage is full, files can not be updated or synced anymore!" : "Jūsų saugykla pilna, failai daugiau nebegali būti atnaujinti arba sinchronizuojami!",
|
||||
"Storage information" : "Informacija apie saugyklą",
|
||||
"Storage quota" : "Saugyklos kvota",
|
||||
"New folder" : "Naujas aplankas",
|
||||
"Create new folder" : "Sukurti naują aplanką",
|
||||
"This name is already in use." : "Šis pavadinimas jau yra naudojamas.",
|
||||
"Create" : "Sukurti",
|
||||
"Files starting with a dot are hidden by default" : "Failai, prasidedantys tašku, pagal numatytuosius nustatymus yra paslėpti",
|
||||
"Failed to start filename sanitization." : "Nepavyko pradėti failų pavadinimų valymo.",
|
||||
"Failed to refresh filename sanitization status." : "Nepavyko atnaujinti failo pavadinimo išvalymo būsenos.",
|
||||
"Filename sanitization in progress." : "Vykdomas failų pavadinimų valymas.",
|
||||
"Currently {processedUsers} of {totalUsers} accounts are already processed." : "Šiuo metu {processedUsers} naudotojų paskyros iš {totalUsers} egzistuojančių jau apdorotos.",
|
||||
"Preparing …" : "Ruošiama…",
|
||||
"Refresh" : "Įkelti iš naujo",
|
||||
"All files have been santized for Windows filename support." : "Visi failai buvo patvirtinti, kad atitiktų „Windows“ failų pavadinimų reikalavimus.",
|
||||
"Some files could not be sanitized, please check your logs." : "Kai kurių failų nepavyko išvalyti, patikrinkite savo registrų įrašų žurnalus.",
|
||||
"Sanitization errors" : "Valymo klaidos",
|
||||
"Not sanitized filenames" : "Neišvalyti failų vardai",
|
||||
"Windows filename support has been enabled." : "Įjungtas „Windows“ failų vardų palaikymas.",
|
||||
"While this blocks users from creating new files with unsupported filenames, existing files are not yet renamed and thus still may break sync on Windows." : "Nors tai neleidžia vartotojams kurti naujų failų su nepalaikomais failų pavadinimais, esami failai dar nėra pervadinti, todėl vis tiek gali sutrikdyti sinchronizavimą sistemoje „Windows“.",
|
||||
"You can trigger a rename of files with invalid filenames, this will be done in the background and may take some time." : "Galite pervadinti failus su neteisingais pavadinimais. Tai bus atliekama fone ir gali užtrukti.",
|
||||
"Please note that this may cause high workload on the sync clients." : "Atminkite, kad tai gali sukelti didelį sinchronizavimo klientų darbo krūvį.",
|
||||
"Limit" : "Limitas",
|
||||
"This allows to configure how many users should be processed in one background job run." : "Tai leidžia konfigūruoti, kiek vartotojų turėtų būti apdorojama vieno foninio darbo vykdymo metu.",
|
||||
"Sanitize filenames" : "Išvalyti failų pavadinimus",
|
||||
"(starting)" : "(pradedama)",
|
||||
"Fill template fields" : "Užpildykite šablono laukus",
|
||||
"Submitting fields …" : "Pateikiami laukai ...",
|
||||
"Submit" : "Pateikti",
|
||||
"Choose a file or folder to transfer" : "Pasirinkite norimą perduoti failą ar aplanką",
|
||||
"Transfer" : "Perduoti",
|
||||
@@ -130,104 +221,197 @@ OC.L10N.register(
|
||||
"Invalid path selected" : "Pasirinktas neteisingas kelias",
|
||||
"Unknown error" : "Nežinoma klaida",
|
||||
"Ownership transfer request sent" : "Nuosavybės perdavimo užklausa išsiųsta",
|
||||
"Cannot transfer ownership of a file or folder you do not own" : "Negalima perduoti jums nepriklausančio failo ar aplanko nuosavybės teisės",
|
||||
"Transfer ownership of a file or folder" : "Perduoti failo ar aplanko nuosavybę",
|
||||
"Choose file or folder to transfer" : "Pasirinkti norimą perduoti failą ar aplanką",
|
||||
"Change" : "Keisti",
|
||||
"New owner" : "Naujasis savininkas",
|
||||
"Keep {old}" : "Palikti {old}",
|
||||
"Keep without extension" : "Palikti be prievardžio",
|
||||
"Use {new}" : "Naudoti {new}",
|
||||
"Remove extension" : "Pašalinti prievardį",
|
||||
"Change file extension" : "Keisti failo prievardį",
|
||||
"Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "Pakeitus failo plėtinį iš „{old}“ į „{new}“, failas gali tapti neįskaitomas.",
|
||||
"Removing the file extension \"{old}\" may render the file unreadable." : "Pašalinus failo plėtinį „{old}“, failas gali tapti neįskaitomas.",
|
||||
"Adding the file extension \"{new}\" may render the file unreadable." : "Pridėjus failo plėtinį „{new}“, failas gali tapti neįskaitomas.",
|
||||
"Do not show this dialog again." : "Daugiau neberodyti šio dialogo.",
|
||||
"Rename file to hidden" : "Pervadinti failą į paslėptą",
|
||||
"Prefixing a filename with a dot may render the file hidden." : "Failo pavadinimo pradžioje įrašius tašką, failas gali būti paslėptas.",
|
||||
"Are you sure you want to rename the file to \"{filename}\"?" : "Ar tikrai norite pervardyti failą į „{filename}“?",
|
||||
"Cancel" : "Atsisakyti",
|
||||
"Rename" : "Pervadinti",
|
||||
"Select file or folder to link to" : "Pasirinkite failą arba aplanką, į kurį norite susieti",
|
||||
"Choose {file}" : "Pasirinkti{file}",
|
||||
"Files settings" : "Failų nustatymai",
|
||||
"Switch to list view" : "Perjungti į sąrašo rodinį",
|
||||
"Switch to grid view" : "Perjungti į tinklelio rodinį",
|
||||
"The file could not be found" : "Failas nerastas",
|
||||
"Upload was cancelled by user" : "Įkelimas buvo atšauktas vartotojo",
|
||||
"The file could not be found" : "Nepavyko rasti failo",
|
||||
"Upload was cancelled by user" : "Naudotojas atsisakė failo išsiuntimo",
|
||||
"Not enough free space" : "Trūksta laisvos vietos",
|
||||
"Operation is blocked by access control" : "Operacija yra užblokuota prieigos valdymo",
|
||||
"Error during upload: {message}" : "Įkėlimo klaida: {message}",
|
||||
"Error during upload, status code {status}" : "Įkėlimo klaida, būsenos kodas - {status}",
|
||||
"Unknown error during upload" : "Įkėlimo metu įvyko nežinoma klaida",
|
||||
"File list is reloading" : "Failų sąrašas įkeliamas iš naujo",
|
||||
"Loading current folder" : "Įkeliamas dabartinis aplankas",
|
||||
"Retry" : "Bandyti dar kartą",
|
||||
"No files in here" : "Čia failų nėra",
|
||||
"Upload some content or sync with your devices!" : "Įkelkite failus arba sinchronizuokite su savo įrenginiais!",
|
||||
"Go back" : "Grįžti",
|
||||
"Loading …" : "Įkeliama …",
|
||||
"Loading …" : "Įkeliama…",
|
||||
"Your files" : "Jūsų failai",
|
||||
"Open in files" : "Atidaryti failuose",
|
||||
"File cannot be accessed" : "Nepavyksta gauti prieigos prie failo",
|
||||
"The file could not be found or you do not have permissions to view it. Ask the sender to share it." : "Nepavyko surasti failo arba jūs neturite leidimo jo peržiūrėti. Paprašykite siuntėjo, kad pradėtų jį su jumis bendrinti.",
|
||||
"No search results for “{query}”" : "Nėra paieškos rezultatų pagal užklausą „{query}“",
|
||||
"Search for files" : "Ieškoti failų",
|
||||
"Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Leisti apriboti failų pavadinimus, siekiant užtikrinti, kad failus būtų galima sinchronizuoti su visais klientais. Pagal numatytuosius nustatymus leidžiami visi failų vardai, galiojantys POSIX (pvz., Linux arba macOS).",
|
||||
"After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Įjungus su „Windows“ suderinamus failų pavadinimus, esamų failų nebegalima modifikuoti, tačiau jų savininkas gali juos pervadinti galiojančiais naujais pavadinimais.",
|
||||
"Failed to toggle Windows filename support" : "Nepavyko įjungti „Windows“ failų vardų palaikymo",
|
||||
"Files compatibility" : "Failų suderinamumas",
|
||||
"Enforce Windows compatibility" : "Užtikrinti suderinamumą su „Windows“",
|
||||
"This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Tai blokuos „Windows“ sistemose negaliojančius failų pavadinimus, pvz., rezervuotus pavadinimus ar specialiuosius simbolius. Tačiau tai neužtikrins didžiųjų ir mažųjų raidžių skyrimo suderinamumo.",
|
||||
"Blank" : "Tuščia",
|
||||
"Unable to create new file from template" : "Nepavyko sukurti naujo failo iš šablono",
|
||||
"Pick a template for {name}" : "Pasirinkite šabloną, skirtą {name}",
|
||||
"Create a new file with the selected template" : "Sukurti naują failą naudojant pasirinktą šabloną",
|
||||
"Creating file" : "Sukuriamas failas",
|
||||
"Save as {displayName}" : "Įrašyti kaip {displayName}",
|
||||
"Save as …" : "Įrašyti kaip…",
|
||||
"Converting files …" : "Failų konvertavimas ...",
|
||||
"Failed to convert files: {message}" : "Nepavyko konvertuoti failų: {message}",
|
||||
"All files failed to be converted" : "Nepavyko konvertuoti visų failų",
|
||||
"One file could not be converted: {message}" : "Vieno failo nepavyko konvertuoti: {message}",
|
||||
"_%n file could not be converted_::_%n files could not be converted_" : ["%n failas negali būti konvertuotas","%n failai negali būti konvertuoti","%n failų negali būti konvertuota","%n failų negali būti konvertuota"],
|
||||
"_%n file converted_::_%n files converted_" : ["%n failas konvertuotas","%n failai konvertuoti","%n failų konvertuota","%n failų konvertuota"],
|
||||
"Files converted" : "Failai konvertuoti",
|
||||
"Failed to convert files" : "Nepavyko konvertuoti failų",
|
||||
"Converting file …" : "Failai konvertuojami ...",
|
||||
"File successfully converted" : "Failas sėkmingai konvertuotas",
|
||||
"Failed to convert file: {message}" : "Nepavyko konvertuoti failo: {message}",
|
||||
"Failed to convert file" : "Nepavyko konvertuoti failo",
|
||||
"Delete" : "Ištrinti",
|
||||
"Leave this share" : "Palikti bendrinimą",
|
||||
"Leave these shares" : "Palikti bendrinimus",
|
||||
"Disconnect storage" : "Atjungti saugyklą",
|
||||
"Delete permanently" : "Ištrinti negrįžtamai",
|
||||
"Disconnect storages" : "Atjungti saugyklas",
|
||||
"Delete permanently" : "Ištrinti visam laikui",
|
||||
"Delete and unshare" : "Ištrinti ir nebebendrinti",
|
||||
"Delete file" : "Ištrinti failą",
|
||||
"Delete files" : "Ištrinti failus",
|
||||
"Delete folder" : "Ištrinti aplanką",
|
||||
"Delete folders" : "Ištrinti aplankus",
|
||||
"_You are about to permanently delete {count} item_::_You are about to permanently delete {count} items_" : ["Ketinate visam laikui ištrinti {count} elementą","Ketinate visam laikui ištrinti {count} elementus","Ketinate visam laikui ištrinti {count} elementų","Ketinate visam laikui ištrinti {count} elementų"],
|
||||
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Jūs ketinate ištrinti {count} elementą","Jūs ketinate ištrinti {count} elementus","Jūs ketinate ištrinti {count} elementų","Jūs ketinate ištrinti {count} elementą"],
|
||||
"Confirm deletion" : "Patvirtinti ištrynimą",
|
||||
"Download" : "Atsisiųsti",
|
||||
"The requested file is not available." : "Prašomo failo nėra.",
|
||||
"The requested files are not available." : "Prašomų failų nėra.",
|
||||
"Add to favorites" : "Pridėti į mėgstamus",
|
||||
"Remove from favorites" : "Šalinti iš mėgstamų",
|
||||
"Add or remove favorite" : "Pridėti arba pašalinti mėgstamiausią",
|
||||
"Move" : "Perkelti",
|
||||
"Copy" : "Kopijuoti",
|
||||
"Move or copy" : "Perkelti ar kopijuoti",
|
||||
"Destination is not a folder" : "Paskirties vieta nėra aplankas",
|
||||
"This file/folder is already in that directory" : "Šis failas / aplankas jau yra tame kataloge",
|
||||
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Negalite perkelti failo / aplanko ant jo paties arba į jo paties poaplankį",
|
||||
"A file or folder with that name already exists in this folder" : "Failas arba aplankas tokiu pavadinimu jau yra šiame aplanke",
|
||||
"The files are locked" : "Failai yra užrakinti",
|
||||
"The file does not exist anymore" : "Failo daugiau nebėra",
|
||||
"Moving \"{source}\" to \"{destination}\" …" : "Perkeliama \"{source}\" į \"{destination}\" ...",
|
||||
"Moving {count} files to \"{destination}\" …" : "{count} failai perkeliami į \"{destination}\" ...",
|
||||
"Copying \"{source}\" to \"{destination}\" …" : "Kopijuojama iš \"{source}\" į \"{destination}\" ...",
|
||||
"Copying {count} files to \"{destination}\" …" : "{count} failai kopijuojami į \"{destination}\" ...",
|
||||
"Choose destination" : "Pasirinkite paskirties vietą",
|
||||
"Copy to {target}" : "Kopijuoti į {target}",
|
||||
"Move to {target}" : "Perkelti į {target}",
|
||||
"Move or copy operation failed" : "Perkėlimo ar kopijavimo operacija patyrė nesėkmę",
|
||||
"Open folder" : "Atverti aplanką",
|
||||
"Open folder {displayName}" : "Atverti aplanką {displayName}",
|
||||
"Open in Files" : "Atidaryti programėlėje Files",
|
||||
"Open locally" : "Atidaryti vietoje",
|
||||
"Failed to redirect to client" : "Nepavyko peradresuoti į klientą",
|
||||
"Open file locally" : "Atidaryti failą vietoje",
|
||||
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Failas dabar turėtų atsidaryti jūsų įrenginyje. Jei ne, patikrinkite, ar įdiegta darbalaukio programėlė.",
|
||||
"Retry and close" : "Bandyti dar kartą ir užverti",
|
||||
"Open online" : "Atidaryti internete",
|
||||
"Details" : "Išsamiau",
|
||||
"Open the details sidebar" : "Atidaryti išsamios informacijos šoninę juostą",
|
||||
"Unfavorite" : "Pašalinti iš mėgstamiausių",
|
||||
"View in folder" : "Rodyti aplanke",
|
||||
"Type" : "Tipas",
|
||||
"Created new folder \"{name}\"" : "Sukurtas naujas aplankas „{name}“",
|
||||
"Unable to initialize the templates directory" : "Nepavyko inicijuoti šablonų katalogo",
|
||||
"Create templates folder" : "Sukurti šablonų aplanką",
|
||||
"Templates" : "Šablonai",
|
||||
"New template folder" : "Naujas šablonų aplankas",
|
||||
"In folder" : "Aplanke",
|
||||
"Pick folder to search in" : "Pasirinkite aplanką, kuriame norite ieškoti",
|
||||
"Search in all files" : "Ieškoti visuose failuose",
|
||||
"Search in folder: {folder}" : "Ieškoti aplanke: {folder}",
|
||||
"One of the dropped files could not be processed" : "Vieno iš atmestų failų apdoroti nepavyko",
|
||||
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Jūsų naršyklė nepalaiko failų sistemos API. Katalogai nebus įkelti.",
|
||||
"No files to upload" : "Nėra failų, kuriuos būtų galima įkelti",
|
||||
"Unable to create the directory {directory}" : "Nepavyko sukurti katalogo {directory}",
|
||||
"Some files could not be uploaded" : "Kai kurių failų nepavyko išsiųsti",
|
||||
"Files uploaded successfully" : "Failai sėkmingai išsiųsti",
|
||||
"No files to process" : "Nėra failų, kuriuos reikėtų apdoroti",
|
||||
"Files copied successfully" : "Failai sėkmingai nukopijuoti",
|
||||
"Files moved successfully" : "Failai sėkmingai perkelti",
|
||||
"Some files could not be copied" : "Kai kurių failų nepavyko nukopijuoti",
|
||||
"Some files could not be moved" : "Kai kurių failų nepavyko perkelti",
|
||||
"Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti failo „{oldName}“, jo daugiau nebėra",
|
||||
"Conflicts resolution skipped" : "Konfliktų sprendimas praleistas",
|
||||
"Upload cancelled" : "Įkėlimas atšauktas",
|
||||
"Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti „{oldName}“, jo daugiau nebėra",
|
||||
"The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{newName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
|
||||
"Could not rename \"{oldName}\"" : "Nepavyko pervadinti „{oldName}“",
|
||||
"This operation is forbidden" : "Ši operacija yra uždrausta",
|
||||
"This folder is unavailable, please try again later or contact the administration" : "Šis aplankas neprieinamas, bandykite dar kartą vėliau arba susisiekite su administratoriumi",
|
||||
"Storage is temporarily not available" : "Saugykla yra laikinai neprieinama",
|
||||
"Unexpected error: {error}" : "Netikėta klaida: {error}",
|
||||
"_%n file_::_%n files_" : ["%n failas","%n failai","%n failų","%n failas"],
|
||||
"_%n folder_::_%n folders_" : ["%n aplankas","%n aplankai","%n aplankų","%n aplankas"],
|
||||
"_%n hidden_::_%n hidden_" : ["%n paslėptas","%n paslėpti","%n paslėptų","%n paslėptas"],
|
||||
"Filename must not be empty." : "Failo pavadinimas negali būti tuščias.",
|
||||
"\"{char}\" is not allowed inside a filename." : "\"{char}\" simbolis failo pavadinime neleidžiamas",
|
||||
"\"{segment}\" is a reserved name and not allowed for filenames." : "„{segment}“ yra rezervuotas pavadinimas ir neleidžiamas naudoti failo pavadinimuose.",
|
||||
"\"{extension}\" is not an allowed filetype." : "„{extension}“ nėra leidžiamas failo tipas.",
|
||||
"Filenames must not end with \"{extension}\"." : "Failų pavadinimai negali baigtis „{extension}“.",
|
||||
"List of favorite files and folders." : "Mėgstamiausių failų ir aplankų sąrašas.",
|
||||
"No favorites yet" : "Kol kas nėra mėgstamų",
|
||||
"Files and folders you mark as favorite will show up here" : "Čia bus rodomi failai ir aplankai, kuriuos pažymėsite kaip mėgstamus",
|
||||
"List of your files and folders." : "Jūsų failų ir aplankų sąrašas.",
|
||||
"Folder tree" : "Aplankų medis",
|
||||
"List of your files and folders that are not shared." : "Jūsų nebendrinamų failų ir aplankų sąrašas.",
|
||||
"No personal files found" : "Nerasta jokių asmeninių failų",
|
||||
"Files that are not shared will show up here." : "Čia bus rodomi nebendrinami failai.",
|
||||
"Recent" : "Paskiausiai naudoti",
|
||||
"List of recently modified files and folders." : "Paskiausiai modifikuotų failų ir aplankų sąrašas.",
|
||||
"No recently modified files" : "Nėra jokių paskiausiai modifikuotų failų",
|
||||
"Files and folders you recently modified will show up here." : "Čia bus rodomi neseniai modifikuoti failai ir aplankai.",
|
||||
"Search" : "Paieška",
|
||||
"Search results within your files." : "Paieškos rezultatai jūsų failuose.",
|
||||
"No entries found in this folder" : "Nerasta įrašų šiame aplanke",
|
||||
"Select all" : "Pažymėti viską",
|
||||
"Upload too large" : "Įkėlimui failas per didelis",
|
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Bandomų įkelti failų dydis viršija maksimalų, šiame serveryje leidžiamų įkelti failų dydį.",
|
||||
"Renamed \"{oldName}\" to \"{newName}\"" : "„{oldName}“ pervadintas į „{newName}“",
|
||||
"Clear filter" : "Išvalyti filtrą",
|
||||
"Open file sidebar" : "Atverti failų šoninę juostą",
|
||||
"Search everywhere …" : "Ieškoti visur…",
|
||||
"Search here …" : "Ieškoti čia…",
|
||||
"Preparing …" : "Ruošiama...",
|
||||
"Submitting fields …" : "Pateikiami laukai...",
|
||||
"Shared by link" : "Bendrinama pagal nuorodą",
|
||||
"Shared" : "Bendrinama",
|
||||
"You" : "Jūs",
|
||||
"Shared multiple times with different people" : "Dalijimasis kelis kartus su skirtingais žmonėmis",
|
||||
"Unable to change the favorite state of the file" : "Nepavyko pakeisti failo mėgstamiausios būsenos",
|
||||
"Error while loading the file data" : "Klaida įkeliant failo duomenis",
|
||||
"Tags" : "Žymos",
|
||||
"Save as …" : "Įrašyti kaip…"
|
||||
"Save as …" : "Įrašyti kaip…",
|
||||
"Converting files …" : "Failų konvertavimas…",
|
||||
"Converting file …" : "Failo konvertavimas…"
|
||||
},
|
||||
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
|
||||
|
||||
+194
-10
@@ -41,38 +41,65 @@
|
||||
"Files" : "Failai",
|
||||
"A file or folder has been <strong>changed</strong>" : "Buvo <strong>pakeistas</strong> failas ar aplankas",
|
||||
"A favorite file or folder has been <strong>changed</strong>" : "Buvo <strong>pakeistas</strong> mėgstamas failas ar aplankas",
|
||||
"Failed to authorize" : "Nepavyko autorizuoti",
|
||||
"Invalid folder path" : "Neteisingas aplanko kelias",
|
||||
"Folder not found" : "Aplankas nerastas",
|
||||
"The file cannot be found" : "Failas negali būti surastas",
|
||||
"The destination path does not exist: %1$s" : "Paskirties kelio nėra: %1$s",
|
||||
"You do not have permission to create a file at the specified location" : "Jūs neturite leidimo sukurti failą nurodytoje vietoje",
|
||||
"The file could not be converted." : "Nepavyko konvertuoti failo.",
|
||||
"Could not get relative path to converted file" : "Nepavyko gauti santykinio kelio į konvertuotą failą",
|
||||
"Limit must be a positive integer." : "Limito riba turi būti teigiamas sveikasis skaičius.",
|
||||
"The replacement character may only be a single character." : "Pakaitinis simbolis gali būti tik vienas simbolis.",
|
||||
"Filename sanitization already started." : "Failų pavadinimų valymas jau pradėtas.",
|
||||
"No filename sanitization in progress." : "Failų pavadinimų valymas nevykdomas.",
|
||||
"Favorite files" : "Mėgstamiausi failai",
|
||||
"No favorites" : "Nėra mėgstamiausių",
|
||||
"More favorites" : "Daugiau mėgstamiausių",
|
||||
"Accept" : "Priimti",
|
||||
"Reject" : "Atmesti",
|
||||
"Incoming ownership transfer from {user}" : "Gaunamasis nuosavybės perdavimas nuo {user}",
|
||||
"Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Ar norite priimti {path}?\n\nPastaba: Priėmus, perdavimo procesas gali užtrukti iki 1 valandos.",
|
||||
"Ownership transfer denied" : "Nuosavybės perdavimas atmestas",
|
||||
"Your ownership transfer of {path} was denied by {user}." : "Jūsų nuosavybės {path} perdavimas buvo atmestas {user}.",
|
||||
"Ownership transfer failed" : "Nuosavybės perdavimas nepavyko",
|
||||
"Your ownership transfer of {path} to {user} failed." : "Nepavyko perduoti jūsų {path} nuosavybės naudotojui {user}.",
|
||||
"The ownership transfer of {path} from {user} failed." : "{path} nuosavybės perdavimas iš naudotojo {user} nepavyko.",
|
||||
"Ownership transfer done" : "Nuosavybės perdavimas atliktas",
|
||||
"Your ownership transfer of {path} to {user} has completed." : "Jūsų {path} nuosavybės perdavimas naudotojui {user} užbaigtas.",
|
||||
"The ownership transfer of {path} from {user} has completed." : "{path} nuosavybės perdavimas iš naudotojo {user} užbaigtas.",
|
||||
"in %s" : "per %s",
|
||||
"in %s" : "pо %s",
|
||||
"Transferred from %1$s on %2$s" : "Perkelta iš %1$s į %2$s",
|
||||
"File Management" : "Failų tvarkymas",
|
||||
"Home" : "Pagrindinis",
|
||||
"Target folder does not exist any more" : "Paskirties aplanko daugiau nebėra",
|
||||
"Reload current directory" : "Įkelti dabartinį katalogą iš naujo",
|
||||
"Go to the \"{dir}\" directory" : "Eikite į \"{dir}\" katalogą",
|
||||
"Current directory path" : "Dabartinis katalogo kelias",
|
||||
"Share" : "Bendrinti",
|
||||
"Drag and drop files here to upload" : "Tempkite failus čia norėdami išsiųsti",
|
||||
"Reload content" : "Įkelti turinį iš naujo",
|
||||
"Your have used your space quota and cannot upload files anymore" : "Jūs išnaudojote leidžiamą duomenų kiekį ir daugiau nebegalite išsiųsti failų",
|
||||
"You do not have permission to upload or create files here." : "Jūs neturite leidimo čia įkelti ar kurti failų.",
|
||||
"Drag and drop files here to upload" : "Tempkite čia failus norėdami juos išsiųsti",
|
||||
"Favorite" : "Mėgstamas",
|
||||
"Back" : "Atgal",
|
||||
"Toggle selection for file \"{displayName}\"" : "Perjungti failo „{displayName}“ pasirinkimą",
|
||||
"Toggle selection for folder \"{displayName}\"" : "Perjungti aplanko „{displayName}“ pasirinkimą",
|
||||
"File is loading" : "Failas yra įkeliamas",
|
||||
"Folder is loading" : "Aplankas yra įkeliamas",
|
||||
"Filename" : "Failo pavadinimas",
|
||||
"Folder name" : "Aplanko pavadinimas",
|
||||
"This node is unavailable" : "Šis mazgas neprieinamas",
|
||||
"Another entry with the same name already exists." : "Kitas įrašas tuo pačiu pavadinimu jau yra.",
|
||||
"Invalid filename." : "Neteisingas failo pavadinimas.",
|
||||
"Rename file" : "Pervadinti failą",
|
||||
"Recently created" : "Neseniai sukurta",
|
||||
"Folder" : "Aplankas",
|
||||
"Unknown file type" : "Nežinomas failo tipas",
|
||||
"{ext} image" : "{ext} paveikslėlis",
|
||||
"{ext} video" : "{ext} vaizdo įrašas",
|
||||
"{ext} audio" : "{ext} garso įrašas",
|
||||
"{ext} text" : "{ext} tekstas",
|
||||
"Pending" : "Laukiantis",
|
||||
"Unknown date" : "Nežinoma data",
|
||||
"Active filters" : "Aktyvūs filtrai",
|
||||
@@ -80,6 +107,11 @@
|
||||
"Today" : "Šiandien",
|
||||
"Last 7 days" : "Paskutinės 7 dienos",
|
||||
"Last 30 days" : "Paskutinės 30 dienų",
|
||||
"This year ({year})" : "Šie metai ({year})",
|
||||
"Last year ({year})" : "Praėję metai ({year})",
|
||||
"Custom range" : "Pasirinktinis diapazonas",
|
||||
"Custom date range" : "Pasirinktinis datų diapazonas",
|
||||
"Search everywhere" : "Ieškoti visur",
|
||||
"Documents" : "Dokumentai",
|
||||
"Spreadsheets" : "Skaičiuoklės",
|
||||
"Presentations" : "Pateiktys",
|
||||
@@ -89,26 +121,64 @@
|
||||
"Images" : "Paveikslai",
|
||||
"Videos" : "Vaizdo įrašai",
|
||||
"Filters" : "Filtrai",
|
||||
"Back to filters" : "Atgal į filtrus",
|
||||
"Appearance" : "Išvaizda",
|
||||
"Show hidden files" : "Rodyti paslėptus failus",
|
||||
"Show file type column" : "Rodyti failo tipo stulpelį",
|
||||
"Show file extensions" : "Rodyti failų plėtinius",
|
||||
"Crop image previews" : "Apkirpti paveikslėlių peržiūras",
|
||||
"General" : "Bendra",
|
||||
"Sort favorites first" : "Pirmiausia rūšiuoti mėgstamiausius",
|
||||
"Sort folders before files" : "Rūšiuoti aplankus prieš failus",
|
||||
"Enable folder tree view" : "Įjungti aplankų medžio rodinį",
|
||||
"Default view" : "Numatytasis rodinys",
|
||||
"All files" : "Visi failai",
|
||||
"Personal files" : "Asmeniniai failai",
|
||||
"Additional settings" : "Papildomi nustatymai",
|
||||
"Actions" : "Veiksmai",
|
||||
"File actions" : "Veiksmai su failais",
|
||||
"Selection" : "Pasirinkimas",
|
||||
"Select all files" : "Pasirinkti visus failus",
|
||||
"Deselect all" : "Panaikinti pasirinkimą",
|
||||
"Navigation" : "Navigacija",
|
||||
"Select or deselect" : "Pasirinkti arba panaikinti pasirinkimą",
|
||||
"Select a range" : "Pasirinkite diapazoną",
|
||||
"Navigation" : "Naršymas",
|
||||
"Go to parent folder" : "Eiti į viršesnį aplanką",
|
||||
"Go to file above" : "Eiti į aukščiau esantį failą",
|
||||
"Go to file below" : "Eiti į žemiau esantį failą",
|
||||
"Go left in grid" : "Eiti į kairę tinklelyje",
|
||||
"Go right in grid" : "Eiti į dešinę tinklelyje",
|
||||
"View" : "Rodyti",
|
||||
"Toggle grid view" : "Rodyti tinkleliu",
|
||||
"Toggle grid view" : "Perjungti tinklelio rodinį",
|
||||
"Show those shortcuts" : "Rodyti tuos sparčiuosius klavišus",
|
||||
"Warnings" : "Įspėjimai",
|
||||
"Warn before changing a file extension" : "Įspėti prieš keičiant failo prievardį",
|
||||
"Warn before deleting a file" : "Įspėti prieš ištrinant failą",
|
||||
"WebDAV URL" : "WebDAV URL",
|
||||
"Create an app password" : "Sukurkite programėlės slaptažodį",
|
||||
"Required for WebDAV authentication because Two-Factor Authentication is enabled for this account." : "Būtina „WebDAV“ autentifikavimui, nes šiai paskyrai įjungtas dviejų veiksnių autentifikavimas.",
|
||||
"How to access files using WebDAV" : "Kaip pasiekti failus naudojant WebDAV",
|
||||
"Total rows summary" : "Bendras eilučių skaičius",
|
||||
"Toggle selection for all files and folders" : "Perjungti visų failų ir aplankų pasirinkimą",
|
||||
"Name" : "Pavadinimas",
|
||||
"File type" : "Failo tipas",
|
||||
"Size" : "Dydis",
|
||||
"Modified" : "Pakeistas",
|
||||
"{displayName}: failed on some elements" : "{displayName}: kai kurių elementų klaida",
|
||||
"{displayName}: done" : "{displayName}: padaryta",
|
||||
"{displayName}: failed" : "{displayName}: nepavyko",
|
||||
"(selected)" : "(pasirinktas)",
|
||||
"List of files and folders." : "Failų ir aplankų sąrašas.",
|
||||
"You have used your space quota and cannot upload files anymore." : "Išnaudojote savo vietos kvotą ir daugiau negalite įkelti failų.",
|
||||
"Column headers with buttons are sortable." : "Stulpelių antraštes su mygtukais galima rūšiuoti.",
|
||||
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Šis sąrašas nėra pilnai sugeneruotas dėl našumo priežasčių. Failai bus sugeneruoti jums naršant sąraše.",
|
||||
"File not found" : "Failas nerastas",
|
||||
"_{count} selected_::_{count} selected_" : ["{count} pasirinktas","{count} pasirinkti","{count} pasirinkti","{count} pasirinkti"],
|
||||
"Views" : "Rodiniai",
|
||||
"Search everywhere …" : "Ieškoti visur…",
|
||||
"Search here …" : "Ieškoti čia…",
|
||||
"Search scope options" : "Paieškos apimties parinktys",
|
||||
"Search here" : "Ieškoti čia",
|
||||
"Owner" : "Savininkas",
|
||||
"{usedQuotaByte} used" : "Naudojama {usedQuotaByte}",
|
||||
"{used} of {quota} used" : "panaudota {used} iš {quota}",
|
||||
@@ -116,11 +186,32 @@
|
||||
"Could not refresh storage stats" : "Nepavyko iš naujo įkelti saugyklos statistikos",
|
||||
"Your storage is full, files can not be updated or synced anymore!" : "Jūsų saugykla pilna, failai daugiau nebegali būti atnaujinti arba sinchronizuojami!",
|
||||
"Storage information" : "Informacija apie saugyklą",
|
||||
"Storage quota" : "Saugyklos kvota",
|
||||
"New folder" : "Naujas aplankas",
|
||||
"Create new folder" : "Sukurti naują aplanką",
|
||||
"This name is already in use." : "Šis pavadinimas jau yra naudojamas.",
|
||||
"Create" : "Sukurti",
|
||||
"Files starting with a dot are hidden by default" : "Failai, prasidedantys tašku, pagal numatytuosius nustatymus yra paslėpti",
|
||||
"Failed to start filename sanitization." : "Nepavyko pradėti failų pavadinimų valymo.",
|
||||
"Failed to refresh filename sanitization status." : "Nepavyko atnaujinti failo pavadinimo išvalymo būsenos.",
|
||||
"Filename sanitization in progress." : "Vykdomas failų pavadinimų valymas.",
|
||||
"Currently {processedUsers} of {totalUsers} accounts are already processed." : "Šiuo metu {processedUsers} naudotojų paskyros iš {totalUsers} egzistuojančių jau apdorotos.",
|
||||
"Preparing …" : "Ruošiama…",
|
||||
"Refresh" : "Įkelti iš naujo",
|
||||
"All files have been santized for Windows filename support." : "Visi failai buvo patvirtinti, kad atitiktų „Windows“ failų pavadinimų reikalavimus.",
|
||||
"Some files could not be sanitized, please check your logs." : "Kai kurių failų nepavyko išvalyti, patikrinkite savo registrų įrašų žurnalus.",
|
||||
"Sanitization errors" : "Valymo klaidos",
|
||||
"Not sanitized filenames" : "Neišvalyti failų vardai",
|
||||
"Windows filename support has been enabled." : "Įjungtas „Windows“ failų vardų palaikymas.",
|
||||
"While this blocks users from creating new files with unsupported filenames, existing files are not yet renamed and thus still may break sync on Windows." : "Nors tai neleidžia vartotojams kurti naujų failų su nepalaikomais failų pavadinimais, esami failai dar nėra pervadinti, todėl vis tiek gali sutrikdyti sinchronizavimą sistemoje „Windows“.",
|
||||
"You can trigger a rename of files with invalid filenames, this will be done in the background and may take some time." : "Galite pervadinti failus su neteisingais pavadinimais. Tai bus atliekama fone ir gali užtrukti.",
|
||||
"Please note that this may cause high workload on the sync clients." : "Atminkite, kad tai gali sukelti didelį sinchronizavimo klientų darbo krūvį.",
|
||||
"Limit" : "Limitas",
|
||||
"This allows to configure how many users should be processed in one background job run." : "Tai leidžia konfigūruoti, kiek vartotojų turėtų būti apdorojama vieno foninio darbo vykdymo metu.",
|
||||
"Sanitize filenames" : "Išvalyti failų pavadinimus",
|
||||
"(starting)" : "(pradedama)",
|
||||
"Fill template fields" : "Užpildykite šablono laukus",
|
||||
"Submitting fields …" : "Pateikiami laukai ...",
|
||||
"Submit" : "Pateikti",
|
||||
"Choose a file or folder to transfer" : "Pasirinkite norimą perduoti failą ar aplanką",
|
||||
"Transfer" : "Perduoti",
|
||||
@@ -128,104 +219,197 @@
|
||||
"Invalid path selected" : "Pasirinktas neteisingas kelias",
|
||||
"Unknown error" : "Nežinoma klaida",
|
||||
"Ownership transfer request sent" : "Nuosavybės perdavimo užklausa išsiųsta",
|
||||
"Cannot transfer ownership of a file or folder you do not own" : "Negalima perduoti jums nepriklausančio failo ar aplanko nuosavybės teisės",
|
||||
"Transfer ownership of a file or folder" : "Perduoti failo ar aplanko nuosavybę",
|
||||
"Choose file or folder to transfer" : "Pasirinkti norimą perduoti failą ar aplanką",
|
||||
"Change" : "Keisti",
|
||||
"New owner" : "Naujasis savininkas",
|
||||
"Keep {old}" : "Palikti {old}",
|
||||
"Keep without extension" : "Palikti be prievardžio",
|
||||
"Use {new}" : "Naudoti {new}",
|
||||
"Remove extension" : "Pašalinti prievardį",
|
||||
"Change file extension" : "Keisti failo prievardį",
|
||||
"Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "Pakeitus failo plėtinį iš „{old}“ į „{new}“, failas gali tapti neįskaitomas.",
|
||||
"Removing the file extension \"{old}\" may render the file unreadable." : "Pašalinus failo plėtinį „{old}“, failas gali tapti neįskaitomas.",
|
||||
"Adding the file extension \"{new}\" may render the file unreadable." : "Pridėjus failo plėtinį „{new}“, failas gali tapti neįskaitomas.",
|
||||
"Do not show this dialog again." : "Daugiau neberodyti šio dialogo.",
|
||||
"Rename file to hidden" : "Pervadinti failą į paslėptą",
|
||||
"Prefixing a filename with a dot may render the file hidden." : "Failo pavadinimo pradžioje įrašius tašką, failas gali būti paslėptas.",
|
||||
"Are you sure you want to rename the file to \"{filename}\"?" : "Ar tikrai norite pervardyti failą į „{filename}“?",
|
||||
"Cancel" : "Atsisakyti",
|
||||
"Rename" : "Pervadinti",
|
||||
"Select file or folder to link to" : "Pasirinkite failą arba aplanką, į kurį norite susieti",
|
||||
"Choose {file}" : "Pasirinkti{file}",
|
||||
"Files settings" : "Failų nustatymai",
|
||||
"Switch to list view" : "Perjungti į sąrašo rodinį",
|
||||
"Switch to grid view" : "Perjungti į tinklelio rodinį",
|
||||
"The file could not be found" : "Failas nerastas",
|
||||
"Upload was cancelled by user" : "Įkelimas buvo atšauktas vartotojo",
|
||||
"The file could not be found" : "Nepavyko rasti failo",
|
||||
"Upload was cancelled by user" : "Naudotojas atsisakė failo išsiuntimo",
|
||||
"Not enough free space" : "Trūksta laisvos vietos",
|
||||
"Operation is blocked by access control" : "Operacija yra užblokuota prieigos valdymo",
|
||||
"Error during upload: {message}" : "Įkėlimo klaida: {message}",
|
||||
"Error during upload, status code {status}" : "Įkėlimo klaida, būsenos kodas - {status}",
|
||||
"Unknown error during upload" : "Įkėlimo metu įvyko nežinoma klaida",
|
||||
"File list is reloading" : "Failų sąrašas įkeliamas iš naujo",
|
||||
"Loading current folder" : "Įkeliamas dabartinis aplankas",
|
||||
"Retry" : "Bandyti dar kartą",
|
||||
"No files in here" : "Čia failų nėra",
|
||||
"Upload some content or sync with your devices!" : "Įkelkite failus arba sinchronizuokite su savo įrenginiais!",
|
||||
"Go back" : "Grįžti",
|
||||
"Loading …" : "Įkeliama …",
|
||||
"Loading …" : "Įkeliama…",
|
||||
"Your files" : "Jūsų failai",
|
||||
"Open in files" : "Atidaryti failuose",
|
||||
"File cannot be accessed" : "Nepavyksta gauti prieigos prie failo",
|
||||
"The file could not be found or you do not have permissions to view it. Ask the sender to share it." : "Nepavyko surasti failo arba jūs neturite leidimo jo peržiūrėti. Paprašykite siuntėjo, kad pradėtų jį su jumis bendrinti.",
|
||||
"No search results for “{query}”" : "Nėra paieškos rezultatų pagal užklausą „{query}“",
|
||||
"Search for files" : "Ieškoti failų",
|
||||
"Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Leisti apriboti failų pavadinimus, siekiant užtikrinti, kad failus būtų galima sinchronizuoti su visais klientais. Pagal numatytuosius nustatymus leidžiami visi failų vardai, galiojantys POSIX (pvz., Linux arba macOS).",
|
||||
"After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Įjungus su „Windows“ suderinamus failų pavadinimus, esamų failų nebegalima modifikuoti, tačiau jų savininkas gali juos pervadinti galiojančiais naujais pavadinimais.",
|
||||
"Failed to toggle Windows filename support" : "Nepavyko įjungti „Windows“ failų vardų palaikymo",
|
||||
"Files compatibility" : "Failų suderinamumas",
|
||||
"Enforce Windows compatibility" : "Užtikrinti suderinamumą su „Windows“",
|
||||
"This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Tai blokuos „Windows“ sistemose negaliojančius failų pavadinimus, pvz., rezervuotus pavadinimus ar specialiuosius simbolius. Tačiau tai neužtikrins didžiųjų ir mažųjų raidžių skyrimo suderinamumo.",
|
||||
"Blank" : "Tuščia",
|
||||
"Unable to create new file from template" : "Nepavyko sukurti naujo failo iš šablono",
|
||||
"Pick a template for {name}" : "Pasirinkite šabloną, skirtą {name}",
|
||||
"Create a new file with the selected template" : "Sukurti naują failą naudojant pasirinktą šabloną",
|
||||
"Creating file" : "Sukuriamas failas",
|
||||
"Save as {displayName}" : "Įrašyti kaip {displayName}",
|
||||
"Save as …" : "Įrašyti kaip…",
|
||||
"Converting files …" : "Failų konvertavimas ...",
|
||||
"Failed to convert files: {message}" : "Nepavyko konvertuoti failų: {message}",
|
||||
"All files failed to be converted" : "Nepavyko konvertuoti visų failų",
|
||||
"One file could not be converted: {message}" : "Vieno failo nepavyko konvertuoti: {message}",
|
||||
"_%n file could not be converted_::_%n files could not be converted_" : ["%n failas negali būti konvertuotas","%n failai negali būti konvertuoti","%n failų negali būti konvertuota","%n failų negali būti konvertuota"],
|
||||
"_%n file converted_::_%n files converted_" : ["%n failas konvertuotas","%n failai konvertuoti","%n failų konvertuota","%n failų konvertuota"],
|
||||
"Files converted" : "Failai konvertuoti",
|
||||
"Failed to convert files" : "Nepavyko konvertuoti failų",
|
||||
"Converting file …" : "Failai konvertuojami ...",
|
||||
"File successfully converted" : "Failas sėkmingai konvertuotas",
|
||||
"Failed to convert file: {message}" : "Nepavyko konvertuoti failo: {message}",
|
||||
"Failed to convert file" : "Nepavyko konvertuoti failo",
|
||||
"Delete" : "Ištrinti",
|
||||
"Leave this share" : "Palikti bendrinimą",
|
||||
"Leave these shares" : "Palikti bendrinimus",
|
||||
"Disconnect storage" : "Atjungti saugyklą",
|
||||
"Delete permanently" : "Ištrinti negrįžtamai",
|
||||
"Disconnect storages" : "Atjungti saugyklas",
|
||||
"Delete permanently" : "Ištrinti visam laikui",
|
||||
"Delete and unshare" : "Ištrinti ir nebebendrinti",
|
||||
"Delete file" : "Ištrinti failą",
|
||||
"Delete files" : "Ištrinti failus",
|
||||
"Delete folder" : "Ištrinti aplanką",
|
||||
"Delete folders" : "Ištrinti aplankus",
|
||||
"_You are about to permanently delete {count} item_::_You are about to permanently delete {count} items_" : ["Ketinate visam laikui ištrinti {count} elementą","Ketinate visam laikui ištrinti {count} elementus","Ketinate visam laikui ištrinti {count} elementų","Ketinate visam laikui ištrinti {count} elementų"],
|
||||
"_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Jūs ketinate ištrinti {count} elementą","Jūs ketinate ištrinti {count} elementus","Jūs ketinate ištrinti {count} elementų","Jūs ketinate ištrinti {count} elementą"],
|
||||
"Confirm deletion" : "Patvirtinti ištrynimą",
|
||||
"Download" : "Atsisiųsti",
|
||||
"The requested file is not available." : "Prašomo failo nėra.",
|
||||
"The requested files are not available." : "Prašomų failų nėra.",
|
||||
"Add to favorites" : "Pridėti į mėgstamus",
|
||||
"Remove from favorites" : "Šalinti iš mėgstamų",
|
||||
"Add or remove favorite" : "Pridėti arba pašalinti mėgstamiausią",
|
||||
"Move" : "Perkelti",
|
||||
"Copy" : "Kopijuoti",
|
||||
"Move or copy" : "Perkelti ar kopijuoti",
|
||||
"Destination is not a folder" : "Paskirties vieta nėra aplankas",
|
||||
"This file/folder is already in that directory" : "Šis failas / aplankas jau yra tame kataloge",
|
||||
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Negalite perkelti failo / aplanko ant jo paties arba į jo paties poaplankį",
|
||||
"A file or folder with that name already exists in this folder" : "Failas arba aplankas tokiu pavadinimu jau yra šiame aplanke",
|
||||
"The files are locked" : "Failai yra užrakinti",
|
||||
"The file does not exist anymore" : "Failo daugiau nebėra",
|
||||
"Moving \"{source}\" to \"{destination}\" …" : "Perkeliama \"{source}\" į \"{destination}\" ...",
|
||||
"Moving {count} files to \"{destination}\" …" : "{count} failai perkeliami į \"{destination}\" ...",
|
||||
"Copying \"{source}\" to \"{destination}\" …" : "Kopijuojama iš \"{source}\" į \"{destination}\" ...",
|
||||
"Copying {count} files to \"{destination}\" …" : "{count} failai kopijuojami į \"{destination}\" ...",
|
||||
"Choose destination" : "Pasirinkite paskirties vietą",
|
||||
"Copy to {target}" : "Kopijuoti į {target}",
|
||||
"Move to {target}" : "Perkelti į {target}",
|
||||
"Move or copy operation failed" : "Perkėlimo ar kopijavimo operacija patyrė nesėkmę",
|
||||
"Open folder" : "Atverti aplanką",
|
||||
"Open folder {displayName}" : "Atverti aplanką {displayName}",
|
||||
"Open in Files" : "Atidaryti programėlėje Files",
|
||||
"Open locally" : "Atidaryti vietoje",
|
||||
"Failed to redirect to client" : "Nepavyko peradresuoti į klientą",
|
||||
"Open file locally" : "Atidaryti failą vietoje",
|
||||
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Failas dabar turėtų atsidaryti jūsų įrenginyje. Jei ne, patikrinkite, ar įdiegta darbalaukio programėlė.",
|
||||
"Retry and close" : "Bandyti dar kartą ir užverti",
|
||||
"Open online" : "Atidaryti internete",
|
||||
"Details" : "Išsamiau",
|
||||
"Open the details sidebar" : "Atidaryti išsamios informacijos šoninę juostą",
|
||||
"Unfavorite" : "Pašalinti iš mėgstamiausių",
|
||||
"View in folder" : "Rodyti aplanke",
|
||||
"Type" : "Tipas",
|
||||
"Created new folder \"{name}\"" : "Sukurtas naujas aplankas „{name}“",
|
||||
"Unable to initialize the templates directory" : "Nepavyko inicijuoti šablonų katalogo",
|
||||
"Create templates folder" : "Sukurti šablonų aplanką",
|
||||
"Templates" : "Šablonai",
|
||||
"New template folder" : "Naujas šablonų aplankas",
|
||||
"In folder" : "Aplanke",
|
||||
"Pick folder to search in" : "Pasirinkite aplanką, kuriame norite ieškoti",
|
||||
"Search in all files" : "Ieškoti visuose failuose",
|
||||
"Search in folder: {folder}" : "Ieškoti aplanke: {folder}",
|
||||
"One of the dropped files could not be processed" : "Vieno iš atmestų failų apdoroti nepavyko",
|
||||
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Jūsų naršyklė nepalaiko failų sistemos API. Katalogai nebus įkelti.",
|
||||
"No files to upload" : "Nėra failų, kuriuos būtų galima įkelti",
|
||||
"Unable to create the directory {directory}" : "Nepavyko sukurti katalogo {directory}",
|
||||
"Some files could not be uploaded" : "Kai kurių failų nepavyko išsiųsti",
|
||||
"Files uploaded successfully" : "Failai sėkmingai išsiųsti",
|
||||
"No files to process" : "Nėra failų, kuriuos reikėtų apdoroti",
|
||||
"Files copied successfully" : "Failai sėkmingai nukopijuoti",
|
||||
"Files moved successfully" : "Failai sėkmingai perkelti",
|
||||
"Some files could not be copied" : "Kai kurių failų nepavyko nukopijuoti",
|
||||
"Some files could not be moved" : "Kai kurių failų nepavyko perkelti",
|
||||
"Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti failo „{oldName}“, jo daugiau nebėra",
|
||||
"Conflicts resolution skipped" : "Konfliktų sprendimas praleistas",
|
||||
"Upload cancelled" : "Įkėlimas atšauktas",
|
||||
"Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti „{oldName}“, jo daugiau nebėra",
|
||||
"The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{newName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
|
||||
"Could not rename \"{oldName}\"" : "Nepavyko pervadinti „{oldName}“",
|
||||
"This operation is forbidden" : "Ši operacija yra uždrausta",
|
||||
"This folder is unavailable, please try again later or contact the administration" : "Šis aplankas neprieinamas, bandykite dar kartą vėliau arba susisiekite su administratoriumi",
|
||||
"Storage is temporarily not available" : "Saugykla yra laikinai neprieinama",
|
||||
"Unexpected error: {error}" : "Netikėta klaida: {error}",
|
||||
"_%n file_::_%n files_" : ["%n failas","%n failai","%n failų","%n failas"],
|
||||
"_%n folder_::_%n folders_" : ["%n aplankas","%n aplankai","%n aplankų","%n aplankas"],
|
||||
"_%n hidden_::_%n hidden_" : ["%n paslėptas","%n paslėpti","%n paslėptų","%n paslėptas"],
|
||||
"Filename must not be empty." : "Failo pavadinimas negali būti tuščias.",
|
||||
"\"{char}\" is not allowed inside a filename." : "\"{char}\" simbolis failo pavadinime neleidžiamas",
|
||||
"\"{segment}\" is a reserved name and not allowed for filenames." : "„{segment}“ yra rezervuotas pavadinimas ir neleidžiamas naudoti failo pavadinimuose.",
|
||||
"\"{extension}\" is not an allowed filetype." : "„{extension}“ nėra leidžiamas failo tipas.",
|
||||
"Filenames must not end with \"{extension}\"." : "Failų pavadinimai negali baigtis „{extension}“.",
|
||||
"List of favorite files and folders." : "Mėgstamiausių failų ir aplankų sąrašas.",
|
||||
"No favorites yet" : "Kol kas nėra mėgstamų",
|
||||
"Files and folders you mark as favorite will show up here" : "Čia bus rodomi failai ir aplankai, kuriuos pažymėsite kaip mėgstamus",
|
||||
"List of your files and folders." : "Jūsų failų ir aplankų sąrašas.",
|
||||
"Folder tree" : "Aplankų medis",
|
||||
"List of your files and folders that are not shared." : "Jūsų nebendrinamų failų ir aplankų sąrašas.",
|
||||
"No personal files found" : "Nerasta jokių asmeninių failų",
|
||||
"Files that are not shared will show up here." : "Čia bus rodomi nebendrinami failai.",
|
||||
"Recent" : "Paskiausiai naudoti",
|
||||
"List of recently modified files and folders." : "Paskiausiai modifikuotų failų ir aplankų sąrašas.",
|
||||
"No recently modified files" : "Nėra jokių paskiausiai modifikuotų failų",
|
||||
"Files and folders you recently modified will show up here." : "Čia bus rodomi neseniai modifikuoti failai ir aplankai.",
|
||||
"Search" : "Paieška",
|
||||
"Search results within your files." : "Paieškos rezultatai jūsų failuose.",
|
||||
"No entries found in this folder" : "Nerasta įrašų šiame aplanke",
|
||||
"Select all" : "Pažymėti viską",
|
||||
"Upload too large" : "Įkėlimui failas per didelis",
|
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Bandomų įkelti failų dydis viršija maksimalų, šiame serveryje leidžiamų įkelti failų dydį.",
|
||||
"Renamed \"{oldName}\" to \"{newName}\"" : "„{oldName}“ pervadintas į „{newName}“",
|
||||
"Clear filter" : "Išvalyti filtrą",
|
||||
"Open file sidebar" : "Atverti failų šoninę juostą",
|
||||
"Search everywhere …" : "Ieškoti visur…",
|
||||
"Search here …" : "Ieškoti čia…",
|
||||
"Preparing …" : "Ruošiama...",
|
||||
"Submitting fields …" : "Pateikiami laukai...",
|
||||
"Shared by link" : "Bendrinama pagal nuorodą",
|
||||
"Shared" : "Bendrinama",
|
||||
"You" : "Jūs",
|
||||
"Shared multiple times with different people" : "Dalijimasis kelis kartus su skirtingais žmonėmis",
|
||||
"Unable to change the favorite state of the file" : "Nepavyko pakeisti failo mėgstamiausios būsenos",
|
||||
"Error while loading the file data" : "Klaida įkeliant failo duomenis",
|
||||
"Tags" : "Žymos",
|
||||
"Save as …" : "Įrašyti kaip…"
|
||||
"Save as …" : "Įrašyti kaip…",
|
||||
"Converting files …" : "Failų konvertavimas…",
|
||||
"Converting file …" : "Failo konvertavimas…"
|
||||
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
|
||||
}
|
||||
@@ -95,6 +95,7 @@ OC.L10N.register(
|
||||
"Another entry with the same name already exists." : "Друг запис со исто име веќе постои.",
|
||||
"Invalid filename." : "Невалидно име.",
|
||||
"Rename file" : "Преименувај датотека",
|
||||
"Recently created" : "Неодамна креирани",
|
||||
"Folder" : "Папка",
|
||||
"Unknown file type" : "Непознат тип на датотека",
|
||||
"{ext} image" : "{ext} слика",
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
"Another entry with the same name already exists." : "Друг запис со исто име веќе постои.",
|
||||
"Invalid filename." : "Невалидно име.",
|
||||
"Rename file" : "Преименувај датотека",
|
||||
"Recently created" : "Неодамна креирани",
|
||||
"Folder" : "Папка",
|
||||
"Unknown file type" : "Непознат тип на датотека",
|
||||
"{ext} image" : "{ext} слика",
|
||||
|
||||
@@ -46,7 +46,7 @@ OC.L10N.register(
|
||||
"Failed to authorize" : "Autorizácia zlyhala",
|
||||
"Invalid folder path" : "Neplatná cesta k priečinku",
|
||||
"Folder not found" : "Priečinok nebol nájdený",
|
||||
"The file cannot be found" : "Súbor sa nepodarilo nájisť",
|
||||
"The file cannot be found" : "Súbor sa nepodarilo nájsť",
|
||||
"The destination path does not exist: %1$s" : "Cieľová cesta neexistuje: %1$s",
|
||||
"You do not have permission to create a file at the specified location" : "Nemáte oprávnenie vytvoriť súbor v zadanom umiestnení",
|
||||
"The file could not be converted." : "Súbor nemohol byť skonvertovaný.",
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
"Failed to authorize" : "Autorizácia zlyhala",
|
||||
"Invalid folder path" : "Neplatná cesta k priečinku",
|
||||
"Folder not found" : "Priečinok nebol nájdený",
|
||||
"The file cannot be found" : "Súbor sa nepodarilo nájisť",
|
||||
"The file cannot be found" : "Súbor sa nepodarilo nájsť",
|
||||
"The destination path does not exist: %1$s" : "Cieľová cesta neexistuje: %1$s",
|
||||
"You do not have permission to create a file at the specified location" : "Nemáte oprávnenie vytvoriť súbor v zadanom umiestnení",
|
||||
"The file could not be converted." : "Súbor nemohol byť skonvertovaný.",
|
||||
|
||||
@@ -95,6 +95,7 @@ OC.L10N.register(
|
||||
"Another entry with the same name already exists." : "Інший запис з таким же ім'ям вже присутній",
|
||||
"Invalid filename." : "Недійсне ім'я файлу.",
|
||||
"Rename file" : "Перейменувати файл",
|
||||
"Recently created" : "Нещодавно створено",
|
||||
"Folder" : "Каталог",
|
||||
"Unknown file type" : "Невідомий тип файлу",
|
||||
"{ext} image" : "{ext} зображення",
|
||||
@@ -233,7 +234,7 @@ OC.L10N.register(
|
||||
"Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "Заміна розширення файлу з \"{old}\" на \"{new}\" може зробити файл недоступним.",
|
||||
"Removing the file extension \"{old}\" may render the file unreadable." : "Вилучення розширення файлу \"{old}\" може зробити файл недоступним.",
|
||||
"Adding the file extension \"{new}\" may render the file unreadable." : "Додавання розширення до файлу \"{new}\" може зробити файл недоступним.",
|
||||
"Do not show this dialog again." : "Не показувати цей діялог подалі.",
|
||||
"Do not show this dialog again." : "Більше не заптувати",
|
||||
"Rename file to hidden" : "Перейменувати файл у прихований",
|
||||
"Prefixing a filename with a dot may render the file hidden." : "Якщо додати крапку перед ім'ям файлу зробить файл прихованим.",
|
||||
"Are you sure you want to rename the file to \"{filename}\"?" : "Дійсно перейменувати файл у \"{filename}\"?",
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
"Another entry with the same name already exists." : "Інший запис з таким же ім'ям вже присутній",
|
||||
"Invalid filename." : "Недійсне ім'я файлу.",
|
||||
"Rename file" : "Перейменувати файл",
|
||||
"Recently created" : "Нещодавно створено",
|
||||
"Folder" : "Каталог",
|
||||
"Unknown file type" : "Невідомий тип файлу",
|
||||
"{ext} image" : "{ext} зображення",
|
||||
@@ -231,7 +232,7 @@
|
||||
"Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "Заміна розширення файлу з \"{old}\" на \"{new}\" може зробити файл недоступним.",
|
||||
"Removing the file extension \"{old}\" may render the file unreadable." : "Вилучення розширення файлу \"{old}\" може зробити файл недоступним.",
|
||||
"Adding the file extension \"{new}\" may render the file unreadable." : "Додавання розширення до файлу \"{new}\" може зробити файл недоступним.",
|
||||
"Do not show this dialog again." : "Не показувати цей діялог подалі.",
|
||||
"Do not show this dialog again." : "Більше не заптувати",
|
||||
"Rename file to hidden" : "Перейменувати файл у прихований",
|
||||
"Prefixing a filename with a dot may render the file hidden." : "Якщо додати крапку перед ім'ям файлу зробить файл прихованим.",
|
||||
"Are you sure you want to rename the file to \"{filename}\"?" : "Дійсно перейменувати файл у \"{filename}\"?",
|
||||
|
||||
@@ -95,6 +95,7 @@ OC.L10N.register(
|
||||
"Another entry with the same name already exists." : "另一相同名称的条目已存在。",
|
||||
"Invalid filename." : "无效文件名称。",
|
||||
"Rename file" : "重命名文件",
|
||||
"Recently created" : "最近创建",
|
||||
"Folder" : "文件夹",
|
||||
"Unknown file type" : "未知文件类型",
|
||||
"{ext} image" : "{ext} 图片",
|
||||
@@ -234,6 +235,9 @@ OC.L10N.register(
|
||||
"Removing the file extension \"{old}\" may render the file unreadable." : "删除文件扩展名 \"{old}\" 可能会导致文件无法读取。",
|
||||
"Adding the file extension \"{new}\" may render the file unreadable." : "添加文件扩展名 \"{new}\" 可能会导致文件无法读取。",
|
||||
"Do not show this dialog again." : "不再显示此对话框。",
|
||||
"Rename file to hidden" : "将文件重命名为隐藏文件",
|
||||
"Prefixing a filename with a dot may render the file hidden." : "在文件名前加上点号可能会使文件变为隐藏文件。",
|
||||
"Are you sure you want to rename the file to \"{filename}\"?" : "是否确定要将文件重命名为“{filename}”?",
|
||||
"Cancel" : "取消",
|
||||
"Rename" : "重命名",
|
||||
"Select file or folder to link to" : "选择需要链接的文件或文件夹",
|
||||
@@ -316,7 +320,9 @@ OC.L10N.register(
|
||||
"The files are locked" : "文件已锁定",
|
||||
"The file does not exist anymore" : "文件不存在",
|
||||
"Moving \"{source}\" to \"{destination}\" …" : "正在将“{source}”移动到“{destination}” …",
|
||||
"Moving {count} files to \"{destination}\" …" : "正在将 {count} 个文件移动到“{destination}” …",
|
||||
"Copying \"{source}\" to \"{destination}\" …" : "正在将“{source}”复制到“{destination}” …",
|
||||
"Copying {count} files to \"{destination}\" …" : "正在将 {count} 个文件复制到“{destination}” …",
|
||||
"Choose destination" : "选择目标路径",
|
||||
"Copy to {target}" : "复制到 {target}",
|
||||
"Move to {target}" : "移动到 {target}",
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
"Another entry with the same name already exists." : "另一相同名称的条目已存在。",
|
||||
"Invalid filename." : "无效文件名称。",
|
||||
"Rename file" : "重命名文件",
|
||||
"Recently created" : "最近创建",
|
||||
"Folder" : "文件夹",
|
||||
"Unknown file type" : "未知文件类型",
|
||||
"{ext} image" : "{ext} 图片",
|
||||
@@ -232,6 +233,9 @@
|
||||
"Removing the file extension \"{old}\" may render the file unreadable." : "删除文件扩展名 \"{old}\" 可能会导致文件无法读取。",
|
||||
"Adding the file extension \"{new}\" may render the file unreadable." : "添加文件扩展名 \"{new}\" 可能会导致文件无法读取。",
|
||||
"Do not show this dialog again." : "不再显示此对话框。",
|
||||
"Rename file to hidden" : "将文件重命名为隐藏文件",
|
||||
"Prefixing a filename with a dot may render the file hidden." : "在文件名前加上点号可能会使文件变为隐藏文件。",
|
||||
"Are you sure you want to rename the file to \"{filename}\"?" : "是否确定要将文件重命名为“{filename}”?",
|
||||
"Cancel" : "取消",
|
||||
"Rename" : "重命名",
|
||||
"Select file or folder to link to" : "选择需要链接的文件或文件夹",
|
||||
@@ -314,7 +318,9 @@
|
||||
"The files are locked" : "文件已锁定",
|
||||
"The file does not exist anymore" : "文件不存在",
|
||||
"Moving \"{source}\" to \"{destination}\" …" : "正在将“{source}”移动到“{destination}” …",
|
||||
"Moving {count} files to \"{destination}\" …" : "正在将 {count} 个文件移动到“{destination}” …",
|
||||
"Copying \"{source}\" to \"{destination}\" …" : "正在将“{source}”复制到“{destination}” …",
|
||||
"Copying {count} files to \"{destination}\" …" : "正在将 {count} 个文件复制到“{destination}” …",
|
||||
"Choose destination" : "选择目标路径",
|
||||
"Copy to {target}" : "复制到 {target}",
|
||||
"Move to {target}" : "移动到 {target}",
|
||||
|
||||
@@ -7,43 +7,9 @@
|
||||
*/
|
||||
namespace OCA\Files;
|
||||
|
||||
use OC\NavigationManager;
|
||||
use OCA\Files\Service\ChunkedUploadConfig;
|
||||
use OCP\App\IAppManager;
|
||||
use OCP\EventDispatcher\IEventDispatcher;
|
||||
use OCP\IConfig;
|
||||
use OCP\IGroupManager;
|
||||
use OCP\INavigationManager;
|
||||
use OCP\IURLGenerator;
|
||||
use OCP\IUserSession;
|
||||
use OCP\L10N\IFactory;
|
||||
use OCP\Server;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
class App {
|
||||
private static ?INavigationManager $navigationManager = null;
|
||||
|
||||
/**
|
||||
* Returns the app's navigation manager
|
||||
*/
|
||||
public static function getNavigationManager(): INavigationManager {
|
||||
// TODO: move this into a service in the Application class
|
||||
if (self::$navigationManager === null) {
|
||||
self::$navigationManager = new NavigationManager(
|
||||
Server::get(IAppManager::class),
|
||||
Server::get(IUrlGenerator::class),
|
||||
Server::get(IFactory::class),
|
||||
Server::get(IUserSession::class),
|
||||
Server::get(IGroupManager::class),
|
||||
Server::get(IConfig::class),
|
||||
Server::get(LoggerInterface::class),
|
||||
Server::get(IEventDispatcher::class),
|
||||
);
|
||||
self::$navigationManager->clear(false);
|
||||
}
|
||||
return self::$navigationManager;
|
||||
}
|
||||
|
||||
public static function extendJsConfig($settings): void {
|
||||
$appConfig = json_decode($settings['array']['oc_appconfig'], true);
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ use OCP\Config\ValueType;
|
||||
*/
|
||||
class ConfigLexicon implements ILexicon {
|
||||
public const OVERWRITES_HOME_FOLDERS = 'overwrites_home_folders';
|
||||
public const RECENT_LIMIT = 'recent_limit';
|
||||
|
||||
public function getStrictness(): Strictness {
|
||||
return Strictness::IGNORE;
|
||||
@@ -37,6 +38,13 @@ class ConfigLexicon implements ILexicon {
|
||||
lazy: false,
|
||||
note: 'It will be populated with app IDs of mount providers that overwrite home folders. Currently, only files_external and groupfolders.',
|
||||
),
|
||||
new Entry(
|
||||
self::RECENT_LIMIT,
|
||||
ValueType::INT,
|
||||
defaultRaw: 100,
|
||||
definition: 'Maximum number of files to display on recent files view',
|
||||
lazy: false,
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user