Compare commits

..

160 Commits

Author SHA1 Message Date
Robin Appelman 8a5c50a313 test: add test that aborted uploads don't overwrite existing content
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-04 17:42:15 +02:00
Robin Appelman fee6a56339 fix: fix check if we can use a part file
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-04 17:37:49 +02:00
Robin Appelman 8ab626bedf fix: better object store write error propagation
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-04 17:34:46 +02:00
Robin Appelman 168a58eaeb fix: always do stream counting for object store upload
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-04 17:34:46 +02:00
Robin Appelman 1fdece8fce fix: validate written size for s3 multipart uploads
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-04 17:34:44 +02:00
Daniel 9c79483392 Merge pull request #54193 from nextcloud/ci/codeql/convert-to-action
ci(codeql): convert codeql integration into a workflow
2025-08-04 12:10:35 +02:00
Nextcloud bot 2211390ca5 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-04 00:13:25 +00:00
Joas Schilling 894463b935 Merge pull request #54224 from nextcloud/nickvergessen-patch-1
Update CODEOWNERS
2025-08-03 12:40:08 +02:00
Joas Schilling fbd492ff1c Update CODEOWNERS
Signed-off-by: Joas Schilling <213943+nickvergessen@users.noreply.github.com>
2025-08-03 12:32:11 +02:00
Nextcloud bot 262f647104 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-03 00:12:23 +00:00
John Molakvoæ f3d2e53371 Merge pull request #54010 from nextcloud/automated/noid/master-fix-npm-audit 2025-08-02 11:52:43 +02:00
nextcloud-command dca988cf8c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-02 08:22:38 +00:00
skjnldsv bf6f3d7761 chore: update minor and patch dependencies
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-02 10:18:41 +02:00
John Molakvoæ e469d2fdad Merge pull request #54209 from nextcloud/dependabot/npm_and_yarn/wait-on-8.0.4 2025-08-02 09:49:02 +02:00
John Molakvoæ 828007ec5d Merge pull request #54215 from nextcloud/dependabot/npm_and_yarn/marked-16.1.1 2025-08-02 09:48:40 +02:00
John Molakvoæ 219dd00c99 Merge pull request #54211 from nextcloud/dependabot/npm_and_yarn/types/dockerode-3.3.42 2025-08-02 09:48:28 +02:00
John Molakvoæ 0052d77af2 Merge pull request #54212 from nextcloud/dependabot/npm_and_yarn/cypress-split-1.24.20 2025-08-02 09:48:19 +02:00
John Molakvoæ 55a0dfc691 Merge pull request #54208 from nextcloud/dependabot/npm_and_yarn/sass-1.89.2 2025-08-02 09:47:35 +02:00
John Molakvoæ 5b4177a962 Merge pull request #54210 from nextcloud/dependabot/npm_and_yarn/zip.js/zip.js-2.7.71 2025-08-02 09:46:52 +02:00
John Molakvoæ cc7c86b1c1 Merge pull request #54214 from nextcloud/dependabot/npm_and_yarn/vitest/coverage-v8-3.2.4 2025-08-02 09:46:40 +02:00
nextcloud-command 97c3b8389c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-02 03:22:52 +00:00
dependabot[bot] 0b5ddf82c4 chore(deps): bump marked from 15.0.12 to 16.1.1
Bumps [marked](https://github.com/markedjs/marked) from 15.0.12 to 16.1.1.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v15.0.12...v16.1.1)

---
updated-dependencies:
- dependency-name: marked
  dependency-version: 16.1.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:15:18 +00:00
dependabot[bot] 127a02f9de chore(deps-dev): bump @vitest/coverage-v8 from 3.2.3 to 3.2.4
Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v3.2.4/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 3.2.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:14:51 +00:00
dependabot[bot] 02c2e01b97 chore(deps-dev): bump cypress-split from 1.24.18 to 1.24.20
Bumps [cypress-split](https://github.com/bahmutov/cypress-split) from 1.24.18 to 1.24.20.
- [Release notes](https://github.com/bahmutov/cypress-split/releases)
- [Commits](https://github.com/bahmutov/cypress-split/compare/v1.24.18...v1.24.20)

---
updated-dependencies:
- dependency-name: cypress-split
  dependency-version: 1.24.20
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:13:30 +00:00
dependabot[bot] 57aa99fb96 chore(deps-dev): bump @types/dockerode from 3.3.38 to 3.3.42
Bumps [@types/dockerode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/dockerode) from 3.3.38 to 3.3.42.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/dockerode)

---
updated-dependencies:
- dependency-name: "@types/dockerode"
  dependency-version: 3.3.42
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:12:41 +00:00
dependabot[bot] 2cb552d8e2 chore(deps-dev): bump @zip.js/zip.js from 2.7.62 to 2.7.71
Bumps [@zip.js/zip.js](https://github.com/gildas-lormeau/zip.js) from 2.7.62 to 2.7.71.
- [Release notes](https://github.com/gildas-lormeau/zip.js/releases)
- [Commits](https://github.com/gildas-lormeau/zip.js/compare/v2.7.62...v2.7.71)

---
updated-dependencies:
- dependency-name: "@zip.js/zip.js"
  dependency-version: 2.7.71
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:12:08 +00:00
dependabot[bot] 7750bef6b5 chore(deps-dev): bump wait-on from 8.0.3 to 8.0.4
Bumps [wait-on](https://github.com/jeffbski/wait-on) from 8.0.3 to 8.0.4.
- [Release notes](https://github.com/jeffbski/wait-on/releases)
- [Commits](https://github.com/jeffbski/wait-on/compare/v8.0.3...v8.0.4)

---
updated-dependencies:
- dependency-name: wait-on
  dependency-version: 8.0.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:11:41 +00:00
dependabot[bot] 99e097d360 chore(deps-dev): bump sass from 1.89.1 to 1.89.2
Bumps [sass](https://github.com/sass/dart-sass) from 1.89.1 to 1.89.2.
- [Release notes](https://github.com/sass/dart-sass/releases)
- [Changelog](https://github.com/sass/dart-sass/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sass/dart-sass/compare/1.89.1...1.89.2)

---
updated-dependencies:
- dependency-name: sass
  dependency-version: 1.89.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-02 01:11:13 +00:00
Nextcloud bot 4ce1980eff fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-02 00:12:22 +00:00
John Molakvoæ e4ed547bc6 Merge pull request #50099 from nextcloud/jtr/fix-appframework-server-proto 2025-08-01 17:28:37 +02:00
John Molakvoæ 17ae4e767f Merge pull request #52285 from nextcloud/fix/issue-50748-card-object-move 2025-08-01 17:07:30 +02:00
John Molakvoæ 3417581021 Merge pull request #50258 from nextcloud/feat/add-directory-check-workflowengine 2025-08-01 17:01:00 +02:00
skjnldsv d2a20ea1bd chore: update composer
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-08-01 17:00:09 +02:00
John Molakvoæ 4829ac57c1 fix: use OCP\Server
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-01 17:00:09 +02:00
Josh 14b4d0327e fix(AppFramework): Log malformed protocol values and unify fallback behavior
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-08-01 17:00:09 +02:00
SebastianKrupinski 49d8e29a18 fix: do not ignore move command object target uri
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-08-01 09:36:07 -04:00
John Molakvoæ 6bc6ed95a3 Merge pull request #54172 from nextcloud/fix/app-icon-aria 2025-08-01 13:13:17 +02:00
nextcloud-command 69a3604d64 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 09:47:05 +00:00
Robin Windey feae8ba16a feat: Implement Directory Check
* Partially implements #27591

Signed-off-by: Robin Windey <ro.windey@gmail.com>
2025-08-01 09:43:59 +00:00
John Molakvoæ 5108b8fa13 Merge pull request #49104 from nextcloud/fix/install-dbport-unused 2025-08-01 11:35:22 +02:00
John Molakvoæ 91595aaec4 fix(workflows): disable editing commit when rebasing
Signed-off-by: John Molakvoæ <skjnldsv@users.noreply.github.com>
2025-08-01 11:20:38 +02:00
nextcloud-command 4af65869c3 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 08:51:31 +00:00
Ferdinand Thiessen aa9dba58f4 fix(AppMenu): ensure that aria attributes are set when needed
We hide **if** there is **no** notification.
We *do not* hide and *show the label* **if** there are notifications for
that application.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-08-01 08:49:23 +00:00
John Molakvoæ e8fbb0dfa5 Merge pull request #54192 from nextcloud/fix-federated-sharing-bug 2025-08-01 10:43:30 +02:00
John Molakvoæ 89ef481cfc Merge pull request #54150 from nextcloud/dependabot/npm_and_yarn/linkifyjs-4.3.2 2025-08-01 10:41:35 +02:00
Richard Steinmetz 976e42314f Merge pull request #54182 from nextcloud/mount-cache-without-fs-access
fix: don't update cached mountpoints if the request doesn't have filesystem access
2025-08-01 10:32:15 +02:00
John Molakvoæ 02008829d2 Merge pull request #50470 from nextcloud/fix/49887/early-check-for-overwritten-home 2025-08-01 10:29:56 +02:00
nextcloud-command f8b30884c2 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 08:15:26 +00:00
dependabot[bot] 691fab964a chore(deps): bump linkifyjs from 4.1.3 to 4.3.2
Bumps [linkifyjs](https://github.com/nfrasser/linkifyjs/tree/HEAD/packages/linkifyjs) from 4.1.3 to 4.3.2.
- [Release notes](https://github.com/nfrasser/linkifyjs/releases)
- [Changelog](https://github.com/nfrasser/linkifyjs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nfrasser/linkifyjs/commits/v4.3.2/packages/linkifyjs)

---
updated-dependencies:
- dependency-name: linkifyjs
  dependency-version: 4.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 08:03:22 +00:00
Richard Steinmetz e2176bcaf1 ci(codeql): convert codeql integration into a workflow
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-08-01 09:54:06 +02:00
John Molakvoæ 64b1428552 Merge pull request #54008 from nextcloud/dependabot/composer/build/integration/behat/behat-3.23.0 2025-08-01 09:39:08 +02:00
John Molakvoæ f8994a53d4 Merge pull request #54009 from nextcloud/dependabot/composer/vendor-bin/rector/rector/rector-2.1.2 2025-08-01 09:35:46 +02:00
Maksim Sukharev 809d638c05 fix: make early check if users filesystem have a mountpoint at /<user>/files/
Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-08-01 09:31:50 +02:00
John Molakvoæ 4eee160c15 Merge pull request #53729 from nextcloud/dav-external-url-encoded-root 2025-08-01 09:31:14 +02:00
Mahdi Baghbani 0eca4d508b fix: incorrect DELETE on federated-share acceptance
Signed-off-by: Mahdi Baghbani <mahdi.baghbani1@gamil.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 07:29:12 +00:00
John Molakvoæ 04c64faaa5 Merge pull request #54138 from nextcloud/feat/core/pwa-hide-header 2025-08-01 09:24:34 +02:00
provokateurin 4c7e85ea2a feat(core): Hide header in PWA
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-08-01 09:18:29 +02:00
Kate e9ce184561 Merge pull request #54187 from nextcloud/chore/clean-sharing 2025-08-01 09:13:55 +02:00
Maksim Sukharev 1675aa4f45 Merge pull request #53850 from nextcloud/feat/noid/add-busy-status 2025-08-01 09:09:44 +02:00
John Molakvoæ 27de1ec5c5 Merge pull request #54121 from nextcloud/tag-color-query 2025-08-01 08:51:43 +02:00
nextcloud-command 9adc97e5b8 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-08-01 06:39:39 +00:00
Maksim Sukharev 47923b9d1c style(user_status): adjust status modal styles
- remove modal name
- propagate box-sizing
- reduce gap between sections 12px -> 8px
- align icons vertically
- add hover effect to status labels

Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
2025-08-01 08:35:38 +02:00
Anna Larch 56174f749f feat: add Busy status and new preset BRB status
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-08-01 08:35:37 +02:00
Ferdinand Thiessen 8fd92c8d42 Merge pull request #54188 from nextcloud/dependabot/github_actions/github-actions-55de95cf11
chore(deps): bump the github-actions group with 3 updates
2025-08-01 03:27:56 +02:00
Robin Appelman 01147cf872 fix: add missing color select to tags usage query
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-08-01 02:47:04 +02:00
Nextcloud bot 086ef597c0 fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-08-01 00:12:14 +00:00
dependabot[bot] 34d5e9db16 chore(deps): bump the github-actions group with 3 updates
Bumps the github-actions group with 3 updates: [shivammathur/setup-php](https://github.com/shivammathur/setup-php), [cypress-io/github-action](https://github.com/cypress-io/github-action) and [github/codeql-action](https://github.com/github/codeql-action).


Updates `shivammathur/setup-php` from 2.34.1 to 2.35.2
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/0f7f1d08e3e32076e51cae65eb0b0c871405b16e...ccf2c627fe61b1b4d924adfcbd19d661a18133a0)

Updates `cypress-io/github-action` from 6.10.1 to 6.10.2
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Changelog](https://github.com/cypress-io/github-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/github-action/compare/6c143abc292aa835d827652c2ea025d098311070...b8ba51a856ba5f4c15cf39007636d4ab04f23e3c)

Updates `github/codeql-action` from 3.29.2 to 3.29.5
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/181d5eefc20863364f96762470ba6f862bdef56b...51f77329afa6477de8c49fc9c7046c15b9a4e79d)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-version: 2.35.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cypress-io/github-action
  dependency-version: 6.10.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-version: 3.29.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-31 22:58:38 +00:00
Ferdinand Thiessen 2e5ddea8fb chore(files_sharing): remove leftover of legacy files ui
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 21:09:43 +02:00
Ferdinand Thiessen ba3e5ad03f Merge pull request #54178 from nextcloud/feat/app-icon-opacity
feat(AppMenu): add slight opactiy gradient to app icons
2025-07-31 21:00:23 +02:00
Josh 47fd3707a2 Merge pull request #54179 from nextcloud/fix/issue-7194-fifth-not-fifty
fix: spelling mistake
2025-07-31 14:06:15 -04:00
Ferdinand Thiessen 4e4c4d1e4d chore: compile assets
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 19:02:25 +02:00
Ferdinand Thiessen 4b3b2e09b1 fix(AccountMenu): do not apply alpha mask on the account menu
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 19:01:07 +02:00
Ferdinand Thiessen 2be7d03395 feat(AppMenu): add slight opactiy gradient to app icons
- resolves https://github.com/nextcloud/server/issues/54141

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 19:01:07 +02:00
Daniel 876b4898f0 Merge pull request #54012 from nextcloud/chore/move-smb-package
chore: move smb package to 3rdparty
2025-07-31 18:58:54 +02:00
Robin Appelman 73d0418425 fix: don't update cached mountpoints if the request doesn't have filesystem access
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-07-31 18:28:26 +02:00
Ferdinand Thiessen b42f6bda8b Merge pull request #54143 from nextcloud/fix/icons-header-meu
fix(ContactsMenu): use proper icons in the header navigation
2025-07-31 18:18:09 +02:00
SebastianKrupinski adcb782b45 fix: spelling mistake
Signed-off-by: SebastianKrupinski <krupinskis05@gmail.com>
2025-07-31 10:22:50 -04:00
nextcloud-command d3e4db1255 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-31 14:18:03 +00:00
Ferdinand Thiessen 5e979b52d1 fix(ContactsMenu): use proper icons in the header navigation
app icons in the header navigation are excluded from the outlined icons
change, so this reverts this change.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 15:43:46 +02:00
John Molakvoæ b4803f95c4 Merge pull request #54171 from nextcloud/chore/remove-deprecated-package 2025-07-31 15:36:31 +02:00
Daniel Kesselberg 28dc3e2d85 chore: move smb package to 3rdparty
- Automated updates
- Easier maintenance
- Not having another copy of the streams packages

Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-07-31 15:19:07 +02:00
Ferdinand Thiessen ea44382a5b Merge pull request #54168 from nextcloud/fix/node-version
chore: update node and npm version
2025-07-31 15:15:51 +02:00
John Molakvoæ 5f56ad3862 Merge pull request #54085 from nextcloud/Jerome-Herbinet-folder-tree-structure 2025-07-31 14:39:11 +02:00
Daniel bcfb010e07 Merge pull request #54167 from nextcloud/bug/noid/principal-guest_app-not-found-pt2
fix: hide guests group from overall principals
2025-07-31 14:38:24 +02:00
nextcloud-command 5c768aa60c chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-31 12:34:18 +00:00
Jérôme Herbinet ee3e628b7a feat: replace "Folder tree structure" with "Folder tree"
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
Co-Authored-By: kramo <git@kramo.page>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-31 12:26:12 +00:00
Ferdinand Thiessen 48f86c4696 chore: remove nextcloud-vue-collections and use @nextcloud/vue instead
`nextcloud-vue-collections` is deprecated for quite some time and was
merged into `@nextcloud/vue`. So lets drop that dependency.

Adjust the two files where it was used, one of them was itself never
used so just dropped that file.

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 13:52:32 +02:00
Christoph Wurst 6033c25630 Merge pull request #54084 from nextcloud/feat/dav/absence-get-set-commands
feat(dav): add occ commands to get and set absences
2025-07-31 12:43:36 +02:00
Ferdinand Thiessen 616f91d14d chore: update node and npm version
- Adjust versions to align with our standards
- Fixes flakyness of dependabot

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 12:33:32 +02:00
Jyrki Gadinger 45c8664b00 fix: hide guests group from overall principals
Follow-up for #52914 and #53369

Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
2025-07-31 11:24:23 +02:00
John Molakvoæ 91a35db95f Merge pull request #54162 from nextcloud/feat/add-account-menu-outline 2025-07-31 09:23:52 +02:00
nextcloud-command a0a0458b41 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-31 07:11:12 +00:00
Richard Steinmetz 46cf819e2f Merge pull request #54160 from nextcloud/feat/event-builder-invitation-emails
feat: send invitation emails through ICreateFromString
2025-07-31 09:10:20 +02:00
Ferdinand Thiessen b610239951 feat(AccountMenu): apply some outline to the user avatar
- resolves https://github.com/nextcloud/server/issues/54140

Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-31 07:07:10 +00:00
Nextcloud bot 7fbe33322b fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-31 00:12:09 +00:00
Christoph Wurst ee00d166cd feat(dav): add occ commands to get and set absences
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-07-30 22:22:22 +02:00
Richard Steinmetz d6d94c4e63 feat: send invitation emails through ICreateFromString
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2025-07-30 18:54:12 +02:00
Nextcloud bot b270a22c4a fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-30 00:12:11 +00:00
F. E Noel Nfebe f0485e4153 Merge pull request #53661 from nextcloud/feat/52635/toggle-for-trusted-server-sharing
feat(files_sharing): Toggle display for trusted server shares
2025-07-29 17:52:40 +01:00
Daniel 0c568ff2bb Merge pull request #54119 from nextcloud/feat/noid/show-nice-label-when-searching-in-root
Show nice label when searching in root
2025-07-29 18:30:47 +02:00
Daniel Calviño Sánchez b9ab00a59e Merge pull request #54005 from nextcloud/do-not-show-password-dialog-when-user-can-not-validate-password
fix: Do not show password dialog when user can not validate password
2025-07-29 17:54:46 +02:00
John Molakvoæ 05cba2a6e3 Merge pull request #54092 from nextcloud/dependabot/composer/vendor-bin/openapi-extractor/nextcloud/openapi-extractor-1.8.1 2025-07-29 17:43:45 +02:00
John Molakvoæ 26c3c1feff Merge pull request #53746 from nextcloud/add-VersionCreatedEvent 2025-07-29 17:43:23 +02:00
Kate 41a47f878c Merge pull request #54082 from nextcloud/fix/54080/using-userconfig-to-set-lang 2025-07-29 17:28:15 +02:00
nextcloud-command d38eed7797 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-29 15:15:43 +00:00
Daniel Kesselberg 2cff3454a3 feat(search): show alias when searching in root folder
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2025-07-29 15:11:24 +00:00
John Molakvoæ f4ff7db49b Merge pull request #54139 from nextcloud/feat/drop-compile-commits-rebase 2025-07-29 17:07:42 +02:00
skjnldsv 148f29475e fix(workflows): don't use needs.init.outputs.head_ref directly
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-29 15:58:16 +02:00
skjnldsv 36b510a38a feat(workflows): drop dist and js changes when compile-rebasing
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-29 15:49:36 +02:00
nextcloud-command 21b273dce9 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-29 12:49:56 +00:00
nfebe 2bb8c72c47 feat(files_sharing): Toggle display for trusted server shares
Signed-off-by: nfebe <fenn25.fn@gmail.com>
2025-07-29 13:24:49 +01:00
Borja Domínguez Vázquez d0de83be10 feat(file-versions): #53151 add VersionCreatedEvent event
Signed-off-by: Borja Domínguez Vázquez <bdominguez@virtualwareco.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 14:05:21 +02:00
Maxence Lange 132513dbf3 fix(userconfig): duplicate core lexicon
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 10:36:44 -01:00
Daniel b8ad6d091a Merge pull request #53945 from nextcloud/chore/share-constants
chore(OC\Share\Constants): Remove unused SHARE_TYPE_* constants
2025-07-29 13:31:42 +02:00
Kate 49618b30a7 Merge pull request #53946 from nextcloud/chore/remove-hierarchical-shares 2025-07-29 13:26:03 +02:00
dependabot[bot] 9b1c70227b chore(deps): bump nextcloud/openapi-extractor
Bumps [nextcloud/openapi-extractor](https://github.com/nextcloud-releases/openapi-extractor) from 1.8.0 to 1.8.1.
- [Changelog](https://github.com/nextcloud-releases/openapi-extractor/blob/main/CHANGELOG.md)
- [Commits](https://github.com/nextcloud-releases/openapi-extractor/compare/v1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: nextcloud/openapi-extractor
  dependency-version: 1.8.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 13:23:54 +02:00
Maxence Lange 51dc9f89b7 Merge pull request #54064 from nextcloud/feat/preset/custom-share-token
feat(preset): add lexicon entry for custom share tokens
2025-07-29 10:11:05 -01:00
John Molakvoæ 1d4032dafd Merge pull request #54128 from nextcloud/dep/nextcloud 2025-07-29 11:53:50 +02:00
provokateurin 746e5917c7 fix(IShare): Add missing getParent and setParent methods
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 11:27:04 +02:00
Maxence Lange 3ceffe9f5b feat(preset): add lexicon entry for custom share token
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 08:15:08 -01:00
Maxence Lange 9380375cc6 feat(lexicon): add note and key-details
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2025-07-29 08:15:08 -01:00
Kate 89d659ca17 Merge pull request #51602 from nextcloud/fix/fix-default-share-folder-for-group-shares 2025-07-29 11:12:58 +02:00
skjnldsv a83ed8a5c2 fix(eslint): glob import spec pattern
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-29 10:55:25 +02:00
skjnldsv 26cc4782c4 chore(deps): update @nextcloud/auth, @nextcloud/calendar-availability-vue, @nextcloud/files & @nextcloud/sharing
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-29 10:40:45 +02:00
provokateurin 3c7fce39aa chore(OC\Share\Constants): Remove unused SHARE_TYPE_* constants
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 10:39:33 +02:00
provokateurin 665a38573c fix(IShareProvider): Add missing getChildren method to the interface
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-29 10:26:33 +02:00
Nextcloud bot 8bc5edf15f fix(l10n): Update translations from Transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2025-07-29 00:12:07 +00:00
Simon L. 2ffd72864e Merge pull request #54111 from nextcloud/enh/noid/add-types-to-issue-templates
chore: add type to issue templates
2025-07-29 00:00:09 +02:00
Simon L. 4ee1cf5628 chore: add type to issue templates
Signed-off-by: Simon L. <szaimen@e.mail.de>
2025-07-28 23:47:00 +02:00
John Molakvoæ 345df00c28 Merge pull request #53966 from nextcloud/feat/show-hide-ext
feat(files): allow hidding files extensions
2025-07-28 19:56:25 +02:00
John Molakvoæ 33ddce490b Merge pull request #53635 from nextcloud/fix/insecure-crypto-envs
fix(files_sharing): fallback self.crypto.getRandomValues
2025-07-28 19:51:59 +02:00
nextcloud-command f35d164e33 chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-28 17:08:05 +00:00
nextcloud-command c050f49e1d chore(assets): Recompile assets
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2025-07-28 16:14:08 +00:00
skjnldsv 3cff9d87e9 fix(files_sharing): fallback self.crypto.getRandomValues
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-28 18:07:26 +02:00
skjnldsv c7dd6dd645 feat(files): allow hidding files extensions
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-28 18:05:15 +02:00
Stephan Orbaugh 4eda352397 Merge pull request #54026 from nextcloud/enh/add-cloud-id-chars
feat: add ICloudIdResolver
2025-07-28 15:49:12 +02:00
Anna 3b4a268c66 Merge pull request #53992 from nextcloud/fix/noid/filter-cancelled-events
fix(caldav): don't return cancelled events for upcoming events API
2025-07-28 12:18:40 +02:00
Anna Larch 7e3082cb46 fix(caldav): don't return cancelled events for upcoming events API
Signed-off-by: Anna Larch <anna@nextcloud.com>
2025-07-28 11:20:11 +02:00
Kate aca5361e86 Merge pull request #53944 from nextcloud/chore/too-many-arguments 2025-07-28 10:49:52 +02:00
dependabot[bot] 89ae18ab08 build(deps-dev): bump rector/rector in /vendor-bin/rector
Bumps [rector/rector](https://github.com/rectorphp/rector) from 2.1.0 to 2.1.2.
- [Release notes](https://github.com/rectorphp/rector/releases)
- [Commits](https://github.com/rectorphp/rector/compare/2.1.0...2.1.2)

---
updated-dependencies:
- dependency-name: rector/rector
  dependency-version: 2.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 10:34:50 +02:00
John Molakvoæ 12c07f9a8c Merge pull request #53909 from nextcloud/fix/newUser-provisioning_api 2025-07-28 09:21:15 +02:00
Joas Schilling d0865ed924 Merge pull request #54068 from nextcloud/bugfix/noid/fix-infinite-loop-on-parallelaware-block
fix(cron): Fix infinite loop on ParallelAware blocked jobs
2025-07-28 08:22:52 +02:00
John Molakvoæ e89b3a0597 Merge pull request #54051 from nextcloud/fix/session/log-ephemeral-session-close 2025-07-28 08:16:32 +02:00
Joas Schilling 93d07e814b Merge pull request #54027 from nextcloud/fix/oracle-db-connection
fix(ConnectionFactory): Apply Oracle connection fix to primary and replica params as well
2025-07-28 08:13:33 +02:00
Joas Schilling 3ccb3160b4 Merge pull request #53898 from nextcloud/ci-mariadb-118
ci: test against MariaDB 11.8 (latest LTS)
2025-07-28 08:10:05 +02:00
Joas Schilling 031d739d33 fix(cron): Fix infinite loop on ParallelAware blocked jobs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-25 15:28:24 +02:00
Ferdinand Thiessen 66eb021ece refactor: remove duplicated types and add return types
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2025-07-23 15:59:26 +02:00
Sandro Mesterheide bffac23322 feat: Add cloud id resolver interface
Co-authored-by: Dirk Olbertz <dirk.olbertz@publicplan.de>
Signed-off-by: Sandro Mesterheide <mesterheide@publicplan.de>
2025-07-23 15:59:26 +02:00
Christoph Wurst 084a2e8859 fix(session): log when ephemeral sessions are closed
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2025-07-23 07:52:06 +02:00
provokateurin 5bd626bd40 chore: Fix all method calls with too many arguments
Signed-off-by: provokateurin <kate@provokateurin.de>
2025-07-22 12:34:49 +02:00
Marcel Klehr 8589debf6d fix(ConnectionFactory): Apply Oracle connection fix to primary and replica params as well
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2025-07-21 15:49:40 +02:00
dependabot[bot] b1a8e01c3f build(deps-dev): bump behat/behat in /build/integration
Bumps [behat/behat](https://github.com/Behat/Behat) from 3.22.0 to 3.23.0.
- [Release notes](https://github.com/Behat/Behat/releases)
- [Changelog](https://github.com/Behat/Behat/blob/master/CHANGELOG.md)
- [Commits](https://github.com/Behat/Behat/compare/v3.22.0...v3.23.0)

---
updated-dependencies:
- dependency-name: behat/behat
  dependency-version: 3.23.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-19 01:19:00 +00:00
Daniel Calviño Sánchez 03c76d86a6 fix: Do not show password dialog when user can not validate password
The password confirmation dialog is always shown unless the user backend
does not allow password confirmation. A user backend may explicitly
provide that information, but even if it does not that could have been
defined in the authentication token with
"IToken::SCOPE_SKIP_PASSWORD_VALIDATION" (for example, when "user_oidc"
is only used for authentication and user provision is done by another
user backend).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2025-07-18 20:55:02 +02:00
skjnldsv 74d6494290 fix(provisioning_api): catch failed user creation
Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
2025-07-14 10:34:22 +02:00
Josh 6b65031a08 feat(settings): add support for MariaDB 11.8 in setup checks
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-07-10 10:18:50 -04:00
Josh fe9b9753b2 ci: test against MariaDB 11.8 (latest LTS)
Signed-off-by: Josh <josh.t.richards@gmail.com>
2025-07-10 09:49:08 -04:00
Côme Chilliet 7070ba4365 chore(tests): Adapt DefaultShareProviderTest to new constructor parameter
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:25:00 +02:00
Côme Chilliet 12ceeacb0e fix: Use default share folder of the user on share accept
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2025-07-08 13:24:37 +02:00
Robin Appelman 6d0119bf8d fix: handle dav external storage roots with spaces
Signed-off-by: Robin Appelman <robin@icewind.nl>
2025-06-30 18:01:01 +02:00
Josh ef238b5602 fix(db): Stop writing unused dbport to config at install time
Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-11-05 16:40:29 -05:00
972 changed files with 6083 additions and 12264 deletions
+2
View File
@@ -103,3 +103,5 @@ ResponseDefinitions.php @provokateurin @nextcloud/server-backend
# Personal interest
*/Activity/* @nickvergessen @nextcloud/server-backend
*/Notifications/* @nickvergessen @nextcloud/talk-backend
/apps/workflowengine/lib @nickvergessen
+1
View File
@@ -4,6 +4,7 @@ name: "🐛 Bug report: Nextcloud Server"
description: "Submit a report and help us improve Nextcloud Server"
title: "[Bug]: "
labels: ["bug", "0. Needs triage"]
type: "Bug"
body:
- type: markdown
attributes:
@@ -2,6 +2,8 @@
name: 🚀 Feature request
about: Suggest an idea for this project
labels: enhancement, 0. Needs triage
type: "Enhancement"
---
<!--
+7
View File
@@ -0,0 +1,7 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL config"
paths-ignore:
- dist
+2 -2
View File
@@ -58,7 +58,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
@@ -87,7 +87,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+47
View File
@@ -0,0 +1,47 @@
# SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
# SPDX-License-Identifier: AGPL-3.0-or-later
name: "CodeQL Advanced"
on:
push:
branches: [ "master", "stable*" ]
pull_request:
branches: [ "master", "stable*" ]
schedule:
- cron: '28 18 * * 1'
jobs:
analyze:
name: Analyze (${{ matrix.language }})
runs-on: ubuntu-latest
permissions:
# required for all workflows
security-events: write
# required to fetch internal or private CodeQL packs
packages: read
strategy:
fail-fast: false
matrix:
include:
- language: actions
build-mode: none
- language: javascript-typescript
build-mode: none
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
build-mode: ${{ matrix.build-mode }}
config-file: ./.github/codeql-config.yml
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
+41 -3
View File
@@ -136,7 +136,41 @@ jobs:
if: ${{ contains(needs.init.outputs.arg1, 'rebase') }}
run: |
git fetch origin '${{ needs.init.outputs.base_ref }}:${{ needs.init.outputs.base_ref }}'
git rebase 'origin/${{ needs.init.outputs.base_ref }}'
# Start the rebase
git rebase 'origin/${{ needs.init.outputs.base_ref }}' || {
# Handle rebase conflicts in a loop
while [ -d .git/rebase-merge ] || [ -d .git/rebase-apply ]; do
echo "Handling rebase conflict..."
# Remove and checkout /dist and /js folders from the base branch
if [ -d "dist" ]; then
rm -rf dist
git checkout origin/${{ needs.init.outputs.base_ref }} -- dist/ 2>/dev/null || echo "No dist folder in base branch"
fi
if [ -d "js" ]; then
rm -rf js
git checkout origin/${{ needs.init.outputs.base_ref }} -- js/ 2>/dev/null || echo "No js folder in base branch"
fi
# Stage all changes
git add .
# Check if there are any changes after resolving conflicts
if git diff --cached --quiet; then
echo "No changes after conflict resolution, skipping commit"
git rebase --skip
else
echo "Changes found, continuing rebase without editing commit message"
git -c core.editor=true rebase --continue
fi
# Break if rebase is complete
if [ ! -d .git/rebase-merge ] && [ ! -d .git/rebase-apply ]; then
break
fi
done
}
- name: Install dependencies & build
env:
@@ -168,11 +202,15 @@ jobs:
- name: Push normally
if: ${{ !contains(needs.init.outputs.arg1, 'rebase') && !contains(needs.init.outputs.arg1, 'amend') }}
run: git push origin '${{ needs.init.outputs.head_ref }}'
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push origin "$HEAD_REF"
- name: Force push
if: ${{ contains(needs.init.outputs.arg1, 'rebase') || contains(needs.init.outputs.arg1, 'amend') }}
run: git push --force origin '${{ needs.init.outputs.head_ref }}'
env:
HEAD_REF: ${{ needs.init.outputs.head_ref }}
run: git push --force-with-lease origin "$HEAD_REF"
- name: Add reaction on failure
uses: peter-evans/create-or-update-comment@71345be0265236311c031f5c7866368bd1eff043 # v4.0.0
+1 -1
View File
@@ -174,7 +174,7 @@ jobs:
run: ./node_modules/cypress/bin/cypress install
- name: Run ${{ matrix.containers == 'component' && 'component' || 'E2E' }} cypress tests
uses: cypress-io/github-action@6c143abc292aa835d827652c2ea025d098311070 # v6.10.1
uses: cypress-io/github-action@b8ba51a856ba5f4c15cf39007636d4ab04f23e3c # v6.10.2
with:
# We already installed the dependencies in the init job
install: false
+1 -1
View File
@@ -71,7 +71,7 @@ jobs:
if [[ "${{ matrix.ftpd }}" == 'pure-ftpd' ]]; then docker run --name ftp -d --net host -e "PUBLICHOST=localhost" -e FTP_USER_NAME=test -e FTP_USER_PASS=test -e FTP_USER_HOME=/home/test -v /tmp/ftp:/home/test -v /tmp/ftp:/etc/pure-ftpd/passwd stilliard/pure-ftpd; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+2 -2
View File
@@ -70,7 +70,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -158,7 +158,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -67,7 +67,7 @@ jobs:
if [[ '${{ matrix.sftpd }}' == 'openssh' ]]; then docker run -p 2222:22 --name sftp -d -v /tmp/sftp:/home/test atmoz/sftp 'test:test:::data'; fi
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -66,7 +66,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -66,7 +66,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -68,7 +68,7 @@ jobs:
fi
- name: Set up php 8.2
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: 8.2
coverage: none
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -58,7 +58,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -73,7 +73,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -119,7 +119,7 @@ jobs:
ref: ${{ matrix.activity-versions }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -53,7 +53,7 @@ jobs:
persist-credentials: false
- name: Set up php8.1
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: 8.1
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+1 -1
View File
@@ -58,7 +58,7 @@ jobs:
persist-credentials: false
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: ${{ matrix.php-versions }}
coverage: none
+1 -1
View File
@@ -79,7 +79,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -80,7 +80,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -77,7 +77,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -31,7 +31,7 @@ jobs:
persist-credentials: false
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: '8.1'
extensions: ctype, curl, dom, fileinfo, gd, json, libxml, mbstring, openssl, pcntl, pdo, posix, session, simplexml, xml, xmlreader, xmlwriter, zip, zlib
+1 -1
View File
@@ -42,7 +42,7 @@ jobs:
ref: ${{ github.event.pull_request.base.ref }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+1 -1
View File
@@ -45,7 +45,7 @@ jobs:
sudo apt-get install -y ffmpeg imagemagick libmagickcore-6.q16-3-extra
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, imagick, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite, apcu, ldap
+3 -3
View File
@@ -60,13 +60,13 @@ jobs:
fail-fast: false
matrix:
php-versions: ['8.1']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4']
mariadb-versions: ['10.3', '10.6', '10.11', '11.4', '11.8']
include:
- php-versions: '8.3'
mariadb-versions: '10.11'
coverage: ${{ github.event_name != 'pull_request' }}
- php-versions: '8.4'
mariadb-versions: '11.4'
mariadb-versions: '11.8'
name: MariaDB ${{ matrix.mariadb-versions }} (PHP ${{ matrix.php-versions }}) - database tests
@@ -96,7 +96,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -78,7 +78,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -127,7 +127,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -96,7 +96,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -81,7 +81,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
@@ -78,7 +78,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: ${{ matrix.php-versions }}
extensions: bz2, ctype, curl, dom, fileinfo, gd, iconv, intl, json, libxml, mbstring, openssl, pcntl, posix, redis, session, simplexml, xmlreader, xmlwriter, zip, zlib, sqlite, pdo_sqlite
+1 -1
View File
@@ -107,7 +107,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -96,7 +96,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+1 -1
View File
@@ -81,7 +81,7 @@ jobs:
submodules: true
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e # v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 # v2.35.2
with:
php-version: ${{ matrix.php-versions }}
# https://docs.nextcloud.com/server/stable/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation
+5 -5
View File
@@ -34,7 +34,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: '8.1'
extensions: apcu,ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -65,7 +65,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,ftp,gd,imagick,intl,json,ldap,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -83,7 +83,7 @@ jobs:
- name: Upload Security Analysis results to GitHub
if: always()
uses: github/codeql-action/upload-sarif@181d5eefc20863364f96762470ba6f862bdef56b # v3
uses: github/codeql-action/upload-sarif@51f77329afa6477de8c49fc9c7046c15b9a4e79d # v3
with:
sarif_file: results.sarif
@@ -100,7 +100,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
@@ -131,7 +131,7 @@ jobs:
submodules: true
- name: Set up php
uses: shivammathur/setup-php@0f7f1d08e3e32076e51cae65eb0b0c871405b16e #v2.34.1
uses: shivammathur/setup-php@ccf2c627fe61b1b4d924adfcbd19d661a18133a0 #v2.35.2
with:
php-version: '8.1'
extensions: ctype,curl,dom,fileinfo,gd,imagick,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
+2 -2
View File
@@ -19,8 +19,8 @@ OC.L10N.register(
"Customize" : "Personalizar",
"Edit widgets" : "Editar widgets",
"Get more widgets from the App Store" : "Conseguir más widgets desde la tienda de Apps",
"Weather service" : "Servicio metereológico",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Por privacidad, los datos meteorológicos son solicitados por tu servidor Nextcloud en tu nombre de tal forma que el servicio no recibe información personal.",
"Weather service" : "Servicio meteorológico",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para su privacidad, los datos meteorológicos son solicitados por su servidor Nextcloud en su nombre, de tal forma que el servicio no reciba información personal.",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
+2 -2
View File
@@ -17,8 +17,8 @@
"Customize" : "Personalizar",
"Edit widgets" : "Editar widgets",
"Get more widgets from the App Store" : "Conseguir más widgets desde la tienda de Apps",
"Weather service" : "Servicio metereológico",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Por privacidad, los datos meteorológicos son solicitados por tu servidor Nextcloud en tu nombre de tal forma que el servicio no recibe información personal.",
"Weather service" : "Servicio meteorológico",
"For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Para su privacidad, los datos meteorológicos son solicitados por su servidor Nextcloud en su nombre, de tal forma que el servicio no reciba información personal.",
"Weather data from Met.no" : "Datos meteorológicos de Met.no",
"geocoding with Nominatim" : "geocoding con Nominatim",
"elevation data from OpenTopoData" : "datos de elevación de OpenTopoData"
+2
View File
@@ -65,6 +65,7 @@
<command>OCA\DAV\Command\DeleteSubscription</command>
<command>OCA\DAV\Command\ExportCalendar</command>
<command>OCA\DAV\Command\FixCalendarSyncCommand</command>
<command>OCA\DAV\Command\GetAbsenceCommand</command>
<command>OCA\DAV\Command\ListAddressbooks</command>
<command>OCA\DAV\Command\ListCalendarShares</command>
<command>OCA\DAV\Command\ListCalendars</command>
@@ -73,6 +74,7 @@
<command>OCA\DAV\Command\RemoveInvalidShares</command>
<command>OCA\DAV\Command\RetentionCleanupCommand</command>
<command>OCA\DAV\Command\SendEventReminders</command>
<command>OCA\DAV\Command\SetAbsenceCommand</command>
<command>OCA\DAV\Command\SyncBirthdayCalendar</command>
<command>OCA\DAV\Command\SyncSystemAddressBook</command>
</commands>
@@ -60,6 +60,7 @@ return array(
'OCA\\DAV\\CalDAV\\CalendarProvider' => $baseDir . '/../lib/CalDAV/CalendarProvider.php',
'OCA\\DAV\\CalDAV\\CalendarRoot' => $baseDir . '/../lib/CalDAV/CalendarRoot.php',
'OCA\\DAV\\CalDAV\\DefaultCalendarValidator' => $baseDir . '/../lib/CalDAV/DefaultCalendarValidator.php',
'OCA\\DAV\\CalDAV\\EmbeddedCalDavServer' => $baseDir . '/../lib/CalDAV/EmbeddedCalDavServer.php',
'OCA\\DAV\\CalDAV\\EventComparisonService' => $baseDir . '/../lib/CalDAV/EventComparisonService.php',
'OCA\\DAV\\CalDAV\\EventReader' => $baseDir . '/../lib/CalDAV/EventReader.php',
'OCA\\DAV\\CalDAV\\EventReaderRDate' => $baseDir . '/../lib/CalDAV/EventReaderRDate.php',
@@ -164,6 +165,7 @@ return array(
'OCA\\DAV\\Command\\DeleteSubscription' => $baseDir . '/../lib/Command/DeleteSubscription.php',
'OCA\\DAV\\Command\\ExportCalendar' => $baseDir . '/../lib/Command/ExportCalendar.php',
'OCA\\DAV\\Command\\FixCalendarSyncCommand' => $baseDir . '/../lib/Command/FixCalendarSyncCommand.php',
'OCA\\DAV\\Command\\GetAbsenceCommand' => $baseDir . '/../lib/Command/GetAbsenceCommand.php',
'OCA\\DAV\\Command\\ListAddressbooks' => $baseDir . '/../lib/Command/ListAddressbooks.php',
'OCA\\DAV\\Command\\ListCalendarShares' => $baseDir . '/../lib/Command/ListCalendarShares.php',
'OCA\\DAV\\Command\\ListCalendars' => $baseDir . '/../lib/Command/ListCalendars.php',
@@ -172,6 +174,7 @@ return array(
'OCA\\DAV\\Command\\RemoveInvalidShares' => $baseDir . '/../lib/Command/RemoveInvalidShares.php',
'OCA\\DAV\\Command\\RetentionCleanupCommand' => $baseDir . '/../lib/Command/RetentionCleanupCommand.php',
'OCA\\DAV\\Command\\SendEventReminders' => $baseDir . '/../lib/Command/SendEventReminders.php',
'OCA\\DAV\\Command\\SetAbsenceCommand' => $baseDir . '/../lib/Command/SetAbsenceCommand.php',
'OCA\\DAV\\Command\\SyncBirthdayCalendar' => $baseDir . '/../lib/Command/SyncBirthdayCalendar.php',
'OCA\\DAV\\Command\\SyncSystemAddressBook' => $baseDir . '/../lib/Command/SyncSystemAddressBook.php',
'OCA\\DAV\\Comments\\CommentNode' => $baseDir . '/../lib/Comments/CommentNode.php',
@@ -75,6 +75,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\CalDAV\\CalendarProvider' => __DIR__ . '/..' . '/../lib/CalDAV/CalendarProvider.php',
'OCA\\DAV\\CalDAV\\CalendarRoot' => __DIR__ . '/..' . '/../lib/CalDAV/CalendarRoot.php',
'OCA\\DAV\\CalDAV\\DefaultCalendarValidator' => __DIR__ . '/..' . '/../lib/CalDAV/DefaultCalendarValidator.php',
'OCA\\DAV\\CalDAV\\EmbeddedCalDavServer' => __DIR__ . '/..' . '/../lib/CalDAV/EmbeddedCalDavServer.php',
'OCA\\DAV\\CalDAV\\EventComparisonService' => __DIR__ . '/..' . '/../lib/CalDAV/EventComparisonService.php',
'OCA\\DAV\\CalDAV\\EventReader' => __DIR__ . '/..' . '/../lib/CalDAV/EventReader.php',
'OCA\\DAV\\CalDAV\\EventReaderRDate' => __DIR__ . '/..' . '/../lib/CalDAV/EventReaderRDate.php',
@@ -179,6 +180,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Command\\DeleteSubscription' => __DIR__ . '/..' . '/../lib/Command/DeleteSubscription.php',
'OCA\\DAV\\Command\\ExportCalendar' => __DIR__ . '/..' . '/../lib/Command/ExportCalendar.php',
'OCA\\DAV\\Command\\FixCalendarSyncCommand' => __DIR__ . '/..' . '/../lib/Command/FixCalendarSyncCommand.php',
'OCA\\DAV\\Command\\GetAbsenceCommand' => __DIR__ . '/..' . '/../lib/Command/GetAbsenceCommand.php',
'OCA\\DAV\\Command\\ListAddressbooks' => __DIR__ . '/..' . '/../lib/Command/ListAddressbooks.php',
'OCA\\DAV\\Command\\ListCalendarShares' => __DIR__ . '/..' . '/../lib/Command/ListCalendarShares.php',
'OCA\\DAV\\Command\\ListCalendars' => __DIR__ . '/..' . '/../lib/Command/ListCalendars.php',
@@ -187,6 +189,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Command\\RemoveInvalidShares' => __DIR__ . '/..' . '/../lib/Command/RemoveInvalidShares.php',
'OCA\\DAV\\Command\\RetentionCleanupCommand' => __DIR__ . '/..' . '/../lib/Command/RetentionCleanupCommand.php',
'OCA\\DAV\\Command\\SendEventReminders' => __DIR__ . '/..' . '/../lib/Command/SendEventReminders.php',
'OCA\\DAV\\Command\\SetAbsenceCommand' => __DIR__ . '/..' . '/../lib/Command/SetAbsenceCommand.php',
'OCA\\DAV\\Command\\SyncBirthdayCalendar' => __DIR__ . '/..' . '/../lib/Command/SyncBirthdayCalendar.php',
'OCA\\DAV\\Command\\SyncSystemAddressBook' => __DIR__ . '/..' . '/../lib/Command/SyncSystemAddressBook.php',
'OCA\\DAV\\Comments\\CommentNode' => __DIR__ . '/..' . '/../lib/Comments/CommentNode.php',
+29 -29
View File
@@ -73,19 +73,19 @@ OC.L10N.register(
"Where: %s" : "Hvor: %s",
"%1$s via %2$s" : "%1$s via %2$s",
"In the past on %1$s for the entire day" : "Tidligere den %1$s for hele dagen",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Om et minut på%1$s for hele dagen","Om %n minutter den %1$s for hele dagen"],
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Om et minut på %1$s for hele dagen","Om %n minutter den %1$s for hele dagen"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Om en time på %1$s for hele dagen","Om %n timer den %1$s for hele dagen"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["I en dag på% 1 $s for hele dagen","Om %n dage den %1$s for hele dagen"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["I en uge på% 1 $s for hele dagen","Om %n uger den %1$s for hele dagen"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["I en måned på% 1 $s for hele dagen","Om %n måneder den %1$s for hele dagen"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["I et år på% 1 $s for hele dagen","Om %n år den %1$s for hele dagen"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["I en dag på %1$s for hele dagen","Om %n dage den %1$s for hele dagen"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["I en uge på %1$s for hele dagen","Om %n uger den %1$s for hele dagen"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["I en måned på %1$s for hele dagen","Om %n måneder den %1$s for hele dagen"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["I et år på %1$s for hele dagen","Om %n år den %1$s for hele dagen"],
"In the past on %1$s between %2$s - %3$s" : "Tidligere den %1$s mellem %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["I et minut på% 1 $s mellem% 2 $s -% 3 $s","Om %n minutter den %1$s mellem %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["I en time på% 1 $s mellem% 2 $s -% 3 $s","Om %n timer den %1$s mellem %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["I en dag på% 1 $s mellem% 2 $s -% 3 $s","Om %n dage den %1$s mellem %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["I en uge på% 1 $s mellem% 2 $s -% 3 $s","Om %n uger den %1$s mellem %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["I en måned på% 1 $s mellem% 2 $s -% 3 $s","Om %n måneder den %1$s mellem %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["I et år på% 1 $s mellem% 2 $s -% 3 $s","Om %n år den %1$s mellem %2$s - %3$s"],
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["I et minut på %1$s mellem% %2$s - %3$s","Om %n minutter den %1$s mellem %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["I en time på %1$s mellem %2$s - %3$s","Om %n timer den %1$s mellem %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["I en dag på %1$s mellem %2$s - %3$s","Om %n dage den %1$s mellem %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["I en uge på %1$s mellem %2$s - %3$s","Om %n uger den %1$s mellem %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["I en måned på %1$s mellem %2$s - %3$s","Om %n måneder den %1$s mellem %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["I et år på %1$s mellem %2$s - %3$s","Om %n år den %1$s mellem %2$s - %3$s"],
"Could not generate when statement" : "Kunne ikke generere when sætning",
"Every Day for the entire day" : "Hver dag hele dagen",
"Every Day for the entire day until %1$s" : "Hver dag hele dagen indtil %1$s",
@@ -123,26 +123,26 @@ OC.L10N.register(
"On specific dates for the entire day until %1$s" : "På specifikke datoer for hele dagen indtil %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "På specifikke datoer mellem %1$s - %2$s indtil %3$s",
"In the past on %1$s" : "Tidligere den %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["I et minut på% 1 $s","Om %n minutter den %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["I en time på% 1 $s","Om %n timer den %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["I en dag på% 1 $s","Om %n dage den %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["I en uge på% 1 $s","Om %n uger den %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["I en måned på% 1 $s","Om %n måneder den %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["I et år på% 1 $s","Om %n år den %1$s"],
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["I et minut på %1$s","Om %n minutter den %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["I en time på %1$s","Om %n timer den %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["I en dag på %1$s","Om %n dage den %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["I en uge på %1$s","Om %n uger den %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["I en måned på %1$s","Om %n måneder den %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["I et år på %1$s","Om %n år den %1$s"],
"In the past on %1$s then on %2$s" : "Tidligere på %1$s derefter den %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["I et minut på% 1 $s så på% 2 $s","Om %n minutter den %1$s derefter den %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["I en time på% 1 $s så på% 2 $s","Om %n timer den %1$s derefter den %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["I en dag på% 1 $s så på% 2 $s","Om %n dage den %1$s derefter den %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["I en uge på% 1 $s så på% 2 $s","Om %n uger den %1$s derefter den %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["I en måned på% 1 $s så på% 2 $s","Om %n måneder den %1$s derefter den %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["I et år på% 1 $s så på% 2 $s","Om %n år den %1$s derefter den %2$s"],
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["I et minut på %1$s så på %2$s","Om %n minutter den %1$s derefter den %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["I en time på %1$s så på %2$s","Om %n timer den %1$s derefter den %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["I en dag på %1$s så på %2$s","Om %n dage den %1$s derefter den %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["I en uge på %1$s så på %2$s","Om %n uger den %1$s derefter den %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["I en måned på %1$s så på %2$s","Om %n måneder den %1$s derefter den %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["I et år på %1$s så på %2$s","Om %n år den %1$s derefter den %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "Tidligere den %1$s derefter den %2$s og %3$s",
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["I et minut på% 1 $s så på% 2 $s og% 3 $s","Om %n minutter den %1$s derefter den %2$s og %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["I en time på% 1 $s så på% 2 $s og% 3 $s","Om %n timer den %1$s derefter den %2$s og %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["I en dag på% 1 $s så på% 2 $s og% 3 $s","Om %n dage den %1$s derefter den %2$s og %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på% 1 $s så på% 2 $s og% 3 $s","Om %n uger den %1$s derefter den %2$s og %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på% 1 $s så på% 2 $s og% 3 $s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på% 1 $s så på% 2 $s og% 3 $s","Om %n år den %1$s derefter den %2$s og %3$s"],
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["I et minut på %1$s så på %2$s og %3$s","Om %n minutter den %1$s derefter den %2$s og %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["I en time på %1$s så på %2$s og %3$s","Om %n timer den %1$s derefter den %2$s og %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["I en dag på %1$s så på %2$s og %3$s","Om %n dage den %1$s derefter den %2$s og %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på %1$s så på %2$s og %3$s","Om %n uger den %1$s derefter den %2$s og %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på %1$s så på %2$s og %3$s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på %1$s så på %2$s og %3$s","Om %n år den %1$s derefter den %2$s og %3$s"],
"Could not generate next recurrence statement" : "Kunne ikke generere næste gentagelseserklæring",
"Cancelled: %1$s" : "Annullerede: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" er blevet annulleret",
+29 -29
View File
@@ -71,19 +71,19 @@
"Where: %s" : "Hvor: %s",
"%1$s via %2$s" : "%1$s via %2$s",
"In the past on %1$s for the entire day" : "Tidligere den %1$s for hele dagen",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Om et minut på%1$s for hele dagen","Om %n minutter den %1$s for hele dagen"],
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Om et minut på %1$s for hele dagen","Om %n minutter den %1$s for hele dagen"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Om en time på %1$s for hele dagen","Om %n timer den %1$s for hele dagen"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["I en dag på% 1 $s for hele dagen","Om %n dage den %1$s for hele dagen"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["I en uge på% 1 $s for hele dagen","Om %n uger den %1$s for hele dagen"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["I en måned på% 1 $s for hele dagen","Om %n måneder den %1$s for hele dagen"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["I et år på% 1 $s for hele dagen","Om %n år den %1$s for hele dagen"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["I en dag på %1$s for hele dagen","Om %n dage den %1$s for hele dagen"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["I en uge på %1$s for hele dagen","Om %n uger den %1$s for hele dagen"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["I en måned på %1$s for hele dagen","Om %n måneder den %1$s for hele dagen"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["I et år på %1$s for hele dagen","Om %n år den %1$s for hele dagen"],
"In the past on %1$s between %2$s - %3$s" : "Tidligere den %1$s mellem %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["I et minut på% 1 $s mellem% 2 $s -% 3 $s","Om %n minutter den %1$s mellem %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["I en time på% 1 $s mellem% 2 $s -% 3 $s","Om %n timer den %1$s mellem %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["I en dag på% 1 $s mellem% 2 $s -% 3 $s","Om %n dage den %1$s mellem %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["I en uge på% 1 $s mellem% 2 $s -% 3 $s","Om %n uger den %1$s mellem %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["I en måned på% 1 $s mellem% 2 $s -% 3 $s","Om %n måneder den %1$s mellem %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["I et år på% 1 $s mellem% 2 $s -% 3 $s","Om %n år den %1$s mellem %2$s - %3$s"],
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["I et minut på %1$s mellem% %2$s - %3$s","Om %n minutter den %1$s mellem %2$s - %3$s"],
"_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["I en time på %1$s mellem %2$s - %3$s","Om %n timer den %1$s mellem %2$s - %3$s"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["I en dag på %1$s mellem %2$s - %3$s","Om %n dage den %1$s mellem %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["I en uge på %1$s mellem %2$s - %3$s","Om %n uger den %1$s mellem %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["I en måned på %1$s mellem %2$s - %3$s","Om %n måneder den %1$s mellem %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["I et år på %1$s mellem %2$s - %3$s","Om %n år den %1$s mellem %2$s - %3$s"],
"Could not generate when statement" : "Kunne ikke generere when sætning",
"Every Day for the entire day" : "Hver dag hele dagen",
"Every Day for the entire day until %1$s" : "Hver dag hele dagen indtil %1$s",
@@ -121,26 +121,26 @@
"On specific dates for the entire day until %1$s" : "På specifikke datoer for hele dagen indtil %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "På specifikke datoer mellem %1$s - %2$s indtil %3$s",
"In the past on %1$s" : "Tidligere den %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["I et minut på% 1 $s","Om %n minutter den %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["I en time på% 1 $s","Om %n timer den %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["I en dag på% 1 $s","Om %n dage den %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["I en uge på% 1 $s","Om %n uger den %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["I en måned på% 1 $s","Om %n måneder den %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["I et år på% 1 $s","Om %n år den %1$s"],
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["I et minut på %1$s","Om %n minutter den %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["I en time på %1$s","Om %n timer den %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["I en dag på %1$s","Om %n dage den %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["I en uge på %1$s","Om %n uger den %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["I en måned på %1$s","Om %n måneder den %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["I et år på %1$s","Om %n år den %1$s"],
"In the past on %1$s then on %2$s" : "Tidligere på %1$s derefter den %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["I et minut på% 1 $s så på% 2 $s","Om %n minutter den %1$s derefter den %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["I en time på% 1 $s så på% 2 $s","Om %n timer den %1$s derefter den %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["I en dag på% 1 $s så på% 2 $s","Om %n dage den %1$s derefter den %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["I en uge på% 1 $s så på% 2 $s","Om %n uger den %1$s derefter den %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["I en måned på% 1 $s så på% 2 $s","Om %n måneder den %1$s derefter den %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["I et år på% 1 $s så på% 2 $s","Om %n år den %1$s derefter den %2$s"],
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["I et minut på %1$s så på %2$s","Om %n minutter den %1$s derefter den %2$s"],
"_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["I en time på %1$s så på %2$s","Om %n timer den %1$s derefter den %2$s"],
"_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["I en dag på %1$s så på %2$s","Om %n dage den %1$s derefter den %2$s"],
"_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["I en uge på %1$s så på %2$s","Om %n uger den %1$s derefter den %2$s"],
"_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["I en måned på %1$s så på %2$s","Om %n måneder den %1$s derefter den %2$s"],
"_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["I et år på %1$s så på %2$s","Om %n år den %1$s derefter den %2$s"],
"In the past on %1$s then on %2$s and %3$s" : "Tidligere den %1$s derefter den %2$s og %3$s",
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["I et minut på% 1 $s så på% 2 $s og% 3 $s","Om %n minutter den %1$s derefter den %2$s og %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["I en time på% 1 $s så på% 2 $s og% 3 $s","Om %n timer den %1$s derefter den %2$s og %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["I en dag på% 1 $s så på% 2 $s og% 3 $s","Om %n dage den %1$s derefter den %2$s og %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på% 1 $s så på% 2 $s og% 3 $s","Om %n uger den %1$s derefter den %2$s og %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på% 1 $s så på% 2 $s og% 3 $s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på% 1 $s så på% 2 $s og% 3 $s","Om %n år den %1$s derefter den %2$s og %3$s"],
"_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["I et minut på %1$s så på %2$s og %3$s","Om %n minutter den %1$s derefter den %2$s og %3$s"],
"_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["I en time på %1$s så på %2$s og %3$s","Om %n timer den %1$s derefter den %2$s og %3$s"],
"_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["I en dag på %1$s så på %2$s og %3$s","Om %n dage den %1$s derefter den %2$s og %3$s"],
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["I en uge på %1$s så på %2$s og %3$s","Om %n uger den %1$s derefter den %2$s og %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["I en måned på %1$s så på %2$s og %3$s","Om %n måneder den %1$s derefter den %2$s og %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["I et år på %1$s så på %2$s og %3$s","Om %n år den %1$s derefter den %2$s og %3$s"],
"Could not generate next recurrence statement" : "Kunne ikke generere næste gentagelseserklæring",
"Cancelled: %1$s" : "Annullerede: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" er blevet annulleret",
+91 -67
View File
@@ -10,8 +10,8 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "Usted eliminó el calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
"You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
"{actor} restored calendar {calendar}" : "{actor} ha restablecido el calendario {calendar}",
"You restored calendar {calendar}" : "Has restablecido el calendario {calendar}",
"{actor} restored calendar {calendar}" : "{actor} ha restaurado el calendario {calendar}",
"You restored calendar {calendar}" : "Ud. ha restaurado el calendario {calendar}",
"You shared calendar {calendar} as public link" : "Has compartido el calendario {calendar} con un enlace público",
"You removed public link for calendar {calendar}" : "Has eliminado el enlace público al calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} compartió el calendario {calendar} con usted",
@@ -33,22 +33,22 @@ OC.L10N.register(
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Has movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restablecido el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Has reestablecido el evento {event} del calendario {calendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Ud. ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restaurado el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Ud. ha restaurado el evento {event} del calendario {calendar}",
"Busy" : "Ocupado",
"{actor} created to-do {todo} in list {calendar}" : "{actor} ha creado la tarea {todo} en la lista {calendar}",
"You created to-do {todo} in list {calendar}" : "Has creado la tarea {todo} en la lista {calendar}",
"You created to-do {todo} in list {calendar}" : "Ud. ha creado la tarea {todo} en la lista {calendar}",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha eliminado la tarea{todo} de la lista {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Has eliminado la tarea {todo} de la lista {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Ud. ha eliminado la tarea {todo} de la lista {calendar}",
"{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualizado la tarea {todo} en la lista {calendar}",
"You updated to-do {todo} in list {calendar}" : "Has actualizado la tarea {todo} en la lista {calendar}",
"You updated to-do {todo} in list {calendar}" : "Ud. ha actualizado la tarea {todo} en la lista {calendar}",
"{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resuelto la tarea {todo} de la lista {calendar}",
"You solved to-do {todo} in list {calendar}" : "Has resuelto la tarea {todo} de la lista {calendar}",
"You solved to-do {todo} in list {calendar}" : "Ud. ha resuelto la tarea {todo} de la lista {calendar}",
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} ha reabierto la tarea {todo} en la lista {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Has reabierto la tarea {todo} en la lista {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Ud. ha reabierto la tarea {todo} en la lista {calendar}",
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha movido la tarea {todo} de la lista {sourceCalendar} a la lista{targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Has movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Ud. ha movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendario, contactos y tareas",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado.",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
@@ -72,7 +72,7 @@ OC.L10N.register(
"Description: %s" : "Descripción: %s",
"Where: %s" : "Lugar: %s",
"%1$s via %2$s" : "%1$s vía %2$s",
"In the past on %1$s for the entire day" : "En el pasado el %1$sdurante todo el día",
"In the past on %1$s for the entire day" : "En el pasado el %1$s durante todo el día",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["En un minuto el %1$s durante todo el día","En %n minutos el %1$s durante todo el día","En %n minutos el %1$s durante todo el día"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["En una hora el %1$s durante todo el día","En %n horas el %1$s durante todo el día","En %n horas el %1$s durante todo el día"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["En un día el %1$s durante todo el día","En %n días el %1$s durante todo el día","En %n días el %1$s durante todo el día"],
@@ -86,42 +86,42 @@ OC.L10N.register(
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["En una semana el %1$s entre %2$s - %3$s","En %n semanas el %1$s entre %2$s - %3$s","En %n semanas el %1$s entre %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["En un mes el %1$s entre %2$s - %3$s","En %n meses el l%1$s entre %2$s - %3$s ","En %n meses el %1$s entre %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["En un año el %1$s entre %2$s - %3$s","En %n años el %1$s entre %2$s - %3$s","En %n años el %1$s entre %2$s - %3$s"],
"Could not generate when statement" : "No se ha podido general la declaración de cuándo",
"Every Day for the entire day" : "Todos los días durante todo el día",
"Every Day for the entire day until %1$s" : "Cada day todo el día hasta el %1$s",
"Could not generate when statement" : "No se pudo generar la declaración de cuándo",
"Every Day for the entire day" : "Todos los días, durante todo el día",
"Every Day for the entire day until %1$s" : "Cada día, todo el día hasta el %1$s",
"Every Day between %1$s - %2$s" : "Todos los días entre %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Todos los días entre %1$s - %2$s hasta %3$s",
"Every %1$d Days for the entire day" : "Cada %1$d días todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días todo el día hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días todo el día hasta el %2$s",
"Every %1$d Days for the entire day" : "Cada %1$d días, durante todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días, durante todo el día, hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días, entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días, entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia del evento",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s, durante todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días, durante todo el día, hasta el %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Cada semana el %1$s entre %2$s y %3$s",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Cada semana el %1$s entre %2$s y %3$s hasta el %4$s",
"Every %1$d Weeks on %2$s for the entire day" : "Cada %1$d semanas el %2$s todo el día",
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Cada %1$d semanas el %2$s durante todo el día hasta %3$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Cada %1$d semanas el %2$s entre %3$s - %4$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Cada %1$d semanas el %2$s entre %3$s - %4$s hasta %5$s",
"Every Month on the %1$s for the entire day" : "Cada mes el día %1$s durante todo el día",
"Every Month on the %1$s for the entire day" : "Cada mes el día %1$s, durante todo el día",
"Every Month on the %1$s for the entire day until %2$s" : "Cada mes el día %1$s durante todo el día hasta %2$s",
"Every Month on the %1$s between %2$s - %3$s" : "Cada mes el día %1$s entre %2$s - %3$s",
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Cada mes el día %1$s entre %2$s - %3$s hasta %4$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d meses el día %2$s durante todo el día",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d meses el día %2$s durante todo el día hasta %3$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d meses el día %2$s, durante todo el día",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d meses el día %2$s, durante todo el día hasta %3$s",
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Cada %1$d meses el día %2$s entre %3$s - %4$s",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Cada %1$d meses el día %2$s entre %3$s - %4$s hasta %5$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada año en %1$s el día %2$s durante todo el día",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada año en %1$s el día %2$s durante todo el día hasta %3$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada año en %1$s el día %2$s, durante todo el día",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada año en %1$s el día %2$s, durante todo el día, hasta %3$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Cada año en %1$s el día %2$s entre %3$s - %4$s.",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Cada año en %1$s el día %2$s entre %3$s - %4$s hasta %5$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d años en %2$s el día %3$s durante todo el día",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d años en %2$s el día %3$s durante todo el día hasta %4$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d años en %2$s el día %3$s, durante todo el día",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d años en %2$s el día %3$s, durante todo el día, hasta %4$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Cada %1$d años en %2$s el día %3$s entre %4$s - %5$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Cada %1$d años en %2$s el día %3$s entre %4$s - %5$s hasta %6$s",
"On specific dates for the entire day until %1$s" : "En fechas concretas durante todo el día hasta %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En fechas concretas entre %1$s - %2$s hasta %3$s",
"On specific dates for the entire day until %1$s" : "En fechas específicas, durante todo el día, hasta %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En fechas específicas entre %1$s - %2$s hasta %3$s",
"In the past on %1$s" : "En el pasado el %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["En un minuto el %1$s","En %n minutos el %1$s","En %n minutos el %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["En una hora el %1$s","En %n horas el %1$s","En %n horas el %1$s"],
@@ -143,7 +143,7 @@ OC.L10N.register(
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["En una semana el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["En un mes el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["En un año el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s"],
"Could not generate next recurrence statement" : "No se ha podido generar la descripción de la siguiente repetición",
"Could not generate next recurrence statement" : "No se ha podido generar la declaración de la siguiente recurrencia",
"Cancelled: %1$s" : "Cancelado: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" ha sido cancelada",
"Re: %1$s" : "Re: %1$s",
@@ -185,49 +185,51 @@ OC.L10N.register(
"October" : "Octubre",
"November" : "Noviembre",
"December" : "Diciembre",
"First" : "Primera",
"First" : "Primero",
"Second" : "Segundo",
"Third" : "Tercero",
"Fourth" : "Cuarto",
"Last" : "Última",
"Fifth" : "Quinto",
"Last" : "Último",
"Second Last" : "Penúltima",
"Third Last" : "Antepenúltima",
"Fourth Last" : "Cuarta última",
"Fourth Last" : "Ante antepenúltimo",
"Fifth Last" : "Quinto último",
"Contacts" : "Contactos",
"{actor} created address book {addressbook}" : "{actor} ha creado la libreta de direcciones {addressbook}",
"You created address book {addressbook}" : "Has creado la libreta de direcciones {addressbook}",
"You created address book {addressbook}" : "Ud. ha creado la libreta de direcciones {addressbook}",
"{actor} deleted address book {addressbook}" : "{actor} ha eliminado la libreta de direcciones {addressbook}",
"You deleted address book {addressbook}" : "Has eliminado la libreta de direcciones {addressbook}",
"You deleted address book {addressbook}" : "Ud. ha eliminado la libreta de direcciones {addressbook}",
"{actor} updated address book {addressbook}" : "{actor} ha actualizado la libreta de direcciones {addressbook}",
"You updated address book {addressbook}" : "Has actualizado la libreta de direcciones {addressbook}",
"You updated address book {addressbook}" : "Ud. ha actualizado la libreta de direcciones {addressbook}",
"{actor} shared address book {addressbook} with you" : "{actor} ha compartido la libreta de direcciones {addressbook} contigo",
"You shared address book {addressbook} with {user}" : "Has compartido la libreta de direcciones {addressbook} con {user}",
"You shared address book {addressbook} with {user}" : "Ud. ha compartido la libreta de direcciones {addressbook} con {user}",
"{actor} shared address book {addressbook} with {user}" : "{actor} ha compartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from you" : "{actor} ha descompartido la libreta de direcciones {addressbook} contigo",
"You unshared address book {addressbook} from {user}" : "Has descompartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} ha descompartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} ha descompartido la libreta de direcciones {addressbook} con ellos mismos",
"You shared address book {addressbook} with group {group}" : "Has compartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from you" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con Ud.",
"You unshared address book {addressbook} from {user}" : "Ud. ha dejado de compartir la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} dejó de compartir su propia libreta de direcciones {addressbook}",
"You shared address book {addressbook} with group {group}" : "Ud. ha compartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} shared address book {addressbook} with group {group}" : "{actor} ha compartido la libreta de direcciones {addressbook} con el grupo {group}",
"You unshared address book {addressbook} from group {group}" : "Has descompartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} ha descompartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} ha creado el contacto {card} en la libreta de direcciones {addressbook}",
"You created contact {card} in address book {addressbook}" : "Has creado un contacto {card} en la libreta de direcciones {addressbook}",
"You unshared address book {addressbook} from group {group}" : "Ud. ha dejado de compartir la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} ha creado el contacto {card} en la libreta de direcciones {addressbook}",
"You created contact {card} in address book {addressbook}" : "Ud. ha creado un contacto {card} en la libreta de direcciones {addressbook}",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} ha eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Has eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Ud. ha eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"{actor} updated contact {card} in address book {addressbook}" : "{actor} ha actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Has actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Se ha modificado un <strong>contacto</strong> o una <strong>libreta de direcciones</strong> ",
"You updated contact {card} in address book {addressbook}" : "Ud. ha actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Se ha modificado un <strong>contacto</strong> o una <strong>libreta de direcciones</strong>",
"Accounts" : "Cuentas",
"System address book which holds all accounts" : "Libretas de direcciones del sistema que contienen todas las cuentas",
"System address book which holds all accounts" : "Libreta de direcciones del sistema que contiene todas las cuentas",
"File is not updatable: %1$s" : "El archivo no se puede actualizar: %1$s",
"Failed to get storage for file" : "Error al obtener almacenamiento para el archivo",
"Could not write to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema.",
"Failed to get storage for file" : "Error al obtener datos de almacenamiento para el archivo",
"Could not write to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema",
"Could not write file contents" : "No se han podido escribir los contenidos del archivo",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error al copiar el archivo al destino (copiado: %1$s, tamaño esperado: %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." : "Se esperaba un tamaño de archivo de %1$s pero se leyó (desde el cliente Nextcloud) y se escribió (en el almacenamiento Nextcloud) %2$s. Podría ser un problema de red en el lado del envío o un problema de escritura en el almacenamiento en el lado del servidor.",
"Could not rename part file to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema.",
"Could not rename part file to final file, canceled by hook" : "No se pudo renombrar del archivo parcial como el archivo final, cancelado por el sistema.",
"Could not rename part file to final file" : "No se ha podido renombrar el archivo parcial como el archivo final",
"Failed to check file size: %1$s" : "Fallo al comprobar el tamaño del archivo: %1$s",
"Could not open file: %1$s, file does seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo existe",
@@ -248,29 +250,34 @@ OC.L10N.register(
"Completed on %s" : "Completado el %s",
"Due on %s by %s" : "Finaliza el %s por %s",
"Due on %s" : "Finaliza el %s",
"Welcome to Nextcloud Calendar!\n\nThis is a sample event - explore the flexibility of planning with Nextcloud Calendar by making any edits you want!\n\nWith Nextcloud Calendar, you can:\n- Create, edit, and manage events effortlessly.\n- Create multiple calendars and share them with teammates, friends, or family.\n- Check availability and display your busy times to others.\n- Seamlessly integrate with apps and devices via CalDAV.\n- Customize your experience: schedule recurring events, adjust notifications and other settings." : "¡Bienvenido a Nextcloud Calendar!\n\nEste es un evento de ejemplo - ¡explore la flexibilidad de planear con Nextcloud Calendar editando cuantas veces quiera!\n\nCon Nextcloud Calendar, podrá:\n- Crear, editar, y administrar eventos fácilmente.\n- Crear múltiples calendarios y compartirlos con su equipo de trabajo, amigos, o su familia.\n- Verificar la disponibilidad y mostrar sus tiempos de ocupado a otros.\n- Se integra de manera transparente con otras apps y dispositivos via CalDAV.\n- Personalice su experiencia: Programe eventos recurrentes, ajuste las notificaciones, así como otros ajustes.",
"Example event - open me!" : "Evento de ejemplo - ¡ábralo!",
"System Address Book" : "Libreta de Direcciones del Sistema",
"The system address book contains contact information for all users in your instance." : "La libreta de direcciones del sistema contiene la información de contacto de todos los usuarios de su instancia.",
"Enable System Address Book" : "Habilitar la Libreta de Direcciones del Sistema",
"DAV system address book" : "Libreta de direcciónes DAV del sistema",
"No outstanding DAV system address book sync." : "No hay una sincronización pendiente en la libreta de direcciones DAV del sistema.",
"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\"." : "La sincronización DAV de la libreta de direcciones del sistema no se ha ejecutado ya que su instancia tiene más de 1000 usuarios o por que ha ocurrido un error. Por favor, ejecútela manualmente llamando al comando: \"occ dav:sync-system-addressbook\".",
"WebDAV endpoint" : "Endpoint WebDAV",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "No se pudo verificar si su servidor web está adecuadamente configurado para permitir la sincronización de archivos a través de WebDAV. Por favor, verifique manualmente.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Su servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Su servidor web está adecuadamente configurado para permitir la sincronización de archivos a través de WebDAV.",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Migrated calendar (%1$s)" : "Se migró el calendario (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Ausencia guardada",
"Failed to save your absence settings" : "Error al guardar tus ajustes de ausencia",
"Failed to save your absence settings" : "Error al guardar sus ajustes de ausencia",
"Absence cleared" : "Ausencia limpiada",
"Failed to clear your absence settings" : "Error al borrar tus ajustes de ausencia",
"Failed to clear your absence settings" : "Error al borrar sus ajustes de ausencia",
"First day" : "Primer día",
"Last day (inclusive)" : "Último día (incluido)",
"Out of office replacement (optional)" : "Sustituto durante vacaciones/ausencia (opcional)",
"Name of the replacement" : "Nombre del sustituto",
"No results." : "Sin resultados.",
"Start typing." : "Empieza a escribir.",
"Start typing." : "Empiece a escribir.",
"Short absence status" : "Estado de ausencia corta",
"Long absence Message" : "Mensaje en ausencia larga",
"Long absence Message" : "Mensaje de ausencia larga",
"Save" : "Guardar",
"Disable absence" : "Deshabilitar ausencia",
"Failed to load availability" : "No se ha podido cargar la disponibilidad",
@@ -278,21 +285,36 @@ OC.L10N.register(
"Failed to save availability" : "No se ha podido guardar la disponibilidad",
"Time zone:" : "Zona horaria:",
"to" : "para",
"Delete slot" : "Eliminar espacio",
"No working hours set" : "No se han establecido horas de funcionamiento",
"Add slot" : "Añadir espacio",
"Delete slot" : "Eliminar franja de tiempo",
"No working hours set" : "No se han establecido horas laborales",
"Add slot" : "Añadir franja horaria",
"Weekdays" : "Días de semana",
"Pick a start time for {dayName}" : "Elija una hora de inicio para {dayName}",
"Pick a end time for {dayName}" : "Elija una hora fin para {dayName}",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" cuando no esté disponible para silenciar todas las notificaciones.",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" fuera de las horas de disponibilidad para silenciar todas las notificaciones.",
"Cancel" : "Cancelar",
"Import" : "Importar",
"Error while saving settings" : "Error al guardar los ajustes",
"Reset to default" : "Reestablecer a predeterminado",
"Contact reset successfully" : "El contacto fue restablecido exitosamente",
"Error while resetting contact" : "Error al restablecer el contacto",
"Contact imported successfully" : "El contacto se importó exitosamente",
"Error while importing contact" : "Error al importar el contacto",
"Import contact" : "Importar contacto",
"Reset to default" : "Restablecer a predeterminado",
"Import contacts" : "Importar contactos",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importar un nuevo archivo .vcf eliminará el contacto predeterminado existente y lo reemplazará con el nuevo. ¿Desea continuar?",
"Failed to save example event creation setting" : "Fallo al guardar el ajuste de creación de evento de ejemplo",
"Failed to upload the example event" : "Fallo al cargar el evento de ejemplo",
"Custom example event was saved successfully" : "El evento de ejemplo personalizado se guardó exitosamente",
"Failed to delete the custom example event" : "Fallo al guardar el evento de ejemplo personalizado",
"Custom example event was deleted successfully" : "El evento de ejemplo personalizado se eliminó exitosamente",
"Import calendar event" : "Importar evento del calendario",
"Uploading a new event will overwrite the existing one." : "Cargar un evento nuevo sobrescribirá el existente. ",
"Upload event" : "Cargar evento",
"Availability" : "Disponibilidad",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configura sus horas laborales, otras personas verán cuando está fuera de la oficina cuando agenden una reunión.",
"Absence" : "Ausencia",
"Configure your next absence period." : "Configura el siguiente periodo en que estarás ausente",
"Configure your next absence period." : "Configure el siguiente periodo en que estará ausente",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instale también la {calendarappstoreopen}app de Calendario{linkclose} o {calendardocopen}conecte su escritorio y móvil para sincronizar ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Por favor, asegúrese de configurar correctamente {emailopen}el servidor web{linkclose}",
"Calendar server" : "Servidor de calendario",
@@ -305,6 +327,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Enviar recordatorio también a los usuarios con los que se comparte el calendario",
"Reminders are always sent to organizers and attendees." : "Los recordatorios siempre se envían a los organizadores y asistentes.",
"Enable notifications for events via push" : "Activar notificaciones push para eventos",
"Example content" : "Contenido de ejemplo",
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "El contenido de ejemplo sirve para mostrar las características de Nextcloud. Se proporciona un contenido predeterminado con Nextcloud, y puede ser reemplazado por un contenido personalizado.",
"There was an error updating your attendance status." : "Ha habido un error al actualizar tu estado de asistencia.",
"Please contact the organizer directly." : "Por favor, contacta directamente con el organizador.",
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
+91 -67
View File
@@ -8,8 +8,8 @@
"You deleted calendar {calendar}" : "Usted eliminó el calendario {calendar}",
"{actor} updated calendar {calendar}" : "{actor} actualizó el calendario {calendar}",
"You updated calendar {calendar}" : "Usted actualizó el calendario {calendar}",
"{actor} restored calendar {calendar}" : "{actor} ha restablecido el calendario {calendar}",
"You restored calendar {calendar}" : "Has restablecido el calendario {calendar}",
"{actor} restored calendar {calendar}" : "{actor} ha restaurado el calendario {calendar}",
"You restored calendar {calendar}" : "Ud. ha restaurado el calendario {calendar}",
"You shared calendar {calendar} as public link" : "Has compartido el calendario {calendar} con un enlace público",
"You removed public link for calendar {calendar}" : "Has eliminado el enlace público al calendario {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} compartió el calendario {calendar} con usted",
@@ -31,22 +31,22 @@
"{actor} updated event {event} in calendar {calendar}" : "{actor} actualizó el evento {event} en el calendario {calendar}",
"You updated event {event} in calendar {calendar}" : "Usted actualizó el evento {event} en el calendario {calendar}",
"{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Has movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restablecido el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Has reestablecido el evento {event} del calendario {calendar}",
"You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Ud. ha movido el evento {event} del calendario {sourceCalendar} al calendario {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} ha restaurado el evento {event} del calendario {calendar}",
"You restored event {event} of calendar {calendar}" : "Ud. ha restaurado el evento {event} del calendario {calendar}",
"Busy" : "Ocupado",
"{actor} created to-do {todo} in list {calendar}" : "{actor} ha creado la tarea {todo} en la lista {calendar}",
"You created to-do {todo} in list {calendar}" : "Has creado la tarea {todo} en la lista {calendar}",
"You created to-do {todo} in list {calendar}" : "Ud. ha creado la tarea {todo} en la lista {calendar}",
"{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha eliminado la tarea{todo} de la lista {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Has eliminado la tarea {todo} de la lista {calendar}",
"You deleted to-do {todo} from list {calendar}" : "Ud. ha eliminado la tarea {todo} de la lista {calendar}",
"{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualizado la tarea {todo} en la lista {calendar}",
"You updated to-do {todo} in list {calendar}" : "Has actualizado la tarea {todo} en la lista {calendar}",
"You updated to-do {todo} in list {calendar}" : "Ud. ha actualizado la tarea {todo} en la lista {calendar}",
"{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resuelto la tarea {todo} de la lista {calendar}",
"You solved to-do {todo} in list {calendar}" : "Has resuelto la tarea {todo} de la lista {calendar}",
"You solved to-do {todo} in list {calendar}" : "Ud. ha resuelto la tarea {todo} de la lista {calendar}",
"{actor} reopened to-do {todo} in list {calendar}" : "{actor} ha reabierto la tarea {todo} en la lista {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Has reabierto la tarea {todo} en la lista {calendar}",
"You reopened to-do {todo} in list {calendar}" : "Ud. ha reabierto la tarea {todo} en la lista {calendar}",
"{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha movido la tarea {todo} de la lista {sourceCalendar} a la lista{targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Has movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Ud. ha movido la tarea {todo} de la lista {sourceCalendar} a la lista {targetCalendar}",
"Calendar, contacts and tasks" : "Calendario, contactos y tareas",
"A <strong>calendar</strong> was modified" : "Un <strong>calendario</strong> fue modificado.",
"A calendar <strong>event</strong> was modified" : "Un <strong>evento</strong> del calendario fue modificado.",
@@ -70,7 +70,7 @@
"Description: %s" : "Descripción: %s",
"Where: %s" : "Lugar: %s",
"%1$s via %2$s" : "%1$s vía %2$s",
"In the past on %1$s for the entire day" : "En el pasado el %1$sdurante todo el día",
"In the past on %1$s for the entire day" : "En el pasado el %1$s durante todo el día",
"_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["En un minuto el %1$s durante todo el día","En %n minutos el %1$s durante todo el día","En %n minutos el %1$s durante todo el día"],
"_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["En una hora el %1$s durante todo el día","En %n horas el %1$s durante todo el día","En %n horas el %1$s durante todo el día"],
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["En un día el %1$s durante todo el día","En %n días el %1$s durante todo el día","En %n días el %1$s durante todo el día"],
@@ -84,42 +84,42 @@
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["En una semana el %1$s entre %2$s - %3$s","En %n semanas el %1$s entre %2$s - %3$s","En %n semanas el %1$s entre %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["En un mes el %1$s entre %2$s - %3$s","En %n meses el l%1$s entre %2$s - %3$s ","En %n meses el %1$s entre %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["En un año el %1$s entre %2$s - %3$s","En %n años el %1$s entre %2$s - %3$s","En %n años el %1$s entre %2$s - %3$s"],
"Could not generate when statement" : "No se ha podido general la declaración de cuándo",
"Every Day for the entire day" : "Todos los días durante todo el día",
"Every Day for the entire day until %1$s" : "Cada day todo el día hasta el %1$s",
"Could not generate when statement" : "No se pudo generar la declaración de cuándo",
"Every Day for the entire day" : "Todos los días, durante todo el día",
"Every Day for the entire day until %1$s" : "Cada día, todo el día hasta el %1$s",
"Every Day between %1$s - %2$s" : "Todos los días entre %1$s - %2$s",
"Every Day between %1$s - %2$s until %3$s" : "Todos los días entre %1$s - %2$s hasta %3$s",
"Every %1$d Days for the entire day" : "Cada %1$d días todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días todo el día hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días todo el día hasta el %2$s",
"Every %1$d Days for the entire day" : "Cada %1$d días, durante todo el día",
"Every %1$d Days for the entire day until %2$s" : "Cada %1$d días, durante todo el día, hasta el %2$s",
"Every %1$d Days between %2$s - %3$s" : "Cada %1$d días, entre las %2$s y %3$s",
"Every %1$d Days between %2$s - %3$s until %4$s" : "Cada %1$d días, entre las %2$s y %3$s hasta el %4$s",
"Could not generate event recurrence statement" : "No se ha podido generar la declaración de recurrencia del evento",
"Every Week on %1$s for the entire day" : "Cada semana el %1$s, durante todo el día",
"Every Week on %1$s for the entire day until %2$s" : "Cada %1$s días, durante todo el día, hasta el %2$s",
"Every Week on %1$s between %2$s - %3$s" : "Cada semana el %1$s entre %2$s y %3$s",
"Every Week on %1$s between %2$s - %3$s until %4$s" : "Cada semana el %1$s entre %2$s y %3$s hasta el %4$s",
"Every %1$d Weeks on %2$s for the entire day" : "Cada %1$d semanas el %2$s todo el día",
"Every %1$d Weeks on %2$s for the entire day until %3$s" : "Cada %1$d semanas el %2$s durante todo el día hasta %3$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s" : "Cada %1$d semanas el %2$s entre %3$s - %4$s",
"Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Cada %1$d semanas el %2$s entre %3$s - %4$s hasta %5$s",
"Every Month on the %1$s for the entire day" : "Cada mes el día %1$s durante todo el día",
"Every Month on the %1$s for the entire day" : "Cada mes el día %1$s, durante todo el día",
"Every Month on the %1$s for the entire day until %2$s" : "Cada mes el día %1$s durante todo el día hasta %2$s",
"Every Month on the %1$s between %2$s - %3$s" : "Cada mes el día %1$s entre %2$s - %3$s",
"Every Month on the %1$s between %2$s - %3$s until %4$s" : "Cada mes el día %1$s entre %2$s - %3$s hasta %4$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d meses el día %2$s durante todo el día",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d meses el día %2$s durante todo el día hasta %3$s",
"Every %1$d Months on the %2$s for the entire day" : "Cada %1$d meses el día %2$s, durante todo el día",
"Every %1$d Months on the %2$s for the entire day until %3$s" : "Cada %1$d meses el día %2$s, durante todo el día hasta %3$s",
"Every %1$d Months on the %2$s between %3$s - %4$s" : "Cada %1$d meses el día %2$s entre %3$s - %4$s",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Cada %1$d meses el día %2$s entre %3$s - %4$s hasta %5$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada año en %1$s el día %2$s durante todo el día",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada año en %1$s el día %2$s durante todo el día hasta %3$s",
"Every Year in %1$s on the %2$s for the entire day" : "Cada año en %1$s el día %2$s, durante todo el día",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Cada año en %1$s el día %2$s, durante todo el día, hasta %3$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Cada año en %1$s el día %2$s entre %3$s - %4$s.",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Cada año en %1$s el día %2$s entre %3$s - %4$s hasta %5$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d años en %2$s el día %3$s durante todo el día",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d años en %2$s el día %3$s durante todo el día hasta %4$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Cada %1$d años en %2$s el día %3$s, durante todo el día",
"Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Cada %1$d años en %2$s el día %3$s, durante todo el día, hasta %4$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Cada %1$d años en %2$s el día %3$s entre %4$s - %5$s",
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Cada %1$d años en %2$s el día %3$s entre %4$s - %5$s hasta %6$s",
"On specific dates for the entire day until %1$s" : "En fechas concretas durante todo el día hasta %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En fechas concretas entre %1$s - %2$s hasta %3$s",
"On specific dates for the entire day until %1$s" : "En fechas específicas, durante todo el día, hasta %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "En fechas específicas entre %1$s - %2$s hasta %3$s",
"In the past on %1$s" : "En el pasado el %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["En un minuto el %1$s","En %n minutos el %1$s","En %n minutos el %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["En una hora el %1$s","En %n horas el %1$s","En %n horas el %1$s"],
@@ -141,7 +141,7 @@
"_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["En una semana el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s","En %n semanas el %1$s y luego el %2$s y %3$s"],
"_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["En un mes el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s","En %n meses el %1$s y luego el %2$s y %3$s"],
"_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["En un año el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s","En %n años el %1$s y luego el %2$s y %3$s"],
"Could not generate next recurrence statement" : "No se ha podido generar la descripción de la siguiente repetición",
"Could not generate next recurrence statement" : "No se ha podido generar la declaración de la siguiente recurrencia",
"Cancelled: %1$s" : "Cancelado: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" ha sido cancelada",
"Re: %1$s" : "Re: %1$s",
@@ -183,49 +183,51 @@
"October" : "Octubre",
"November" : "Noviembre",
"December" : "Diciembre",
"First" : "Primera",
"First" : "Primero",
"Second" : "Segundo",
"Third" : "Tercero",
"Fourth" : "Cuarto",
"Last" : "Última",
"Fifth" : "Quinto",
"Last" : "Último",
"Second Last" : "Penúltima",
"Third Last" : "Antepenúltima",
"Fourth Last" : "Cuarta última",
"Fourth Last" : "Ante antepenúltimo",
"Fifth Last" : "Quinto último",
"Contacts" : "Contactos",
"{actor} created address book {addressbook}" : "{actor} ha creado la libreta de direcciones {addressbook}",
"You created address book {addressbook}" : "Has creado la libreta de direcciones {addressbook}",
"You created address book {addressbook}" : "Ud. ha creado la libreta de direcciones {addressbook}",
"{actor} deleted address book {addressbook}" : "{actor} ha eliminado la libreta de direcciones {addressbook}",
"You deleted address book {addressbook}" : "Has eliminado la libreta de direcciones {addressbook}",
"You deleted address book {addressbook}" : "Ud. ha eliminado la libreta de direcciones {addressbook}",
"{actor} updated address book {addressbook}" : "{actor} ha actualizado la libreta de direcciones {addressbook}",
"You updated address book {addressbook}" : "Has actualizado la libreta de direcciones {addressbook}",
"You updated address book {addressbook}" : "Ud. ha actualizado la libreta de direcciones {addressbook}",
"{actor} shared address book {addressbook} with you" : "{actor} ha compartido la libreta de direcciones {addressbook} contigo",
"You shared address book {addressbook} with {user}" : "Has compartido la libreta de direcciones {addressbook} con {user}",
"You shared address book {addressbook} with {user}" : "Ud. ha compartido la libreta de direcciones {addressbook} con {user}",
"{actor} shared address book {addressbook} with {user}" : "{actor} ha compartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from you" : "{actor} ha descompartido la libreta de direcciones {addressbook} contigo",
"You unshared address book {addressbook} from {user}" : "Has descompartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} ha descompartido la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} ha descompartido la libreta de direcciones {addressbook} con ellos mismos",
"You shared address book {addressbook} with group {group}" : "Has compartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from you" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con Ud.",
"You unshared address book {addressbook} from {user}" : "Ud. ha dejado de compartir la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} dejó de compartir su propia libreta de direcciones {addressbook}",
"You shared address book {addressbook} with group {group}" : "Ud. ha compartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} shared address book {addressbook} with group {group}" : "{actor} ha compartido la libreta de direcciones {addressbook} con el grupo {group}",
"You unshared address book {addressbook} from group {group}" : "Has descompartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} ha descompartido la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} ha creado el contacto {card} en la libreta de direcciones {addressbook}",
"You created contact {card} in address book {addressbook}" : "Has creado un contacto {card} en la libreta de direcciones {addressbook}",
"You unshared address book {addressbook} from group {group}" : "Ud. ha dejado de compartir la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} unshared address book {addressbook} from group {group}" : "{actor} ha dejado de compartir la libreta de direcciones {addressbook} con el grupo {group}",
"{actor} created contact {card} in address book {addressbook}" : "{actor} ha creado el contacto {card} en la libreta de direcciones {addressbook}",
"You created contact {card} in address book {addressbook}" : "Ud. ha creado un contacto {card} en la libreta de direcciones {addressbook}",
"{actor} deleted contact {card} from address book {addressbook}" : "{actor} ha eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Has eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"You deleted contact {card} from address book {addressbook}" : "Ud. ha eliminado el contacto {card} de la libreta de direcciones {addressbook}",
"{actor} updated contact {card} in address book {addressbook}" : "{actor} ha actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Has actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Se ha modificado un <strong>contacto</strong> o una <strong>libreta de direcciones</strong> ",
"You updated contact {card} in address book {addressbook}" : "Ud. ha actualizado el contacto {card} en la libreta de direcciones {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "Se ha modificado un <strong>contacto</strong> o una <strong>libreta de direcciones</strong>",
"Accounts" : "Cuentas",
"System address book which holds all accounts" : "Libretas de direcciones del sistema que contienen todas las cuentas",
"System address book which holds all accounts" : "Libreta de direcciones del sistema que contiene todas las cuentas",
"File is not updatable: %1$s" : "El archivo no se puede actualizar: %1$s",
"Failed to get storage for file" : "Error al obtener almacenamiento para el archivo",
"Could not write to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema.",
"Failed to get storage for file" : "Error al obtener datos de almacenamiento para el archivo",
"Could not write to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema",
"Could not write file contents" : "No se han podido escribir los contenidos del archivo",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error al copiar el archivo al destino (copiado: %1$s, tamaño esperado: %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." : "Se esperaba un tamaño de archivo de %1$s pero se leyó (desde el cliente Nextcloud) y se escribió (en el almacenamiento Nextcloud) %2$s. Podría ser un problema de red en el lado del envío o un problema de escritura en el almacenamiento en el lado del servidor.",
"Could not rename part file to final file, canceled by hook" : "No se pudo escribir en el archivo final, cancelado por el sistema.",
"Could not rename part file to final file, canceled by hook" : "No se pudo renombrar del archivo parcial como el archivo final, cancelado por el sistema.",
"Could not rename part file to final file" : "No se ha podido renombrar el archivo parcial como el archivo final",
"Failed to check file size: %1$s" : "Fallo al comprobar el tamaño del archivo: %1$s",
"Could not open file: %1$s, file does seem to exist" : "No se pudo abrir el archivo: %1$s, parece que el archivo existe",
@@ -246,29 +248,34 @@
"Completed on %s" : "Completado el %s",
"Due on %s by %s" : "Finaliza el %s por %s",
"Due on %s" : "Finaliza el %s",
"Welcome to Nextcloud Calendar!\n\nThis is a sample event - explore the flexibility of planning with Nextcloud Calendar by making any edits you want!\n\nWith Nextcloud Calendar, you can:\n- Create, edit, and manage events effortlessly.\n- Create multiple calendars and share them with teammates, friends, or family.\n- Check availability and display your busy times to others.\n- Seamlessly integrate with apps and devices via CalDAV.\n- Customize your experience: schedule recurring events, adjust notifications and other settings." : "¡Bienvenido a Nextcloud Calendar!\n\nEste es un evento de ejemplo - ¡explore la flexibilidad de planear con Nextcloud Calendar editando cuantas veces quiera!\n\nCon Nextcloud Calendar, podrá:\n- Crear, editar, y administrar eventos fácilmente.\n- Crear múltiples calendarios y compartirlos con su equipo de trabajo, amigos, o su familia.\n- Verificar la disponibilidad y mostrar sus tiempos de ocupado a otros.\n- Se integra de manera transparente con otras apps y dispositivos via CalDAV.\n- Personalice su experiencia: Programe eventos recurrentes, ajuste las notificaciones, así como otros ajustes.",
"Example event - open me!" : "Evento de ejemplo - ¡ábralo!",
"System Address Book" : "Libreta de Direcciones del Sistema",
"The system address book contains contact information for all users in your instance." : "La libreta de direcciones del sistema contiene la información de contacto de todos los usuarios de su instancia.",
"Enable System Address Book" : "Habilitar la Libreta de Direcciones del Sistema",
"DAV system address book" : "Libreta de direcciónes DAV del sistema",
"No outstanding DAV system address book sync." : "No hay una sincronización pendiente en la libreta de direcciones DAV del sistema.",
"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\"." : "La sincronización DAV de la libreta de direcciones del sistema no se ha ejecutado ya que su instancia tiene más de 1000 usuarios o por que ha ocurrido un error. Por favor, ejecútela manualmente llamando al comando: \"occ dav:sync-system-addressbook\".",
"WebDAV endpoint" : "Endpoint WebDAV",
"Could not check that your web server is properly set up to allow file synchronization over WebDAV. Please check manually." : "No se pudo verificar si su servidor web está adecuadamente configurado para permitir la sincronización de archivos a través de WebDAV. Por favor, verifique manualmente.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Tu servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "Su servidor web todavía no está configurado correctamente para permitir la sincronización de archivos, porque la interfaz WebDAV parece estar rota.",
"Your web server is properly set up to allow file synchronization over WebDAV." : "Su servidor web está adecuadamente configurado para permitir la sincronización de archivos a través de WebDAV.",
"Migrated calendar (%1$s)" : "Calendario migrado (%1$s)",
"Migrated calendar (%1$s)" : "Se migró el calendario (%1$s)",
"Calendars including events, details and attendees" : "Calendarios que incluyen eventos, detalles y asistentes",
"Contacts and groups" : "Contactos y grupos",
"WebDAV" : "WebDAV",
"Absence saved" : "Ausencia guardada",
"Failed to save your absence settings" : "Error al guardar tus ajustes de ausencia",
"Failed to save your absence settings" : "Error al guardar sus ajustes de ausencia",
"Absence cleared" : "Ausencia limpiada",
"Failed to clear your absence settings" : "Error al borrar tus ajustes de ausencia",
"Failed to clear your absence settings" : "Error al borrar sus ajustes de ausencia",
"First day" : "Primer día",
"Last day (inclusive)" : "Último día (incluido)",
"Out of office replacement (optional)" : "Sustituto durante vacaciones/ausencia (opcional)",
"Name of the replacement" : "Nombre del sustituto",
"No results." : "Sin resultados.",
"Start typing." : "Empieza a escribir.",
"Start typing." : "Empiece a escribir.",
"Short absence status" : "Estado de ausencia corta",
"Long absence Message" : "Mensaje en ausencia larga",
"Long absence Message" : "Mensaje de ausencia larga",
"Save" : "Guardar",
"Disable absence" : "Deshabilitar ausencia",
"Failed to load availability" : "No se ha podido cargar la disponibilidad",
@@ -276,21 +283,36 @@
"Failed to save availability" : "No se ha podido guardar la disponibilidad",
"Time zone:" : "Zona horaria:",
"to" : "para",
"Delete slot" : "Eliminar espacio",
"No working hours set" : "No se han establecido horas de funcionamiento",
"Add slot" : "Añadir espacio",
"Delete slot" : "Eliminar franja de tiempo",
"No working hours set" : "No se han establecido horas laborales",
"Add slot" : "Añadir franja horaria",
"Weekdays" : "Días de semana",
"Pick a start time for {dayName}" : "Elija una hora de inicio para {dayName}",
"Pick a end time for {dayName}" : "Elija una hora fin para {dayName}",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" cuando no esté disponible para silenciar todas las notificaciones.",
"Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Cambiar automáticamente el estado del usuario a \"No molestar\" fuera de las horas de disponibilidad para silenciar todas las notificaciones.",
"Cancel" : "Cancelar",
"Import" : "Importar",
"Error while saving settings" : "Error al guardar los ajustes",
"Reset to default" : "Reestablecer a predeterminado",
"Contact reset successfully" : "El contacto fue restablecido exitosamente",
"Error while resetting contact" : "Error al restablecer el contacto",
"Contact imported successfully" : "El contacto se importó exitosamente",
"Error while importing contact" : "Error al importar el contacto",
"Import contact" : "Importar contacto",
"Reset to default" : "Restablecer a predeterminado",
"Import contacts" : "Importar contactos",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importar un nuevo archivo .vcf eliminará el contacto predeterminado existente y lo reemplazará con el nuevo. ¿Desea continuar?",
"Failed to save example event creation setting" : "Fallo al guardar el ajuste de creación de evento de ejemplo",
"Failed to upload the example event" : "Fallo al cargar el evento de ejemplo",
"Custom example event was saved successfully" : "El evento de ejemplo personalizado se guardó exitosamente",
"Failed to delete the custom example event" : "Fallo al guardar el evento de ejemplo personalizado",
"Custom example event was deleted successfully" : "El evento de ejemplo personalizado se eliminó exitosamente",
"Import calendar event" : "Importar evento del calendario",
"Uploading a new event will overwrite the existing one." : "Cargar un evento nuevo sobrescribirá el existente. ",
"Upload event" : "Cargar evento",
"Availability" : "Disponibilidad",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si configura sus horas laborales, otras personas verán cuando está fuera de la oficina cuando agenden una reunión.",
"Absence" : "Ausencia",
"Configure your next absence period." : "Configura el siguiente periodo en que estarás ausente",
"Configure your next absence period." : "Configure el siguiente periodo en que estará ausente",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instale también la {calendarappstoreopen}app de Calendario{linkclose} o {calendardocopen}conecte su escritorio y móvil para sincronizar ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Por favor, asegúrese de configurar correctamente {emailopen}el servidor web{linkclose}",
"Calendar server" : "Servidor de calendario",
@@ -303,6 +325,8 @@
"Send reminder notifications to calendar sharees as well" : "Enviar recordatorio también a los usuarios con los que se comparte el calendario",
"Reminders are always sent to organizers and attendees." : "Los recordatorios siempre se envían a los organizadores y asistentes.",
"Enable notifications for events via push" : "Activar notificaciones push para eventos",
"Example content" : "Contenido de ejemplo",
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "El contenido de ejemplo sirve para mostrar las características de Nextcloud. Se proporciona un contenido predeterminado con Nextcloud, y puede ser reemplazado por un contenido personalizado.",
"There was an error updating your attendance status." : "Ha habido un error al actualizar tu estado de asistencia.",
"Please contact the organizer directly." : "Por favor, contacta directamente con el organizador.",
"Are you accepting the invitation?" : "¿Aceptas la invitación?",
+23
View File
@@ -189,6 +189,7 @@ OC.L10N.register(
"Second" : "Bigarrena",
"Third" : "Hirugarrena",
"Fourth" : "Laugarrena",
"Fifth" : "Bosgarrena",
"Last" : "Azkena",
"Second Last" : "Azken aurrekoa",
"Third Last" : "Hirugarren azkena",
@@ -248,6 +249,11 @@ OC.L10N.register(
"Completed on %s" : "%s-an osatua",
"Due on %s by %s" : "%s-(e)an epemuga %s-(e)k",
"Due on %s" : "%s-(e)an epemuga",
"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." : "Ongi etorri Nextcloud Egutegira!\n\nHau gertaera erakusgarria da - aztertu plangintzaren malgutasuna Nextcloud Egutegiarekin nahi dituzun edizioak eginez!\n\nNextcloud Egutegia aukerarekin, hau egin dezakezu:\n- Sortu, editatu eta kudeatu gertaerak esfortzurik gabe.\n- Egutegi ugari sortu eta taldekideekin, lagunekin edo familiarekin partekatu.\n- Egiaztatu libre egotea eta bistaratu zure laneko orduak beste batzuei.\n- Aplikazio eta gailuekin arazorik gabe integratzea CalDAV bidez.\n- Zure esperientzia pertsonalizatu: gertaera errepikariak programatu, jakinarazpenak doitu eta bestelako ezarpenak.",
"Example event - open me!" : "Gertaera adibidea - ireki nazazu!",
"System Address Book" : "Sistemaren helbide-liburua",
"The system address book contains contact information for all users in your instance." : "Sistemaren helbide-liburuak zure instantziako erabiltzaile guztien kontaktu-informazioa dauka.",
"Enable System Address Book" : "Gaitu sistemaren helbide-liburua",
"DAV system address book" : "DAV sistemaren helbide-liburua",
"No outstanding DAV system address book sync." : "Ez dago DAV sistema helbide-liburuaren sinkronizazio arrarorik.",
"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 sistemaren helbide-liburuaren sinkronizazioa oraindik ez da martxan jarri zure instantziak 1000 erabiltzaile baino gehiago dituelako edo akats bat gertatu delako. Mesedez, exekutatu eskuz \"occ dav:sync-system-addressbook\" deituz.",
@@ -288,7 +294,22 @@ OC.L10N.register(
"Cancel" : "Utzi",
"Import" : "Inportatu",
"Error while saving settings" : "Errorea ezarpenak gordetzean",
"Contact reset successfully" : "Kontaktua behar bezala berrezarri da",
"Error while resetting contact" : "Errorea kontaktua berrezartzean",
"Contact imported successfully" : "Kontaktua behar bezala inportatu da",
"Error while importing contact" : "Errorea kontaktua inportatzean",
"Import contact" : "Inportatu kontaktua",
"Reset to default" : "Berezarri balio lehenetsira",
"Import contacts" : "Inportatu kontaktuak",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : ".vcf fitxategi berri bat inportatzean, lehendik dagoen kontaktu lehenetsia ezabatu eta berriarekin ordeztuko da. Jarraitu nahi duzu?",
"Failed to save example event creation setting" : "Adibide gertaeraren sortze ezarpenak gordetzeak huts egin du",
"Failed to upload the example event" : "Adibide gertaera igotzeak huts egin du",
"Custom example event was saved successfully" : "Adibide gertaera pertsonalizatua behar bezala gorde da",
"Failed to delete the custom example event" : "Adibide gertaera pertsonalizatua ezabatzeak huts egin du",
"Custom example event was deleted successfully" : "Adibide gertaera pertsonalizatua behar bezala ezabatu da.",
"Import calendar event" : "Inportatu egutegiko gertaera",
"Uploading a new event will overwrite the existing one." : "Gertaera berri bat igotzeak dagoena gainidatz dezake",
"Upload event" : "Igo gertaera",
"Availability" : "Eskuragarritasuna",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Zure lan orduak konfiguratzen badituzu, beste pertsonek bulegotik kanpo zaudela ikusiko dute bilera bat erreserbatzen dutenean.",
"Absence" : "Absentzia",
@@ -305,6 +326,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Bidali gogorarazpen jakinarazpenak egutegi partekatzea dutenei ere",
"Reminders are always sent to organizers and attendees." : "Gogorarazpenak beti bidaltzen zaizkie antolatzaileei eta parte-hartzaileei.",
"Enable notifications for events via push" : "Gaitu push bidezko jakinarazpenak gertaerentzat",
"Example content" : "Adibideko edukia",
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Adibideko edukiak Nextcloud-en ezaugarriak erakusteko balio du. Eduki lehenetsia Nextcloud-ekin bidaltzen da, eta eduki pertsonalizatuarekin ordezka daiteke.",
"There was an error updating your attendance status." : "Errore bat gertatu da zure parte-hartze egoera eguneratzerakoan.",
"Please contact the organizer directly." : "Mesedez jarri harremanetan antolatzailearekin zuzenean.",
"Are you accepting the invitation?" : "Gonbidapena onartzen duzu?",
+23
View File
@@ -187,6 +187,7 @@
"Second" : "Bigarrena",
"Third" : "Hirugarrena",
"Fourth" : "Laugarrena",
"Fifth" : "Bosgarrena",
"Last" : "Azkena",
"Second Last" : "Azken aurrekoa",
"Third Last" : "Hirugarren azkena",
@@ -246,6 +247,11 @@
"Completed on %s" : "%s-an osatua",
"Due on %s by %s" : "%s-(e)an epemuga %s-(e)k",
"Due on %s" : "%s-(e)an epemuga",
"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." : "Ongi etorri Nextcloud Egutegira!\n\nHau gertaera erakusgarria da - aztertu plangintzaren malgutasuna Nextcloud Egutegiarekin nahi dituzun edizioak eginez!\n\nNextcloud Egutegia aukerarekin, hau egin dezakezu:\n- Sortu, editatu eta kudeatu gertaerak esfortzurik gabe.\n- Egutegi ugari sortu eta taldekideekin, lagunekin edo familiarekin partekatu.\n- Egiaztatu libre egotea eta bistaratu zure laneko orduak beste batzuei.\n- Aplikazio eta gailuekin arazorik gabe integratzea CalDAV bidez.\n- Zure esperientzia pertsonalizatu: gertaera errepikariak programatu, jakinarazpenak doitu eta bestelako ezarpenak.",
"Example event - open me!" : "Gertaera adibidea - ireki nazazu!",
"System Address Book" : "Sistemaren helbide-liburua",
"The system address book contains contact information for all users in your instance." : "Sistemaren helbide-liburuak zure instantziako erabiltzaile guztien kontaktu-informazioa dauka.",
"Enable System Address Book" : "Gaitu sistemaren helbide-liburua",
"DAV system address book" : "DAV sistemaren helbide-liburua",
"No outstanding DAV system address book sync." : "Ez dago DAV sistema helbide-liburuaren sinkronizazio arrarorik.",
"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 sistemaren helbide-liburuaren sinkronizazioa oraindik ez da martxan jarri zure instantziak 1000 erabiltzaile baino gehiago dituelako edo akats bat gertatu delako. Mesedez, exekutatu eskuz \"occ dav:sync-system-addressbook\" deituz.",
@@ -286,7 +292,22 @@
"Cancel" : "Utzi",
"Import" : "Inportatu",
"Error while saving settings" : "Errorea ezarpenak gordetzean",
"Contact reset successfully" : "Kontaktua behar bezala berrezarri da",
"Error while resetting contact" : "Errorea kontaktua berrezartzean",
"Contact imported successfully" : "Kontaktua behar bezala inportatu da",
"Error while importing contact" : "Errorea kontaktua inportatzean",
"Import contact" : "Inportatu kontaktua",
"Reset to default" : "Berezarri balio lehenetsira",
"Import contacts" : "Inportatu kontaktuak",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : ".vcf fitxategi berri bat inportatzean, lehendik dagoen kontaktu lehenetsia ezabatu eta berriarekin ordeztuko da. Jarraitu nahi duzu?",
"Failed to save example event creation setting" : "Adibide gertaeraren sortze ezarpenak gordetzeak huts egin du",
"Failed to upload the example event" : "Adibide gertaera igotzeak huts egin du",
"Custom example event was saved successfully" : "Adibide gertaera pertsonalizatua behar bezala gorde da",
"Failed to delete the custom example event" : "Adibide gertaera pertsonalizatua ezabatzeak huts egin du",
"Custom example event was deleted successfully" : "Adibide gertaera pertsonalizatua behar bezala ezabatu da.",
"Import calendar event" : "Inportatu egutegiko gertaera",
"Uploading a new event will overwrite the existing one." : "Gertaera berri bat igotzeak dagoena gainidatz dezake",
"Upload event" : "Igo gertaera",
"Availability" : "Eskuragarritasuna",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Zure lan orduak konfiguratzen badituzu, beste pertsonek bulegotik kanpo zaudela ikusiko dute bilera bat erreserbatzen dutenean.",
"Absence" : "Absentzia",
@@ -303,6 +324,8 @@
"Send reminder notifications to calendar sharees as well" : "Bidali gogorarazpen jakinarazpenak egutegi partekatzea dutenei ere",
"Reminders are always sent to organizers and attendees." : "Gogorarazpenak beti bidaltzen zaizkie antolatzaileei eta parte-hartzaileei.",
"Enable notifications for events via push" : "Gaitu push bidezko jakinarazpenak gertaerentzat",
"Example content" : "Adibideko edukia",
"Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Adibideko edukiak Nextcloud-en ezaugarriak erakusteko balio du. Eduki lehenetsia Nextcloud-ekin bidaltzen da, eta eduki pertsonalizatuarekin ordezka daiteke.",
"There was an error updating your attendance status." : "Errore bat gertatu da zure parte-hartze egoera eguneratzerakoan.",
"Please contact the organizer directly." : "Mesedez jarri harremanetan antolatzailearekin zuzenean.",
"Are you accepting the invitation?" : "Gonbidapena onartzen duzu?",
+18 -7
View File
@@ -78,6 +78,11 @@ OC.L10N.register(
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Za jeden dzień, dnia %1$s, przez cały dzień","Za %n dni, dnia %1$s, przez cały dzień","Za %n dni, dnia %1$s, przez cały dzień","Za %n dni, dnia %1$s, przez cały dzień"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Za tydzień, dnia %1$s, przez cały dzień","Za %n tygodnie, dnia %1$s, przez cały dzień","Za %n tygodni, dnia %1$s, przez cały dzień","Za %n tygodni, dnia %1$s, przez cały dzień"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["W ciągu miesiąca, dnia %1$s przez cały dzień","W ciągu %n miesięcy, dnia %1$s przez cały dzień","W ciągu %n miesięcy, dnia %1$s przez cały dzień","W ciągu %n miesięcy, dnia %1$s przez cały dzień"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Za rok dnia %1$s przez cały dzień","Za %n lata dnia %1$s przez cały dzień","Za %n lat dnia %1$s przez cały dzień","Za %n lat dnia %1$s przez cały dzień"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Za dzień, dnia %1$s między %2$s - %3$s","Za %n dni dnia %1$s między %2$s - %3$s","Za %n dni dnia %1$s między %2$s - %3$s","Za %n dni dnia %1$s między %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Za tydzień dnia %1$s między %2$s - %3$s","Za %n tygodnie dnia %1$s między %2$s - %3$s","Za %n tygodni dnia %1$s między %2$s - %3$s","Za %n tygodni dnia %1$s między %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Za miesiąc dnia %1$s między %2$s - %3$s","Za %n miesięcy dnia %1$s między %2$s - %3$s","Za %n miesięcy dnia %1$s między %2$s - %3$s","Za %n miesięcy dnia %1$s między %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Za rok dnia %1$s między %2$s - %3$s","Za %n lata dnia %1$s między %2$s - %3$s","Za %n lat dnia %1$s między %2$s - %3$s","Za %n lat dnia %1$s między %2$s - %3$s"],
"Could not generate when statement" : "Nie można wygenerować instrukcji when",
"Every Day for the entire day" : "Codziennie przez cały dzień",
"Every Day for the entire day until %1$s" : "Codziennie przez cały dzień do %1$s",
@@ -88,15 +93,21 @@ OC.L10N.register(
"Every %1$d Days between %2$s - %3$s until %4$s" : "Co %1$d dni, pomiędzy %2$s - %3$s aż do %4$s",
"Could not generate event recurrence statement" : "Nie można wygenerować zestawienia powtórzeń zdarzenia",
"Every Week on %1$s for the entire day" : "Każdego tygodnia w %1$s przez cały dzień",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Każdego %1$d miesiąca dnia %2$s między %3$s - %4$s do %5$s",
"Every Year in %1$s on the %2$s for the entire day" : "Co rok w %1$s dnia %2$s przez cały dzień",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Co rok w %1$s dnia %2$s przez cały dzień do %3$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Co roku za %1$s dnia %2$s między %3$s - %4$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Co roku za %1$s dnia %2$s między %3$s - %4$s do %5$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Co %1$d lat dnia %2$s o %3$s przez cały dzień",
"In the past on %1$s" : "W przeszłości dnia %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Za minutę dnia %2$s","Za %1$n minuty dnia %2$s","Za %1$n minut dnia %2$s","Za %1$n minut dnia %2$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["Za godzinę dnia %2$s","Za %1$n godziny dnia %2$s","Za %1$n godzin dnia %2$s","Za %1$n godzin dnia %2$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["Za dzień, dnia %2$s","Za %1$n dni dnia %2$s","Za %1$n dni dnia %2$s","Za %1$n dni dnia %2$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["Za tydzień dnia %2$s","Za %1$n tygodnie dnia %2$s","Za %1$n tygodni dnia %2$s","Za %1$n tygodni dnia %2$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["Za miesiąc dnia %2$s","W ciągu %1$n miesięcy dnia %2$s","W ciągu %1$n miesięcy dnia %2$s","W ciągu %1$n miesięcy dnia %2$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["Za rok dnia %2$s","Za %1$n lata dnia %2$s","Za %1$n lat dnia %2$s","Za %1$n lat dnia %2$s"],
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Za minutę dnia %1$s","Za %n minut dnia %1$s","Za %n minut dnia %1$s","Za %n minut dnia %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["Za godzinę dnia %1$s","Za %n godziny dnia %1$s","Za %n godzin dnia %1$s","Za %n godzin dnia %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["Za dzień, dnia %1$s","Za %n dni dnia %1$s","Za %n dni dnia %1$s","Za %n dni dnia %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["Za tydzień dnia %1$s","Za %n tygodnie dnia %1$s","Za %n tygodni dnia %1$s","Za %n tygodni dnia %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["Za miesiąc dnia %1$s","W ciągu %n miesięcy dnia %1$s","W ciągu %n miesięcy dnia %1$s","W ciągu %n miesięcy dnia %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["Za rok dnia %1$s","Za %n lat dnia %1$s","Za %n lat dnia %1$s","Za %n lat dnia %1$s"],
"In the past on %1$s then on %2$s" : "W przeszłości dnia %1$s, a następnie %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Za minutę dnia %2$s, a następnie %3$s","Za %1$n minuty dnia %2$s, a następnie %3$s","Za %1$n minut dnia %2$s, a następnie %3$s","Za %1$n minut dnia %2$s, a następnie %3$s"],
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Za minutę dnia %1$s, a następnie %2$s","Za %n minuty dnia %1$s, a następnie %2$s","Za %n minut dnia %1$s, a następnie %2$s","Za %n minut dnia %1$s, a następnie %2$s"],
"Could not generate next recurrence statement" : "Nie można wygenerować następnej instrukcji powtarzania",
"Cancelled: %1$s" : "Anulowane: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" zostało anulowane",
+18 -7
View File
@@ -76,6 +76,11 @@
"_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Za jeden dzień, dnia %1$s, przez cały dzień","Za %n dni, dnia %1$s, przez cały dzień","Za %n dni, dnia %1$s, przez cały dzień","Za %n dni, dnia %1$s, przez cały dzień"],
"_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Za tydzień, dnia %1$s, przez cały dzień","Za %n tygodnie, dnia %1$s, przez cały dzień","Za %n tygodni, dnia %1$s, przez cały dzień","Za %n tygodni, dnia %1$s, przez cały dzień"],
"_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["W ciągu miesiąca, dnia %1$s przez cały dzień","W ciągu %n miesięcy, dnia %1$s przez cały dzień","W ciągu %n miesięcy, dnia %1$s przez cały dzień","W ciągu %n miesięcy, dnia %1$s przez cały dzień"],
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Za rok dnia %1$s przez cały dzień","Za %n lata dnia %1$s przez cały dzień","Za %n lat dnia %1$s przez cały dzień","Za %n lat dnia %1$s przez cały dzień"],
"_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Za dzień, dnia %1$s między %2$s - %3$s","Za %n dni dnia %1$s między %2$s - %3$s","Za %n dni dnia %1$s między %2$s - %3$s","Za %n dni dnia %1$s między %2$s - %3$s"],
"_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Za tydzień dnia %1$s między %2$s - %3$s","Za %n tygodnie dnia %1$s między %2$s - %3$s","Za %n tygodni dnia %1$s między %2$s - %3$s","Za %n tygodni dnia %1$s między %2$s - %3$s"],
"_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Za miesiąc dnia %1$s między %2$s - %3$s","Za %n miesięcy dnia %1$s między %2$s - %3$s","Za %n miesięcy dnia %1$s między %2$s - %3$s","Za %n miesięcy dnia %1$s między %2$s - %3$s"],
"_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Za rok dnia %1$s między %2$s - %3$s","Za %n lata dnia %1$s między %2$s - %3$s","Za %n lat dnia %1$s między %2$s - %3$s","Za %n lat dnia %1$s między %2$s - %3$s"],
"Could not generate when statement" : "Nie można wygenerować instrukcji when",
"Every Day for the entire day" : "Codziennie przez cały dzień",
"Every Day for the entire day until %1$s" : "Codziennie przez cały dzień do %1$s",
@@ -86,15 +91,21 @@
"Every %1$d Days between %2$s - %3$s until %4$s" : "Co %1$d dni, pomiędzy %2$s - %3$s aż do %4$s",
"Could not generate event recurrence statement" : "Nie można wygenerować zestawienia powtórzeń zdarzenia",
"Every Week on %1$s for the entire day" : "Każdego tygodnia w %1$s przez cały dzień",
"Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Każdego %1$d miesiąca dnia %2$s między %3$s - %4$s do %5$s",
"Every Year in %1$s on the %2$s for the entire day" : "Co rok w %1$s dnia %2$s przez cały dzień",
"Every Year in %1$s on the %2$s for the entire day until %3$s" : "Co rok w %1$s dnia %2$s przez cały dzień do %3$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s" : "Co roku za %1$s dnia %2$s między %3$s - %4$s",
"Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Co roku za %1$s dnia %2$s między %3$s - %4$s do %5$s",
"Every %1$d Years in %2$s on the %3$s for the entire day" : "Co %1$d lat dnia %2$s o %3$s przez cały dzień",
"In the past on %1$s" : "W przeszłości dnia %1$s",
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Za minutę dnia %2$s","Za %1$n minuty dnia %2$s","Za %1$n minut dnia %2$s","Za %1$n minut dnia %2$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["Za godzinę dnia %2$s","Za %1$n godziny dnia %2$s","Za %1$n godzin dnia %2$s","Za %1$n godzin dnia %2$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["Za dzień, dnia %2$s","Za %1$n dni dnia %2$s","Za %1$n dni dnia %2$s","Za %1$n dni dnia %2$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["Za tydzień dnia %2$s","Za %1$n tygodnie dnia %2$s","Za %1$n tygodni dnia %2$s","Za %1$n tygodni dnia %2$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["Za miesiąc dnia %2$s","W ciągu %1$n miesięcy dnia %2$s","W ciągu %1$n miesięcy dnia %2$s","W ciągu %1$n miesięcy dnia %2$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["Za rok dnia %2$s","Za %1$n lata dnia %2$s","Za %1$n lat dnia %2$s","Za %1$n lat dnia %2$s"],
"_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Za minutę dnia %1$s","Za %n minut dnia %1$s","Za %n minut dnia %1$s","Za %n minut dnia %1$s"],
"_In a hour on %1$s_::_In %n hours on %1$s_" : ["Za godzinę dnia %1$s","Za %n godziny dnia %1$s","Za %n godzin dnia %1$s","Za %n godzin dnia %1$s"],
"_In a day on %1$s_::_In %n days on %1$s_" : ["Za dzień, dnia %1$s","Za %n dni dnia %1$s","Za %n dni dnia %1$s","Za %n dni dnia %1$s"],
"_In a week on %1$s_::_In %n weeks on %1$s_" : ["Za tydzień dnia %1$s","Za %n tygodnie dnia %1$s","Za %n tygodni dnia %1$s","Za %n tygodni dnia %1$s"],
"_In a month on %1$s_::_In %n months on %1$s_" : ["Za miesiąc dnia %1$s","W ciągu %n miesięcy dnia %1$s","W ciągu %n miesięcy dnia %1$s","W ciągu %n miesięcy dnia %1$s"],
"_In a year on %1$s_::_In %n years on %1$s_" : ["Za rok dnia %1$s","Za %n lat dnia %1$s","Za %n lat dnia %1$s","Za %n lat dnia %1$s"],
"In the past on %1$s then on %2$s" : "W przeszłości dnia %1$s, a następnie %2$s",
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Za minutę dnia %2$s, a następnie %3$s","Za %1$n minuty dnia %2$s, a następnie %3$s","Za %1$n minut dnia %2$s, a następnie %3$s","Za %1$n minut dnia %2$s, a następnie %3$s"],
"_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Za minutę dnia %1$s, a następnie %2$s","Za %n minuty dnia %1$s, a następnie %2$s","Za %n minut dnia %1$s, a następnie %2$s","Za %n minut dnia %1$s, a następnie %2$s"],
"Could not generate next recurrence statement" : "Nie można wygenerować następnej instrukcji powtarzania",
"Cancelled: %1$s" : "Anulowane: %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" zostało anulowane",
+18 -12
View File
@@ -156,19 +156,15 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage, ICalendarIs
}
/**
* Create a new calendar event for this calendar
* by way of an ICS string
*
* @param string $name the file name - needs to contain the .ics ending
* @param string $calendarData a string containing a valid VEVENT ics
*
* @throws CalendarException
*/
public function createFromString(string $name, string $calendarData): void {
$server = new InvitationResponseServer(false);
private function createFromStringInServer(
string $name,
string $calendarData,
\OCA\DAV\Connector\Sabre\Server $server,
): void {
/** @var CustomPrincipalPlugin $plugin */
$plugin = $server->getServer()->getPlugin('auth');
$plugin = $server->getPlugin('auth');
// we're working around the previous implementation
// that only allowed the public system principal to be used
// so set the custom principal here
@@ -184,14 +180,14 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage, ICalendarIs
// Force calendar change URI
/** @var Schedule\Plugin $schedulingPlugin */
$schedulingPlugin = $server->getServer()->getPlugin('caldav-schedule');
$schedulingPlugin = $server->getPlugin('caldav-schedule');
$schedulingPlugin->setPathOfCalendarObjectChange($fullCalendarFilename);
$stream = fopen('php://memory', 'rb+');
fwrite($stream, $calendarData);
rewind($stream);
try {
$server->getServer()->createFile($fullCalendarFilename, $stream);
$server->createFile($fullCalendarFilename, $stream);
} catch (Conflict $e) {
throw new CalendarException('Could not create new calendar event: ' . $e->getMessage(), 0, $e);
} finally {
@@ -199,6 +195,16 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage, ICalendarIs
}
}
public function createFromString(string $name, string $calendarData): void {
$server = new EmbeddedCalDavServer(false);
$this->createFromStringInServer($name, $calendarData, $server->getServer());
}
public function createFromStringMinimal(string $name, string $calendarData): void {
$server = new InvitationResponseServer(false);
$this->createFromStringInServer($name, $calendarData, $server->getServer());
}
/**
* @throws CalendarException
*/
@@ -0,0 +1,118 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\DAV\CalDAV;
use OCA\DAV\AppInfo\PluginManager;
use OCA\DAV\CalDAV\Auth\CustomPrincipalPlugin;
use OCA\DAV\CalDAV\Auth\PublicPrincipalPlugin;
use OCA\DAV\CalDAV\Publishing\PublishPlugin;
use OCA\DAV\Connector\Sabre\AnonymousOptionsPlugin;
use OCA\DAV\Connector\Sabre\BlockLegacyClientPlugin;
use OCA\DAV\Connector\Sabre\CachingTree;
use OCA\DAV\Connector\Sabre\DavAclPlugin;
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin;
use OCA\DAV\Connector\Sabre\LockPlugin;
use OCA\DAV\Connector\Sabre\MaintenancePlugin;
use OCA\DAV\Events\SabrePluginAuthInitEvent;
use OCA\DAV\RootCollection;
use OCA\Theming\ThemingDefaults;
use OCP\App\IAppManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IAppConfig;
use OCP\IConfig;
use OCP\IURLGenerator;
use OCP\L10N\IFactory as IL10NFactory;
use OCP\Server;
use Psr\Log\LoggerInterface;
class EmbeddedCalDavServer {
private readonly \OCA\DAV\Connector\Sabre\Server $server;
public function __construct(bool $public = true) {
$baseUri = \OC::$WEBROOT . '/remote.php/dav/';
$logger = Server::get(LoggerInterface::class);
$dispatcher = Server::get(IEventDispatcher::class);
$appConfig = Server::get(IAppConfig::class);
$l10nFactory = Server::get(IL10NFactory::class);
$l10n = $l10nFactory->get('dav');
$root = new RootCollection();
$this->server = new \OCA\DAV\Connector\Sabre\Server(new CachingTree($root));
// Add maintenance plugin
$this->server->addPlugin(new MaintenancePlugin(Server::get(IConfig::class), $l10n));
// Set URL explicitly due to reverse-proxy situations
$this->server->httpRequest->setUrl($baseUri);
$this->server->setBaseUri($baseUri);
$this->server->addPlugin(new BlockLegacyClientPlugin(
Server::get(IConfig::class),
Server::get(ThemingDefaults::class),
));
$this->server->addPlugin(new AnonymousOptionsPlugin());
// allow custom principal uri option
if ($public) {
$this->server->addPlugin(new PublicPrincipalPlugin());
} else {
$this->server->addPlugin(new CustomPrincipalPlugin());
}
// allow setup of additional auth backends
$event = new SabrePluginAuthInitEvent($this->server);
$dispatcher->dispatchTyped($event);
$this->server->addPlugin(new ExceptionLoggerPlugin('webdav', $logger));
$this->server->addPlugin(new LockPlugin());
$this->server->addPlugin(new \Sabre\DAV\Sync\Plugin());
// acl
$acl = new DavAclPlugin();
$acl->principalCollectionSet = [
'principals/users', 'principals/groups'
];
$this->server->addPlugin($acl);
// calendar plugins
$this->server->addPlugin(new \OCA\DAV\CalDAV\Plugin());
$this->server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin());
$this->server->addPlugin(new \OCA\DAV\CalDAV\Schedule\Plugin(Server::get(IConfig::class), Server::get(LoggerInterface::class), Server::get(DefaultCalendarValidator::class)));
$this->server->addPlugin(new \Sabre\CalDAV\Subscriptions\Plugin());
$this->server->addPlugin(new \Sabre\CalDAV\Notifications\Plugin());
//$this->server->addPlugin(new \OCA\DAV\DAV\Sharing\Plugin($authBackend, \OC::$server->getRequest()));
$this->server->addPlugin(new PublishPlugin(
Server::get(IConfig::class),
Server::get(IURLGenerator::class)
));
if ($appConfig->getValueString('dav', 'sendInvitations', 'yes') === 'yes') {
$this->server->addPlugin(Server::get(\OCA\DAV\CalDAV\Schedule\IMipPlugin::class));
}
// wait with registering these until auth is handled and the filesystem is setup
$this->server->on('beforeMethod:*', function () use ($root): void {
// register plugins from apps
$pluginManager = new PluginManager(
\OC::$server,
Server::get(IAppManager::class)
);
foreach ($pluginManager->getAppPlugins() as $appPlugin) {
$this->server->addPlugin($appPlugin);
}
foreach ($pluginManager->getAppCollections() as $appCollection) {
$root->addChild($appCollection);
}
});
}
public function getServer(): \OCA\DAV\Connector\Sabre\Server {
return $this->server;
}
}
+2 -2
View File
@@ -46,8 +46,8 @@ class EventReader {
7 => 'July', 8 => 'August', 9 => 'September', 10 => 'October', 11 => 'November', 12 => 'December'
];
protected array $relativePositionNamesMap = [
1 => 'First', 2 => 'Second', 3 => 'Third', 4 => 'Fourth', 5 => 'Fifty',
-1 => 'Last', -2 => 'Second Last', -3 => 'Third Last', -4 => 'Fourth Last', -5 => 'Fifty Last'
1 => 'First', 2 => 'Second', 3 => 'Third', 4 => 'Fourth', 5 => 'Fifth',
-1 => 'Last', -2 => 'Second Last', -3 => 'Third Last', -4 => 'Fourth Last', -5 => 'Fifth Last'
];
/**
+1 -1
View File
@@ -141,7 +141,7 @@ class StatusService {
$this->logger->debug("Found $count applicable event(s), changing user status", ['user' => $userId]);
$this->userStatusService->setUserStatus(
$userId,
IUserStatus::AWAY,
IUserStatus::BUSY,
IUserStatus::MESSAGE_CALENDAR_BUSY,
true
);
@@ -47,7 +47,7 @@ class UpcomingEventsService {
$this->userManager->get($userId),
);
return array_map(function (array $event) use ($userId, $calendarAppEnabled) {
return array_filter(array_map(function (array $event) use ($userId, $calendarAppEnabled) {
$calendarAppUrl = null;
if ($calendarAppEnabled) {
@@ -67,6 +67,10 @@ class UpcomingEventsService {
$calendarAppUrl = $this->urlGenerator->linkToRouteAbsolute('calendar.view.indexdirect.edit', $arguments);
}
if (isset($event['objects'][0]['STATUS']) && $event['objects'][0]['STATUS'][0] === 'CANCELLED') {
return false;
}
return new UpcomingEvent(
$event['uri'],
($event['objects'][0]['RECURRENCE-ID'][0] ?? null)?->getTimeStamp(),
@@ -76,7 +80,7 @@ class UpcomingEventsService {
$event['objects'][0]['LOCATION'][0] ?? null,
$calendarAppUrl,
);
}, $events);
}, $events));
}
}
+6 -1
View File
@@ -250,7 +250,12 @@ class AddressBook extends \Sabre\CardDAV\AddressBook implements IShareable, IMov
}
try {
return $this->carddavBackend->moveCard($sourceNode->getAddressbookId(), (int)$this->addressBookInfo['id'], $sourceNode->getUri(), $sourceNode->getOwner());
return $this->carddavBackend->moveCard(
$sourceNode->getAddressbookId(),
$sourceNode->getUri(),
$this->getResourceId(),
$targetName,
);
} catch (Exception $e) {
// Avoid injecting LoggerInterface everywhere
Server::get(LoggerInterface::class)->error('Could not move calendar object: ' . $e->getMessage(), ['exception' => $e]);
+14 -13
View File
@@ -473,7 +473,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
*/
public function getCards($addressbookId) {
$query = $this->db->getQueryBuilder();
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
$query->select(['id', 'addressbookid', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
->from($this->dbCardsTable)
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressbookId)));
@@ -510,7 +510,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
*/
public function getCard($addressBookId, $cardUri) {
$query = $this->db->getQueryBuilder();
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
$query->select(['id', 'addressbookid', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
->from($this->dbCardsTable)
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
->andWhere($query->expr()->eq('uri', $query->createNamedParameter($cardUri)))
@@ -553,7 +553,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
$cards = [];
$query = $this->db->getQueryBuilder();
$query->select(['id', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
$query->select(['id', 'addressbookid', 'uri', 'lastmodified', 'etag', 'size', 'carddata', 'uid'])
->from($this->dbCardsTable)
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId)))
->andWhere($query->expr()->in('uri', $query->createParameter('uri')));
@@ -715,32 +715,33 @@ class CardDavBackend implements BackendInterface, SyncSupport {
/**
* @throws Exception
*/
public function moveCard(int $sourceAddressBookId, int $targetAddressBookId, string $cardUri, string $oldPrincipalUri): bool {
return $this->atomic(function () use ($sourceAddressBookId, $targetAddressBookId, $cardUri, $oldPrincipalUri) {
$card = $this->getCard($sourceAddressBookId, $cardUri);
public function moveCard(int $sourceAddressBookId, string $sourceObjectUri, int $targetAddressBookId, string $tragetObjectUri): bool {
return $this->atomic(function () use ($sourceAddressBookId, $sourceObjectUri, $targetAddressBookId, $tragetObjectUri) {
$card = $this->getCard($sourceAddressBookId, $sourceObjectUri);
if (empty($card)) {
return false;
}
$sourceObjectId = (int)$card['id'];
$query = $this->db->getQueryBuilder();
$query->update('cards')
->set('addressbookid', $query->createNamedParameter($targetAddressBookId, IQueryBuilder::PARAM_INT))
->where($query->expr()->eq('uri', $query->createNamedParameter($cardUri, IQueryBuilder::PARAM_STR), IQueryBuilder::PARAM_STR))
->set('uri', $query->createNamedParameter($tragetObjectUri, IQueryBuilder::PARAM_STR))
->where($query->expr()->eq('uri', $query->createNamedParameter($sourceObjectUri, IQueryBuilder::PARAM_STR), IQueryBuilder::PARAM_STR))
->andWhere($query->expr()->eq('addressbookid', $query->createNamedParameter($sourceAddressBookId, IQueryBuilder::PARAM_INT), IQueryBuilder::PARAM_INT))
->executeStatement();
$this->purgeProperties($sourceAddressBookId, (int)$card['id']);
$this->updateProperties($sourceAddressBookId, $card['uri'], $card['carddata']);
$this->purgeProperties($sourceAddressBookId, $sourceObjectId);
$this->updateProperties($targetAddressBookId, $tragetObjectUri, $card['carddata']);
$this->addChange($sourceAddressBookId, $card['uri'], 3);
$this->addChange($targetAddressBookId, $card['uri'], 1);
$this->addChange($sourceAddressBookId, $sourceObjectUri, 3);
$this->addChange($targetAddressBookId, $tragetObjectUri, 1);
$card = $this->getCard($targetAddressBookId, $cardUri);
$card = $this->getCard($targetAddressBookId, $tragetObjectUri);
// Card wasn't found - possibly because it was deleted in the meantime by a different client
if (empty($card)) {
return false;
}
$targetAddressBookRow = $this->getAddressBookById($targetAddressBookId);
// the address book this card is being moved to does not exist any longer
if (empty($targetAddressBookRow)) {
@@ -0,0 +1,62 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
namespace OCA\DAV\Command;
use OCA\DAV\Service\AbsenceService;
use OCP\IUserManager;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class GetAbsenceCommand extends Command {
public function __construct(
private IUserManager $userManager,
private AbsenceService $absenceService,
) {
parent::__construct();
}
protected function configure(): void {
$this->setName('dav:absence:get');
$this->addArgument(
'user-id',
InputArgument::REQUIRED,
'User ID of the affected account'
);
}
public function execute(InputInterface $input, OutputInterface $output): int {
$userId = $input->getArgument('user-id');
$user = $this->userManager->get($userId);
if ($user === null) {
$output->writeln('<error>User not found</error>');
return 1;
}
$absence = $this->absenceService->getAbsence($userId);
if ($absence === null) {
$output->writeln('<info>No absence set</info>');
return 0;
}
$output->writeln('<info>Start day:</info> ' . $absence->getFirstDay());
$output->writeln('<info>End day:</info> ' . $absence->getLastDay());
$output->writeln('<info>Short message:</info> ' . $absence->getStatus());
$output->writeln('<info>Message:</info> ' . $absence->getMessage());
$output->writeln('<info>Replacement user:</info> ' . ($absence->getReplacementUserId() ?? 'none'));
$output->writeln('<info>Replacement display name:</info> ' . ($absence->getReplacementUserDisplayName() ?? 'none'));
return 0;
}
}
@@ -0,0 +1,95 @@
<?php
declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
namespace OCA\DAV\Command;
use OCA\DAV\Service\AbsenceService;
use OCP\IUserManager;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
class SetAbsenceCommand extends Command {
public function __construct(
private IUserManager $userManager,
private AbsenceService $absenceService,
) {
parent::__construct();
}
protected function configure(): void {
$this->setName('dav:absence:set');
$this->addArgument(
'user-id',
InputArgument::REQUIRED,
'User ID of the affected account'
);
$this->addArgument(
'first-day',
InputArgument::REQUIRED,
'Inclusive start day formatted as YYYY-MM-DD'
);
$this->addArgument(
'last-day',
InputArgument::REQUIRED,
'Inclusive end day formatted as YYYY-MM-DD'
);
$this->addArgument(
'short-message',
InputArgument::REQUIRED,
'Short message'
);
$this->addArgument(
'message',
InputArgument::REQUIRED,
'Message'
);
$this->addArgument(
'replacement-user-id',
InputArgument::OPTIONAL,
'Replacement user id'
);
}
public function execute(InputInterface $input, OutputInterface $output): int {
$userId = $input->getArgument('user-id');
$user = $this->userManager->get($userId);
if ($user === null) {
$output->writeln('<error>User not found</error>');
return 1;
}
$replacementUserId = $input->getArgument('replacement-user-id');
if ($replacementUserId === null) {
$replacementUser = null;
} else {
$replacementUser = $this->userManager->get($replacementUserId);
if ($replacementUser === null) {
$output->writeln('<error>Replacement user not found</error>');
return 2;
}
}
$this->absenceService->createOrUpdateAbsence(
$user,
$input->getArgument('first-day'),
$input->getArgument('last-day'),
$input->getArgument('short-message'),
$input->getArgument('message'),
$replacementUser?->getUID(),
$replacementUser?->getDisplayName(),
);
return 0;
}
}
+11 -7
View File
@@ -133,8 +133,12 @@ class File extends Node implements IFile {
$transferId = \rand();
// mark file as partial while uploading (ignored by the scanner)
$partFilePath = $this->getPartFileBasePath($this->path) . '.ocTransferId' . $transferId . '.part';
$partParentPath = dirname($partFilePath);
if ($partParentPath === '.') {
$partParentPath = '';
}
if (!$view->isCreatable($partFilePath) && $view->isUpdatable($this->path)) {
if (!$view->isCreatable($partParentPath) && $view->isUpdatable($this->path)) {
$needsPartFile = false;
}
}
@@ -204,6 +208,9 @@ class File extends Node implements IFile {
}
}
$lengthHeader = $this->request->getHeader('content-length');
$expected = $lengthHeader !== '' ? (int)$lengthHeader : null;
if ($partStorage->instanceOfStorage(IWriteStreamStorage::class)) {
$isEOF = false;
$wrappedData = CallbackWrapper::wrap($data, null, null, null, null, function ($stream) use (&$isEOF): void {
@@ -215,7 +222,7 @@ class File extends Node implements IFile {
$count = -1;
try {
/** @var IWriteStreamStorage $partStorage */
$count = $partStorage->writeStream($internalPartPath, $wrappedData);
$count = $partStorage->writeStream($internalPartPath, $wrappedData, $expected);
} catch (GenericFileException $e) {
$logger = Server::get(LoggerInterface::class);
$logger->error('Error while writing stream to storage: ' . $e->getMessage(), ['exception' => $e, 'app' => 'webdav']);
@@ -235,10 +242,7 @@ class File extends Node implements IFile {
[$count, $result] = Files::streamCopy($data, $target, true);
fclose($target);
}
$lengthHeader = $this->request->getHeader('content-length');
$expected = $lengthHeader !== '' ? (int)$lengthHeader : -1;
if ($result === false && $expected >= 0) {
if ($result === false && $expected !== null) {
throw new Exception(
$this->l10n->t(
'Error while copying file to target location (copied: %1$s, expected filesize: %2$s)',
@@ -253,7 +257,7 @@ class File extends Node implements IFile {
// if content length is sent by client:
// double check if the file was fully received
// compare expected and actual size
if ($expected >= 0
if ($expected !== null
&& $expected !== $count
&& $this->request->getMethod() === 'PUT'
) {
@@ -156,7 +156,7 @@ class FilesReportPlugin extends ServerPlugin {
// to user backends. I.e. the final result may return more results than requested.
$resultNodes = $this->processFilterRulesForFileNodes($filterRules, $limit ?? null, $offset ?? null);
} catch (TagNotFoundException $e) {
throw new PreconditionFailed('Cannot filter by non-existing tag', 0, $e);
throw new PreconditionFailed('Cannot filter by non-existing tag');
}
$results = [];
@@ -186,6 +186,9 @@ class Principal implements BackendInterface {
if ($this->hasGroups || $needGroups) {
$userGroups = $this->groupManager->getUserGroups($user);
foreach ($userGroups as $userGroup) {
if ($userGroup->hideFromCollaboration()) {
continue;
}
$groups[] = 'principals/groups/' . urlencode($userGroup->getGID());
}
}
@@ -184,7 +184,7 @@ class ServerFactory {
!$this->config->getSystemValue('debug', false)
)
);
$server->addPlugin(new QuotaPlugin($view, true));
$server->addPlugin(new QuotaPlugin($view));
$server->addPlugin(new ChecksumUpdatePlugin());
// Allow view-only plugin for webdav requests
@@ -34,7 +34,7 @@ class AddressBookTest extends TestCase {
$card = new Card($backend, $addressBookInfo, ['id' => 5, 'carddata' => 'RANDOM VCF DATA', 'uri' => 'something', 'addressbookid' => 23]);
$backend->expects($this->once())->method('moveCard')
->with(23, 666, 'something', 'user1')
->with(23, 'something', 666, 'new')
->willReturn(true);
$addressBook->moveInto('new', 'old', $card);
@@ -668,6 +668,41 @@ class FileTest extends TestCase {
}
public function testUploadAbortOverwrite(): void {
$view = Filesystem::getView();
$view->file_put_contents('test.txt', 'old content');
$request = new Request([
'server' => [
'CONTENT_LENGTH' => '123456',
],
'method' => 'PUT',
], $this->requestId, $this->config, null);
$info = $view->getFileInfo('test.txt');
$file = new File($view, $info, null, $request);
// action
$thrown = false;
try {
// beforeMethod locks
$view->lockFile('test.txt', ILockingProvider::LOCK_SHARED);
$file->put($this->getStream('test data'));
} catch (\Sabre\DAV\Exception\BadRequest $e) {
$thrown = true;
} finally {
// afterMethod unlocks
$view->unlockFile('test.txt', ILockingProvider::LOCK_EXCLUSIVE);
}
$this->assertTrue($thrown);
$this->assertEquals('old_content', $view->file_get_contents('test.txt'));
$this->assertEmpty($this->listPartFiles($view, ''), 'No stray part files');
}
public function testDeleteWhenAllowed(): void {
// setup
/** @var View&MockObject */
+1 -1
View File
@@ -66,7 +66,7 @@ class Session {
public function getPrivateKey() {
$key = $this->session->get('privateKey');
if (is_null($key)) {
throw new PrivateKeyMissingException('please try to log-out and log-in again', 0);
throw new PrivateKeyMissingException('please try to log-out and log-in again');
}
return $key;
}
@@ -431,13 +431,7 @@ class FederatedShareProvider implements IShareProvider, IShareProviderSupportsAl
return $share;
}
/**
* Get all children of this share
*
* @param IShare $parent
* @return IShare[]
*/
public function getChildren(IShare $parent) {
public function getChildren(IShare $parent): array {
$children = [];
$qb = $this->dbConnection->getQueryBuilder();
+2 -1
View File
@@ -35,7 +35,8 @@ window.OCA.Sharing.showAddExternalDialog = function(share, passwordProtected, ca
.replace(/\/$/, '') // remove trailing slash
showRemoteShareDialog(name, owner, remote, passwordProtected)
.then((result, password) => callback(result, { ...share, password }))
// eslint-disable-next-line n/no-callback-literal
.then((password) => callback(true, { ...share, password }))
// eslint-disable-next-line n/no-callback-literal
.catch(() => callback(false, share))
}
@@ -34,11 +34,11 @@ class AddressHandlerTest extends \Test\TestCase {
$this->contactsManager = $this->createMock(IManager::class);
$this->cloudIdManager = new CloudIdManager(
$this->createMock(ICacheFactory::class),
$this->createMock(IEventDispatcher::class),
$this->contactsManager,
$this->urlGenerator,
$this->createMock(IUserManager::class),
$this->createMock(ICacheFactory::class),
$this->createMock(IEventDispatcher::class)
);
$this->addressHandler = new AddressHandler($this->urlGenerator, $this->il10n, $this->cloudIdManager);
@@ -64,11 +64,11 @@ class MountPublicLinkControllerTest extends \Test\TestCase {
$this->clientService = $this->createMock(IClientService::class);
$this->contactsManager = $this->createMock(IContactsManager::class);
$this->cloudIdManager = new CloudIdManager(
$this->createMock(ICacheFactory::class),
$this->createMock(IEventDispatcher::class),
$this->contactsManager,
$this->createMock(IURLGenerator::class),
$this->userManager,
$this->createMock(ICacheFactory::class),
$this->createMock(IEventDispatcher::class)
);
$this->controller = new MountPublicLinkController(
@@ -74,11 +74,11 @@ class FederatedShareProviderTest extends \Test\TestCase {
$this->addressHandler = $this->createMock(AddressHandler::class);
$this->contactsManager = $this->createMock(IContactsManager::class);
$this->cloudIdManager = new CloudIdManager(
$this->createMock(ICacheFactory::class),
$this->createMock(IEventDispatcher::class),
$this->contactsManager,
$this->createMock(IURLGenerator::class),
$this->userManager,
$this->createMock(ICacheFactory::class),
$this->createMock(IEventDispatcher::class)
);
$this->gsConfig = $this->createMock(\OCP\GlobalScale\IConfig::class);
+2 -2
View File
@@ -11,9 +11,9 @@ OC.L10N.register(
"Federation" : "Federación",
"Federation allows you to connect with other trusted servers to exchange the account directory." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios.",
"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." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado.",
"External documentation for Federated Cloud Sharing" : "Documentación externa sobre Compartir con Nube Federada",
"External documentation for Federated Cloud Sharing" : "Documentación externa para Compartir con Nube Federada",
"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." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado. No es necesario añadir un servidor como servidor de confianza para crear una recurso compartido federado.",
"Each server must validate the other. This process may require a few cron cycles." : "Cada servidor debe validar al otro. Este proceso puede necesitar varios ciclos de cron.",
"Each server must validate the other. This process may require a few cron cycles." : "Cada servidor debe validar al otro. Este proceso puede necesitar algunos ciclos de cron.",
"+ Add trusted server" : "+ Añadir servidor de confianza",
"Trusted server" : "Servidor de confianza",
"Add" : "Añadir"
+2 -2
View File
@@ -9,9 +9,9 @@
"Federation" : "Federación",
"Federation allows you to connect with other trusted servers to exchange the account directory." : "La federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios.",
"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." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado.",
"External documentation for Federated Cloud Sharing" : "Documentación externa sobre Compartir con Nube Federada",
"External documentation for Federated Cloud Sharing" : "Documentación externa para Compartir con Nube Federada",
"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." : "La Federación le permite conectarse con otros servidores de confianza para intercambiar el directorio de usuarios. Por ejemplo, esto se utilizará para auto-completar a los usuarios externos para el intercambio federado. No es necesario añadir un servidor como servidor de confianza para crear una recurso compartido federado.",
"Each server must validate the other. This process may require a few cron cycles." : "Cada servidor debe validar al otro. Este proceso puede necesitar varios ciclos de cron.",
"Each server must validate the other. This process may require a few cron cycles." : "Cada servidor debe validar al otro. Este proceso puede necesitar algunos ciclos de cron.",
"+ Add trusted server" : "+ Añadir servidor de confianza",
"Trusted server" : "Servidor de confianza",
"Add" : "Añadir"
+2 -2
View File
@@ -189,10 +189,10 @@ OC.L10N.register(
"Personal files" : "ملفات شخصية",
"Sort favorites first" : "فرز المفضلة أولا",
"Sort folders before files" : "فرز المجلدات قبل الملفات",
"Enable folder tree" : "تمكين شجرة المجلدات",
"Show hidden files" : "عرض الملفات المخفية",
"Show file type column" : "عرض عمود نوع الملف",
"Crop image previews" : "اقتصاص صورة العروض",
"Enable folder tree" : "تمكين شجرة المجلدات",
"Additional settings" : "الإعدادات المتقدمة",
"WebDAV" : "WebDAV",
"WebDAV URL" : "عنوان URL لـ WebDAV",
@@ -349,7 +349,6 @@ OC.L10N.register(
"No favorites yet" : "ليس لديك ملفات مفضلة",
"Files and folders you mark as favorite will show up here" : "الملفات والمجلدات التي حددتها كمفضلة سوف تظهر هنا ",
"List of your files and folders." : "قائمة بملفاتك و مجلداتك",
"All folders" : "كل المجلدات",
"List of your files and folders that are not shared." : "قائمة بالملفات و المجلدات التي لم تتم مشاركتها.",
"No personal files found" : "لا توجد أي ملفات شخصية",
"Files that are not shared will show up here." : "الملفات التي لم تتم مشاركتها يتم عرضها هنا",
@@ -450,6 +449,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد","1 ملف و{folderCount} مجلدات","1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} ملف و 1 مجلد","{fileCount} ملف و 1 مجلد","{fileCount} ملف و 1 مجلد","{fileCount} ملفات و 1 مجلد ","{fileCount} ملف و 1 مجلد","{fileCount} ملف و 1 مجلد"],
"{fileCount} files and {folderCount} folders" : "{fileCount} ملف و {folderCount} مجلد",
"All folders" : "كل المجلدات",
"Personal Files" : "ملفات شخصية",
"Text file" : "ملف نصي",
"New text file.txt" : "ملف نصي جديد fille.txt",
+2 -2
View File
@@ -187,10 +187,10 @@
"Personal files" : "ملفات شخصية",
"Sort favorites first" : "فرز المفضلة أولا",
"Sort folders before files" : "فرز المجلدات قبل الملفات",
"Enable folder tree" : "تمكين شجرة المجلدات",
"Show hidden files" : "عرض الملفات المخفية",
"Show file type column" : "عرض عمود نوع الملف",
"Crop image previews" : "اقتصاص صورة العروض",
"Enable folder tree" : "تمكين شجرة المجلدات",
"Additional settings" : "الإعدادات المتقدمة",
"WebDAV" : "WebDAV",
"WebDAV URL" : "عنوان URL لـ WebDAV",
@@ -347,7 +347,6 @@
"No favorites yet" : "ليس لديك ملفات مفضلة",
"Files and folders you mark as favorite will show up here" : "الملفات والمجلدات التي حددتها كمفضلة سوف تظهر هنا ",
"List of your files and folders." : "قائمة بملفاتك و مجلداتك",
"All folders" : "كل المجلدات",
"List of your files and folders that are not shared." : "قائمة بالملفات و المجلدات التي لم تتم مشاركتها.",
"No personal files found" : "لا توجد أي ملفات شخصية",
"Files that are not shared will show up here." : "الملفات التي لم تتم مشاركتها يتم عرضها هنا",
@@ -448,6 +447,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد","1 ملف و{folderCount} مجلدات","1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} ملف و 1 مجلد","{fileCount} ملف و 1 مجلد","{fileCount} ملف و 1 مجلد","{fileCount} ملفات و 1 مجلد ","{fileCount} ملف و 1 مجلد","{fileCount} ملف و 1 مجلد"],
"{fileCount} files and {folderCount} folders" : "{fileCount} ملف و {folderCount} مجلد",
"All folders" : "كل المجلدات",
"Personal Files" : "ملفات شخصية",
"Text file" : "ملف نصي",
"New text file.txt" : "ملف نصي جديد fille.txt",
+1 -1
View File
@@ -240,7 +240,6 @@ OC.L10N.register(
"No favorites yet" : "Entá nun hai nengún elementu favoritu",
"Files and folders you mark as favorite will show up here" : "Equí apaecen los ficheros y carpetes que metas en Favoritos",
"List of your files and folders." : "Una llista de los ficheros y les carpetes de to.",
"All folders" : "Toles carpetes",
"List of your files and folders that are not shared." : "Una llista de ficheros y carpetes que nun se compartieron.",
"No personal files found" : "Nun s'atopó nengún ficheru personal",
"Files that are not shared will show up here." : "Equí apaecen los ficheros que nun se compartan.",
@@ -336,6 +335,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ficheru y {folderCount} carpeta","1 ficheru y {folderCount} carpetes"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} ficheru y 1 carpeta","{fileCount} ficheros y 1 carpeta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} ficheros y {folderCount} carpetes",
"All folders" : "Toles carpetes",
"Personal Files" : "Ficheros personales",
"Text file" : "Ficheru de testu",
"New text file.txt" : "ficheru_nuevu.txt"
+1 -1
View File
@@ -238,7 +238,6 @@
"No favorites yet" : "Entá nun hai nengún elementu favoritu",
"Files and folders you mark as favorite will show up here" : "Equí apaecen los ficheros y carpetes que metas en Favoritos",
"List of your files and folders." : "Una llista de los ficheros y les carpetes de to.",
"All folders" : "Toles carpetes",
"List of your files and folders that are not shared." : "Una llista de ficheros y carpetes que nun se compartieron.",
"No personal files found" : "Nun s'atopó nengún ficheru personal",
"Files that are not shared will show up here." : "Equí apaecen los ficheros que nun se compartan.",
@@ -334,6 +333,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ficheru y {folderCount} carpeta","1 ficheru y {folderCount} carpetes"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} ficheru y 1 carpeta","{fileCount} ficheros y 1 carpeta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} ficheros y {folderCount} carpetes",
"All folders" : "Toles carpetes",
"Personal Files" : "Ficheros personales",
"Text file" : "Ficheru de testu",
"New text file.txt" : "ficheru_nuevu.txt"
+10 -2
View File
@@ -52,6 +52,7 @@ OC.L10N.register(
"Files compatibility" : "Сумяшчальнасць файлаў",
"File Management" : "Кіраванне файламі",
"Home" : "Дадому",
"Target folder does not exist any more" : "Мэтавая папка больш не існуе",
"Reload current directory" : "Перазагрузіць бягучы каталог",
"Go to the \"{dir}\" directory" : "Перайсці да каталога \"{dir}\"",
"Drag and drop files here to upload" : "Перацягніце файлы сюды, каб запампаваць іх",
@@ -61,9 +62,14 @@ OC.L10N.register(
"Folder is loading" : "Папка загружаецца",
"Filename" : "Назва файла",
"Folder name" : "Назва папкі",
"Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" перайменаваны ў \"{newName}\"",
"Rename file" : "Перайменаваць файл",
"Folder" : "Папка",
"Unknown file type" : "Невядомы тып файла",
"{ext} image" : "Відарыс {ext}",
"{ext} video" : "Відэа {ext}",
"{ext} audio" : "Аўдыя {ext} ",
"{ext} text" : "Тэкст {ext}",
"Pending" : "У чаканні",
"Unknown date" : "Невядомая дата",
"Clear filter" : "Ачысціць фільтр",
@@ -100,6 +106,7 @@ OC.L10N.register(
"WebDAV URL copied to clipboard" : "URL-адрас WebDAV скапіяваны ў буфер абмену",
"All files" : "Усе файлы",
"Personal files" : "Асабістыя файлы",
"Show files extensions" : "Паказваць пашырэнні файлаў",
"WebDAV" : "WebDAV",
"WebDAV URL" : "URL-адрас WebDAV",
"Copy to clipboard" : "Капіяваць у буфер абмену",
@@ -198,7 +205,6 @@ OC.L10N.register(
"Filename must not be empty." : "Назва файла не можа быць пустой.",
"No favorites yet" : "Пакуль няма абраных",
"List of your files and folders." : "Спіс вашых файлаў і папак.",
"All folders" : "Усе папкі",
"List of your files and folders that are not shared." : "Спіс вашых неабагуленых файлаў і папак.",
"No personal files found" : "Асабістых файлаў не знойдзена",
"Files that are not shared will show up here." : "Тут будуць адлюстроўвацца неабагуленыя файлы.",
@@ -238,7 +244,9 @@ OC.L10N.register(
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} файл","{fileCount} файлы","{fileCount} файлаў","{fileCount} файлаў"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 файл і {folderCount} папка","1 файл і {folderCount} папкі","1 файл і {folderCount} папак","1 файл і {folderCount} папак"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} файл і 1 папка","{fileCount} файлы і 1 папка","{fileCount} файлаў і 1 папка","{fileCount} файлаў і 1 папка"],
"All folders" : "Усе папкі",
"Personal Files" : "Асабістыя файлы",
"Text file" : "Тэкставы файл"
"Text file" : "Тэкставы файл",
"%1$s (renamed)" : "%1$s (перайменаваны)"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
+10 -2
View File
@@ -50,6 +50,7 @@
"Files compatibility" : "Сумяшчальнасць файлаў",
"File Management" : "Кіраванне файламі",
"Home" : "Дадому",
"Target folder does not exist any more" : "Мэтавая папка больш не існуе",
"Reload current directory" : "Перазагрузіць бягучы каталог",
"Go to the \"{dir}\" directory" : "Перайсці да каталога \"{dir}\"",
"Drag and drop files here to upload" : "Перацягніце файлы сюды, каб запампаваць іх",
@@ -59,9 +60,14 @@
"Folder is loading" : "Папка загружаецца",
"Filename" : "Назва файла",
"Folder name" : "Назва папкі",
"Renamed \"{oldName}\" to \"{newName}\"" : "\"{oldName}\" перайменаваны ў \"{newName}\"",
"Rename file" : "Перайменаваць файл",
"Folder" : "Папка",
"Unknown file type" : "Невядомы тып файла",
"{ext} image" : "Відарыс {ext}",
"{ext} video" : "Відэа {ext}",
"{ext} audio" : "Аўдыя {ext} ",
"{ext} text" : "Тэкст {ext}",
"Pending" : "У чаканні",
"Unknown date" : "Невядомая дата",
"Clear filter" : "Ачысціць фільтр",
@@ -98,6 +104,7 @@
"WebDAV URL copied to clipboard" : "URL-адрас WebDAV скапіяваны ў буфер абмену",
"All files" : "Усе файлы",
"Personal files" : "Асабістыя файлы",
"Show files extensions" : "Паказваць пашырэнні файлаў",
"WebDAV" : "WebDAV",
"WebDAV URL" : "URL-адрас WebDAV",
"Copy to clipboard" : "Капіяваць у буфер абмену",
@@ -196,7 +203,6 @@
"Filename must not be empty." : "Назва файла не можа быць пустой.",
"No favorites yet" : "Пакуль няма абраных",
"List of your files and folders." : "Спіс вашых файлаў і папак.",
"All folders" : "Усе папкі",
"List of your files and folders that are not shared." : "Спіс вашых неабагуленых файлаў і папак.",
"No personal files found" : "Асабістых файлаў не знойдзена",
"Files that are not shared will show up here." : "Тут будуць адлюстроўвацца неабагуленыя файлы.",
@@ -236,7 +242,9 @@
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} файл","{fileCount} файлы","{fileCount} файлаў","{fileCount} файлаў"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 файл і {folderCount} папка","1 файл і {folderCount} папкі","1 файл і {folderCount} папак","1 файл і {folderCount} папак"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} файл і 1 папка","{fileCount} файлы і 1 папка","{fileCount} файлаў і 1 папка","{fileCount} файлаў і 1 папка"],
"All folders" : "Усе папкі",
"Personal Files" : "Асабістыя файлы",
"Text file" : "Тэкставы файл"
"Text file" : "Тэкставы файл",
"%1$s (renamed)" : "%1$s (перайменаваны)"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
}
+2 -2
View File
@@ -184,9 +184,9 @@ OC.L10N.register(
"Personal files" : "Fitxers personals",
"Sort favorites first" : "Ordena primer els preferits",
"Sort folders before files" : "Ordena les carpetes abans dels fitxers",
"Enable folder tree" : "Habilita l'arbre de carpetes",
"Show hidden files" : "Mostra els fitxers ocults",
"Crop image previews" : "Retalla les previsualitzacions de les imatges",
"Enable folder tree" : "Habilita l'arbre de carpetes",
"Additional settings" : "Paràmetres addicionals",
"WebDAV" : "WebDAV",
"WebDAV URL" : "URL de WebDAV",
@@ -343,7 +343,6 @@ OC.L10N.register(
"No favorites yet" : "Encara no teniu preferits",
"Files and folders you mark as favorite will show up here" : "Els fitxers i les carpetes que marqueu com a preferits es mostraran aquí",
"List of your files and folders." : "Llista dels vostres fitxers i carpetes.",
"All folders" : "Totes les carpetes",
"List of your files and folders that are not shared." : "Llista dels vostres fitxers i carpetes que no compartiu.",
"No personal files found" : "No s'ha trobat cap fitxer personal",
"Files that are not shared will show up here." : "Els fitxers que no compartiu es mostraran aquí.",
@@ -444,6 +443,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fitxer i {folderCount} carpeta","1 fitxer i {folderCount} carpetes"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} fitxer i 1 carpeta","{fileCount} fitxers i 1 carpeta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} fitxers i {folderCount} carpetes",
"All folders" : "Totes les carpetes",
"Personal Files" : "FItxers personals",
"Text file" : "Fitxer de text",
"New text file.txt" : "Fitxer de text nou.txt",
+2 -2
View File
@@ -182,9 +182,9 @@
"Personal files" : "Fitxers personals",
"Sort favorites first" : "Ordena primer els preferits",
"Sort folders before files" : "Ordena les carpetes abans dels fitxers",
"Enable folder tree" : "Habilita l'arbre de carpetes",
"Show hidden files" : "Mostra els fitxers ocults",
"Crop image previews" : "Retalla les previsualitzacions de les imatges",
"Enable folder tree" : "Habilita l'arbre de carpetes",
"Additional settings" : "Paràmetres addicionals",
"WebDAV" : "WebDAV",
"WebDAV URL" : "URL de WebDAV",
@@ -341,7 +341,6 @@
"No favorites yet" : "Encara no teniu preferits",
"Files and folders you mark as favorite will show up here" : "Els fitxers i les carpetes que marqueu com a preferits es mostraran aquí",
"List of your files and folders." : "Llista dels vostres fitxers i carpetes.",
"All folders" : "Totes les carpetes",
"List of your files and folders that are not shared." : "Llista dels vostres fitxers i carpetes que no compartiu.",
"No personal files found" : "No s'ha trobat cap fitxer personal",
"Files that are not shared will show up here." : "Els fitxers que no compartiu es mostraran aquí.",
@@ -442,6 +441,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fitxer i {folderCount} carpeta","1 fitxer i {folderCount} carpetes"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} fitxer i 1 carpeta","{fileCount} fitxers i 1 carpeta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} fitxers i {folderCount} carpetes",
"All folders" : "Totes les carpetes",
"Personal Files" : "FItxers personals",
"Text file" : "Fitxer de text",
"New text file.txt" : "Fitxer de text nou.txt",
+7 -2
View File
@@ -201,14 +201,18 @@ OC.L10N.register(
"Personal files" : "Osobní soubory",
"Sort favorites first" : "Seřadit od oblíbených",
"Sort folders before files" : "Při řazení zobrazovat složky a pak až soubory",
"Enable folder tree" : "Zapnout strom složek",
"Visual settings" : "Vizuální nastavení",
"Show hidden files" : "Zobrazit skryté soubory",
"Show file type column" : "Zobrazovat sloupec Typ souboru",
"Crop image previews" : "Oříznout náhledy obrázků",
"Enable folder tree" : "Zapnout strom složek",
"Show files extensions" : "Zobrazovat přípony souborů",
"Additional settings" : "Další nastavení",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
"Copy to clipboard" : "Zkopírovat do schránky",
"Use this address to access your Files via WebDAV." : "Tuto adresu použijte pro přístup k vašim souborům prostřednictvím protokolu WebDAV.",
"Two-Factor Authentication is enabled for your account, and therefore you need to use an app password to connect an external WebDAV client." : "U vašeho účtu je zapnuté dvoufázové ověřování a proto pro připojení externího WebDAV klienta bude třeba použít heslo pro konkrétní aplikaci.",
"Warnings" : "Varování",
"Prevent warning dialogs from open or reenable them." : "Zabránit dialogům s varováními v otevírání nebo znovupovolení.",
"Show a warning dialog when changing a file extension." : "Při měnění přípony souboru zobrazit varovný dialog.",
@@ -330,6 +334,7 @@ OC.L10N.register(
"Templates" : "Šablony",
"New template folder" : "Nová složka šablon",
"In folder" : "Ve složce",
"Search in all files" : "Hledat ve všech souborech",
"Search in folder: {folder}" : "Hledat ve složce: {folder}",
"One of the dropped files could not be processed" : "Jeden z přetažených souborů se nepodařilo zpracovat",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Vámi využívaný prohlížeč nepodporuje aplikační program. rozhraní pro přístup k souborovému systému (Filesytem API). Složky nebudou nahrány",
@@ -363,7 +368,6 @@ OC.L10N.register(
"No favorites yet" : "Zatím nic oblíbeného",
"Files and folders you mark as favorite will show up here" : "Zde budou zobrazeny soubory a složky, které označíte jako oblíbené",
"List of your files and folders." : "Seznam vašich souborů a složek.",
"All folders" : "Všechny složky",
"List of your files and folders that are not shared." : "Seznam vašich souborů a složek, které nejsou sdíleny.",
"No personal files found" : "Nenalezeny žádné osobní soubory",
"Files that are not shared will show up here." : "Soubory, které nejsou nikomu sdíleny se zobrazí zde.",
@@ -465,6 +469,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 soubor a {folderCount} složka","1 soubor a {folderCount} složky","1 soubor a {folderCount} složek","1 soubor a {folderCount} složky"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} soubor a 1 složka","{fileCount} soubory a 1 složka","{fileCount} souborů a 1 složka","{fileCount} soubory a 1 složka"],
"{fileCount} files and {folderCount} folders" : "{fileCount} souborů a {folderCount} složek",
"All folders" : "Všechny složky",
"Personal Files" : "Osobní soubory",
"Text file" : "Textový soubor",
"New text file.txt" : "Nový textový soubor.txt",
+7 -2
View File
@@ -199,14 +199,18 @@
"Personal files" : "Osobní soubory",
"Sort favorites first" : "Seřadit od oblíbených",
"Sort folders before files" : "Při řazení zobrazovat složky a pak až soubory",
"Enable folder tree" : "Zapnout strom složek",
"Visual settings" : "Vizuální nastavení",
"Show hidden files" : "Zobrazit skryté soubory",
"Show file type column" : "Zobrazovat sloupec Typ souboru",
"Crop image previews" : "Oříznout náhledy obrázků",
"Enable folder tree" : "Zapnout strom složek",
"Show files extensions" : "Zobrazovat přípony souborů",
"Additional settings" : "Další nastavení",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
"Copy to clipboard" : "Zkopírovat do schránky",
"Use this address to access your Files via WebDAV." : "Tuto adresu použijte pro přístup k vašim souborům prostřednictvím protokolu WebDAV.",
"Two-Factor Authentication is enabled for your account, and therefore you need to use an app password to connect an external WebDAV client." : "U vašeho účtu je zapnuté dvoufázové ověřování a proto pro připojení externího WebDAV klienta bude třeba použít heslo pro konkrétní aplikaci.",
"Warnings" : "Varování",
"Prevent warning dialogs from open or reenable them." : "Zabránit dialogům s varováními v otevírání nebo znovupovolení.",
"Show a warning dialog when changing a file extension." : "Při měnění přípony souboru zobrazit varovný dialog.",
@@ -328,6 +332,7 @@
"Templates" : "Šablony",
"New template folder" : "Nová složka šablon",
"In folder" : "Ve složce",
"Search in all files" : "Hledat ve všech souborech",
"Search in folder: {folder}" : "Hledat ve složce: {folder}",
"One of the dropped files could not be processed" : "Jeden z přetažených souborů se nepodařilo zpracovat",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Vámi využívaný prohlížeč nepodporuje aplikační program. rozhraní pro přístup k souborovému systému (Filesytem API). Složky nebudou nahrány",
@@ -361,7 +366,6 @@
"No favorites yet" : "Zatím nic oblíbeného",
"Files and folders you mark as favorite will show up here" : "Zde budou zobrazeny soubory a složky, které označíte jako oblíbené",
"List of your files and folders." : "Seznam vašich souborů a složek.",
"All folders" : "Všechny složky",
"List of your files and folders that are not shared." : "Seznam vašich souborů a složek, které nejsou sdíleny.",
"No personal files found" : "Nenalezeny žádné osobní soubory",
"Files that are not shared will show up here." : "Soubory, které nejsou nikomu sdíleny se zobrazí zde.",
@@ -463,6 +467,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 soubor a {folderCount} složka","1 soubor a {folderCount} složky","1 soubor a {folderCount} složek","1 soubor a {folderCount} složky"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} soubor a 1 složka","{fileCount} soubory a 1 složka","{fileCount} souborů a 1 složka","{fileCount} soubory a 1 složka"],
"{fileCount} files and {folderCount} folders" : "{fileCount} souborů a {folderCount} složek",
"All folders" : "Všechny složky",
"Personal Files" : "Osobní soubory",
"Text file" : "Textový soubor",
"New text file.txt" : "Nový textový soubor.txt",
+2 -2
View File
@@ -184,9 +184,9 @@ OC.L10N.register(
"Personal files" : "Personlige filer",
"Sort favorites first" : "Vis favoritter først",
"Sort folders before files" : "Sorter mapper før filer",
"Enable folder tree" : "Aktiver mappetræ",
"Show hidden files" : "Vis skjulte filer",
"Crop image previews" : "Beskær forhåndsvisninger af billeder",
"Enable folder tree" : "Aktiver mappetræ",
"Additional settings" : "Yderligere indstillinger",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
@@ -343,7 +343,6 @@ OC.L10N.register(
"No favorites yet" : "Ingen foretrukne endnu",
"Files and folders you mark as favorite will show up here" : "Filer og mapper som du har markeret som foretrukne, vil blive vist her",
"List of your files and folders." : "Liste med dine filer og mapper.",
"All folders" : "Alle mapper",
"List of your files and folders that are not shared." : "Liste med dine filer og mapper, der ikke er delt.",
"No personal files found" : "Ingen personlige filer fundet",
"Files that are not shared will show up here." : "Filer der ikke er delt vil blive vist her.",
@@ -444,6 +443,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fil og {folderCount} mapper","1 fil og {folderCount} mapper"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} fil og 1 mapper","{fileCount} filer og 1 mapper"],
"{fileCount} files and {folderCount} folders" : "{fileCount} filer og {folderCount} mapper",
"All folders" : "Alle mapper",
"Personal Files" : "Personlige filer",
"Text file" : "Tekstfil",
"New text file.txt" : "Ny tekstfil.txt",
+2 -2
View File
@@ -182,9 +182,9 @@
"Personal files" : "Personlige filer",
"Sort favorites first" : "Vis favoritter først",
"Sort folders before files" : "Sorter mapper før filer",
"Enable folder tree" : "Aktiver mappetræ",
"Show hidden files" : "Vis skjulte filer",
"Crop image previews" : "Beskær forhåndsvisninger af billeder",
"Enable folder tree" : "Aktiver mappetræ",
"Additional settings" : "Yderligere indstillinger",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
@@ -341,7 +341,6 @@
"No favorites yet" : "Ingen foretrukne endnu",
"Files and folders you mark as favorite will show up here" : "Filer og mapper som du har markeret som foretrukne, vil blive vist her",
"List of your files and folders." : "Liste med dine filer og mapper.",
"All folders" : "Alle mapper",
"List of your files and folders that are not shared." : "Liste med dine filer og mapper, der ikke er delt.",
"No personal files found" : "Ingen personlige filer fundet",
"Files that are not shared will show up here." : "Filer der ikke er delt vil blive vist her.",
@@ -442,6 +441,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fil og {folderCount} mapper","1 fil og {folderCount} mapper"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} fil og 1 mapper","{fileCount} filer og 1 mapper"],
"{fileCount} files and {folderCount} folders" : "{fileCount} filer og {folderCount} mapper",
"All folders" : "Alle mapper",
"Personal Files" : "Personlige filer",
"Text file" : "Tekstfil",
"New text file.txt" : "Ny tekstfil.txt",
+6 -2
View File
@@ -201,10 +201,12 @@ OC.L10N.register(
"Personal files" : "Persönliche Dateien",
"Sort favorites first" : "Favoriten zuerst sortieren",
"Sort folders before files" : "Ordner vor Dateien sortieren",
"Enable folder tree" : "Ordnerstruktur aktivieren",
"Visual settings" : "Anzeigeeinstellungen",
"Show hidden files" : "Versteckte Dateien anzeigen",
"Show file type column" : "Dateityp-Spalte anzeigen",
"Crop image previews" : "Bildvorschauen zuschneiden",
"Enable folder tree" : "Ordnerstruktur aktivieren",
"Show files extensions" : "Dateierweiterungen anzeigen",
"Additional settings" : "Zusätzliche Einstellungen",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV-URL",
@@ -332,6 +334,7 @@ OC.L10N.register(
"Templates" : "Vorlagen",
"New template folder" : "Neuer Vorlagenordner",
"In folder" : "Im Ordner",
"Search in all files" : "In allen Dateien suchen",
"Search in folder: {folder}" : "Im Ordner suchen: {folder}",
"One of the dropped files could not be processed" : "Eine der abgelegten Dateien konnte nicht verarbeitet werden",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Dein Browser unterstützt die Dateisystem-API nicht. Verzeichnisse werden nicht hochgeladen.",
@@ -365,7 +368,7 @@ OC.L10N.register(
"No favorites yet" : "Noch keine Favoriten vorhanden",
"Files and folders you mark as favorite will show up here" : "Dateien und Ordner, die als Favoriten markiert werden, erscheinen hier",
"List of your files and folders." : "Liste deiner Dateien und Ordner",
"All folders" : "Alle Ordner",
"Folder tree" : "Ordnerbaum",
"List of your files and folders that are not shared." : "Liste deiner Dateien und Ordner, die nicht geteilt wurden.",
"No personal files found" : "Keine persönlichen Dateien gefunden",
"Files that are not shared will show up here." : "Dateien, die nicht geteilt wurden, werden hier angezeigt.",
@@ -467,6 +470,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 Datei und {folderCount} Ordner","1 Datei und {folderCount} Ordner"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} Datei und 1 Ordner","{fileCount} Dateien und 1 Ordner"],
"{fileCount} files and {folderCount} folders" : "{fileCount} Dateien und {folderCount} Ordner",
"All folders" : "Alle Ordner",
"Personal Files" : "Persönliche Dateien",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
+6 -2
View File
@@ -199,10 +199,12 @@
"Personal files" : "Persönliche Dateien",
"Sort favorites first" : "Favoriten zuerst sortieren",
"Sort folders before files" : "Ordner vor Dateien sortieren",
"Enable folder tree" : "Ordnerstruktur aktivieren",
"Visual settings" : "Anzeigeeinstellungen",
"Show hidden files" : "Versteckte Dateien anzeigen",
"Show file type column" : "Dateityp-Spalte anzeigen",
"Crop image previews" : "Bildvorschauen zuschneiden",
"Enable folder tree" : "Ordnerstruktur aktivieren",
"Show files extensions" : "Dateierweiterungen anzeigen",
"Additional settings" : "Zusätzliche Einstellungen",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV-URL",
@@ -330,6 +332,7 @@
"Templates" : "Vorlagen",
"New template folder" : "Neuer Vorlagenordner",
"In folder" : "Im Ordner",
"Search in all files" : "In allen Dateien suchen",
"Search in folder: {folder}" : "Im Ordner suchen: {folder}",
"One of the dropped files could not be processed" : "Eine der abgelegten Dateien konnte nicht verarbeitet werden",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Dein Browser unterstützt die Dateisystem-API nicht. Verzeichnisse werden nicht hochgeladen.",
@@ -363,7 +366,7 @@
"No favorites yet" : "Noch keine Favoriten vorhanden",
"Files and folders you mark as favorite will show up here" : "Dateien und Ordner, die als Favoriten markiert werden, erscheinen hier",
"List of your files and folders." : "Liste deiner Dateien und Ordner",
"All folders" : "Alle Ordner",
"Folder tree" : "Ordnerbaum",
"List of your files and folders that are not shared." : "Liste deiner Dateien und Ordner, die nicht geteilt wurden.",
"No personal files found" : "Keine persönlichen Dateien gefunden",
"Files that are not shared will show up here." : "Dateien, die nicht geteilt wurden, werden hier angezeigt.",
@@ -465,6 +468,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 Datei und {folderCount} Ordner","1 Datei und {folderCount} Ordner"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} Datei und 1 Ordner","{fileCount} Dateien und 1 Ordner"],
"{fileCount} files and {folderCount} folders" : "{fileCount} Dateien und {folderCount} Ordner",
"All folders" : "Alle Ordner",
"Personal Files" : "Persönliche Dateien",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
+6 -2
View File
@@ -201,10 +201,12 @@ OC.L10N.register(
"Personal files" : "Persönliche Dateien",
"Sort favorites first" : "Favoriten zuerst sortieren",
"Sort folders before files" : "Ordner vor Dateien sortieren",
"Enable folder tree" : "Ordnerstruktur aktivieren",
"Visual settings" : "Anzeigeeinstellungen",
"Show hidden files" : "Versteckte Dateien anzeigen",
"Show file type column" : "Dateityp-Spalte anzeigen",
"Crop image previews" : "Bildvorschauen zuschneiden",
"Enable folder tree" : "Ordnerstruktur aktivieren",
"Show files extensions" : "Dateierweiterungen anzeigen",
"Additional settings" : "Zusätzliche Einstellungen",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV-URL",
@@ -332,6 +334,7 @@ OC.L10N.register(
"Templates" : "Vorlagen",
"New template folder" : "Neuer Vorlagenordner",
"In folder" : "Im Ordner",
"Search in all files" : "In allen Dateien suchen",
"Search in folder: {folder}" : "Im Ordner suchen: {folder}",
"One of the dropped files could not be processed" : "Eine der abgelegten Dateien konnte nicht verarbeitet werden",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Ihr Browser unterstützt die Dateisystem-API nicht. Verzeichnisse werden nicht hochgeladen",
@@ -365,7 +368,7 @@ OC.L10N.register(
"No favorites yet" : "Noch keine Favoriten vorhanden",
"Files and folders you mark as favorite will show up here" : "Dateien und Ordner, die Sie als Favoriten kennzeichnen, werden hier erscheinen",
"List of your files and folders." : "Liste Ihrer Dateien und Ordner.",
"All folders" : "Alle Ordner",
"Folder tree" : "Ordnerbaum",
"List of your files and folders that are not shared." : "Liste Ihrer Dateien und Ordner, die nicht geteilt wurden.",
"No personal files found" : "Keine persönlichen Dateien gefunden",
"Files that are not shared will show up here." : "Dateien, die nicht geteilt wurden, werden hier angezeigt.",
@@ -467,6 +470,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 Datei und {folderCount} Ordner","1 Datei und {folderCount} Ordner"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} Datei und 1 Ordner","{fileCount} Dateien und 1 Ordner"],
"{fileCount} files and {folderCount} folders" : "{fileCount} Dateien und {folderCount} Ordner",
"All folders" : "Alle Ordner",
"Personal Files" : "Persönliche Dateien",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
+6 -2
View File
@@ -199,10 +199,12 @@
"Personal files" : "Persönliche Dateien",
"Sort favorites first" : "Favoriten zuerst sortieren",
"Sort folders before files" : "Ordner vor Dateien sortieren",
"Enable folder tree" : "Ordnerstruktur aktivieren",
"Visual settings" : "Anzeigeeinstellungen",
"Show hidden files" : "Versteckte Dateien anzeigen",
"Show file type column" : "Dateityp-Spalte anzeigen",
"Crop image previews" : "Bildvorschauen zuschneiden",
"Enable folder tree" : "Ordnerstruktur aktivieren",
"Show files extensions" : "Dateierweiterungen anzeigen",
"Additional settings" : "Zusätzliche Einstellungen",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV-URL",
@@ -330,6 +332,7 @@
"Templates" : "Vorlagen",
"New template folder" : "Neuer Vorlagenordner",
"In folder" : "Im Ordner",
"Search in all files" : "In allen Dateien suchen",
"Search in folder: {folder}" : "Im Ordner suchen: {folder}",
"One of the dropped files could not be processed" : "Eine der abgelegten Dateien konnte nicht verarbeitet werden",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Ihr Browser unterstützt die Dateisystem-API nicht. Verzeichnisse werden nicht hochgeladen",
@@ -363,7 +366,7 @@
"No favorites yet" : "Noch keine Favoriten vorhanden",
"Files and folders you mark as favorite will show up here" : "Dateien und Ordner, die Sie als Favoriten kennzeichnen, werden hier erscheinen",
"List of your files and folders." : "Liste Ihrer Dateien und Ordner.",
"All folders" : "Alle Ordner",
"Folder tree" : "Ordnerbaum",
"List of your files and folders that are not shared." : "Liste Ihrer Dateien und Ordner, die nicht geteilt wurden.",
"No personal files found" : "Keine persönlichen Dateien gefunden",
"Files that are not shared will show up here." : "Dateien, die nicht geteilt wurden, werden hier angezeigt.",
@@ -465,6 +468,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 Datei und {folderCount} Ordner","1 Datei und {folderCount} Ordner"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} Datei und 1 Ordner","{fileCount} Dateien und 1 Ordner"],
"{fileCount} files and {folderCount} folders" : "{fileCount} Dateien und {folderCount} Ordner",
"All folders" : "Alle Ordner",
"Personal Files" : "Persönliche Dateien",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
+8 -2
View File
@@ -201,14 +201,18 @@ OC.L10N.register(
"Personal files" : "Personal files",
"Sort favorites first" : "Sort favourites first",
"Sort folders before files" : "Sort folders before files",
"Enable folder tree" : "Enable folder tree",
"Visual settings" : "Visual settings",
"Show hidden files" : "Show hidden files",
"Show file type column" : "Show file type column",
"Crop image previews" : "Crop image previews",
"Enable folder tree" : "Enable folder tree",
"Show files extensions" : "Show files extensions",
"Additional settings" : "Additional settings",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
"Copy to clipboard" : "Copy to clipboard",
"Use this address to access your Files via WebDAV." : "Use this address to access your Files via WebDAV.",
"Two-Factor Authentication is enabled for your account, and therefore you need to use an app password to connect an external WebDAV client." : "Two-Factor Authentication is enabled for your account, and therefore you need to use an app password to connect an external WebDAV client.",
"Warnings" : "Warnings",
"Prevent warning dialogs from open or reenable them." : "Prevent warning dialogues from opening or reenable them.",
"Show a warning dialog when changing a file extension." : "Show a warning dialog when changing a file extension.",
@@ -330,6 +334,7 @@ OC.L10N.register(
"Templates" : "Templates",
"New template folder" : "New template folder",
"In folder" : "In folder",
"Search in all files" : "Search in all files",
"Search in folder: {folder}" : "Search in folder: {folder}",
"One of the dropped files could not be processed" : "One of the dropped files could not be processed",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Your browser does not support the Filesystem API. Directories will not be uploaded",
@@ -363,7 +368,7 @@ OC.L10N.register(
"No favorites yet" : "No favourites yet",
"Files and folders you mark as favorite will show up here" : "Files and folders you mark as favourite will show up here",
"List of your files and folders." : "List of your files and folders.",
"All folders" : "All folders",
"Folder tree" : "Folder tree",
"List of your files and folders that are not shared." : "List of your files and folders that are not shared.",
"No personal files found" : "No personal files found",
"Files that are not shared will show up here." : "Files that are not shared will show up here.",
@@ -465,6 +470,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file and {folderCount} folder","1 file and {folderCount} folders"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} file and 1 folder","{fileCount} files and 1 folder"],
"{fileCount} files and {folderCount} folders" : "{fileCount} files and {folderCount} folders",
"All folders" : "All folders",
"Personal Files" : "Personal Files",
"Text file" : "Text file",
"New text file.txt" : "New text file.txt",
+8 -2
View File
@@ -199,14 +199,18 @@
"Personal files" : "Personal files",
"Sort favorites first" : "Sort favourites first",
"Sort folders before files" : "Sort folders before files",
"Enable folder tree" : "Enable folder tree",
"Visual settings" : "Visual settings",
"Show hidden files" : "Show hidden files",
"Show file type column" : "Show file type column",
"Crop image previews" : "Crop image previews",
"Enable folder tree" : "Enable folder tree",
"Show files extensions" : "Show files extensions",
"Additional settings" : "Additional settings",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
"Copy to clipboard" : "Copy to clipboard",
"Use this address to access your Files via WebDAV." : "Use this address to access your Files via WebDAV.",
"Two-Factor Authentication is enabled for your account, and therefore you need to use an app password to connect an external WebDAV client." : "Two-Factor Authentication is enabled for your account, and therefore you need to use an app password to connect an external WebDAV client.",
"Warnings" : "Warnings",
"Prevent warning dialogs from open or reenable them." : "Prevent warning dialogues from opening or reenable them.",
"Show a warning dialog when changing a file extension." : "Show a warning dialog when changing a file extension.",
@@ -328,6 +332,7 @@
"Templates" : "Templates",
"New template folder" : "New template folder",
"In folder" : "In folder",
"Search in all files" : "Search in all files",
"Search in folder: {folder}" : "Search in folder: {folder}",
"One of the dropped files could not be processed" : "One of the dropped files could not be processed",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Your browser does not support the Filesystem API. Directories will not be uploaded",
@@ -361,7 +366,7 @@
"No favorites yet" : "No favourites yet",
"Files and folders you mark as favorite will show up here" : "Files and folders you mark as favourite will show up here",
"List of your files and folders." : "List of your files and folders.",
"All folders" : "All folders",
"Folder tree" : "Folder tree",
"List of your files and folders that are not shared." : "List of your files and folders that are not shared.",
"No personal files found" : "No personal files found",
"Files that are not shared will show up here." : "Files that are not shared will show up here.",
@@ -463,6 +468,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file and {folderCount} folder","1 file and {folderCount} folders"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} file and 1 folder","{fileCount} files and 1 folder"],
"{fileCount} files and {folderCount} folders" : "{fileCount} files and {folderCount} folders",
"All folders" : "All folders",
"Personal Files" : "Personal Files",
"Text file" : "Text file",
"New text file.txt" : "New text file.txt",
+2 -2
View File
@@ -199,10 +199,10 @@ OC.L10N.register(
"Personal files" : "Archivos personales",
"Sort favorites first" : "Ordenar los favoritos primero",
"Sort folders before files" : "Ordenar carpetas antes que archivos",
"Enable folder tree" : "Habilitar el árbol de carpetas",
"Show hidden files" : "Mostrar archivos ocultos",
"Show file type column" : "Mostrar la columna de tipo de archivo",
"Crop image previews" : "Recortar la previsualización de las imágenes",
"Enable folder tree" : "Habilitar el árbol de carpetas",
"Additional settings" : "Ajustes adicionales",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
@@ -360,7 +360,6 @@ OC.L10N.register(
"No favorites yet" : "Aún no hay favoritos",
"Files and folders you mark as favorite will show up here" : "Aquí aparecerán los archivos y carpetas que has marcado como favoritos",
"List of your files and folders." : "Lista de sus archivos y carpetas.",
"All folders" : "Todas las carpetas",
"List of your files and folders that are not shared." : "Lista de sus archivos y carpetas que no están compartidos.",
"No personal files found" : "No se encontraron archivos personales",
"Files that are not shared will show up here." : "Los archivos y carpetas que no ha compartido aparecerán aquí.",
@@ -462,6 +461,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 archivo y {folderCount} carpeta","1 archivo y {folderCount} carpetas","1 archivo y {folderCount} carpetas"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} archivo y 1 carpeta","{fileCount} archivos y 1 carpeta","{fileCount} archivos y 1 carpeta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} archivos y {folderCount} carpetas",
"All folders" : "Todas las carpetas",
"Personal Files" : "Archivos Personales",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo archivo.txt",
+2 -2
View File
@@ -197,10 +197,10 @@
"Personal files" : "Archivos personales",
"Sort favorites first" : "Ordenar los favoritos primero",
"Sort folders before files" : "Ordenar carpetas antes que archivos",
"Enable folder tree" : "Habilitar el árbol de carpetas",
"Show hidden files" : "Mostrar archivos ocultos",
"Show file type column" : "Mostrar la columna de tipo de archivo",
"Crop image previews" : "Recortar la previsualización de las imágenes",
"Enable folder tree" : "Habilitar el árbol de carpetas",
"Additional settings" : "Ajustes adicionales",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
@@ -358,7 +358,6 @@
"No favorites yet" : "Aún no hay favoritos",
"Files and folders you mark as favorite will show up here" : "Aquí aparecerán los archivos y carpetas que has marcado como favoritos",
"List of your files and folders." : "Lista de sus archivos y carpetas.",
"All folders" : "Todas las carpetas",
"List of your files and folders that are not shared." : "Lista de sus archivos y carpetas que no están compartidos.",
"No personal files found" : "No se encontraron archivos personales",
"Files that are not shared will show up here." : "Los archivos y carpetas que no ha compartido aparecerán aquí.",
@@ -460,6 +459,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 archivo y {folderCount} carpeta","1 archivo y {folderCount} carpetas","1 archivo y {folderCount} carpetas"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} archivo y 1 carpeta","{fileCount} archivos y 1 carpeta","{fileCount} archivos y 1 carpeta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} archivos y {folderCount} carpetas",
"All folders" : "Todas las carpetas",
"Personal Files" : "Archivos Personales",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo archivo.txt",
+2 -2
View File
@@ -168,9 +168,9 @@ OC.L10N.register(
"Personal files" : "Archivos personales",
"Sort favorites first" : "Ordenar los favoritos primero",
"Sort folders before files" : "Ordenar carpetas antes que archivos",
"Enable folder tree" : "Habilitar el árbol de carpetas",
"Show hidden files" : "Mostrar archivos ocultos",
"Crop image previews" : "Recortar la previsualización de las imágenes",
"Enable folder tree" : "Habilitar el árbol de carpetas",
"Additional settings" : "Configuraciones adicionales",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
@@ -288,7 +288,6 @@ OC.L10N.register(
"No favorites yet" : "Aún no hay favoritos",
"Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
"List of your files and folders." : "Lista de sus archivos y carpetas.",
"All folders" : "Todas las carpetas",
"List of your files and folders that are not shared." : "Lista de sus archivos y carpetas que no están compartidos.",
"No personal files found" : "No se encontraron archivos personales",
"Files that are not shared will show up here." : "Aquí aparecerán los archivos y carpetas que no ha compartido.",
@@ -389,6 +388,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 archivo y {folderCount} carpeta","1 archivo y {folderCount} carpetas","1 archivo y {folderCount} carpetas"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} archivo y 1 carpeta","{fileCount} archivos y 1 carpeta","{fileCount} archivos y 1 carpeta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} archivos y {folderCount} carpetas",
"All folders" : "Todas las carpetas",
"Personal Files" : "Archivos personales",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt"
+2 -2
View File
@@ -166,9 +166,9 @@
"Personal files" : "Archivos personales",
"Sort favorites first" : "Ordenar los favoritos primero",
"Sort folders before files" : "Ordenar carpetas antes que archivos",
"Enable folder tree" : "Habilitar el árbol de carpetas",
"Show hidden files" : "Mostrar archivos ocultos",
"Crop image previews" : "Recortar la previsualización de las imágenes",
"Enable folder tree" : "Habilitar el árbol de carpetas",
"Additional settings" : "Configuraciones adicionales",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URL",
@@ -286,7 +286,6 @@
"No favorites yet" : "Aún no hay favoritos",
"Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
"List of your files and folders." : "Lista de sus archivos y carpetas.",
"All folders" : "Todas las carpetas",
"List of your files and folders that are not shared." : "Lista de sus archivos y carpetas que no están compartidos.",
"No personal files found" : "No se encontraron archivos personales",
"Files that are not shared will show up here." : "Aquí aparecerán los archivos y carpetas que no ha compartido.",
@@ -387,6 +386,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 archivo y {folderCount} carpeta","1 archivo y {folderCount} carpetas","1 archivo y {folderCount} carpetas"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} archivo y 1 carpeta","{fileCount} archivos y 1 carpeta","{fileCount} archivos y 1 carpeta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} archivos y {folderCount} carpetas",
"All folders" : "Todas las carpetas",
"Personal Files" : "Archivos personales",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo ArchivoDeTexto.txt"
+6 -2
View File
@@ -201,10 +201,12 @@ OC.L10N.register(
"Personal files" : "Isiklikud failid",
"Sort favorites first" : "Järjesta lemmikud esimesena",
"Sort folders before files" : "Järjesta kaustad enne faile",
"Enable folder tree" : "Võta kasutusele kaustapuu",
"Visual settings" : "Visuaalsed seadistused",
"Show hidden files" : "Näita peidetud faile",
"Show file type column" : "Näita failitüübi veergu",
"Crop image previews" : "Kadreeri piltide eelvaated",
"Enable folder tree" : "Võta kasutusele kaustapuu",
"Show files extensions" : "Näita failide laiendusi",
"Additional settings" : "Lisaseadistused",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV-i võrguaadress",
@@ -332,6 +334,7 @@ OC.L10N.register(
"Templates" : "Mallid",
"New template folder" : "Uus kaustamall",
"In folder" : "Kaustas",
"Search in all files" : "Otsi kõikide failide seast",
"Search in folder: {folder}" : "Otsi kaustast: {folder}",
"One of the dropped files could not be processed" : "Ühte siia lisatud failidest ei õnnestunud töödelda",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Sinu veebibrauser ei toeta „Filesystem API“ liidestust. Kaustad jäävad üleslaadimata",
@@ -365,7 +368,7 @@ OC.L10N.register(
"No favorites yet" : "Lemmikuid veel pole",
"Files and folders you mark as favorite will show up here" : "Siin kuvatakse faile ja kaustasid, mille oled märkinud lemmikuteks",
"List of your files and folders." : "Sinu failide ja kaustade loend.",
"All folders" : "Kõik kaustad",
"Folder tree" : "Kaustapuu",
"List of your files and folders that are not shared." : "Sinu mittejagatud failide ja kaustade loend",
"No personal files found" : "Isiklikke faile ei leitud",
"Files that are not shared will show up here." : "Siin kuvatakse faile ja kaustu, mida sa pole teistega jaganud.",
@@ -467,6 +470,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fail ja {folderCount} kaust","1 fail ja {folderCount} kausta"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} fail ja 1 kaust","{fileCount} faili ja 1 kaust"],
"{fileCount} files and {folderCount} folders" : "{fileCount} faili ja {folderCount} kausta",
"All folders" : "Kõik kaustad",
"Personal Files" : "Isiklikud Failid",
"Text file" : "Tekstifail",
"New text file.txt" : "Uus tekstifail.txt",
+6 -2
View File
@@ -199,10 +199,12 @@
"Personal files" : "Isiklikud failid",
"Sort favorites first" : "Järjesta lemmikud esimesena",
"Sort folders before files" : "Järjesta kaustad enne faile",
"Enable folder tree" : "Võta kasutusele kaustapuu",
"Visual settings" : "Visuaalsed seadistused",
"Show hidden files" : "Näita peidetud faile",
"Show file type column" : "Näita failitüübi veergu",
"Crop image previews" : "Kadreeri piltide eelvaated",
"Enable folder tree" : "Võta kasutusele kaustapuu",
"Show files extensions" : "Näita failide laiendusi",
"Additional settings" : "Lisaseadistused",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV-i võrguaadress",
@@ -330,6 +332,7 @@
"Templates" : "Mallid",
"New template folder" : "Uus kaustamall",
"In folder" : "Kaustas",
"Search in all files" : "Otsi kõikide failide seast",
"Search in folder: {folder}" : "Otsi kaustast: {folder}",
"One of the dropped files could not be processed" : "Ühte siia lisatud failidest ei õnnestunud töödelda",
"Your browser does not support the Filesystem API. Directories will not be uploaded" : "Sinu veebibrauser ei toeta „Filesystem API“ liidestust. Kaustad jäävad üleslaadimata",
@@ -363,7 +366,7 @@
"No favorites yet" : "Lemmikuid veel pole",
"Files and folders you mark as favorite will show up here" : "Siin kuvatakse faile ja kaustasid, mille oled märkinud lemmikuteks",
"List of your files and folders." : "Sinu failide ja kaustade loend.",
"All folders" : "Kõik kaustad",
"Folder tree" : "Kaustapuu",
"List of your files and folders that are not shared." : "Sinu mittejagatud failide ja kaustade loend",
"No personal files found" : "Isiklikke faile ei leitud",
"Files that are not shared will show up here." : "Siin kuvatakse faile ja kaustu, mida sa pole teistega jaganud.",
@@ -465,6 +468,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fail ja {folderCount} kaust","1 fail ja {folderCount} kausta"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} fail ja 1 kaust","{fileCount} faili ja 1 kaust"],
"{fileCount} files and {folderCount} folders" : "{fileCount} faili ja {folderCount} kausta",
"All folders" : "Kõik kaustad",
"Personal Files" : "Isiklikud Failid",
"Text file" : "Tekstifail",
"New text file.txt" : "Uus tekstifail.txt",
+2 -2
View File
@@ -175,9 +175,9 @@ OC.L10N.register(
"Personal files" : "Fitxategi pertsonalak",
"Sort favorites first" : "Ordenatu gogokoak lehenengo",
"Sort folders before files" : "Ordenatu karpetak fitxategien aurretik",
"Enable folder tree" : "Gaitu karpeta-zuhaitza",
"Show hidden files" : "Erakutsi ezkutuko fitxategiak",
"Crop image previews" : "Moztu irudien aurrebistak",
"Enable folder tree" : "Gaitu karpeta-zuhaitza",
"Additional settings" : "Ezarpen gehiago",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URLa",
@@ -315,7 +315,6 @@ OC.L10N.register(
"No favorites yet" : "Gogokorik ez oraindik",
"Files and folders you mark as favorite will show up here" : "Gogokotzat markatutako fitxategi eta karpetak hemen agertuko dira",
"List of your files and folders." : "Zure fitxategi eta karpeten zerrenda.",
"All folders" : "Karpeta guztiak",
"List of your files and folders that are not shared." : "Partekatu ez diren zure fitxategi eta karpeten zerrenda.",
"No personal files found" : "Ez dago fitxategi pertsonalik",
"Files that are not shared will show up here." : "Partekatu ez dituzun fitxategiak hemen agertuko dira",
@@ -416,6 +415,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["Fitxategi 1 eta karpeta {folderCount}","Fitxategi 1 eta {folderCount} karpeta"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["Fitxategi {fileCount} eta karpeta 1","{fileCount} fitxategi eta karpeta 1"],
"{fileCount} files and {folderCount} folders" : "{fileCount} fitxategi eta {folderCount} fitxategi",
"All folders" : "Karpeta guztiak",
"Personal Files" : "Fitxategi pertsonalak",
"Text file" : "Testu-fitxategia",
"New text file.txt" : "Testu-fitxategi berria.txt"
+2 -2
View File
@@ -173,9 +173,9 @@
"Personal files" : "Fitxategi pertsonalak",
"Sort favorites first" : "Ordenatu gogokoak lehenengo",
"Sort folders before files" : "Ordenatu karpetak fitxategien aurretik",
"Enable folder tree" : "Gaitu karpeta-zuhaitza",
"Show hidden files" : "Erakutsi ezkutuko fitxategiak",
"Crop image previews" : "Moztu irudien aurrebistak",
"Enable folder tree" : "Gaitu karpeta-zuhaitza",
"Additional settings" : "Ezarpen gehiago",
"WebDAV" : "WebDAV",
"WebDAV URL" : "WebDAV URLa",
@@ -313,7 +313,6 @@
"No favorites yet" : "Gogokorik ez oraindik",
"Files and folders you mark as favorite will show up here" : "Gogokotzat markatutako fitxategi eta karpetak hemen agertuko dira",
"List of your files and folders." : "Zure fitxategi eta karpeten zerrenda.",
"All folders" : "Karpeta guztiak",
"List of your files and folders that are not shared." : "Partekatu ez diren zure fitxategi eta karpeten zerrenda.",
"No personal files found" : "Ez dago fitxategi pertsonalik",
"Files that are not shared will show up here." : "Partekatu ez dituzun fitxategiak hemen agertuko dira",
@@ -414,6 +413,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["Fitxategi 1 eta karpeta {folderCount}","Fitxategi 1 eta {folderCount} karpeta"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["Fitxategi {fileCount} eta karpeta 1","{fileCount} fitxategi eta karpeta 1"],
"{fileCount} files and {folderCount} folders" : "{fileCount} fitxategi eta {folderCount} fitxategi",
"All folders" : "Karpeta guztiak",
"Personal Files" : "Fitxategi pertsonalak",
"Text file" : "Testu-fitxategia",
"New text file.txt" : "Testu-fitxategi berria.txt"

Some files were not shown because too many files have changed in this diff Show More