Compare commits

...

268 Commits

Author SHA1 Message Date
Luka Trovic
be27d3ed01 fix: merge conflicts
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-12-20 21:41:47 +01:00
Luka Trovic
21c4955001 fix: merge conflicts
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-12-20 21:34:10 +01:00
Julius Härtl
67adda5f84 Merge pull request #4315 from small1/fixcomponentrenaming
Fix component renaming so that acl works on shares again
2022-12-19 10:55:39 +01:00
Julius Härtl
1f8fc6661c Merge pull request #4322 from nextcloud/dependabot/github_actions/skjnldsv/read-package-engines-version-actions-2.0
Bump skjnldsv/read-package-engines-version-actions from 1.2 to 2.0
2022-12-19 09:49:35 +01:00
Julius Härtl
97e7d2b2d7 Merge pull request #4321 from nextcloud/dependabot/npm_and_yarn/master/cypress-12.1.0
Bump cypress from 11.2.0 to 12.1.0
2022-12-19 09:38:34 +01:00
Julius Härtl
84c96a00b2 Merge pull request #4314 from nextcloud/automated/noid/master-update-nextcloud-ocp
[master] Update nextcloud/ocp dependency
2022-12-19 09:38:15 +01:00
Julius Härtl
bf5cd72361 Merge pull request #4323 from nextcloud/dependabot/github_actions/cirrus-actions/rebase-1.8
Bump cirrus-actions/rebase from 1.7 to 1.8
2022-12-19 09:38:08 +01:00
Johan Bernhardsson
2f0c89e513 Fix component renaming so that acl works on shares again
Signed-off-by: Johan Bernhardsson <johan.bernhardsson@redpill-linpro.com>
2022-12-19 09:36:41 +01:00
nextcloud-command
59e816124a Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-12-18 04:19:22 +00:00
Nextcloud bot
632d3c1ef2 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-18 02:27:06 +00:00
dependabot[bot]
a6d39488a4 Merge pull request #4324 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/axios-2.3.0 2022-12-17 07:09:56 +00:00
dependabot[bot]
d998a30235 Bump @nextcloud/axios from 2.2.0 to 2.3.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/axios"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-17 03:54:00 +00:00
dependabot[bot]
8432efddde Bump cirrus-actions/rebase from 1.7 to 1.8
Bumps [cirrus-actions/rebase](https://github.com/cirrus-actions/rebase) from 1.7 to 1.8.
- [Release notes](https://github.com/cirrus-actions/rebase/releases)
- [Commits](https://github.com/cirrus-actions/rebase/compare/1.7...1.8)

---
updated-dependencies:
- dependency-name: cirrus-actions/rebase
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-17 03:10:12 +00:00
dependabot[bot]
a70bf65032 Bump skjnldsv/read-package-engines-version-actions from 1.2 to 2.0
Bumps [skjnldsv/read-package-engines-version-actions](https://github.com/skjnldsv/read-package-engines-version-actions) from 1.2 to 2.0.
- [Release notes](https://github.com/skjnldsv/read-package-engines-version-actions/releases)
- [Commits](https://github.com/skjnldsv/read-package-engines-version-actions/compare/v1.2...v2.0)

---
updated-dependencies:
- dependency-name: skjnldsv/read-package-engines-version-actions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-17 03:06:52 +00:00
dependabot[bot]
68361c517b Bump cypress from 11.2.0 to 12.1.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 11.2.0 to 12.1.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v11.2.0...v12.1.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-17 03:05:18 +00:00
Nextcloud bot
8bfdd72e37 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-16 02:27:00 +00:00
Nextcloud bot
71afaaefc3 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-14 02:29:25 +00:00
Nextcloud bot
15f8353ecd [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-13 02:40:00 +00:00
dependabot[bot]
6907d87d32 Merge pull request #4313 from nextcloud/dependabot/npm_and_yarn/master/relative-ci/agent-4.1.3 2022-12-10 05:53:34 +00:00
dependabot[bot]
35413d5154 Merge pull request #4311 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.2.0 2022-12-10 05:17:23 +00:00
dependabot[bot]
9bde070b9b Merge pull request #4308 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.27 2022-12-10 03:36:57 +00:00
dependabot[bot]
610ea1d36b Bump @relative-ci/agent from 4.1.1 to 4.1.3
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.1 to 4.1.3.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.1...v4.1.3)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-10 03:29:04 +00:00
dependabot[bot]
21c5383f6f Bump @nextcloud/vue from 7.1.0 to 7.2.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.1.0...v7.2.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-10 03:03:03 +00:00
dependabot[bot]
b58807363b Bump phpunit/phpunit from 9.5.26 to 9.5.27
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.26 to 9.5.27.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.26...9.5.27)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-10 02:00:29 +00:00
Julius Härtl
04a6c83d2b Merge pull request #4286 from nextcloud/dependabot/github_actions/cypress-io/github-action-5 2022-12-05 12:29:36 +01:00
Julius Härtl
c1b4708a74 Merge pull request #4292 from nextcloud/automated/noid/master-update-nextcloud-ocp 2022-12-05 11:09:41 +01:00
nextcloud-command
286605ff01 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-12-04 05:01:25 +00:00
Nextcloud bot
790ecaac67 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-04 02:22:09 +00:00
dependabot[bot]
40b4ed2e1c Merge pull request #4288 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.20.6 2022-12-03 07:18:53 +00:00
dependabot[bot]
844c4d8d9b Merge pull request #4291 from nextcloud/dependabot/npm_and_yarn/decode-uri-component-0.2.2 2022-12-03 07:02:22 +00:00
dependabot[bot]
1aefc990a5 Bump @babel/runtime from 7.20.1 to 7.20.6
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.20.1 to 7.20.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.6/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 05:15:07 +00:00
dependabot[bot]
329ebc1aec Merge pull request #4287 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.1.0 2022-12-03 05:14:09 +00:00
dependabot[bot]
5fca656e50 Bump decode-uri-component from 0.2.0 to 0.2.2
Bumps [decode-uri-component](https://github.com/SamVerschueren/decode-uri-component) from 0.2.0 to 0.2.2.
- [Release notes](https://github.com/SamVerschueren/decode-uri-component/releases)
- [Commits](https://github.com/SamVerschueren/decode-uri-component/compare/v0.2.0...v0.2.2)

---
updated-dependencies:
- dependency-name: decode-uri-component
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 04:49:57 +00:00
dependabot[bot]
c453721d75 Merge pull request #4285 from nextcloud/dependabot/composer/tests/integration/behat/behat-approx-3.12.0 2022-12-03 04:49:24 +00:00
dependabot[bot]
06939a7362 Bump @nextcloud/vue from 7.0.1 to 7.1.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.1 to 7.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.1...v7.1.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 03:20:30 +00:00
dependabot[bot]
b2e7709092 Bump cypress-io/github-action from 4 to 5
Bumps [cypress-io/github-action](https://github.com/cypress-io/github-action) from 4 to 5.
- [Release notes](https://github.com/cypress-io/github-action/releases)
- [Commits](https://github.com/cypress-io/github-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: cypress-io/github-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 03:15:59 +00:00
dependabot[bot]
d2c2e0bd11 Update behat/behat requirement in /tests/integration
Updates the requirements on [behat/behat](https://github.com/Behat/Behat) to permit the latest version.
- [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.11.0...v3.12.0)

---
updated-dependencies:
- dependency-name: behat/behat
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-03 03:09:28 +00:00
Nextcloud bot
2b7e8d683b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-12-01 02:23:00 +00:00
Nextcloud bot
356c8fe518 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-30 02:23:24 +00:00
Julius Härtl
316bc29d70 Merge pull request #4278 from nextcloud/automated/noid/master-update-nextcloud-ocp
[master] Update nextcloud/ocp dependency
2022-11-27 09:35:12 +01:00
nextcloud-command
b6dc2cb1bf Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-11-27 03:11:58 +00:00
dependabot[bot]
01ab56bada Merge pull request #4276 from nextcloud/dependabot/npm_and_yarn/master/cypress-11.2.0 2022-11-26 04:17:36 +00:00
dependabot[bot]
0d66944a5f Merge pull request #4275 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/axios-2.2.0 2022-11-26 03:49:25 +00:00
dependabot[bot]
4d91364028 Bump cypress from 11.1.0 to 11.2.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 11.1.0 to 11.2.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v11.1.0...v11.2.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-26 03:28:57 +00:00
dependabot[bot]
a839a95821 Bump @nextcloud/axios from 2.1.0 to 2.2.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/axios"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-26 02:00:51 +00:00
Nextcloud bot
103e86499e [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-23 02:25:57 +00:00
Nextcloud bot
c52a7a42c4 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-22 02:26:43 +00:00
Nextcloud bot
b366eea8eb [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-21 02:22:52 +00:00
Julius Härtl
89a24151ee Merge pull request #4272 from nextcloud/dependabot/npm_and_yarn/master/jest-serializer-vue-3.1.0
Bump jest-serializer-vue from 2.0.2 to 3.1.0
2022-11-20 22:47:48 +01:00
Nextcloud bot
1438127c7b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-20 02:24:02 +00:00
dependabot[bot]
c781d29065 Bump jest-serializer-vue from 2.0.2 to 3.1.0
Bumps [jest-serializer-vue](https://github.com/eddyerburgh/jest-serializer-vue) from 2.0.2 to 3.1.0.
- [Release notes](https://github.com/eddyerburgh/jest-serializer-vue/releases)
- [Changelog](https://github.com/eddyerburgh/jest-serializer-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/eddyerburgh/jest-serializer-vue/commits)

---
updated-dependencies:
- dependency-name: jest-serializer-vue
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-19 08:26:38 +00:00
Julius Härtl
9094d611ae Merge pull request #4217 from nextcloud/dependabot/npm_and_yarn/master/cypress-11.1.0
Bump cypress from 10.11.0 to 11.1.0
2022-11-19 09:25:52 +01:00
Julius Härtl
70be562fe3 Merge pull request #4219 from nextcloud/dependabot/npm_and_yarn/master/vue-and-vue-template-compiler-2.7.14
Bump vue and vue-template-compiler
2022-11-19 09:25:43 +01:00
Nextcloud bot
761f2421ba [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-19 02:25:04 +00:00
dependabot[bot]
6d68c0d0e3 Bump vue and vue-template-compiler
Bumps [vue](https://github.com/vuejs/core) and [vue-template-compiler](https://github.com/vuejs/vue). These dependencies needed to be updated together.

Updates `vue` from 2.7.13 to 2.7.14
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

Updates `vue-template-compiler` from 2.7.13 to 2.7.14
- [Release notes](https://github.com/vuejs/vue/releases)
- [Changelog](https://github.com/vuejs/vue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue/compare/v2.7.13...v2.7.14)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: vue-template-compiler
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 18:36:18 +00:00
dependabot[bot]
3f8895077d Merge pull request #4220 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/eslint-config-8.1.4 2022-11-18 18:35:20 +00:00
dependabot[bot]
42e756150d Merge pull request #4216 from nextcloud/dependabot/npm_and_yarn/master/dompurify-2.4.1 2022-11-18 17:35:39 +00:00
dependabot[bot]
cbb9269920 Bump cypress from 10.11.0 to 11.1.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.11.0 to 11.1.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.11.0...v11.1.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 17:29:36 +00:00
Julius Härtl
a42f0a9b26 Merge pull request #4218 from nextcloud/dependabot/npm_and_yarn/master/jest-29.3.1
Bump jest from 29.2.2 to 29.3.1
2022-11-18 18:28:44 +01:00
Julius Härtl
4ccfc6c1d1 Merge pull request #4222 from nextcloud/dependabot/github_actions/hmarr/auto-approve-action-3
Bump hmarr/auto-approve-action from 2 to 3
2022-11-18 18:28:08 +01:00
dependabot[bot]
a1834f97a8 Bump hmarr/auto-approve-action from 2 to 3
Bumps [hmarr/auto-approve-action](https://github.com/hmarr/auto-approve-action) from 2 to 3.
- [Release notes](https://github.com/hmarr/auto-approve-action/releases)
- [Commits](https://github.com/hmarr/auto-approve-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: hmarr/auto-approve-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 17:27:41 +00:00
Julius Härtl
86145c6095 Add stable branches for dependabot
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-18 18:26:51 +01:00
dependabot[bot]
3a839da89a Bump @nextcloud/eslint-config from 8.1.2 to 8.1.4
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud/eslint-config) from 8.1.2 to 8.1.4.
- [Release notes](https://github.com/nextcloud/eslint-config/releases)
- [Changelog](https://github.com/nextcloud/eslint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/eslint-config/compare/v8.1.2...v8.1.4)

---
updated-dependencies:
- dependency-name: "@nextcloud/eslint-config"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 17:26:00 +00:00
dependabot[bot]
baf381965c Bump jest from 29.2.2 to 29.3.1
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.2.2 to 29.3.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.3.1/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 17:25:00 +00:00
dependabot[bot]
51231ac971 Bump dompurify from 2.4.0 to 2.4.1
Bumps [dompurify](https://github.com/cure53/DOMPurify) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/cure53/DOMPurify/releases)
- [Commits](https://github.com/cure53/DOMPurify/compare/2.4.0...2.4.1)

---
updated-dependencies:
- dependency-name: dompurify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 17:23:38 +00:00
Nextcloud bot
93fb32904b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-17 02:21:25 +00:00
Julius Härtl
2d1d38804a Merge pull request #4209 from nextcloud/automated/noid/master-update-nextcloud-ocp 2022-11-13 16:56:01 +01:00
nextcloud-command
ab12b0fab1 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-11-13 03:38:52 +00:00
dependabot[bot]
a8aa1a44e7 Merge pull request #4205 from nextcloud/dependabot/npm_and_yarn/loader-utils-1.4.2 2022-11-12 06:34:36 +00:00
dependabot[bot]
dd2e47bb0f Bump loader-utils from 1.4.0 to 1.4.2
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 1.4.0 to 1.4.2.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v1.4.2/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v1.4.0...v1.4.2)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-12 03:15:38 +00:00
dependabot[bot]
e01fb76151 Merge pull request #4204 from nextcloud/dependabot/composer/vimeo/psalm-4.30.0 2022-11-12 03:14:11 +00:00
Nextcloud bot
7288168dd7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-12 02:22:13 +00:00
dependabot[bot]
2a48b4606b Bump vimeo/psalm from 4.29.0 to 4.30.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.29.0 to 4.30.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.29.0...4.30.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-12 02:01:17 +00:00
Julius Härtl
fd3fef9ccf Merge pull request #4200 from meltzow/patch-1
add a new mobile client for android and iOS to readme
2022-11-11 15:47:43 +01:00
Julius Härtl
847e2da3c7 Update README.md
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-11 15:47:25 +01:00
Julius Härtl
56935b708a Merge pull request #3598 from nextcloud/bugfix/noid/circle-delete
Handle circle deletion event
2022-11-11 13:27:21 +01:00
Julius Härtl
2ba8fb9afc Also handle user/group deletion in the listener
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-11 10:24:03 +01:00
Julius Härtl
76fd901062 Handle circle deletion event and add cleanup job
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-11 10:24:02 +01:00
Nextcloud bot
b42076ccb8 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-11 02:21:17 +00:00
Julius Härtl
4239571455 Merge pull request #4180 from jszeibert/bugfix/4162
minor style fixes
2022-11-10 09:31:15 +01:00
Johannes Szeibert
afc23d3f2c minor style fixes
Signed-off-by: Johannes Szeibert <johannes@szeibert.de>
2022-11-10 09:05:36 +01:00
Nextcloud bot
e0a02609af [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-10 02:22:55 +00:00
Mario Meltzow
78039f8fcb add new mobile client for android and iOS
Signed-off-by: Mario Meltzow <meltzow@users.noreply.github.com>
2022-11-09 22:08:37 +01:00
Marcel Klehr
1a654925e8 Merge pull request #4184 from nextcloud/bugfix/noid/integration-validators 2022-11-09 14:12:33 +01:00
Julius Härtl
071cfca241 Merge pull request #4196 from nextcloud/bugfix/noid/userid-prop
Add missing userId property
2022-11-09 10:57:23 +01:00
Julius Härtl
e93006ded0 Add missing userId property
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-09 08:53:38 +01:00
Nextcloud bot
4bc7a61f8f [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-09 02:21:41 +00:00
dependabot[bot]
e55b3a0a26 Merge pull request #4122 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/stylelint-config-2.3.0 2022-11-07 19:49:08 +00:00
Julius Härtl
0c59a85c9c Remove legacy v-deep selector
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-07 20:42:46 +01:00
dependabot[bot]
09e0d2e143 Bump @nextcloud/stylelint-config from 2.2.0 to 2.3.0
Bumps [@nextcloud/stylelint-config](https://github.com/nextcloud/stylelint-config) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/nextcloud/stylelint-config/releases)
- [Changelog](https://github.com/nextcloud/stylelint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/stylelint-config/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/stylelint-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 20:42:45 +01:00
dependabot[bot]
0fd9e62340 Merge pull request #3966 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/eslint-config-8.1.2 2022-11-07 19:28:25 +00:00
Julius Härtl
ccf669bc85 Fix eslint errors
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-07 20:22:45 +01:00
dependabot[bot]
5eb0091c35 Bump @nextcloud/eslint-config from 8.0.0 to 8.1.2
Bumps [@nextcloud/eslint-config](https://github.com/nextcloud/eslint-config) from 8.0.0 to 8.1.2.
- [Release notes](https://github.com/nextcloud/eslint-config/releases)
- [Changelog](https://github.com/nextcloud/eslint-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/eslint-config/compare/v8.0.0...v8.1.2)

---
updated-dependencies:
- dependency-name: "@nextcloud/eslint-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 20:15:53 +01:00
Julius Härtl
6ea0e24d44 Merge pull request #4074 from shoetten/feature/stack-dragndrop
Improve stack drag and drop behavior
2022-11-07 20:02:44 +01:00
Simon Hötten
cd5753f247 only drag stack by title
Signed-off-by: Simon Hötten <s+git@hoetten.org>
2022-11-07 19:54:25 +01:00
Simon Hötten
467a3a454e don't edit stack title when dragging
Signed-off-by: Simon Hötten <s+git@hoetten.org>
2022-11-07 19:54:25 +01:00
Simon Hötten
0ae73b57d5 allow to cancel stack title edit
Signed-off-by: Simon Hötten <s+git@hoetten.org>
2022-11-07 19:54:25 +01:00
Julius Härtl
95837d0626 Merge pull request #4194 from nextcloud/3on108/master
Permanently delete deck cards marked as deleted after 5 min in a cron job
2022-11-07 18:26:06 +01:00
Michal Polacik
8698e2ce3f Permanently delete deck cards marked as deleted after 5 min in a cron job
Limit deleted cards in one cron job run to 500

Converted spaces to tabs

Added missing import for CardMapper class

Added another missing import for CardMapper class

Fixed response object in findToDelete method + fixed 2 misspellings in API.md

Fixed invalid parameter type

Fix DeleteCronTest

Signed-off-by: Marcel Klehr <mklehr@gmx.net>

Fix lint errors

Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-11-07 17:26:12 +01:00
Julius Härtl
19f466fd4d Merge pull request #4191 from nextcloud/deps/vue-richtext 2022-11-07 14:55:32 +01:00
Julius Härtl
07bc1456cd Move all to @nextcloud/vue-richtext
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-07 08:35:33 +01:00
Julius Härtl
6bd89da255 Merge pull request #4189 from nextcloud/automated/noid/master-update-nextcloud-ocp 2022-11-07 08:11:43 +01:00
nextcloud-command
c3c886ed7e Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-11-06 03:35:08 +00:00
dependabot[bot]
f28b25c6ba Merge pull request #4186 from nextcloud/dependabot/npm_and_yarn/master/vue/test-utils-1.3.3 2022-11-05 07:07:05 +00:00
dependabot[bot]
fba496ea68 Bump @vue/test-utils from 1.3.0 to 1.3.3
Bumps [@vue/test-utils](https://github.com/vuejs/test-utils) from 1.3.0 to 1.3.3.
- [Release notes](https://github.com/vuejs/test-utils/releases)
- [Commits](https://github.com/vuejs/test-utils/commits)

---
updated-dependencies:
- dependency-name: "@vue/test-utils"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-05 03:21:09 +00:00
dependabot[bot]
71ca523745 Merge pull request #4185 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.20.1 2022-11-05 03:03:19 +00:00
Nextcloud bot
56f9d8db1d [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-05 02:22:29 +00:00
dependabot[bot]
95b1f4ed5e Bump @babel/runtime from 7.20.0 to 7.20.1
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.20.0 to 7.20.1.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.1/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-05 02:02:19 +00:00
Nextcloud bot
f0bf0d448b [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-04 02:21:17 +00:00
Julius Härtl
ed282479a1 Fix validation of attachment data
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-11-03 20:39:20 +01:00
Julius Härtl
b648947ad7 Merge pull request #2272 from nextcloud/enh/clickOutsideToCloseSidebar 2022-11-03 20:10:33 +01:00
Marcel Klehr
723fb807da Fix lint errors
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-11-03 18:25:48 +01:00
Marcel Klehr
7a23f3b0d2 Fix click-outside for sidebar
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-11-03 18:19:40 +01:00
Jakob Röhrl
8fc4238bd9 try to do it in App.vue
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2022-11-03 15:09:35 +01:00
Jakob Röhrl
d5dfd2c80c click outside to close sidebar
Signed-off-by: Jakob Röhrl <jakob.roehrl@web.de>
2022-11-03 15:06:20 +01:00
Nextcloud bot
c32a6070f5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-03 02:21:14 +00:00
Nextcloud bot
1405220d81 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-02 02:21:33 +00:00
Nextcloud bot
ae73912343 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-11-01 02:21:39 +00:00
Julius Härtl
d8e423b45e Merge pull request #3321 from estromenko/fix-archived-stack-button
Make it possible to unarchive all archived cards
2022-10-31 21:42:14 +01:00
Julius Härtl
805f185191 Merge pull request #4173 from nextcloud/bugfix/noid/card-sanity-check 2022-10-31 21:17:31 +01:00
Julius Härtl
a231061043 Merge pull request #4059 from nextcloud/feature/improve-security-level 2022-10-31 12:59:12 +01:00
Julius Härtl
1f66c66ad3 Unify getting the share for attachments
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-31 12:48:51 +01:00
Julius Härtl
39c59a3bd6 Add integration test for attachment handling on cards
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-31 12:48:50 +01:00
Julius Härtl
bfec6f5ad4 Add some tests for parameter validation
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-31 12:47:35 +01:00
Nextcloud bot
f35a9d08e5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-31 02:21:04 +00:00
Julius Härtl
bb8b8c7bb7 Merge pull request #4170 from nextcloud/automated/noid/master-update-nextcloud-ocp
[master] Update nextcloud/ocp dependency
2022-10-30 08:40:41 +01:00
nextcloud-command
10495e5fe1 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-10-30 03:56:08 +00:00
Nextcloud bot
9caacda036 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-30 02:24:09 +00:00
Julius Härtl
7c960cbc5f Merge pull request #4156 from oneWaveAdrian/2906-visual-card-id
feat: #2906 add card ID badge
2022-10-29 12:37:59 +02:00
Julius Härtl
df10c7b2fe Merge pull request #4168 from nextcloud/dependabot/github_actions/andstor/file-existence-action-2 2022-10-29 12:29:26 +02:00
dependabot[bot]
96c7fe3b94 Merge pull request #4166 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.11.0 2022-10-29 09:10:20 +00:00
Adrian Missy
f7717aa02a feat: #2906 add card ID badge
- adds vscode settings file to gitingore
- adds new badge for card ID
- adds card ID to board filter
- adds settings to disable card ID badge

Signed-off-by: Adrian Missy <adrian.missy@onewavestudios.com>
2022-10-29 10:25:28 +02:00
dependabot[bot]
1598896157 Merge pull request #4169 from nextcloud/dependabot/github_actions/shivammathur/setup-php-2.22.0 2022-10-29 06:12:21 +00:00
dependabot[bot]
54f70bc5d0 Bump cypress from 10.10.0 to 10.11.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.10.0 to 10.11.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.10.0...v10.11.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-29 05:29:21 +00:00
dependabot[bot]
a740c7ce0d Merge pull request #4167 from nextcloud/dependabot/npm_and_yarn/master/jest-29.2.2 2022-10-29 05:28:22 +00:00
dependabot[bot]
26ff25af72 Merge pull request #4165 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/webpack-vue-config-5.4.0 2022-10-29 04:46:44 +00:00
dependabot[bot]
31da745700 Merge pull request #4164 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.20.0 2022-10-29 04:18:02 +00:00
dependabot[bot]
566f0f923a Merge pull request #4163 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.26 2022-10-29 03:37:06 +00:00
Nextcloud bot
e78fb49cf9 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-29 02:23:23 +00:00
dependabot[bot]
2c7878b910 Bump shivammathur/setup-php from 2.21.2 to 2.22.0
Bumps [shivammathur/setup-php](https://github.com/shivammathur/setup-php) from 2.21.2 to 2.22.0.
- [Release notes](https://github.com/shivammathur/setup-php/releases)
- [Commits](https://github.com/shivammathur/setup-php/compare/2.21.2...2.22.0)

---
updated-dependencies:
- dependency-name: shivammathur/setup-php
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-29 01:05:45 +00:00
dependabot[bot]
43d28eb68a Bump andstor/file-existence-action from 1 to 2
Bumps [andstor/file-existence-action](https://github.com/andstor/file-existence-action) from 1 to 2.
- [Release notes](https://github.com/andstor/file-existence-action/releases)
- [Commits](https://github.com/andstor/file-existence-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: andstor/file-existence-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-29 01:05:42 +00:00
dependabot[bot]
03832ee93e Bump jest from 29.2.1 to 29.2.2
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.2.1 to 29.2.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.2.2/packages/jest)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-29 01:03:23 +00:00
dependabot[bot]
bbac134b0f Bump @nextcloud/webpack-vue-config from 5.3.0 to 5.4.0
Bumps [@nextcloud/webpack-vue-config](https://github.com/nextcloud/webpack-vue-config) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/nextcloud/webpack-vue-config/releases)
- [Changelog](https://github.com/nextcloud/webpack-vue-config/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/webpack-vue-config/compare/v5.3.0...v5.4.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/webpack-vue-config"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-29 01:02:44 +00:00
dependabot[bot]
f13c260e9b Bump @babel/runtime from 7.19.4 to 7.20.0
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.19.4 to 7.20.0.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.0/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-29 01:02:23 +00:00
dependabot[bot]
eb4c572226 Bump phpunit/phpunit from 9.5.25 to 9.5.26
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.25 to 9.5.26.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.25...9.5.26)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-29 01:01:05 +00:00
Julius Härtl
1c75744f4a Merge pull request #4076 from Jerome-Herbinet/patch-2
Fix : Dashboard Deck widget overlap + align issue
2022-10-27 19:50:32 +02:00
Marcel Klehr
e5959fa8da Update Stack.vue
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-10-27 12:30:49 +02:00
Marcel Klehr
b47c7aca34 Merge branch 'master' into fix-archived-stack-button
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-10-27 12:19:53 +02:00
Nextcloud bot
ca91e7a2ed [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-27 02:21:14 +00:00
Julius Härtl
b92fddaf65 Merge pull request #4150 from nextcloud/automated/noid/master-update-nextcloud-ocp
[master] Update nextcloud/ocp dependency
2022-10-26 21:13:27 +02:00
dependabot[bot]
b7de565bac Merge pull request #4147 from nextcloud/dependabot/npm_and_yarn/master/jest-29.2.1 2022-10-26 11:50:52 +00:00
dependabot[bot]
9c8e1a9f6e Bump jest from 29.2.0 to 29.2.1
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.2.0 to 29.2.1.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.2.1/packages/jest)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-26 13:45:00 +02:00
nextcloud-command
7e479b0505 Update psalm baseline
Signed-off-by: GitHub <noreply@github.com>
2022-10-25 21:21:52 +02:00
Julius Härtl
8f65ec2ede Merge pull request #4153 from nextcloud/bugfix/4152/fix-duedate-activity 2022-10-25 21:16:08 +02:00
Julius Härtl
6912ae09cf Fix integration test run script
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-25 21:07:21 +02:00
Nextcloud bot
eaa3315348 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-25 02:26:16 +00:00
Joas Schilling
5669bd73cc Fix Duedate activity
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-24 12:32:56 +02:00
Nextcloud bot
57989384fa [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-24 02:21:54 +00:00
Julius Härtl
74c04b2d71 Merge pull request #4148 from nextcloud/dependabot/github_actions/peter-evans/create-pull-request-4
Bump peter-evans/create-pull-request from 3 to 4
2022-10-22 11:03:42 +02:00
dependabot[bot]
74565debbb Merge pull request #4149 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.1 2022-10-22 02:49:33 +00:00
dependabot[bot]
a2744823c1 Bump @nextcloud/vue from 7.0.0 to 7.0.1
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0...v7.0.1)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 02:23:09 +00:00
dependabot[bot]
a918459105 Bump peter-evans/create-pull-request from 3 to 4
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 3 to 4.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v3...v4)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-22 01:06:06 +00:00
Luka Trovic
1217b37b19 feat: add validators to check values in services
Signed-off-by: Luka Trovic <luka@nextcloud.com>
2022-10-21 18:08:19 +02:00
Julius Härtl
f9acf7778f Merge pull request #4091 from nextcloud/migrate-master-christophwurst-package 2022-10-21 18:00:04 +02:00
Joas Schilling
8537bd00c7 Migrate to nextcloud/OCP package in master
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-20 09:42:13 +02:00
Julius Härtl
4b62c34cc3 Merge pull request #4143 from TehThanos/lintMakeTarget
Added lint rule to Makefile
2022-10-20 08:29:15 +02:00
Thanos Kamber
94d84f2b16 Added lint rule to Makefile
Signed-off-by: Thanos Kamber <thanos.kamber@gmail.com>
2022-10-20 07:41:49 +03:00
Julius Härtl
14e7c33886 Merge pull request #4053 from nextcloud/dependabot/github_actions/actions/upload-artifact-3 2022-10-19 21:50:40 +02:00
Julius Härtl
60ee9f77ca Merge pull request #3774 from Ben-Ro/CTRL/CMD_+_ENTER_to_Save_Changes_on_Card_Description
feat: #3268 CTRL/CMD + ENTER to Save Changes on Card Description
2022-10-19 21:49:40 +02:00
Julius Härtl
3eaba6fe1a Merge pull request #4101 from mokkin/patch-1
disables autocomplete on card creation
2022-10-19 21:10:45 +02:00
Julius Härtl
cef14ed254 Merge pull request #4026 from nextcloud/dependabot/composer/tests/integration/guzzlehttp/guzzle-7.5.0 2022-10-19 21:10:25 +02:00
dependabot[bot]
0828ae6017 Update guzzlehttp/guzzle requirement in /tests/integration
Updates the requirements on [guzzlehttp/guzzle](https://github.com/guzzle/guzzle) to permit the latest version.
- [Release notes](https://github.com/guzzle/guzzle/releases)
- [Changelog](https://github.com/guzzle/guzzle/blob/master/CHANGELOG.md)
- [Commits](https://github.com/guzzle/guzzle/compare/7.4.5...7.5.0)

---
updated-dependencies:
- dependency-name: guzzlehttp/guzzle
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-19 21:04:09 +02:00
ben
3af54d7186 Use VueEasyMDE initialized event instead of setTimeout as proposed by @juliushaertl
Signed-off-by: ben <ben@ro.tt>
2022-10-19 21:02:35 +02:00
ben
f01a4433ed CTRL/CMD + ENTER to Save Changes on Card Description - fixes nextcloud/deck#3268
Signed-off-by: ben <ben@ro.tt>
2022-10-19 21:02:35 +02:00
Jérôme Herbinet
4f5eeffdf9 A bit more space above the bottom button
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2022-10-19 21:01:32 +02:00
Jérôme Herbinet
86ab64160c Fix : Dashboard Deck widget overlap + align issue
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2022-10-19 21:01:32 +02:00
mokkin
b64b29cf6e disables autocomplete on card creation
solves https://github.com/nextcloud/deck/issues/4083

Signed-off-by: mokkin <markus@haybach.com>
2022-10-19 20:57:49 +02:00
Julius Härtl
d93b431554 Merge pull request #4115 from nextcloud/bugfix/4112/fix-duedate-format 2022-10-19 20:56:27 +02:00
Julius Härtl
d00bd159d2 Avoid always setting the current time on card updates
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-19 20:03:22 +02:00
Marcel Klehr
816a8c08f0 Fix duedate tests
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-10-19 19:46:10 +02:00
Joas Schilling
2c3113334a Fix issue with duedate format
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-19 19:46:09 +02:00
Julius Härtl
857a0797b4 Pin postgres to 14
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-18 11:25:22 +02:00
Nextcloud bot
efc3511e15 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-18 02:21:38 +00:00
dependabot[bot]
aaccd2e7d2 Merge pull request #4025 from nextcloud/dependabot/npm_and_yarn/master/vue-at-2.5.1 2022-10-17 15:57:09 +00:00
dependabot[bot]
1921143bfd Bump vue-at from 2.5.0 to 2.5.1
Bumps [vue-at](https://github.com/fritx/vue-at) from 2.5.0 to 2.5.1.
- [Release notes](https://github.com/fritx/vue-at/releases)
- [Commits](https://github.com/fritx/vue-at/commits)

---
updated-dependencies:
- dependency-name: vue-at
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 14:38:58 +00:00
Julius Härtl
07b7df8e68 Merge pull request #4126 from nextcloud/dependabot/npm_and_yarn/master/vue-and-vue-template-compiler-2.7.13 2022-10-17 16:37:44 +02:00
Julius Härtl
c4804cfcb7 Merge pull request #4134 from DJE98/patch-2
Added nextcloud information in the  development description
2022-10-17 14:56:05 +02:00
Dennis Eisermann
6bc5f1df47 Added nextcloud information in the development description
Added more information about the nextcloud environment manually and with docker in the development description.

Signed-off-by: Dennis Eisermann <73851419+DJE98@users.noreply.github.com>
2022-10-17 14:46:45 +02:00
Julius Härtl
f8a8cc691c Merge pull request #4130 from DJE98/patch-1
Updated nodejs version requirement
2022-10-17 13:46:58 +02:00
Julius Härtl
a4b2a137e5 Merge pull request #4065 from nextcloud/perf/noid/circles-files 2022-10-17 11:39:21 +02:00
Dennis Eisermann
96b5c3da1d Updated nodejs version requirement
Updated nodejs version requirement from 14 to 16

Signed-off-by: Dennis Eisermann <73851419+DJE98@users.noreply.github.com>
2022-10-17 11:24:59 +02:00
Julius Härtl
a716c0968a Merge pull request #4127 from nextcloud/dependabot/composer/vimeo/psalm-4.29.0
Bump vimeo/psalm from 4.28.0 to 4.29.0
2022-10-15 10:38:19 +02:00
dependabot[bot]
48c8333ed1 Bump vue and vue-template-compiler
Bumps [vue](https://github.com/vuejs/core) and [vue-template-compiler](https://github.com/vuejs/vue). These dependencies needed to be updated together.

Updates `vue` from 2.7.9 to 2.7.13
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

Updates `vue-template-compiler` from 2.7.9 to 2.7.13
- [Release notes](https://github.com/vuejs/vue/releases)
- [Changelog](https://github.com/vuejs/vue/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vue/compare/v2.7.9...v2.7.13)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: vue-template-compiler
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 08:13:16 +00:00
dependabot[bot]
8224ff13c3 Merge pull request #4124 from nextcloud/dependabot/npm_and_yarn/master/jest-29.2.0 2022-10-15 08:12:18 +00:00
dependabot[bot]
e150cd25e8 Merge pull request #4125 from nextcloud/dependabot/npm_and_yarn/master/babel/runtime-7.19.4 2022-10-15 04:49:59 +00:00
dependabot[bot]
6206a0cdd1 Bump jest from 29.1.2 to 29.2.0
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.1.2 to 29.2.0.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.2.0/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 03:09:51 +00:00
dependabot[bot]
d66b54dd13 Merge pull request #4123 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.10.0 2022-10-15 03:08:42 +00:00
dependabot[bot]
5491c9444e Merge pull request #4121 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.0 2022-10-15 02:29:16 +00:00
dependabot[bot]
0fc5708253 Bump vimeo/psalm from 4.28.0 to 4.29.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.28.0 to 4.29.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.28.0...4.29.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 02:09:47 +00:00
dependabot[bot]
918342eeb7 Bump @babel/runtime from 7.19.0 to 7.19.4
Bumps [@babel/runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime) from 7.19.0 to 7.19.4.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.19.4/packages/babel-runtime)

---
updated-dependencies:
- dependency-name: "@babel/runtime"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 01:03:24 +00:00
dependabot[bot]
ec66e0f291 Bump cypress from 10.9.0 to 10.10.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.9.0 to 10.10.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.9.0...v10.10.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 01:02:49 +00:00
dependabot[bot]
d76a1f539b Bump @nextcloud/vue from 7.0.0-beta.7 to 7.0.0
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0-beta.7 to 7.0.0.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0-beta.7...v7.0.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-15 01:02:19 +00:00
Julius Härtl
c81501c2ea Cache user membership for circles
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-14 23:11:19 +02:00
Julius Härtl
d62bd4e99a Merge pull request #3439 from nextcloud/bugfix/3431 2022-10-14 12:46:11 +02:00
Julius Härtl
863ce50a27 Activity: Set event link also for notifications that get emitted from activity
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-14 10:52:25 +02:00
Julius Härtl
a9c4e626ac Merge pull request #4113 from nextcloud/bugfix/noid/fix-sorting-stacks 2022-10-13 15:27:32 +02:00
Joas Schilling
982df96c3c Fix sorting stacks
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-13 14:07:59 +02:00
Julius Härtl
bc070cbeb9 Merge pull request #4114 from nextcloud/tests/drop-mapper-test-util 2022-10-13 14:07:45 +02:00
Julius Härtl
dbac5f82d3 Avoid using dropped Test\AppFramework\Db\MapperTestUtility
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-10-13 13:01:15 +02:00
Nextcloud bot
58c7786cf7 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-13 02:22:21 +00:00
Julius Härtl
14db941950 Merge pull request #4102 from nextcloud/fix/no-card-menu-without-description 2022-10-11 14:53:15 +02:00
dependabot[bot]
36a531c204 Merge pull request #4111 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/axios-2.1.0 2022-10-08 08:13:54 +00:00
dependabot[bot]
0fa1f74699 Merge pull request #4110 from nextcloud/dependabot/npm_and_yarn/master/relative-ci/agent-4.1.1 2022-10-08 07:19:53 +00:00
dependabot[bot]
9189723970 Bump @nextcloud/axios from 2.0.0 to 2.1.0
Bumps [@nextcloud/axios](https://github.com/nextcloud/nextcloud-axios) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/nextcloud/nextcloud-axios/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-axios/compare/v2.0.0...v2.1.0)

---
updated-dependencies:
- dependency-name: "@nextcloud/axios"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 04:12:54 +00:00
dependabot[bot]
d7bcdeb5a7 Merge pull request #4109 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-richtext-2.0.4 2022-10-08 04:11:54 +00:00
dependabot[bot]
4d9e81e22f Merge pull request #4108 from nextcloud/dependabot/composer/vimeo/psalm-4.28.0 2022-10-08 02:31:48 +00:00
dependabot[bot]
466c39d12a Bump @relative-ci/agent from 4.1.0 to 4.1.1
Bumps [@relative-ci/agent](https://github.com/relative-ci/agent) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/relative-ci/agent/releases)
- [Commits](https://github.com/relative-ci/agent/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: "@relative-ci/agent"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 02:26:40 +00:00
Nextcloud bot
86e7d04c80 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-08 02:21:49 +00:00
dependabot[bot]
a6b5ae3fde Bump @nextcloud/vue-richtext from 2.0.3 to 2.0.4
Bumps [@nextcloud/vue-richtext](https://github.com/nextcloud/vue-richtext) from 2.0.3 to 2.0.4.
- [Release notes](https://github.com/nextcloud/vue-richtext/releases)
- [Changelog](https://github.com/nextcloud/vue-richtext/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/vue-richtext/compare/v2.0.3...v2.0.4)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue-richtext"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 02:12:43 +00:00
dependabot[bot]
bb3f41dd69 Bump vimeo/psalm from 4.27.0 to 4.28.0
Bumps [vimeo/psalm](https://github.com/vimeo/psalm) from 4.27.0 to 4.28.0.
- [Release notes](https://github.com/vimeo/psalm/releases)
- [Commits](https://github.com/vimeo/psalm/compare/4.27.0...4.28.0)

---
updated-dependencies:
- dependency-name: vimeo/psalm
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-08 01:01:00 +00:00
Marcel Klehr
b2bdf4a49d Fix Card menu not displaying when description is not set
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
2022-10-07 11:36:09 +02:00
Nextcloud bot
91268cdd4c [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-06 02:26:14 +00:00
Nextcloud bot
6b621d2faa [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-05 02:21:21 +00:00
Julius Härtl
93db4fd2d8 Merge pull request #4096 from nextcloud/fix/remove-util-constant-uses 2022-10-02 14:17:55 +02:00
Côme Chilliet
f166552de0 Remove uses of Util:: loglevel constants removed from server
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2022-10-02 13:54:56 +02:00
Julius Härtl
aab3352624 Merge pull request #4084 from nextcloud/bugfix/noid/fix-missing-icon-for-activities 2022-10-01 14:49:19 +02:00
dependabot[bot]
26f33e5bc6 Merge pull request #4089 from nextcloud/dependabot/npm_and_yarn/master/cypress-10.9.0 2022-10-01 11:10:08 +00:00
dependabot[bot]
da4db42380 Bump cypress from 10.8.0 to 10.9.0
Bumps [cypress](https://github.com/cypress-io/cypress) from 10.8.0 to 10.9.0.
- [Release notes](https://github.com/cypress-io/cypress/releases)
- [Changelog](https://github.com/cypress-io/cypress/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/cypress-io/cypress/compare/v10.8.0...v10.9.0)

---
updated-dependencies:
- dependency-name: cypress
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 07:38:30 +00:00
dependabot[bot]
aa46b49ab7 Merge pull request #4088 from nextcloud/dependabot/npm_and_yarn/master/jest-29.1.2 2022-10-01 07:37:32 +00:00
dependabot[bot]
b70e893364 Merge pull request #4087 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-richtext-2.0.3 2022-10-01 06:22:52 +00:00
Nextcloud bot
a6bb454df5 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-01 02:24:36 +00:00
Nextcloud bot
099e76aeab [tx-robot] Update transifex configuration
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-10-01 02:24:14 +00:00
dependabot[bot]
309b00f2d9 Bump jest from 29.0.1 to 29.1.2
Bumps [jest](https://github.com/facebook/jest/tree/HEAD/packages/jest) from 29.0.1 to 29.1.2.
- [Release notes](https://github.com/facebook/jest/releases)
- [Changelog](https://github.com/facebook/jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/facebook/jest/commits/v29.1.2/packages/jest)

---
updated-dependencies:
- dependency-name: jest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 02:18:38 +00:00
dependabot[bot]
acd181133c Merge pull request #4085 from nextcloud/dependabot/composer/phpunit/phpunit-9.5.25 2022-10-01 02:12:08 +00:00
dependabot[bot]
86f8999d30 Bump @nextcloud/vue-richtext from 2.0.1 to 2.0.3
Bumps [@nextcloud/vue-richtext](https://github.com/nextcloud/vue-richtext) from 2.0.1 to 2.0.3.
- [Release notes](https://github.com/nextcloud/vue-richtext/releases)
- [Changelog](https://github.com/nextcloud/vue-richtext/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/vue-richtext/compare/v2.0.1...v2.0.3)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue-richtext"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 02:07:41 +00:00
dependabot[bot]
661a64656e Merge pull request #4086 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.0-beta.7 2022-10-01 02:06:43 +00:00
dependabot[bot]
3380103a8f Bump @nextcloud/vue from 7.0.0-beta.6 to 7.0.0-beta.7
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0-beta.6 to 7.0.0-beta.7.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0-beta.6...v7.0.0-beta.7)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 01:03:39 +00:00
dependabot[bot]
7ebf6e4150 Bump phpunit/phpunit from 9.5.24 to 9.5.25
Bumps [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit) from 9.5.24 to 9.5.25.
- [Release notes](https://github.com/sebastianbergmann/phpunit/releases)
- [Changelog](https://github.com/sebastianbergmann/phpunit/blob/main/ChangeLog-9.5.md)
- [Commits](https://github.com/sebastianbergmann/phpunit/compare/9.5.24...9.5.25)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-01 01:02:13 +00:00
Joas Schilling
05fdd9765c Fix missing icon for activity rendering
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-30 09:57:02 +02:00
Nextcloud bot
72a8c4dd83 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-30 03:23:38 +00:00
Nextcloud bot
423630bea6 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-28 02:46:15 +00:00
Julius Härtl
2c9bcbae0b Merge pull request #4080 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.0-beta.6 2022-09-27 00:20:45 +02:00
dependabot[bot]
f70747ea15 Bump @nextcloud/vue from 7.0.0-beta.5 to 7.0.0-beta.6
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0-beta.5 to 7.0.0-beta.6.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0-beta.5...v7.0.0-beta.6)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 22:12:19 +00:00
Julien Veyssier
b4c1525958 Merge pull request #4077 from nextcloud/fix/noid/private-reference-class
use OCP\Collaboration\Reference\Reference
2022-09-26 19:48:36 +02:00
Julien Veyssier
ed5df26704 use OCP\Collaboration\Reference\Reference instead of the recently removed OC\Collaboration\Reference\Reference
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-26 17:23:00 +02:00
Julius Härtl
d8253d41fd Merge pull request #4067 from Jerome-Herbinet/patch-1
Fix : Overlapping problem in the deletions tab
2022-09-26 10:36:56 +02:00
Jérôme Herbinet
4eb7988e2c Merge branch 'master' into patch-1 2022-09-26 09:03:14 +02:00
Nextcloud bot
4f68aed812 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-26 02:47:15 +00:00
Nextcloud bot
322d01d3e1 [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-24 02:47:21 +00:00
dependabot[bot]
aa34a0cce3 Merge pull request #4073 from nextcloud/dependabot/npm_and_yarn/master/nextcloud/vue-7.0.0-beta.5 2022-09-24 02:42:20 +00:00
dependabot[bot]
93a988f8f1 Bump @nextcloud/vue from 7.0.0-beta.4 to 7.0.0-beta.5
Bumps [@nextcloud/vue](https://github.com/nextcloud/nextcloud-vue) from 7.0.0-beta.4 to 7.0.0-beta.5.
- [Release notes](https://github.com/nextcloud/nextcloud-vue/releases)
- [Changelog](https://github.com/nextcloud/nextcloud-vue/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nextcloud/nextcloud-vue/compare/v7.0.0-beta.4...v7.0.0-beta.5)

---
updated-dependencies:
- dependency-name: "@nextcloud/vue"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-24 01:02:59 +00:00
Julius Härtl
630fa5b07e Merge pull request #4071 from nextcloud/enh/import
Use global import for nextcloud-vue
2022-09-23 12:00:18 +02:00
Julius Härtl
77f623d261 Merge pull request #4066 from nextcloud/bugfix/delete_acl
Fix deleteAcl
2022-09-23 10:05:09 +02:00
Nextcloud bot
30a4e88cff [tx-robot] updated from transifex
Signed-off-by: Nextcloud bot <bot@nextcloud.com>
2022-09-23 02:42:07 +00:00
Julius Härtl
01b897bd8b Fix imports
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-22 20:33:58 +02:00
Julius Härtl
be36e6de6a Use global import for nextcloud-vue
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2022-09-22 20:33:58 +02:00
Julius Härtl
96b7a7ccb3 Merge pull request #4069 from nextcloud/fix/noid/reference-widget-style 2022-09-22 20:28:56 +02:00
Julius Härtl
d8dd65d7ee Merge pull request #4070 from nextcloud/update-master-version 2022-09-22 20:28:20 +02:00
Julien Veyssier
aecdcb847d fix width issues
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-22 17:05:53 +02:00
Joas Schilling
a383d389c4 Add Nextcloud 25 support on master
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-09-22 13:22:33 +02:00
Julien Veyssier
565b2edfdd use richtext component for description, adjust style to make it work in Text
Signed-off-by: Julien Veyssier <eneiluj@posteo.net>
2022-09-22 13:21:33 +02:00
Jérôme Herbinet
c1b4beeb64 Fix : Overlapping problem in the deletions tab
Overlapping problem in the deletions tab fix when titles are long and displayed on two lines 
Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>

Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
2022-09-22 11:09:15 +02:00
raul
9d489564d6 Fix psalm test
Signed-off-by: raul <raul@nextcloud.com>
2022-09-22 08:46:35 +02:00
raul
24a4260e55 Fix deleteAcl
Signed-off-by: raul <raul@nextcloud.com>
2022-09-22 08:46:35 +02:00
dependabot[bot]
71e5c0d743 Bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-10 04:06:23 +00:00
Julius Härtl
48d28dc317 Merge branch 'master' into fix-archived-stack-button 2022-08-09 07:43:24 +02:00
Julius Härtl
ad007bd51a Merge branch 'master' into fix-archived-stack-button 2022-08-02 12:24:33 +02:00
estromenko
6ed7f672fc Make it possible to unarchive all archived cards
Signed-off-by: Eduard Stromenko <estromenko@mail.ru>
2022-04-11 15:57:58 +02:00
165 changed files with 6169 additions and 4994 deletions

View File

@@ -11,6 +11,58 @@ updates:
open-pull-requests-limit: 10
reviewers:
- juliushaertl
- package-ecosystem: npm
target-branch: stable25
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: npm
target-branch: stable24
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: npm
target-branch: stable23
versioning-strategy: lockfile-only
directory: "/"
schedule:
interval: weekly
day: saturday
time: "03:00"
timezone: Europe/Paris
ignore:
- dependency-name: "*"
update-types: ["version-update:semver-major"]
open-pull-requests-limit: 30
labels:
- 3. to review
- dependencies
- package-ecosystem: composer
directory: "/"
schedule:

View File

@@ -24,7 +24,7 @@ jobs:
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.22.0
with:
php-version: '7.4'
tools: composer

View File

@@ -44,7 +44,7 @@ jobs:
expression: "//info//dependencies//nextcloud/@min-version"
- name: Read package.json node and npm engines version
uses: skjnldsv/read-package-engines-version-actions@v1.2
uses: skjnldsv/read-package-engines-version-actions@v2.0
id: versions
# Continue if no package.json
continue-on-error: true
@@ -66,14 +66,14 @@ jobs:
run: npm i -g npm@"${{ steps.versions.outputs.npmVersion }}"
- name: Set up php ${{ env.PHP_VERSION }}
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.22.0
with:
php-version: ${{ env.PHP_VERSION }}
coverage: none
- name: Check composer.json
id: check_composer
uses: andstor/file-existence-action@v1
uses: andstor/file-existence-action@v2
with:
files: "${{ env.APP_NAME }}/composer.json"

View File

@@ -37,7 +37,7 @@ jobs:
token: ${{ secrets.COMMAND_BOT_PAT }}
- name: Automatic Rebase
uses: cirrus-actions/rebase@1.7
uses: cirrus-actions/rebase@1.8
env:
GITHUB_TOKEN: ${{ secrets.COMMAND_BOT_PAT }}

View File

@@ -52,7 +52,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.22.0
with:
php-version: ${{ matrix.php-versions }}
extensions: mbstring, iconv, fileinfo, intl, sqlite, pdo_sqlite, zip, gd, apcu
@@ -77,14 +77,14 @@ jobs:
php occ app:enable deck
php occ app:list
cd apps/deck
composer install
composer install --no-dev
npm ci
npm run build
cd ../../
curl -v http://localhost:8081/index.php/login
- name: Cypress run
uses: cypress-io/github-action@v4
uses: cypress-io/github-action@v5
with:
record: true
parallel: false
@@ -96,7 +96,7 @@ jobs:
npm_package_name: ${{ env.APP_NAME }}
- name: Upload test failure screenshots
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: failure()
with:
name: Upload screenshots
@@ -104,7 +104,7 @@ jobs:
retention-days: 5
- name: Upload nextcloud logs
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v3
if: failure()
with:
name: Upload nextcloud log

View File

@@ -25,7 +25,7 @@ jobs:
steps:
# Github actions bot approve
- uses: hmarr/auto-approve-action@v2
- uses: hmarr/auto-approve-action@v3
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -33,7 +33,7 @@ jobs:
services:
postgres:
image: postgres
image: postgres:14
ports:
- 4445:5432/tcp
env:
@@ -70,7 +70,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.22.0
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit
@@ -79,7 +79,7 @@ jobs:
- name: Set up PHPUnit
working-directory: apps/${{ env.APP_NAME }}
run: composer i
run: composer i --no-dev
- name: Set up Nextcloud
run: |

View File

@@ -19,7 +19,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Set up php${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.22.0
with:
php-version: ${{ matrix.php-versions }}
coverage: none
@@ -33,7 +33,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v3
- name: Set up php
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.22.0
with:
php-version: 7.4
coverage: none

View File

@@ -25,7 +25,7 @@ jobs:
- name: Set up npm7
run: npm i -g npm@7
- name: Setup PHP
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.22.0
with:
php-version: '7.4'
tools: composer

View File

@@ -34,7 +34,7 @@ jobs:
services:
postgres:
image: postgres
image: postgres:14
ports:
- 4445:5432/tcp
env:
@@ -70,7 +70,7 @@ jobs:
path: apps/${{ env.APP_NAME }}
- name: Set up php ${{ matrix.php-versions }}
uses: shivammathur/setup-php@2.21.2
uses: shivammathur/setup-php@2.22.0
with:
php-version: ${{ matrix.php-versions }}
tools: phpunit

35
.github/workflows/psalm.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Static analysis
on:
pull_request:
push:
branches:
- master
- main
- stable*
jobs:
static-analysis:
runs-on: ubuntu-latest
name: Nextcloud
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up php
uses: shivammathur/setup-php@2.22.0
with:
php-version: 7.4
coverage: none
- name: Install dependencies
run: composer i
- name: Run coding standards check
run: composer run psalm

View File

@@ -1,31 +0,0 @@
name: Static analysis
on:
pull_request:
push:
branches:
- master
- stable*
jobs:
static-psalm-analysis:
runs-on: ubuntu-latest
strategy:
matrix:
ocp-version: [ 'dev-master' ]
name: Nextcloud ${{ matrix.ocp-version }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up php
uses: shivammathur/setup-php@2.21.2
with:
php-version: 7.4
tools: composer:v1
coverage: none
- name: Install dependencies
run: composer i
- name: Install dependencies
run: composer require --dev christophwurst/nextcloud:${{ matrix.ocp-version }}
- name: Run coding standards check
run: composer run psalm

View File

@@ -0,0 +1,65 @@
# This workflow is provided via the organization template repository
#
# https://github.com/nextcloud/.github
# https://docs.github.com/en/actions/learn-github-actions/sharing-workflows-with-your-organization
name: Update nextcloud/ocp
on:
workflow_dispatch:
schedule:
- cron: "5 2 * * 0"
jobs:
update-nextcloud-ocp:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
branches: ["master", "stable25", "stable24", "stable23"]
name: update-nextcloud-ocp-${{ matrix.branches }}
steps:
- uses: actions/checkout@v3
with:
ref: ${{ matrix.branches }}
submodules: true
- name: Set up php7.4
uses: shivammathur/setup-php@2.22.0
with:
php-version: 7.4
extensions: ctype,curl,dom,fileinfo,gd,intl,json,mbstring,openssl,pdo_sqlite,posix,sqlite,xml,zip
coverage: none
- name: Composer install
run: composer install
- name: Composer update nextcloud/ocp
run: composer require --dev nextcloud/ocp:dev-${{ matrix.branches }}
continue-on-error: true
- name: Reset checkout dirs
run: |
git clean -f 3rdparty
git clean -f vendor
git checkout 3rdparty vendor
continue-on-error: true
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
with:
token: ${{ secrets.COMMAND_BOT_PAT }}
commit-message: Update psalm baseline
committer: GitHub <noreply@github.com>
author: nextcloud-command <nextcloud-command@users.noreply.github.com>
signoff: true
branch: automated/noid/${{ matrix.branches }}-update-nextcloud-ocp
title: "[${{ matrix.branches }}] Update nextcloud/ocp dependency"
body: |
Auto-generated update of [nextcloud/ocp](https://github.com/nextcloud-deps/ocp/) dependency
labels: |
dependencies
3. to review

1
.gitignore vendored
View File

@@ -9,3 +9,4 @@ tests/.phpunit.result.cache
vendor/
.php_cs.cache
\.idea/
settings.json

View File

@@ -1,9 +1,10 @@
[main]
host = https://www.transifex.com
lang_map = bg_BG: bg, cs_CZ: cs, fi_FI: fi, hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja
host = https://www.transifex.com
lang_map = hu_HU: hu, nb_NO: nb, sk_SK: sk, th_TH: th, ja_JP: ja, bg_BG: bg, cs_CZ: cs, fi_FI: fi
[nextcloud.deck]
[o:nextcloud:p:nextcloud:r:deck]
file_filter = translationfiles/<lang>/deck.po
source_file = translationfiles/templates/deck.pot
source_lang = en
type = PO
type = PO

View File

@@ -30,6 +30,16 @@ build: clean-dist install-deps build-js
release: clean-dist install-deps-nodev build-js
lint: lint-js lint-php
lint-js:
npm run lint
npm run stylelint
lint-php:
composer run lint 1>/dev/null
composer run cs:check
build-js: install-deps-js
npm run build

View File

@@ -20,6 +20,7 @@ Deck is a kanban style organization tool aimed at personal planning and project
### Mobile apps
- [Nextcloud Deck app for Android](https://github.com/stefan-niedermann/nextcloud-deck) - It is available in [F-Droid](https://f-droid.org/de/packages/it.niedermann.nextcloud.deck/) and the [Google Play Store](https://play.google.com/store/apps/details?id=it.niedermann.nextcloud.deck.play)
- [deck NG for Android and iOS](https://github.com/meltzow/deck-ng) - It is available in [Google Play Store](https://play.google.com/store/apps/details?id=net.meltzow.deckng) and [Apple App Store](https://apps.apple.com/us/app/deck-ng/id6443334702)
### 3rd-Party Integrations
@@ -65,13 +66,18 @@ Improvements on Nextcloud server and Deck itself will improve the situation.
## Developing
### Nextcloud environment
You need to setup a [development environment](https://docs.nextcloud.com/server/latest/developer_manual//getting_started/devenv.html) of the current nextcloud version. You can also alternatively install & run the [nextcloud docker container](https://github.com/juliushaertl/nextcloud-docker-dev).
After the finished installation, you can clone the deck project directly in the `/[nextcloud-docker-dev-dir]/workspace/server/apps/` folder.
### PHP
Nothing to prepare, just dig into the code.
### JavaScript
This requires at least Node 14 and npm 7 to be installed.
This requires at least Node 16 and npm 7 to be installed.
Deck requires running a `make build-js` to install npm dependencies and build the JavaScript code using webpack. While developing you can also use `make watch` to rebuild everytime the code changes.

View File

@@ -16,7 +16,7 @@
- 🚀 Get your project organized
</description>
<version>1.8.0-beta.1</version>
<version>1.9.0-beta.1</version>
<licence>agpl</licence>
<author>Julius Härtl</author>
<namespace>Deck</namespace>
@@ -34,13 +34,18 @@
<database min-version="9.4">pgsql</database>
<database>sqlite</database>
<database min-version="8.0">mysql</database>
<nextcloud min-version="25" max-version="25"/>
<nextcloud min-version="26" max-version="26"/>
</dependencies>
<background-jobs>
<job>OCA\Deck\Cron\DeleteCron</job>
<job>OCA\Deck\Cron\ScheduledNotifications</job>
<job>OCA\Deck\Cron\CardDescriptionActivity</job>
</background-jobs>
<repair-steps>
<live-migration>
<step>OCA\Deck\Migration\DeletedCircleCleanup</step>
</live-migration>
</repair-steps>
<commands>
<command>OCA\Deck\Command\UserExport</command>
<command>OCA\Deck\Command\BoardImport</command>

View File

@@ -14,12 +14,12 @@
},
"require-dev": {
"roave/security-advisories": "dev-master",
"christophwurst/nextcloud": "dev-master",
"phpunit/phpunit": "^9",
"nextcloud/coding-standard": "^1.0.0",
"symfony/event-dispatcher": "^4.0",
"vimeo/psalm": "^4.3",
"php-parallel-lint/php-parallel-lint": "^1.2"
"php-parallel-lint/php-parallel-lint": "^1.2",
"nextcloud/ocp": "dev-master"
},
"config": {
"optimize-autoloader": true,
@@ -44,5 +44,10 @@
],
"test:unit": "phpunit -c tests/phpunit.xml",
"test:integration": "phpunit -c tests/phpunit.integration.xml && cd tests/integration && ./run.sh"
},
"autoload-dev": {
"psr-4": {
"OCP\\": "vendor/nextcloud/ocp/OCP"
}
}
}

322
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "33c2fe0cccf29841e021001c6430310a",
"content-hash": "ef9413dedd4d47de717c4dea87a07000",
"packages": [
{
"name": "cogpowered/finediff",
@@ -299,50 +299,6 @@
],
"time": "2021-03-30T17:13:30+00:00"
},
{
"name": "christophwurst/nextcloud",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/ChristophWurst/nextcloud_composer.git",
"reference": "6a6fe9467e4427f17b1fade97d6252793fc7a9e8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ChristophWurst/nextcloud_composer/zipball/6a6fe9467e4427f17b1fade97d6252793fc7a9e8",
"reference": "6a6fe9467e4427f17b1fade97d6252793fc7a9e8",
"shasum": ""
},
"require": {
"php": "^7.4 || ~8.0 || ~8.1",
"psr/container": "^1.1.1",
"psr/event-dispatcher": "^1.0",
"psr/log": "^1.1"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "25.0.0-dev"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"AGPL-3.0-or-later"
],
"authors": [
{
"name": "Christoph Wurst",
"email": "christoph@winzerhof-wurst.at"
}
],
"description": "Composer package containing Nextcloud's public API (classes, interfaces)",
"support": {
"issues": "https://github.com/ChristophWurst/nextcloud_composer/issues",
"source": "https://github.com/ChristophWurst/nextcloud_composer/tree/master"
},
"time": "2022-07-06T02:28:38+00:00"
},
{
"name": "composer/package-versions-deprecated",
"version": "1.11.99.5",
@@ -1235,17 +1191,61 @@
"time": "2021-11-10T08:44:10+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.14.0",
"name": "nextcloud/ocp",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1"
"url": "https://github.com/nextcloud-deps/ocp.git",
"reference": "bf16e87ef27d0c3d5812cc2352ecf50f2b96e669"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1",
"reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1",
"url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/bf16e87ef27d0c3d5812cc2352ecf50f2b96e669",
"reference": "bf16e87ef27d0c3d5812cc2352ecf50f2b96e669",
"shasum": ""
},
"require": {
"php": "^7.4 || ~8.0 || ~8.1",
"psr/container": "^1.1.1",
"psr/event-dispatcher": "^1.0",
"psr/log": "^1.1"
},
"default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "26.0.0-dev"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"AGPL-3.0-or-later"
],
"authors": [
{
"name": "Christoph Wurst",
"email": "christoph@winzerhof-wurst.at"
}
],
"description": "Composer package containing Nextcloud's public API (classes, interfaces)",
"support": {
"issues": "https://github.com/nextcloud-deps/ocp/issues",
"source": "https://github.com/nextcloud-deps/ocp/tree/master"
},
"time": "2022-12-17T00:35:01+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.15.2",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc",
"reference": "f59bbe44bf7d96f24f3e2b4ddc21cd52c1d2adbc",
"shasum": ""
},
"require": {
@@ -1286,9 +1286,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0"
"source": "https://github.com/nikic/PHP-Parser/tree/v4.15.2"
},
"time": "2022-05-31T20:59:12+00:00"
"time": "2022-11-12T15:38:23+00:00"
},
{
"name": "openlss/lib-array2xml",
@@ -1675,25 +1675,30 @@
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.6.1",
"version": "1.6.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "77a32518733312af16a44300404e945338981de3"
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
"reference": "77a32518733312af16a44300404e945338981de3",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0",
"php": "^7.4 || ^8.0",
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
"ext-tokenizer": "*",
"psalm/phar": "^4.8"
"phpstan/extension-installer": "^1.1",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
"phpunit/phpunit": "^9.5",
"rector/rector": "^0.13.9",
"vimeo/psalm": "^4.25"
},
"type": "library",
"extra": {
@@ -1719,22 +1724,22 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1"
"source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2"
},
"time": "2022-03-15T21:29:03+00:00"
"time": "2022-10-14T12:47:21+00:00"
},
{
"name": "phpunit/php-code-coverage",
"version": "9.2.17",
"version": "9.2.19",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "aa94dc41e8661fe90c7316849907cba3007b10d8"
"reference": "c77b56b63e3d2031bd8997fcec43c1925ae46559"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/aa94dc41e8661fe90c7316849907cba3007b10d8",
"reference": "aa94dc41e8661fe90c7316849907cba3007b10d8",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/c77b56b63e3d2031bd8997fcec43c1925ae46559",
"reference": "c77b56b63e3d2031bd8997fcec43c1925ae46559",
"shasum": ""
},
"require": {
@@ -1790,7 +1795,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.17"
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.19"
},
"funding": [
{
@@ -1798,7 +1803,7 @@
"type": "github"
}
],
"time": "2022-08-30T12:24:04+00:00"
"time": "2022-11-18T07:47:47+00:00"
},
{
"name": "phpunit/php-file-iterator",
@@ -2043,16 +2048,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.5.24",
"version": "9.5.27",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5"
"reference": "a2bc7ffdca99f92d959b3f2270529334030bba38"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0aa6097bef9fd42458a9b3c49da32c6ce6129c5",
"reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a2bc7ffdca99f92d959b3f2270529334030bba38",
"reference": "a2bc7ffdca99f92d959b3f2270529334030bba38",
"shasum": ""
},
"require": {
@@ -2074,14 +2079,14 @@
"phpunit/php-timer": "^5.0.2",
"sebastian/cli-parser": "^1.0.1",
"sebastian/code-unit": "^1.0.6",
"sebastian/comparator": "^4.0.5",
"sebastian/comparator": "^4.0.8",
"sebastian/diff": "^4.0.3",
"sebastian/environment": "^5.1.3",
"sebastian/exporter": "^4.0.3",
"sebastian/exporter": "^4.0.5",
"sebastian/global-state": "^5.0.1",
"sebastian/object-enumerator": "^4.0.3",
"sebastian/resource-operations": "^3.0.3",
"sebastian/type": "^3.1",
"sebastian/type": "^3.2",
"sebastian/version": "^3.0.2"
},
"suggest": {
@@ -2125,7 +2130,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.24"
"source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.27"
},
"funding": [
{
@@ -2135,9 +2140,13 @@
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
"type": "tidelift"
}
],
"time": "2022-08-30T07:42:16+00:00"
"time": "2022-12-09T07:31:23+00:00"
},
{
"name": "psr/cache",
@@ -2937,16 +2946,16 @@
},
{
"name": "sebastian/comparator",
"version": "4.0.6",
"version": "4.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "55f4261989e546dc112258c7a75935a81a7ce382"
"reference": "fa0f136dd2334583309d32b62544682ee972b51a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
"reference": "55f4261989e546dc112258c7a75935a81a7ce382",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
"reference": "fa0f136dd2334583309d32b62544682ee972b51a",
"shasum": ""
},
"require": {
@@ -2999,7 +3008,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
"source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
},
"funding": [
{
@@ -3007,7 +3016,7 @@
"type": "github"
}
],
"time": "2020-10-26T15:49:45+00:00"
"time": "2022-09-14T12:41:17+00:00"
},
{
"name": "sebastian/complexity",
@@ -3197,16 +3206,16 @@
},
{
"name": "sebastian/exporter",
"version": "4.0.4",
"version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
"reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
"reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
"shasum": ""
},
"require": {
@@ -3262,7 +3271,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
"source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
},
"funding": [
{
@@ -3270,7 +3279,7 @@
"type": "github"
}
],
"time": "2021-11-11T14:18:36+00:00"
"time": "2022-09-14T06:03:37+00:00"
},
{
"name": "sebastian/global-state",
@@ -3625,16 +3634,16 @@
},
{
"name": "sebastian/type",
"version": "3.1.0",
"version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
"reference": "fb44e1cc6e557418387ad815780360057e40753e"
"reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb44e1cc6e557418387ad815780360057e40753e",
"reference": "fb44e1cc6e557418387ad815780360057e40753e",
"url": "https://api.github.com/repos/sebastianbergmann/type/zipball/fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
"reference": "fb3fe09c5f0bae6bc27ef3ce933a1e0ed9464b6e",
"shasum": ""
},
"require": {
@@ -3646,7 +3655,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.1-dev"
"dev-master": "3.2-dev"
}
},
"autoload": {
@@ -3669,7 +3678,7 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"source": "https://github.com/sebastianbergmann/type/tree/3.1.0"
"source": "https://github.com/sebastianbergmann/type/tree/3.2.0"
},
"funding": [
{
@@ -3677,7 +3686,7 @@
"type": "github"
}
],
"time": "2022-08-29T06:55:37+00:00"
"time": "2022-09-12T14:47:03+00:00"
},
{
"name": "sebastian/version",
@@ -3734,16 +3743,16 @@
},
{
"name": "symfony/console",
"version": "v5.4.12",
"version": "v5.4.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1"
"reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/c072aa8f724c3af64e2c7a96b796a4863d24dba1",
"reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1",
"url": "https://api.github.com/repos/symfony/console/zipball/ea59bb0edfaf9f28d18d8791410ee0355f317669",
"reference": "ea59bb0edfaf9f28d18d8791410ee0355f317669",
"shasum": ""
},
"require": {
@@ -3813,7 +3822,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v5.4.12"
"source": "https://github.com/symfony/console/tree/v5.4.15"
},
"funding": [
{
@@ -3829,7 +3838,7 @@
"type": "tidelift"
}
],
"time": "2022-08-17T13:18:05+00:00"
"time": "2022-10-26T21:41:52+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4259,16 +4268,16 @@
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.26.0",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4"
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"reference": "6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
"shasum": ""
},
"require": {
@@ -4283,7 +4292,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.26-dev"
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4321,7 +4330,7 @@
"portable"
],
"support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.26.0"
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0"
},
"funding": [
{
@@ -4337,20 +4346,20 @@
"type": "tidelift"
}
],
"time": "2022-05-24T11:49:31+00:00"
"time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-intl-grapheme",
"version": "v1.26.0",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "433d05519ce6990bf3530fba6957499d327395c2"
"reference": "511a08c03c1960e08a883f4cffcacd219b758354"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/433d05519ce6990bf3530fba6957499d327395c2",
"reference": "433d05519ce6990bf3530fba6957499d327395c2",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/511a08c03c1960e08a883f4cffcacd219b758354",
"reference": "511a08c03c1960e08a883f4cffcacd219b758354",
"shasum": ""
},
"require": {
@@ -4362,7 +4371,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.26-dev"
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4402,7 +4411,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.26.0"
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.27.0"
},
"funding": [
{
@@ -4418,20 +4427,20 @@
"type": "tidelift"
}
],
"time": "2022-05-24T11:49:31+00:00"
"time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.26.0",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "219aa369ceff116e673852dce47c3a41794c14bd"
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/219aa369ceff116e673852dce47c3a41794c14bd",
"reference": "219aa369ceff116e673852dce47c3a41794c14bd",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
"shasum": ""
},
"require": {
@@ -4443,7 +4452,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.26-dev"
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4486,7 +4495,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.26.0"
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.27.0"
},
"funding": [
{
@@ -4502,20 +4511,20 @@
"type": "tidelift"
}
],
"time": "2022-05-24T11:49:31+00:00"
"time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.26.0",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e"
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
"reference": "9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"reference": "8ad114f6b39e2c98a8b0e3bd907732c207c2b534",
"shasum": ""
},
"require": {
@@ -4530,7 +4539,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.26-dev"
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4569,7 +4578,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.26.0"
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.27.0"
},
"funding": [
{
@@ -4585,20 +4594,20 @@
"type": "tidelift"
}
],
"time": "2022-05-24T11:49:31+00:00"
"time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-php73",
"version": "v1.26.0",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php73.git",
"reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85"
"reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/e440d35fa0286f77fb45b79a03fedbeda9307e85",
"reference": "e440d35fa0286f77fb45b79a03fedbeda9307e85",
"url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
"reference": "9e8ecb5f92152187c4799efd3c96b78ccab18ff9",
"shasum": ""
},
"require": {
@@ -4607,7 +4616,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.26-dev"
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4648,7 +4657,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php73/tree/v1.26.0"
"source": "https://github.com/symfony/polyfill-php73/tree/v1.27.0"
},
"funding": [
{
@@ -4664,20 +4673,20 @@
"type": "tidelift"
}
],
"time": "2022-05-24T11:49:31+00:00"
"time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-php80",
"version": "v1.26.0",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace"
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/cfa0ae98841b9e461207c13ab093d76b0fa7bace",
"reference": "cfa0ae98841b9e461207c13ab093d76b0fa7bace",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"reference": "7a6ff3f1959bb01aefccb463a0f2cd3d3d2fd936",
"shasum": ""
},
"require": {
@@ -4686,7 +4695,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.26-dev"
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -4731,7 +4740,7 @@
"shim"
],
"support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.26.0"
"source": "https://github.com/symfony/polyfill-php80/tree/v1.27.0"
},
"funding": [
{
@@ -4747,7 +4756,7 @@
"type": "tidelift"
}
],
"time": "2022-05-10T07:21:04+00:00"
"time": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-php81",
@@ -5037,16 +5046,16 @@
},
{
"name": "symfony/string",
"version": "v5.4.12",
"version": "v5.4.15",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "2fc515e512d721bf31ea76bd02fe23ada4640058"
"reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/2fc515e512d721bf31ea76bd02fe23ada4640058",
"reference": "2fc515e512d721bf31ea76bd02fe23ada4640058",
"url": "https://api.github.com/repos/symfony/string/zipball/571334ce9f687e3e6af72db4d3b2a9431e4fd9ed",
"reference": "571334ce9f687e3e6af72db4d3b2a9431e4fd9ed",
"shasum": ""
},
"require": {
@@ -5103,7 +5112,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v5.4.12"
"source": "https://github.com/symfony/string/tree/v5.4.15"
},
"funding": [
{
@@ -5119,7 +5128,7 @@
"type": "tidelift"
}
],
"time": "2022-08-12T17:03:11+00:00"
"time": "2022-10-05T15:16:54+00:00"
},
{
"name": "theseer/tokenizer",
@@ -5173,16 +5182,16 @@
},
{
"name": "vimeo/psalm",
"version": "4.27.0",
"version": "4.30.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "faf106e717c37b8c81721845dba9de3d8deed8ff"
"reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/faf106e717c37b8c81721845dba9de3d8deed8ff",
"reference": "faf106e717c37b8c81721845dba9de3d8deed8ff",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/d0bc6e25d89f649e4f36a534f330f8bb4643dd69",
"reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69",
"shasum": ""
},
"require": {
@@ -5221,6 +5230,7 @@
"phpdocumentor/reflection-docblock": "^5",
"phpmyadmin/sql-parser": "5.1.0||dev-master",
"phpspec/prophecy": ">=1.9.0",
"phpstan/phpdoc-parser": "1.2.* || 1.6.4",
"phpunit/phpunit": "^9.0",
"psalm/plugin-phpunit": "^0.16",
"slevomat/coding-standard": "^7.0",
@@ -5274,9 +5284,9 @@
],
"support": {
"issues": "https://github.com/vimeo/psalm/issues",
"source": "https://github.com/vimeo/psalm/tree/4.27.0"
"source": "https://github.com/vimeo/psalm/tree/4.30.0"
},
"time": "2022-08-31T13:47:09+00:00"
"time": "2022-11-06T20:37:08+00:00"
},
{
"name": "webmozart/assert",
@@ -5392,7 +5402,7 @@
"minimum-stability": "stable",
"stability-flags": {
"roave/security-advisories": 20,
"christophwurst/nextcloud": 20
"nextcloud/ocp": 20
},
"prefer-stable": false,
"prefer-lowest": false,

View File

@@ -13,7 +13,7 @@ describe('Board', function() {
})
it('Can create a board', function() {
const board = 'Test'
const board = 'TestBoard'
cy.intercept({
method: 'POST',

View File

@@ -1,7 +1,7 @@
The REST API provides access for authenticated users to their data inside the Deck app. To get a better understanding of Decks data models and their relations, please have a look at the [data structure](structure.md) documentation.
# Prequisited
# Prerequisites
- All requests require a `OCS-APIRequest` HTTP header to be set to `true` and a `Content-Type` of `application/json`.
- The API is located at https://nextcloud.local/index.php/apps/deck/api/v1.0
@@ -9,7 +9,7 @@ The REST API provides access for authenticated users to their data inside the De
## Naming
- Board is the the project like grouping of tasks that can be shared to different users and groups
- Board is the project like grouping of tasks that can be shared to different users and groups
- Stack is the grouping of cards which is rendered in vertical columns in the UI
@@ -1066,6 +1066,7 @@ Deck stores user and app configuration values globally and per board. The GET en
| --- | --- |
| calendar | Determines if the calendar/tasks integration through the CalDAV backend is enabled for the user (boolean) |
| cardDetailsInModal | Determines if the bigger view is used (boolean) |
| cardIdBadge | Determines if the ID badges are displayed on cards (boolean) |
| groupLimit | Determines if creating new boards is limited to certain groups of the instance. The resulting output is an array of group objects with the id and the displayname (Admin only)|
```
@@ -1079,6 +1080,7 @@ Deck stores user and app configuration values globally and per board. The GET en
"data": {
"calendar": true,
"cardDetailsInModal": true,
"cardIdBadge": true,
"groupLimit": [
{
"id": "admin",
@@ -1109,6 +1111,7 @@ Deck stores user and app configuration values globally and per board. The GET en
| notify-due | `off`, `assigned` or `all` |
| calendar | Boolean |
| cardDetailsInModal | Boolean |
| cardIdBadge | Boolean |
#### Example request

1
img/archive.svg Normal file
View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g transform="translate(0 -1036.362)"><path d="M1.93 1041.296c-.185 0-.336.138-.336.31v9.842c0 .172.15.313.336.313h12.517c.185 0 .333-.14.333-.313v-9.842c0-.172-.148-.31-.333-.31H1.93zm4.124 1.507h4.223c.39 0 .705.314.705.704v.43c0 .39-.315.705-.705.705H6.054a.703.703 0 0 1-.705-.705v-.43c0-.39.314-.704.705-.704z"/><rect width="15.742" height="2.296" x=".136" y="1037.543" ry=".42"/></g></svg>

After

Width:  |  Height:  |  Size: 478 B

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Неуспешно прехвърляне на таблото на {user}",
"Add a new list" : "Добавяне на нов списък",
"Archive all cards" : "Архивира всички карти",
"Unarchive all cards" : "Разархивиране на всички карти",
"Delete list" : "Изтрива списък",
"Archive all cards in this list" : "Архивира всички карти в този списък",
"Unarchive all cards in this list" : "Разархивиране всички карти в този списък",
"Add a new card" : "Добави нова карта",
"Card name" : "Име на карта",
"List deleted" : "Списъкът е изтрит",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "Споделени с вас",
"Deck settings" : "Настройки на платформата",
"Use bigger card view" : "Използва по-голям изглед на картата",
"Show card ID badge" : "Показване на обозначение за самоличност на картата",
"Show boards in calendar/tasks" : "Показване на таблата в календар / задачи",
"Limit deck usage of groups" : "Ограничава използването на набора от групи",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ограничаването на приложението Deck/набор/ ще блокира потребителите, които не са част от тези групи, да създават свои собствени табла. Потребителите все още ще могат да работят на таблата, които са споделени с тях.",
@@ -286,6 +289,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Търсене на {searchQuery} във всички табла",
"No results found" : "Няма намерени резултати",
"{stack} in {board}" : "{stack} в {board}",
"Click to expand description" : "Кликване за разширяване на описанието",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Създаден на {created}\n* Последна промяна на {lastMod} \n* {nbAttachments} прикачени файлове \n* {nbComments} коментара",
"{nbCards} cards" : "{nbCards} карти",
"No upcoming cards" : "Няма предстоящи карти",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "Неуспешно прехвърляне на таблото на {user}",
"Add a new list" : "Добавяне на нов списък",
"Archive all cards" : "Архивира всички карти",
"Unarchive all cards" : "Разархивиране на всички карти",
"Delete list" : "Изтрива списък",
"Archive all cards in this list" : "Архивира всички карти в този списък",
"Unarchive all cards in this list" : "Разархивиране всички карти в този списък",
"Add a new card" : "Добави нова карта",
"Card name" : "Име на карта",
"List deleted" : "Списъкът е изтрит",
@@ -258,6 +260,7 @@
"Shared with you" : "Споделени с вас",
"Deck settings" : "Настройки на платформата",
"Use bigger card view" : "Използва по-голям изглед на картата",
"Show card ID badge" : "Показване на обозначение за самоличност на картата",
"Show boards in calendar/tasks" : "Показване на таблата в календар / задачи",
"Limit deck usage of groups" : "Ограничава използването на набора от групи",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ограничаването на приложението Deck/набор/ ще блокира потребителите, които не са част от тези групи, да създават свои собствени табла. Потребителите все още ще могат да работят на таблата, които са споделени с тях.",
@@ -284,6 +287,7 @@
"Search for {searchQuery} in all boards" : "Търсене на {searchQuery} във всички табла",
"No results found" : "Няма намерени резултати",
"{stack} in {board}" : "{stack} в {board}",
"Click to expand description" : "Кликване за разширяване на описанието",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Създаден на {created}\n* Последна промяна на {lastMod} \n* {nbAttachments} прикачени файлове \n* {nbComments} коментара",
"{nbCards} cards" : "{nbCards} карти",
"No upcoming cards" : "Няма предстоящи карти",

View File

@@ -29,7 +29,7 @@ OC.L10N.register(
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} ha suprimit la targeta {card} a la llista {stack} al tauler {board}",
"You have renamed the card {before} to {card}" : "Heu reanomenat la targeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} ha reanomenat la targeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Heu afegit una descripció a la targeta {card} a la llista {stack} al tauler {board}",
"You have added a description to card {card} in list {stack} on board {board}" : "Heu afegit una descripció a la targeta {card} a la llista {stack} del tauler {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} ha afegit una descripció a la targeta {card} a la llista {stack} al tauler {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Heu actualitzat la descripció de la targeta {card} a la llista {stack} al tauler {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} ha actualitzat la descripció de la targeta {card} a la llista {stack} al tauler {board}",
@@ -37,12 +37,12 @@ OC.L10N.register(
"{user} has archived card {card} in list {stack} on board {board}" : "{user} té la targeta arxivada {card} a la llista {stack} al tauler {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Teniu una targeta no-arxchivada {card} a la llista {stack} al tauler {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} té una targeta no-arxivada {card} a la llista {stack} al tauler {board}",
"You have removed the due date of card {card}" : "Heu suprimit la data de venciment de la targeta {targeta}",
"{user} has removed the due date of card {card}" : "{user} ha suprimit la data de venciment de la targeta {targeta}",
"You have set the due date of card {card} to {after}" : "Heu establert la data de venciment de la targeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establert la data de venciment de la targeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Heu actualitzat la data de venciment de la targeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualitzat la data de venciment de la targeta {card} a {after}",
"You have removed the due date of card {card}" : "Heu suprimit la data de caducitat de la targeta {targeta}",
"{user} has removed the due date of card {card}" : "{user} ha suprimit la data de caducitat de la targeta {targeta}",
"You have set the due date of card {card} to {after}" : "Heu establert la data de caducitat de la targeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establert la data de caducitat de la targeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Heu actualitzat la data de caducitat de la targeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualitzat la data de caducitat de la targeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Heu afegit l'etiqueta {label} a la targeta {card} a la llista {stack} al tauler {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} ha afegit l'etiqueta {label} a la targeta {card} a la llista {stack} al tauler {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Heu eliminat l'etiqueta {label} de la targeta {card} a la llista {stack} al tauler {board}",
@@ -66,13 +66,13 @@ OC.L10N.register(
"A <strong>card description</strong> inside the Deck app has been changed" : "S'ha canviat una <strong>descripció de targeta</strong> a l'aplicació Tauler",
"Deck" : "Targetes",
"Changes in the <strong>Deck app</strong>" : "Canvis a l'<strong>aplicació Targetes</strong>",
"A <strong>comment</strong> was created on a card" : "S'ha afegit un <strong>comentari</strong> a una targeta",
"A <strong>comment</strong> was created on a card" : "S'ha creat un <strong>comentari</strong> a una targeta",
"Upcoming cards" : "Pròximes targetes",
"Load more" : "Carrega'n més",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La targeta \"%s\" sobre \"%s\" se us ha assignat per %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} us ha assignat la targeta {deck-card} a {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de venciment.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de caducitat.",
"The card {deck-card} on {deck-board} has reached its due date." : "La targeta {deck-card} a {deck-board} ha assolit la seva data de caducitat.",
"%s has mentioned you in a comment on \"%s\"." : "%s us ha anomenat en un comentari sobre \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} us ha mencionat en un comentari a {deck-card}.",
@@ -88,7 +88,7 @@ OC.L10N.register(
"copy" : "còpia",
"To do" : "Pendent",
"Doing" : "En procés",
"Done" : "Finalitzat",
"Done" : "Fet",
"Example Task 3" : "Tasca d'exemple 3",
"Example Task 2" : "Tasca d'exemple 2",
"Example Task 1" : "Tasca d'exemple 1",
@@ -99,12 +99,14 @@ OC.L10N.register(
"No file was uploaded" : "No s'ha pujat cap fitxer",
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No sha pogut escriure el fitxer al disc",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la pujada del fitxer",
"No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Aquest comentari té més de %s caràcters.\nS'ha afegit com a fitxer adjunt a la targeta amb el nom %s.\nAccessible a l'URL: %s.",
"Card not found" : "No s'ha trobat la targeta",
"Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta",
"Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD",
"Personal planning and team project organization" : "Planificació personal i organització de projectes en equip",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en format Markdown\n- 🔖 Assigneu etiquetes per una millor organització\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Converses amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Card details" : "Detalls de la targeta",
"Add board" : "Afegeix un tauler",
"Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte",
@@ -115,7 +117,7 @@ OC.L10N.register(
"Select a list" : "Seleccioneu una llista",
"Card title" : "Títol de la targeta",
"Cancel" : "Cancel·la",
"Creating the new card …" : "Creant la nova targeta",
"Creating the new card …" : "Creant la nova targeta",
"Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"",
"Open card" : "Obre la targeta",
"Close" : "Tanca",
@@ -129,11 +131,12 @@ OC.L10N.register(
"Overwrite file" : "Sobreescriu el fitxer",
"Keep existing file" : "Mantén el fitxer existent",
"This board is read only" : "Aquest tauler és només de lectura",
"Drop your files to upload" : "Deixeu anar els fitxers per penjar-los",
"Drop your files to upload" : "Deixeu anar els fitxers per pujar-los",
"Add card" : "Afegeix una targeta",
"Archived cards" : "Targetes arxivades",
"Add list" : "Afegeix una llista",
"List name" : "Nom de la llista",
"Active filters" : "Filtres actius",
"Apply filter" : "Aplica el filtre",
"Filter by tag" : "Filtra per etiqueta",
"Filter by assigned user" : "Filtra per usuari assignat",
@@ -162,7 +165,7 @@ OC.L10N.register(
"Undo" : "Desfés",
"Deleted cards" : "Targetes suprimides",
"Share board with a user, group or circle …" : "Compartir tauler amb un usuari, grup o cercle …",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"No participants found" : "No s'han trobat participants",
"Board owner" : "Propietari del tauler",
"(Group)" : "(Grup)",
@@ -171,48 +174,54 @@ OC.L10N.register(
"Can share" : "Pot compartir",
"Can manage" : "Pot gestionar",
"Owner" : "Propietari",
"Delete" : "Eliminar",
"Delete" : "Suprimeix",
"Failed to create share with {displayName}" : "Ha fallat la creació de la compartició amb {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Esteu segur que voleu transferir el tauler {title} a {user}?",
"Transfer the board." : "Transfereix el tauler.",
"Transfer" : "Transferència",
"Add a new list" : "Afegir una llista nova",
"The board has been transferred to {user}" : "El tauler s'ha transferit a {user}",
"Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}",
"Add a new list" : "Afegeix una llista nova",
"Archive all cards" : "Arxiva totes les targetes",
"Unarchive all cards" : "Desarxivar totes les targetes",
"Delete list" : "Suprimeix la llista",
"Archive all cards in this list" : "Arxiva totes les targetes d'aquesta llista",
"Add a new card" : "Afegir una nova targeta",
"Unarchive all cards in this list" : "Desarxivar totes les targetes d'aquesta llista",
"Add a new card" : "Afegeix una nova targeta",
"Card name" : "Nom de la targeta",
"List deleted" : "Llista suprimida",
"Edit" : "Edita",
"Add a new tag" : "Afegir una etiqueta nova",
"Edit" : "Edició",
"Add a new tag" : "Afegeix una etiqueta nova",
"title and color value must be provided" : "sha de proporcionar el valor del títol i del color",
"Board name" : "Nom del taulell",
"Members" : "Membres",
"Upload new files" : "Puja nous fitxers",
"Upload new files" : "Pujada de nous fitxers",
"Share from Files" : "Comparteix des de Fitxers",
"Pending share" : "Compartició pendent",
"Add this attachment" : "Afegeix aquest adjunt",
"Show in Files" : "Mostra a Fitxers",
"Download" : "Baixa",
"Download" : "Baixada",
"Remove attachment" : "Treu l'adjunt",
"Delete Attachment" : "Suprimeix ladjunt",
"Restore Attachment" : "Restaura l'adjunt",
"File to share" : "Fitxer a compartir",
"Invalid path selected" : "S'ha seleccionat una ruta invàlida",
"Invalid path selected" : "S'ha seleccionat un camí no vàlid",
"Open in sidebar view" : "Obre a la vista de la barra lateral",
"Open in bigger view" : "Obre a la vista més gran",
"Attachments" : "Adjunts",
"Comments" : "Comentaris",
"Modified" : "Darrera modificació",
"Created" : "Creat",
"The title cannot be empty." : "El títol no pot estar buit",
"The title cannot be empty." : "El títol no pot estar buit.",
"No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!",
"Failed to load comments" : "No s'han pogut carregar els comentaris",
"Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…",
"Assign to users" : "Assigna als usuaris",
"Assign to users/groups/circles" : "Assigna a usuaris/grups/cercles",
"Assign a user to this card…" : "Assigneu un usuari a aquesta targeta…",
"Due date" : "Per la data",
"Set a due date" : "Definir una data de venciment",
"Remove due date" : "Elimina la data de venciment",
"Assign a tag to this card…" : "Assignació d'una etiqueta a aquesta targeta…",
"Assign to users" : "Assignació als usuaris",
"Assign to users/groups/circles" : "Assignació a usuaris/grups/cercles",
"Assign a user to this card…" : "Assignació d'un usuari a aquesta targeta…",
"Due date" : "Data de caducitat",
"Set a due date" : "Definir una data de caducitat",
"Remove due date" : "Suprimeix la data de caducitat",
"Select Date" : "Selecciona la data",
"Today" : "Avui",
"Tomorrow" : "Demà",
@@ -229,13 +238,15 @@ OC.L10N.register(
"(Unsaved)" : "(No desat)",
"(Saving…)" : "(Desant…)",
"Formatting help" : "Format d'ajuda",
"Edit description" : "Edita descripció",
"Edit description" : "Edició descripció",
"View description" : "Veure descripció",
"Add Attachment" : "Afegeix un adjunt",
"Write a description …" : "Escriviu una descripció...",
"Write a description …" : "Escriviu una descripció",
"Choose attachment" : "Triar adjunt",
"(group)" : "(grup)",
"Todo items" : "Tasques pendents",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Edit card title" : "Edició del títol de la targeta",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -249,7 +260,9 @@ OC.L10N.register(
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Paràmetres del Tauler",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show card ID badge" : "Mostra el distintiu dID de la targeta",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitant el Tauler bloquejarà la creació de taulers als usuaris que no són part d'aquests grups. Els usuaris podran seguir treballant en els taulers que hagin estat compartits amb ells.",
@@ -269,13 +282,19 @@ OC.L10N.register(
"Only assigned cards" : "Només les targetes assignades",
"No reminder" : "Sense recordatoris",
"An error occurred" : "S'ha produït un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Esteu segur que voleu suprimir el tauler {title}? Això suprimirà totes les dades d'aquest tauler, incloses les targetes arxivades.",
"Delete the board?" : "Voleu suprimir el tauler?",
"Loading filtered view" : "S'està carregant la visualització filtrada",
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"{stack} in {board}" : "{stack} a {board}",
"Click to expand description" : "Feu clic per ampliar la descripció",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris",
"{nbCards} cards" : "{nbCards} targetes",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"Due on {date}" : "Venciment el dia {date}",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",
"Create a card" : "Crea una targeta",
@@ -288,7 +307,11 @@ OC.L10N.register(
"Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck",
"Share" : "Compartir",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Are you sure you want to transfer the board {title} for {user} ?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?",
"Transfer the board for {user} successfully" : "Transfereix el tauler per a {user} correctament",
"Failed to transfer the board for {user}" : "No s'ha pogut transferir el tauler per a {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.",
"This week" : "Aquesta setmana"
"This week" : "Aquesta setmana",
"Are you sure you want to transfer the board {title} for {user}?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -27,7 +27,7 @@
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} ha suprimit la targeta {card} a la llista {stack} al tauler {board}",
"You have renamed the card {before} to {card}" : "Heu reanomenat la targeta {before} a {card}",
"{user} has renamed the card {before} to {card}" : "{user} ha reanomenat la targeta {before} a {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Heu afegit una descripció a la targeta {card} a la llista {stack} al tauler {board}",
"You have added a description to card {card} in list {stack} on board {board}" : "Heu afegit una descripció a la targeta {card} a la llista {stack} del tauler {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} ha afegit una descripció a la targeta {card} a la llista {stack} al tauler {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Heu actualitzat la descripció de la targeta {card} a la llista {stack} al tauler {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} ha actualitzat la descripció de la targeta {card} a la llista {stack} al tauler {board}",
@@ -35,12 +35,12 @@
"{user} has archived card {card} in list {stack} on board {board}" : "{user} té la targeta arxivada {card} a la llista {stack} al tauler {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Teniu una targeta no-arxchivada {card} a la llista {stack} al tauler {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} té una targeta no-arxivada {card} a la llista {stack} al tauler {board}",
"You have removed the due date of card {card}" : "Heu suprimit la data de venciment de la targeta {targeta}",
"{user} has removed the due date of card {card}" : "{user} ha suprimit la data de venciment de la targeta {targeta}",
"You have set the due date of card {card} to {after}" : "Heu establert la data de venciment de la targeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establert la data de venciment de la targeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Heu actualitzat la data de venciment de la targeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualitzat la data de venciment de la targeta {card} a {after}",
"You have removed the due date of card {card}" : "Heu suprimit la data de caducitat de la targeta {targeta}",
"{user} has removed the due date of card {card}" : "{user} ha suprimit la data de caducitat de la targeta {targeta}",
"You have set the due date of card {card} to {after}" : "Heu establert la data de caducitat de la targeta {card} a {after}",
"{user} has set the due date of card {card} to {after}" : "{user} ha establert la data de caducitat de la targeta {card} a {after}",
"You have updated the due date of card {card} to {after}" : "Heu actualitzat la data de caducitat de la targeta {card} a {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} ha actualitzat la data de caducitat de la targeta {card} a {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Heu afegit l'etiqueta {label} a la targeta {card} a la llista {stack} al tauler {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} ha afegit l'etiqueta {label} a la targeta {card} a la llista {stack} al tauler {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Heu eliminat l'etiqueta {label} de la targeta {card} a la llista {stack} al tauler {board}",
@@ -64,13 +64,13 @@
"A <strong>card description</strong> inside the Deck app has been changed" : "S'ha canviat una <strong>descripció de targeta</strong> a l'aplicació Tauler",
"Deck" : "Targetes",
"Changes in the <strong>Deck app</strong>" : "Canvis a l'<strong>aplicació Targetes</strong>",
"A <strong>comment</strong> was created on a card" : "S'ha afegit un <strong>comentari</strong> a una targeta",
"A <strong>comment</strong> was created on a card" : "S'ha creat un <strong>comentari</strong> a una targeta",
"Upcoming cards" : "Pròximes targetes",
"Load more" : "Carrega'n més",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "La targeta \"%s\" sobre \"%s\" se us ha assignat per %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} us ha assignat la targeta {deck-card} a {deck-board}.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de venciment.",
"The card \"%s\" on \"%s\" has reached its due date." : "La targeta \"%s\" sobre \"%s\" ha assolit la seva data de caducitat.",
"The card {deck-card} on {deck-board} has reached its due date." : "La targeta {deck-card} a {deck-board} ha assolit la seva data de caducitat.",
"%s has mentioned you in a comment on \"%s\"." : "%s us ha anomenat en un comentari sobre \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} us ha mencionat en un comentari a {deck-card}.",
@@ -86,7 +86,7 @@
"copy" : "còpia",
"To do" : "Pendent",
"Doing" : "En procés",
"Done" : "Finalitzat",
"Done" : "Fet",
"Example Task 3" : "Tasca d'exemple 3",
"Example Task 2" : "Tasca d'exemple 2",
"Example Task 1" : "Tasca d'exemple 1",
@@ -97,12 +97,14 @@
"No file was uploaded" : "No s'ha pujat cap fitxer",
"Missing a temporary folder" : "Falta una carpeta temporal",
"Could not write file to disk" : "No sha pogut escriure el fitxer al disc",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la carregada del fitxer",
"A PHP extension stopped the file upload" : "Una extensió del PHP ha aturat la pujada del fitxer",
"No file uploaded or file size exceeds maximum of %s" : "No s'ha carregat cap fitxer o la mida del fitxer sobrepassa el màxim de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Aquest comentari té més de %s caràcters.\nS'ha afegit com a fitxer adjunt a la targeta amb el nom %s.\nAccessible a l'URL: %s.",
"Card not found" : "No s'ha trobat la targeta",
"Path is already shared with this card" : "Aquesta ruta ja ha estat compartida amb aquesta targeta",
"Invalid date, date format must be YYYY-MM-DD" : "La data no és vàlida, el format de la data ha de ser YYYY-MM-DD",
"Personal planning and team project organization" : "Planificació personal i organització de projectes en equip",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en format Markdown\n- 🔖 Assigneu etiquetes per una millor organització\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Converses amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Card details" : "Detalls de la targeta",
"Add board" : "Afegeix un tauler",
"Select the board to link to a project" : "Selecciona el tauler per enllaçar a un projecte",
@@ -113,7 +115,7 @@
"Select a list" : "Seleccioneu una llista",
"Card title" : "Títol de la targeta",
"Cancel" : "Cancel·la",
"Creating the new card …" : "Creant la nova targeta",
"Creating the new card …" : "Creant la nova targeta",
"Card \"{card}\" was added to \"{board}\"" : "La targeta \"{card}\" s'ha afegit a \"{board}\"",
"Open card" : "Obre la targeta",
"Close" : "Tanca",
@@ -127,11 +129,12 @@
"Overwrite file" : "Sobreescriu el fitxer",
"Keep existing file" : "Mantén el fitxer existent",
"This board is read only" : "Aquest tauler és només de lectura",
"Drop your files to upload" : "Deixeu anar els fitxers per penjar-los",
"Drop your files to upload" : "Deixeu anar els fitxers per pujar-los",
"Add card" : "Afegeix una targeta",
"Archived cards" : "Targetes arxivades",
"Add list" : "Afegeix una llista",
"List name" : "Nom de la llista",
"Active filters" : "Filtres actius",
"Apply filter" : "Aplica el filtre",
"Filter by tag" : "Filtra per etiqueta",
"Filter by assigned user" : "Filtra per usuari assignat",
@@ -160,7 +163,7 @@
"Undo" : "Desfés",
"Deleted cards" : "Targetes suprimides",
"Share board with a user, group or circle …" : "Compartir tauler amb un usuari, grup o cercle …",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"Searching for users, groups and circles …" : "Buscant usuaris, grups i cercles",
"No participants found" : "No s'han trobat participants",
"Board owner" : "Propietari del tauler",
"(Group)" : "(Grup)",
@@ -169,48 +172,54 @@
"Can share" : "Pot compartir",
"Can manage" : "Pot gestionar",
"Owner" : "Propietari",
"Delete" : "Eliminar",
"Delete" : "Suprimeix",
"Failed to create share with {displayName}" : "Ha fallat la creació de la compartició amb {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Esteu segur que voleu transferir el tauler {title} a {user}?",
"Transfer the board." : "Transfereix el tauler.",
"Transfer" : "Transferència",
"Add a new list" : "Afegir una llista nova",
"The board has been transferred to {user}" : "El tauler s'ha transferit a {user}",
"Failed to transfer the board to {user}" : "No s'ha pogut transferir el tauler a {user}",
"Add a new list" : "Afegeix una llista nova",
"Archive all cards" : "Arxiva totes les targetes",
"Unarchive all cards" : "Desarxivar totes les targetes",
"Delete list" : "Suprimeix la llista",
"Archive all cards in this list" : "Arxiva totes les targetes d'aquesta llista",
"Add a new card" : "Afegir una nova targeta",
"Unarchive all cards in this list" : "Desarxivar totes les targetes d'aquesta llista",
"Add a new card" : "Afegeix una nova targeta",
"Card name" : "Nom de la targeta",
"List deleted" : "Llista suprimida",
"Edit" : "Edita",
"Add a new tag" : "Afegir una etiqueta nova",
"Edit" : "Edició",
"Add a new tag" : "Afegeix una etiqueta nova",
"title and color value must be provided" : "sha de proporcionar el valor del títol i del color",
"Board name" : "Nom del taulell",
"Members" : "Membres",
"Upload new files" : "Puja nous fitxers",
"Upload new files" : "Pujada de nous fitxers",
"Share from Files" : "Comparteix des de Fitxers",
"Pending share" : "Compartició pendent",
"Add this attachment" : "Afegeix aquest adjunt",
"Show in Files" : "Mostra a Fitxers",
"Download" : "Baixa",
"Download" : "Baixada",
"Remove attachment" : "Treu l'adjunt",
"Delete Attachment" : "Suprimeix ladjunt",
"Restore Attachment" : "Restaura l'adjunt",
"File to share" : "Fitxer a compartir",
"Invalid path selected" : "S'ha seleccionat una ruta invàlida",
"Invalid path selected" : "S'ha seleccionat un camí no vàlid",
"Open in sidebar view" : "Obre a la vista de la barra lateral",
"Open in bigger view" : "Obre a la vista més gran",
"Attachments" : "Adjunts",
"Comments" : "Comentaris",
"Modified" : "Darrera modificació",
"Created" : "Creat",
"The title cannot be empty." : "El títol no pot estar buit",
"The title cannot be empty." : "El títol no pot estar buit.",
"No comments yet. Begin the discussion!" : "No hi ha comentaris encara. Començar la discussió!",
"Failed to load comments" : "No s'han pogut carregar els comentaris",
"Assign a tag to this card…" : "Assigna una etiqueta a aquesta targeta…",
"Assign to users" : "Assigna als usuaris",
"Assign to users/groups/circles" : "Assigna a usuaris/grups/cercles",
"Assign a user to this card…" : "Assigneu un usuari a aquesta targeta…",
"Due date" : "Per la data",
"Set a due date" : "Definir una data de venciment",
"Remove due date" : "Elimina la data de venciment",
"Assign a tag to this card…" : "Assignació d'una etiqueta a aquesta targeta…",
"Assign to users" : "Assignació als usuaris",
"Assign to users/groups/circles" : "Assignació a usuaris/grups/cercles",
"Assign a user to this card…" : "Assignació d'un usuari a aquesta targeta…",
"Due date" : "Data de caducitat",
"Set a due date" : "Definir una data de caducitat",
"Remove due date" : "Suprimeix la data de caducitat",
"Select Date" : "Selecciona la data",
"Today" : "Avui",
"Tomorrow" : "Demà",
@@ -227,13 +236,15 @@
"(Unsaved)" : "(No desat)",
"(Saving…)" : "(Desant…)",
"Formatting help" : "Format d'ajuda",
"Edit description" : "Edita descripció",
"Edit description" : "Edició descripció",
"View description" : "Veure descripció",
"Add Attachment" : "Afegeix un adjunt",
"Write a description …" : "Escriviu una descripció...",
"Write a description …" : "Escriviu una descripció",
"Choose attachment" : "Triar adjunt",
"(group)" : "(grup)",
"Todo items" : "Tasques pendents",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Edit card title" : "Edició del títol de la targeta",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -247,7 +258,9 @@
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Paràmetres del Tauler",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show card ID badge" : "Mostra el distintiu dID de la targeta",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitant el Tauler bloquejarà la creació de taulers als usuaris que no són part d'aquests grups. Els usuaris podran seguir treballant en els taulers que hagin estat compartits amb ells.",
@@ -267,13 +280,19 @@
"Only assigned cards" : "Només les targetes assignades",
"No reminder" : "Sense recordatoris",
"An error occurred" : "S'ha produït un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Esteu segur que voleu suprimir el tauler {title}? Això suprimirà totes les dades d'aquest tauler, incloses les targetes arxivades.",
"Delete the board?" : "Voleu suprimir el tauler?",
"Loading filtered view" : "S'està carregant la visualització filtrada",
"No due" : "Sense venciment",
"Search for {searchQuery} in all boards" : "Busca {searchQuery} a tots els taulers",
"No results found" : "No s'han trobat resultats",
"{stack} in {board}" : "{stack} a {board}",
"Click to expand description" : "Feu clic per ampliar la descripció",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creat el {created}\n* Última modificació el dia {lastMod}\n* {nbAttachments} fitxers adjunts\n* {nbComments} comentaris",
"{nbCards} cards" : "{nbCards} targetes",
"No upcoming cards" : "No hi ha pròximes targetes",
"upcoming cards" : "pròximes targetes",
"Due on {date}" : "Venciment el dia {date}",
"Link to a board" : "Enllaça a un tauler",
"Link to a card" : "Enllaç una targeta",
"Create a card" : "Crea una targeta",
@@ -286,7 +305,11 @@
"Share {file} with a Deck card" : "Compartir {file} amb una targeta de Deck",
"Share" : "Compartir",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Tauler és una eina d'organització a l'estil kanban dirigida a la planificació personal i a l'organització de projectes per equips integrada a Nextcloud.\n\n\n- 📥 Afegiu les tasques en targetes i poseu-les en ordre\n- 📄 Apunteu notes addicionals en markdown\n- 🔖 Assigneu etiquetes per una organització encara millor\n- 👥 Compartiu amb el vostre equip, família o amics\n- 📎 Adjunteu fitxers i encasteu-los en la descripció en markdown\n- 💬 Debateu amb el vostre equip fent servir comentaris\n- ⚡ Mantingueu el seguiment de canvis al flux d'activitat\n- 🚀 Tingueu el vostre projecte organitzat",
"Are you sure you want to transfer the board {title} for {user} ?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?",
"Transfer the board for {user} successfully" : "Transfereix el tauler per a {user} correctament",
"Failed to transfer the board for {user}" : "No s'ha pogut transferir el tauler per a {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Esteu segur que voleu suprimir el tauler {title}? Això eliminarà totes les dades d'aquest tauler.",
"This week" : "Aquesta setmana"
"This week" : "Aquesta setmana",
"Are you sure you want to transfer the board {title} for {user}?" : "Esteu segur que voleu transferir el tauler {title} per a {user}?"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -138,7 +138,7 @@ OC.L10N.register(
"List name" : "Název seznamu",
"Active filters" : "Zapnuté filtry",
"Apply filter" : "Uplatnit filtr",
"Filter by tag" : "Filtrovat podle příznaků",
"Filter by tag" : "Filtrovat podle štítku",
"Filter by assigned user" : "Filtrovat podle uživatele, který je úkolem pověřen",
"Unassigned" : "Nepřiřazeno",
"Filter by due date" : "Filtrovat podle termínu",
@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}",
"Add a new list" : "Přidat nový sloupec",
"Archive all cards" : "Archivovat všechny karty",
"Unarchive all cards" : "Zrušit archivaci všech karet",
"Delete list" : "Smazat seznam",
"Archive all cards in this list" : "Archivovat všechny karty v tomto seznamu",
"Unarchive all cards in this list" : "Zrušit archivaci všech karet v tomto seznamu",
"Add a new card" : "Přidat novou kartu",
"Card name" : "Název karty",
"List deleted" : "Seznam smazán",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "Sdíleno s vámi",
"Deck settings" : "Nastavení pro Deck",
"Use bigger card view" : "Použít větší zobrazení karet",
"Show card ID badge" : "Zobrazit odznáček s identifikátorem karty",
"Show boards in calendar/tasks" : "Zobrazit tabule v kalendáři/úkolech",
"Limit deck usage of groups" : "Omezit využití deck na skupiny",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Omezení nastavené pro Deck brání uživatelům, kteří nejsou součástí těchto skupin, ve vytváření vlastních tabulí. Nicméně i tak ale pořád budou moci pracovat na tabulích, které jsou jim nasdíleny.",
@@ -286,6 +289,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Hledat {searchQuery} na všech tabulích",
"No results found" : "Nenalezeny žádné výsledky",
"{stack} in {board}" : "{stack} v {board}",
"Click to expand description" : "Popis rozbalíte kliknutím",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvořeno {created}\n* Naposledy upraveno {lastMod}\n* {nbAttachments} příloh\n* {nbComments} komentářů",
"{nbCards} cards" : "{nbCards} karet",
"No upcoming cards" : "Žádné nadcházející karty",

View File

@@ -136,7 +136,7 @@
"List name" : "Název seznamu",
"Active filters" : "Zapnuté filtry",
"Apply filter" : "Uplatnit filtr",
"Filter by tag" : "Filtrovat podle příznaků",
"Filter by tag" : "Filtrovat podle štítku",
"Filter by assigned user" : "Filtrovat podle uživatele, který je úkolem pověřen",
"Unassigned" : "Nepřiřazeno",
"Filter by due date" : "Filtrovat podle termínu",
@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "Nepodařilo se předat vlastnictví tabule uživateli {user}",
"Add a new list" : "Přidat nový sloupec",
"Archive all cards" : "Archivovat všechny karty",
"Unarchive all cards" : "Zrušit archivaci všech karet",
"Delete list" : "Smazat seznam",
"Archive all cards in this list" : "Archivovat všechny karty v tomto seznamu",
"Unarchive all cards in this list" : "Zrušit archivaci všech karet v tomto seznamu",
"Add a new card" : "Přidat novou kartu",
"Card name" : "Název karty",
"List deleted" : "Seznam smazán",
@@ -258,6 +260,7 @@
"Shared with you" : "Sdíleno s vámi",
"Deck settings" : "Nastavení pro Deck",
"Use bigger card view" : "Použít větší zobrazení karet",
"Show card ID badge" : "Zobrazit odznáček s identifikátorem karty",
"Show boards in calendar/tasks" : "Zobrazit tabule v kalendáři/úkolech",
"Limit deck usage of groups" : "Omezit využití deck na skupiny",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Omezení nastavené pro Deck brání uživatelům, kteří nejsou součástí těchto skupin, ve vytváření vlastních tabulí. Nicméně i tak ale pořád budou moci pracovat na tabulích, které jsou jim nasdíleny.",
@@ -284,6 +287,7 @@
"Search for {searchQuery} in all boards" : "Hledat {searchQuery} na všech tabulích",
"No results found" : "Nenalezeny žádné výsledky",
"{stack} in {board}" : "{stack} v {board}",
"Click to expand description" : "Popis rozbalíte kliknutím",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvořeno {created}\n* Naposledy upraveno {lastMod}\n* {nbAttachments} příloh\n* {nbComments} komentářů",
"{nbCards} cards" : "{nbCards} karet",
"No upcoming cards" : "Žádné nadcházející karty",

View File

@@ -37,6 +37,7 @@ OC.L10N.register(
"The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nået sin forfaldsdato.",
"%s has mentioned you in a comment on \"%s\"." : " %s har nævnt dig i en kommentar på \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Tavlen \"%s\" er blevet delt med dig af %s.",
"%s on %s" : "%s på %s",
"No data was provided to create an attachment." : "Ingen data blev givet som kunne vedhæftes",
"Finished" : "Færdiggjort",
"To review" : "Til gennemgang",

View File

@@ -35,6 +35,7 @@
"The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nået sin forfaldsdato.",
"%s has mentioned you in a comment on \"%s\"." : " %s har nævnt dig i en kommentar på \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Tavlen \"%s\" er blevet delt med dig af %s.",
"%s on %s" : "%s på %s",
"No data was provided to create an attachment." : "Ingen data blev givet som kunne vedhæftes",
"Finished" : "Færdiggjort",
"To review" : "Til gennemgang",

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Das Board konnte nicht an {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -213,10 +215,10 @@ OC.L10N.register(
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
"Assign to users" : "Benutzern zuweisen",
"Assign to users/groups/circles" : "An Benutzer, Gruppen oder Kreise zuweisen",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen…",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen …",
"Due date" : "Fälligkeitsdatum",
"Set a due date" : "Ein Ablaufdatum setzen",
"Remove due date" : "Fälligkeitsdatum löschen",
@@ -235,7 +237,7 @@ OC.L10N.register(
"Description" : "Beschreibung",
"(Unsaved)" : "(nicht gespeichert)",
"(Saving…)" : "(Speichere…)",
"Formatting help" : "Formatierungshilfe",
"Formatting help" : "Hilfe zur Formatierung",
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
@@ -286,6 +288,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} in {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "Das Board konnte nicht an {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -211,10 +213,10 @@
"The title cannot be empty." : "Der Titel darf nicht leer sein.",
"No comments yet. Begin the discussion!" : "Bislang keine Kommentare. Beginne die Diskussion!",
"Failed to load comments" : "Das Laden der Kommentare ist fehlgeschlagen",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen…",
"Assign a tag to this card…" : "Dieser Karte ein Schlagwort zuweisen …",
"Assign to users" : "Benutzern zuweisen",
"Assign to users/groups/circles" : "An Benutzer, Gruppen oder Kreise zuweisen",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen…",
"Assign a user to this card…" : "Diese Karte einem Benutzer zuweisen …",
"Due date" : "Fälligkeitsdatum",
"Set a due date" : "Ein Ablaufdatum setzen",
"Remove due date" : "Fälligkeitsdatum löschen",
@@ -233,7 +235,7 @@
"Description" : "Beschreibung",
"(Unsaved)" : "(nicht gespeichert)",
"(Saving…)" : "(Speichere…)",
"Formatting help" : "Formatierungshilfe",
"Formatting help" : "Hilfe zur Formatierung",
"Edit description" : "Beschreibung bearbeiten",
"View description" : "Beschreibung anzeigen",
"Add Attachment" : "Anhang anhängen",
@@ -284,6 +286,7 @@
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} in {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Das Board konnte nicht auf {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten in dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "Mit Ihnen geteilt",
"Deck settings" : "Deck-Einstellungen",
"Use bigger card view" : "Größere Kartenansicht verwenden",
"Show card ID badge" : "Abzeichen mit Karten-ID zeigen",
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung auf Gruppen einschränken",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Wenn Sie Deck einschränken, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
@@ -286,6 +289,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} auf {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "Das Board konnte nicht auf {user} übertragen werden",
"Add a new list" : "Eine neue Liste hinzufügen",
"Archive all cards" : "Alle Karten archivieren",
"Unarchive all cards" : "Alle Karten dearchivieren",
"Delete list" : "Liste löschen",
"Archive all cards in this list" : "Alle Karten in dieser Liste archivieren",
"Unarchive all cards in this list" : "Alle Karten in dieser Liste dearchivieren",
"Add a new card" : "Neue Karte hinzufügen",
"Card name" : "Kartenname",
"List deleted" : "Liste gelöscht",
@@ -258,6 +260,7 @@
"Shared with you" : "Mit Ihnen geteilt",
"Deck settings" : "Deck-Einstellungen",
"Use bigger card view" : "Größere Kartenansicht verwenden",
"Show card ID badge" : "Abzeichen mit Karten-ID zeigen",
"Show boards in calendar/tasks" : "Board in Kalender/Aufgaben anzeigen",
"Limit deck usage of groups" : "Nutzung auf Gruppen einschränken",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Wenn Sie Deck einschränken, können Benutzer, die nicht zu diesen Gruppen gehören, keine eigenen Boards erstellen. Die Benutzer können weiterhin an Boards arbeiten, die für sie freigegeben wurden.",
@@ -284,6 +287,7 @@
"Search for {searchQuery} in all boards" : "Suche nach {searchQuery} in allen Boards",
"No results found" : "Keine Ergebnisse gefunden",
"{stack} in {board}" : "{stack} auf {board}",
"Click to expand description" : "Klicken, um die Beschreibung zu erweitern",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Erstellt am {created}\n* Zuletzt geändert am {lastMod}\n* {nbAttachments} Anhänge\n* {nbComments} Kommentare",
"{nbCards} cards" : "{nbCards} Karten",
"No upcoming cards" : "Keine anstehenden Karten",

View File

@@ -245,7 +245,7 @@ OC.L10N.register(
"Archive card" : "Αρχειοθέτηση καρτέλας",
"Delete card" : "Διαγραφή καρτέλας",
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
"List is empty" : "Η λίστα είναι άδεια.",
"List is empty" : "Η λίστα είναι κενή",
"Card deleted" : "Η καρτέλα διαγράφηκε",
"seconds ago" : " δευτερόλεπτα πριν ",
"All boards" : "Όλοι οι πίνακες",

View File

@@ -243,7 +243,7 @@
"Archive card" : "Αρχειοθέτηση καρτέλας",
"Delete card" : "Διαγραφή καρτέλας",
"Move card to another board" : "Μετακίνηση καρτέλας σε άλλο πίνακα",
"List is empty" : "Η λίστα είναι άδεια.",
"List is empty" : "Η λίστα είναι κενή",
"Card deleted" : "Η καρτέλα διαγράφηκε",
"seconds ago" : " δευτερόλεπτα πριν ",
"All boards" : "Όλοι οι πίνακες",

View File

@@ -1,17 +1,97 @@
OC.L10N.register(
"deck",
{
"You have created a new board {board}" : "You have created a new board {board}",
"{user} has created a new board {board}" : "{user} has created a new board {board}",
"You have deleted the board {board}" : "You have deleted the board {board}",
"{user} has deleted the board {board}" : "{user} has deleted the board {board}",
"You have restored the board {board}" : "You have restored the board {board}",
"{user} has restored the board {board}" : "{user} has restored the board {board}",
"You have shared the board {board} with {acl}" : "You have shared the board {board} with {acl}",
"{user} has shared the board {board} with {acl}" : "{user} has shared the board {board} with {acl}",
"You have removed {acl} from the board {board}" : "You have removed {acl} from the board {board}",
"{user} has removed {acl} from the board {board}" : "{user} has removed {acl} from the board {board}",
"You have renamed the board {before} to {board}" : "You have renamed the board {before} to {board}",
"{user} has renamed the board {before} to {board}" : "{user} has renamed the board {before} to {board}",
"You have archived the board {board}" : "You have archived the board {board}",
"{user} has archived the board {before}" : "{user} has archived the board {before}",
"You have unarchived the board {board}" : "You have unarchived the board {board}",
"{user} has unarchived the board {before}" : "{user} has unarchived the board {before}",
"You have created a new list {stack} on board {board}" : "You have created a new list {stack} on board {board}",
"{user} has created a new list {stack} on board {board}" : "{user} has created a new list {stack} on board {board}",
"You have renamed list {before} to {stack} on board {board}" : "You have renamed list {before} to {stack} on board {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} has renamed list {before} to {stack} on board {board}",
"You have deleted list {stack} on board {board}" : "You have deleted list {stack} on board {board}",
"{user} has deleted list {stack} on board {board}" : "{user} has deleted list {stack} on board {board}",
"You have created card {card} in list {stack} on board {board}" : "You have created card {card} in list {stack} on board {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} has created card {card} in list {stack} on board {board}",
"You have deleted card {card} in list {stack} on board {board}" : "You have deleted card {card} in list {stack} on board {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} has deleted card {card} in list {stack} on board {board}",
"You have renamed the card {before} to {card}" : "You have renamed the card {before} to {card}",
"{user} has renamed the card {before} to {card}" : "{user} has renamed the card {before} to {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "You have added a description to card {card} in list {stack} on board {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} has added a description to card {card} in list {stack} on board {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "You have updated the description of card {card} in list {stack} on board {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} has updated the description of the card {card} in list {stack} on board {board}",
"You have archived card {card} in list {stack} on board {board}" : "You have archived card {card} in list {stack} on board {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} has archived card {card} in list {stack} on board {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "You have unarchived card {card} in list {stack} on board {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} has unarchived card {card} in list {stack} on board {board}",
"You have removed the due date of card {card}" : "You have removed the due date of card {card}",
"{user} has removed the due date of card {card}" : "{user} has removed the due date of card {card}",
"You have set the due date of card {card} to {after}" : "You have set the due date of card {card} to {after}",
"{user} has set the due date of card {card} to {after}" : "{user} has set the due date of card {card} to {after}",
"You have updated the due date of card {card} to {after}" : "You have updated the due date of card {card} to {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} has updated the due date of card {card} to {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "You have added the tag {label} to card {card} in list {stack} on board {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} has added the tag {label} to card {card} in list {stack} on board {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "You have removed the tag {label} from card {card} in list {stack} on board {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} has removed the tag {label} from card {card} in list {stack} on board {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "You have assigned {assigneduser} to card {card} on board {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} has assigned {assigneduser} to card {card} on board {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "You have unassigned {assigneduser} from card {card} on board {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} has unassigned {assigneduser} from card {card} on board {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "You have moved the card {card} from list {stackBefore} to {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} has moved the card {card} from list {stackBefore} to {stack}",
"You have added the attachment {attachment} to card {card}" : "You have added the attachment {attachment} to card {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} has added the attachment {attachment} to card {card}",
"You have updated the attachment {attachment} on card {card}" : "You have updated the attachment {attachment} on card {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} has updated the attachment {attachment} on card {card}",
"You have deleted the attachment {attachment} from card {card}" : "You have deleted the attachment {attachment} from card {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} has deleted the attachment {attachment} from card {card}",
"You have restored the attachment {attachment} to card {card}" : "You have restored the attachment {attachment} to card {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} has restored the attachment {attachment} to card {card}",
"You have commented on card {card}" : "You have commented on card {card}",
"{user} has commented on card {card}" : "{user} has commented on card {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "A <strong>card description</strong> inside the Deck app has been changed",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Changes in the <strong>Deck app</strong>",
"A <strong>comment</strong> was created on a card" : "A <strong>comment</strong> was created on a card",
"Upcoming cards" : "Upcoming cards",
"Load more" : "Load more",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "The card \"%s\" on \"%s\" has been assigned to you by %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} has assigned the card {deck-card} on {deck-board} to you.",
"The card \"%s\" on \"%s\" has reached its due date." : "The card \"%s\" on \"%s\" has reached its due date.",
"The card {deck-card} on {deck-board} has reached its due date." : "The card {deck-card} on {deck-board} has reached its due date.",
"%s has mentioned you in a comment on \"%s\"." : "%s has mentioned you in a comment on \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} has mentioned you in a comment on {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "The board \"%s\" has been shared with you by %s.",
"{user} has shared {deck-board} with you." : "{user} has shared {deck-board} with you.",
"Card comments" : "Card comments",
"%s on %s" : "%s on %s",
"No data was provided to create an attachment." : "No data was provided to create an attachment.",
"Finished" : "Finished",
"To review" : "To review",
"Action needed" : "Action needed",
"Later" : "Later",
"copy" : "copy",
"To do" : "To do",
"Doing" : "Doing",
"Done" : "Done",
"Example Task 3" : "Example Task 3",
"Example Task 2" : "Example Task 2",
"Example Task 1" : "Example Task 1",
"The file was uploaded" : "The file was uploaded",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form",
@@ -20,63 +100,218 @@ OC.L10N.register(
"Missing a temporary folder" : "Missing a temporary folder",
"Could not write file to disk" : "Could not write file to disk",
"A PHP extension stopped the file upload" : "A PHP extension stopped the file upload",
"No file uploaded or file size exceeds maximum of %s" : "No file uploaded or file size exceeds maximum of %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s.",
"Card not found" : "Card not found",
"Path is already shared with this card" : "Path is already shared with this card",
"Invalid date, date format must be YYYY-MM-DD" : "Invalid date, date format must be YYYY-MM-DD",
"Personal planning and team project organization" : "Personal planning and team project organization",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
"Card details" : "Card details",
"Add board" : "Add board",
"Select the board to link to a project" : "Select the board to link to a project",
"Search by board title" : "Search by board title",
"Select board" : "Select board",
"Create a new card" : "Create a new card",
"Select a board" : "Select a board",
"Select a list" : "Select a list",
"Card title" : "Card title",
"Cancel" : "Cancel",
"Creating the new card …" : "Creating the new card …",
"Card \"{card}\" was added to \"{board}\"" : "Card \"{card}\" was added to \"{board}\"",
"Open card" : "Open card",
"Close" : "Close",
"Create card" : "Create card",
"Select a card" : "Select a card",
"Select the card to link to a project" : "Select the card to link to a project",
"Link to card" : "Link to card",
"File already exists" : "File already exists",
"A file with the name {filename} already exists." : "A file with the name {filename} already exists.",
"Do you want to overwrite it?" : "Do you want to overwrite it?",
"Overwrite file" : "Overwrite file",
"Keep existing file" : "Keep existing file",
"This board is read only" : "This board is read only",
"Drop your files to upload" : "Drop your files to upload",
"Add card" : "Add card",
"Archived cards" : "Archived cards",
"Add list" : "Add list",
"List name" : "List name",
"Active filters" : "Active filters",
"Apply filter" : "Apply filter",
"Filter by tag" : "Filter by tag",
"Filter by assigned user" : "Filter by assigned user",
"Unassigned" : "Unassigned",
"Filter by due date" : "Filter by due date",
"Overdue" : "Overdue",
"Next 24 hours" : "Next 24 hours",
"Next 7 days" : "Next 7 days",
"Next 30 days" : "Next 30 days",
"No due date" : "No due date",
"Clear filter" : "Clear filter",
"Hide archived cards" : "Hide archived cards",
"Show archived cards" : "Show archived cards",
"Toggle compact mode" : "Toggle compact mode",
"Open details" : "Open details",
"Details" : "Details",
"Loading board" : "Loading board",
"No lists available" : "No lists available",
"Create a new list to add cards to this board" : "Create a new list to add cards to this board",
"Board not found" : "Board not found",
"Sharing" : "Sharing",
"Tags" : "Tags",
"Deleted items" : "Deleted items",
"Timeline" : "Timeline",
"Deleted lists" : "Deleted lists",
"Undo" : "Undo",
"Deleted cards" : "Deleted cards",
"Share board with a user, group or circle …" : "Share board with a user, group or circle …",
"Searching for users, groups and circles …" : "Searching for users, groups and circles …",
"No participants found" : "No participants found",
"Board owner" : "Board owner",
"(Group)" : "(Group)",
"(Circle)" : "(Circle)",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Can manage" : "Can manage",
"Owner" : "Owner",
"Delete" : "Delete",
"Failed to create share with {displayName}" : "Failed to create share with {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Are you sure you want to transfer the board {title} to {user}?",
"Transfer the board." : "Transfer the board.",
"Transfer" : "Transfer",
"The board has been transferred to {user}" : "The board has been transferred to {user}",
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
"Add a new list" : "Add a new list",
"Archive all cards" : "Archive all cards",
"Unarchive all cards" : "Unarchive all cards",
"Delete list" : "Delete list",
"Archive all cards in this list" : "Archive all cards in this list",
"Unarchive all cards in this list" : "Unarchive all cards in this list",
"Add a new card" : "Add a new card",
"Card name" : "Card name",
"List deleted" : "List deleted",
"Edit" : "Edit",
"Add a new tag" : "Add a new tag",
"title and color value must be provided" : "title and colour value must be provided",
"Board name" : "Board name",
"Members" : "Members",
"Upload new files" : "Upload new files",
"Share from Files" : "Share from Files",
"Pending share" : "Pending share",
"Add this attachment" : "Add this attachment",
"Show in Files" : "Show in Files",
"Download" : "Download",
"Remove attachment" : "Remove attachment",
"Delete Attachment" : "Delete Attachment",
"Restore Attachment" : "Restore Attachment",
"File to share" : "File to share",
"Invalid path selected" : "Invalid path selected",
"Open in sidebar view" : "Open in sidebar view",
"Open in bigger view" : "Open in bigger view",
"Attachments" : "Attachments",
"Comments" : "Comments",
"Modified" : "Modified",
"Created" : "Created",
"The title cannot be empty." : "The title cannot be empty.",
"No comments yet. Begin the discussion!" : "No comments yet. Begin the discussion!",
"Failed to load comments" : "Failed to load comments",
"Assign a tag to this card…" : "Assign a tag to this card…",
"Assign to users" : "Assign to users",
"Assign to users/groups/circles" : "Assign to users/groups/circles",
"Assign a user to this card…" : "Assign a user to this card…",
"Due date" : "Due date",
"Set a due date" : "Set a due date",
"Remove due date" : "Remove due date",
"Select Date" : "Select Date",
"Today" : "Today",
"Tomorrow" : "Tomorrow",
"Next week" : "Next week",
"Next month" : "Next month",
"Save" : "Save",
"The comment cannot be empty." : "The comment cannot be empty.",
"The comment cannot be longer than 1000 characters." : "The comment cannot be longer than 1000 characters.",
"In reply to" : "In reply to",
"Cancel reply" : "Cancel reply",
"Reply" : "Reply",
"Update" : "Update",
"Description" : "Description",
"(Unsaved)" : "(Unsaved)",
"(Saving…)" : "(Saving…)",
"Formatting help" : "Formatting help",
"Edit description" : "Edit description",
"View description" : "View description",
"Add Attachment" : "Add Attachment",
"Write a description …" : "Write a description …",
"Choose attachment" : "Choose attachment",
"(group)" : "(group)",
"Todo items" : "Todo items",
"{count} comments, {unread} unread" : "{count} comments, {unread} unread",
"Edit card title" : "Edit card title",
"Assign to me" : "Assign to me",
"Unassign myself" : "Unassign myself",
"Move card" : "Move card",
"Unarchive card" : "Unarchive card",
"Archive card" : "Archive card",
"Delete card" : "Delete card",
"Move card to another board" : "Move card to another board",
"List is empty" : "List is empty",
"Card deleted" : "Card deleted",
"seconds ago" : "seconds ago",
"All boards" : "All boards",
"Archived boards" : "Archived boards",
"Shared with you" : "Shared with you",
"Deck settings" : "Deck settings",
"Use bigger card view" : "Use bigger card view",
"Show card ID badge" : "Show card ID badge",
"Show boards in calendar/tasks" : "Show boards in calendar/tasks",
"Limit deck usage of groups" : "Limit deck usage of groups",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.",
"Board details" : "Board details",
"Edit board" : "Edit board",
"Clone board" : "Clone board",
"Unarchive board" : "Unarchive board",
"Archive board" : "Archive board",
"Turn on due date reminders" : "Turn on due date reminders",
"Turn off due date reminders" : "Turn off due date reminders",
"Due date reminders" : "Due date reminders",
"All cards" : "All cards",
"Assigned cards" : "Assigned cards",
"No notifications" : "No notifications",
"Delete board" : "Delete board",
"Board {0} deleted" : "Board {0} deleted",
"Only assigned cards" : "Only assigned cards",
"No reminder" : "No reminder",
"An error occurred" : "An error occurred",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards.",
"Delete the board?" : "Delete the board?",
"Loading filtered view" : "Loading filtered view",
"No due" : "No due",
"Search for {searchQuery} in all boards" : "Search for {searchQuery} in all boards",
"No results found" : "No results found",
"{stack} in {board}" : "{stack} in {board}",
"Click to expand description" : "Click to expand description",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments",
"{nbCards} cards" : "{nbCards} cards",
"No upcoming cards" : "No upcoming cards",
"upcoming cards" : "upcoming cards",
"Due on {date}" : "Due on {date}",
"Link to a board" : "Link to a board",
"Link to a card" : "Link to a card",
"Create a card" : "Create a card",
"Message from {author} in {conversationName}" : "Message from {author} in {conversationName}",
"Something went wrong" : "Something went wrong",
"Failed to upload {name}" : "Failed to upload {name}",
"Maximum file size of {size} exceeded" : "Maximum file size of {size} exceeded",
"Error creating the share" : "Error creating the share",
"Share with a Deck card" : "Share with a Deck card",
"Share {file} with a Deck card" : "Share {file} with a Deck card",
"Share" : "Share",
"This week" : "This week"
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
"Are you sure you want to transfer the board {title} for {user} ?" : "Are you sure you want to transfer the board {title} for {user} ?",
"Transfer the board for {user} successfully" : "Transfer the board for {user} successfully",
"Failed to transfer the board for {user}" : "Failed to transfer the board for {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Are you sure you want to delete the board {title}? This will delete all the data of this board.",
"This week" : "This week",
"Are you sure you want to transfer the board {title} for {user}?" : "Are you sure you want to transfer the board {title} for {user}?"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -1,15 +1,95 @@
{ "translations": {
"You have created a new board {board}" : "You have created a new board {board}",
"{user} has created a new board {board}" : "{user} has created a new board {board}",
"You have deleted the board {board}" : "You have deleted the board {board}",
"{user} has deleted the board {board}" : "{user} has deleted the board {board}",
"You have restored the board {board}" : "You have restored the board {board}",
"{user} has restored the board {board}" : "{user} has restored the board {board}",
"You have shared the board {board} with {acl}" : "You have shared the board {board} with {acl}",
"{user} has shared the board {board} with {acl}" : "{user} has shared the board {board} with {acl}",
"You have removed {acl} from the board {board}" : "You have removed {acl} from the board {board}",
"{user} has removed {acl} from the board {board}" : "{user} has removed {acl} from the board {board}",
"You have renamed the board {before} to {board}" : "You have renamed the board {before} to {board}",
"{user} has renamed the board {before} to {board}" : "{user} has renamed the board {before} to {board}",
"You have archived the board {board}" : "You have archived the board {board}",
"{user} has archived the board {before}" : "{user} has archived the board {before}",
"You have unarchived the board {board}" : "You have unarchived the board {board}",
"{user} has unarchived the board {before}" : "{user} has unarchived the board {before}",
"You have created a new list {stack} on board {board}" : "You have created a new list {stack} on board {board}",
"{user} has created a new list {stack} on board {board}" : "{user} has created a new list {stack} on board {board}",
"You have renamed list {before} to {stack} on board {board}" : "You have renamed list {before} to {stack} on board {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} has renamed list {before} to {stack} on board {board}",
"You have deleted list {stack} on board {board}" : "You have deleted list {stack} on board {board}",
"{user} has deleted list {stack} on board {board}" : "{user} has deleted list {stack} on board {board}",
"You have created card {card} in list {stack} on board {board}" : "You have created card {card} in list {stack} on board {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} has created card {card} in list {stack} on board {board}",
"You have deleted card {card} in list {stack} on board {board}" : "You have deleted card {card} in list {stack} on board {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} has deleted card {card} in list {stack} on board {board}",
"You have renamed the card {before} to {card}" : "You have renamed the card {before} to {card}",
"{user} has renamed the card {before} to {card}" : "{user} has renamed the card {before} to {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "You have added a description to card {card} in list {stack} on board {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} has added a description to card {card} in list {stack} on board {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "You have updated the description of card {card} in list {stack} on board {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} has updated the description of the card {card} in list {stack} on board {board}",
"You have archived card {card} in list {stack} on board {board}" : "You have archived card {card} in list {stack} on board {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} has archived card {card} in list {stack} on board {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "You have unarchived card {card} in list {stack} on board {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} has unarchived card {card} in list {stack} on board {board}",
"You have removed the due date of card {card}" : "You have removed the due date of card {card}",
"{user} has removed the due date of card {card}" : "{user} has removed the due date of card {card}",
"You have set the due date of card {card} to {after}" : "You have set the due date of card {card} to {after}",
"{user} has set the due date of card {card} to {after}" : "{user} has set the due date of card {card} to {after}",
"You have updated the due date of card {card} to {after}" : "You have updated the due date of card {card} to {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} has updated the due date of card {card} to {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "You have added the tag {label} to card {card} in list {stack} on board {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} has added the tag {label} to card {card} in list {stack} on board {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "You have removed the tag {label} from card {card} in list {stack} on board {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} has removed the tag {label} from card {card} in list {stack} on board {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "You have assigned {assigneduser} to card {card} on board {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} has assigned {assigneduser} to card {card} on board {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "You have unassigned {assigneduser} from card {card} on board {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} has unassigned {assigneduser} from card {card} on board {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "You have moved the card {card} from list {stackBefore} to {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} has moved the card {card} from list {stackBefore} to {stack}",
"You have added the attachment {attachment} to card {card}" : "You have added the attachment {attachment} to card {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} has added the attachment {attachment} to card {card}",
"You have updated the attachment {attachment} on card {card}" : "You have updated the attachment {attachment} on card {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} has updated the attachment {attachment} on card {card}",
"You have deleted the attachment {attachment} from card {card}" : "You have deleted the attachment {attachment} from card {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} has deleted the attachment {attachment} from card {card}",
"You have restored the attachment {attachment} to card {card}" : "You have restored the attachment {attachment} to card {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} has restored the attachment {attachment} to card {card}",
"You have commented on card {card}" : "You have commented on card {card}",
"{user} has commented on card {card}" : "{user} has commented on card {card}",
"A <strong>card description</strong> inside the Deck app has been changed" : "A <strong>card description</strong> inside the Deck app has been changed",
"Deck" : "Deck",
"Changes in the <strong>Deck app</strong>" : "Changes in the <strong>Deck app</strong>",
"A <strong>comment</strong> was created on a card" : "A <strong>comment</strong> was created on a card",
"Upcoming cards" : "Upcoming cards",
"Load more" : "Load more",
"Personal" : "Personal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "The card \"%s\" on \"%s\" has been assigned to you by %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} has assigned the card {deck-card} on {deck-board} to you.",
"The card \"%s\" on \"%s\" has reached its due date." : "The card \"%s\" on \"%s\" has reached its due date.",
"The card {deck-card} on {deck-board} has reached its due date." : "The card {deck-card} on {deck-board} has reached its due date.",
"%s has mentioned you in a comment on \"%s\"." : "%s has mentioned you in a comment on \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} has mentioned you in a comment on {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "The board \"%s\" has been shared with you by %s.",
"{user} has shared {deck-board} with you." : "{user} has shared {deck-board} with you.",
"Card comments" : "Card comments",
"%s on %s" : "%s on %s",
"No data was provided to create an attachment." : "No data was provided to create an attachment.",
"Finished" : "Finished",
"To review" : "To review",
"Action needed" : "Action needed",
"Later" : "Later",
"copy" : "copy",
"To do" : "To do",
"Doing" : "Doing",
"Done" : "Done",
"Example Task 3" : "Example Task 3",
"Example Task 2" : "Example Task 2",
"Example Task 1" : "Example Task 1",
"The file was uploaded" : "The file was uploaded",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini",
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form",
@@ -18,63 +98,218 @@
"Missing a temporary folder" : "Missing a temporary folder",
"Could not write file to disk" : "Could not write file to disk",
"A PHP extension stopped the file upload" : "A PHP extension stopped the file upload",
"No file uploaded or file size exceeds maximum of %s" : "No file uploaded or file size exceeds maximum of %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s.",
"Card not found" : "Card not found",
"Path is already shared with this card" : "Path is already shared with this card",
"Invalid date, date format must be YYYY-MM-DD" : "Invalid date, date format must be YYYY-MM-DD",
"Personal planning and team project organization" : "Personal planning and team project organization",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
"Card details" : "Card details",
"Add board" : "Add board",
"Select the board to link to a project" : "Select the board to link to a project",
"Search by board title" : "Search by board title",
"Select board" : "Select board",
"Create a new card" : "Create a new card",
"Select a board" : "Select a board",
"Select a list" : "Select a list",
"Card title" : "Card title",
"Cancel" : "Cancel",
"Creating the new card …" : "Creating the new card …",
"Card \"{card}\" was added to \"{board}\"" : "Card \"{card}\" was added to \"{board}\"",
"Open card" : "Open card",
"Close" : "Close",
"Create card" : "Create card",
"Select a card" : "Select a card",
"Select the card to link to a project" : "Select the card to link to a project",
"Link to card" : "Link to card",
"File already exists" : "File already exists",
"A file with the name {filename} already exists." : "A file with the name {filename} already exists.",
"Do you want to overwrite it?" : "Do you want to overwrite it?",
"Overwrite file" : "Overwrite file",
"Keep existing file" : "Keep existing file",
"This board is read only" : "This board is read only",
"Drop your files to upload" : "Drop your files to upload",
"Add card" : "Add card",
"Archived cards" : "Archived cards",
"Add list" : "Add list",
"List name" : "List name",
"Active filters" : "Active filters",
"Apply filter" : "Apply filter",
"Filter by tag" : "Filter by tag",
"Filter by assigned user" : "Filter by assigned user",
"Unassigned" : "Unassigned",
"Filter by due date" : "Filter by due date",
"Overdue" : "Overdue",
"Next 24 hours" : "Next 24 hours",
"Next 7 days" : "Next 7 days",
"Next 30 days" : "Next 30 days",
"No due date" : "No due date",
"Clear filter" : "Clear filter",
"Hide archived cards" : "Hide archived cards",
"Show archived cards" : "Show archived cards",
"Toggle compact mode" : "Toggle compact mode",
"Open details" : "Open details",
"Details" : "Details",
"Loading board" : "Loading board",
"No lists available" : "No lists available",
"Create a new list to add cards to this board" : "Create a new list to add cards to this board",
"Board not found" : "Board not found",
"Sharing" : "Sharing",
"Tags" : "Tags",
"Deleted items" : "Deleted items",
"Timeline" : "Timeline",
"Deleted lists" : "Deleted lists",
"Undo" : "Undo",
"Deleted cards" : "Deleted cards",
"Share board with a user, group or circle …" : "Share board with a user, group or circle …",
"Searching for users, groups and circles …" : "Searching for users, groups and circles …",
"No participants found" : "No participants found",
"Board owner" : "Board owner",
"(Group)" : "(Group)",
"(Circle)" : "(Circle)",
"Can edit" : "Can edit",
"Can share" : "Can share",
"Can manage" : "Can manage",
"Owner" : "Owner",
"Delete" : "Delete",
"Failed to create share with {displayName}" : "Failed to create share with {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Are you sure you want to transfer the board {title} to {user}?",
"Transfer the board." : "Transfer the board.",
"Transfer" : "Transfer",
"The board has been transferred to {user}" : "The board has been transferred to {user}",
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
"Add a new list" : "Add a new list",
"Archive all cards" : "Archive all cards",
"Unarchive all cards" : "Unarchive all cards",
"Delete list" : "Delete list",
"Archive all cards in this list" : "Archive all cards in this list",
"Unarchive all cards in this list" : "Unarchive all cards in this list",
"Add a new card" : "Add a new card",
"Card name" : "Card name",
"List deleted" : "List deleted",
"Edit" : "Edit",
"Add a new tag" : "Add a new tag",
"title and color value must be provided" : "title and colour value must be provided",
"Board name" : "Board name",
"Members" : "Members",
"Upload new files" : "Upload new files",
"Share from Files" : "Share from Files",
"Pending share" : "Pending share",
"Add this attachment" : "Add this attachment",
"Show in Files" : "Show in Files",
"Download" : "Download",
"Remove attachment" : "Remove attachment",
"Delete Attachment" : "Delete Attachment",
"Restore Attachment" : "Restore Attachment",
"File to share" : "File to share",
"Invalid path selected" : "Invalid path selected",
"Open in sidebar view" : "Open in sidebar view",
"Open in bigger view" : "Open in bigger view",
"Attachments" : "Attachments",
"Comments" : "Comments",
"Modified" : "Modified",
"Created" : "Created",
"The title cannot be empty." : "The title cannot be empty.",
"No comments yet. Begin the discussion!" : "No comments yet. Begin the discussion!",
"Failed to load comments" : "Failed to load comments",
"Assign a tag to this card…" : "Assign a tag to this card…",
"Assign to users" : "Assign to users",
"Assign to users/groups/circles" : "Assign to users/groups/circles",
"Assign a user to this card…" : "Assign a user to this card…",
"Due date" : "Due date",
"Set a due date" : "Set a due date",
"Remove due date" : "Remove due date",
"Select Date" : "Select Date",
"Today" : "Today",
"Tomorrow" : "Tomorrow",
"Next week" : "Next week",
"Next month" : "Next month",
"Save" : "Save",
"The comment cannot be empty." : "The comment cannot be empty.",
"The comment cannot be longer than 1000 characters." : "The comment cannot be longer than 1000 characters.",
"In reply to" : "In reply to",
"Cancel reply" : "Cancel reply",
"Reply" : "Reply",
"Update" : "Update",
"Description" : "Description",
"(Unsaved)" : "(Unsaved)",
"(Saving…)" : "(Saving…)",
"Formatting help" : "Formatting help",
"Edit description" : "Edit description",
"View description" : "View description",
"Add Attachment" : "Add Attachment",
"Write a description …" : "Write a description …",
"Choose attachment" : "Choose attachment",
"(group)" : "(group)",
"Todo items" : "Todo items",
"{count} comments, {unread} unread" : "{count} comments, {unread} unread",
"Edit card title" : "Edit card title",
"Assign to me" : "Assign to me",
"Unassign myself" : "Unassign myself",
"Move card" : "Move card",
"Unarchive card" : "Unarchive card",
"Archive card" : "Archive card",
"Delete card" : "Delete card",
"Move card to another board" : "Move card to another board",
"List is empty" : "List is empty",
"Card deleted" : "Card deleted",
"seconds ago" : "seconds ago",
"All boards" : "All boards",
"Archived boards" : "Archived boards",
"Shared with you" : "Shared with you",
"Deck settings" : "Deck settings",
"Use bigger card view" : "Use bigger card view",
"Show card ID badge" : "Show card ID badge",
"Show boards in calendar/tasks" : "Show boards in calendar/tasks",
"Limit deck usage of groups" : "Limit deck usage of groups",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them.",
"Board details" : "Board details",
"Edit board" : "Edit board",
"Clone board" : "Clone board",
"Unarchive board" : "Unarchive board",
"Archive board" : "Archive board",
"Turn on due date reminders" : "Turn on due date reminders",
"Turn off due date reminders" : "Turn off due date reminders",
"Due date reminders" : "Due date reminders",
"All cards" : "All cards",
"Assigned cards" : "Assigned cards",
"No notifications" : "No notifications",
"Delete board" : "Delete board",
"Board {0} deleted" : "Board {0} deleted",
"Only assigned cards" : "Only assigned cards",
"No reminder" : "No reminder",
"An error occurred" : "An error occurred",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards.",
"Delete the board?" : "Delete the board?",
"Loading filtered view" : "Loading filtered view",
"No due" : "No due",
"Search for {searchQuery} in all boards" : "Search for {searchQuery} in all boards",
"No results found" : "No results found",
"{stack} in {board}" : "{stack} in {board}",
"Click to expand description" : "Click to expand description",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments",
"{nbCards} cards" : "{nbCards} cards",
"No upcoming cards" : "No upcoming cards",
"upcoming cards" : "upcoming cards",
"Due on {date}" : "Due on {date}",
"Link to a board" : "Link to a board",
"Link to a card" : "Link to a card",
"Create a card" : "Create a card",
"Message from {author} in {conversationName}" : "Message from {author} in {conversationName}",
"Something went wrong" : "Something went wrong",
"Failed to upload {name}" : "Failed to upload {name}",
"Maximum file size of {size} exceeded" : "Maximum file size of {size} exceeded",
"Error creating the share" : "Error creating the share",
"Share with a Deck card" : "Share with a Deck card",
"Share {file} with a Deck card" : "Share {file} with a Deck card",
"Share" : "Share",
"This week" : "This week"
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized",
"Are you sure you want to transfer the board {title} for {user} ?" : "Are you sure you want to transfer the board {title} for {user} ?",
"Transfer the board for {user} successfully" : "Transfer the board for {user} successfully",
"Failed to transfer the board for {user}" : "Failed to transfer the board for {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Are you sure you want to delete the board {title}? This will delete all the data of this board.",
"This week" : "This week",
"Are you sure you want to transfer the board {title} for {user}?" : "Are you sure you want to transfer the board {title} for {user}?"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
"Add a new list" : "Añadir una lista nueva",
"Archive all cards" : "Archivar todas las tarjetas",
"Unarchive all cards" : "Desarchivar todas las tarjetas",
"Delete list" : "Eliminar lista",
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
"Unarchive all cards in this list" : "Desarchivar todas las tarjetas en esta lista",
"Add a new card" : "Añadir una nueva tarjeta",
"Card name" : "Nombre de la tarjeta",
"List deleted" : "Lista borrada",
@@ -242,6 +244,7 @@ OC.L10N.register(
"Write a description …" : "Escribe una descripción...",
"Choose attachment" : "Escoger adjunto",
"(group)" : "(grupo)",
"Todo items" : "Ítems pendientes",
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
"Edit card title" : "Editar el título de la tarjeta",
"Assign to me" : "Asignarme a mí",
@@ -257,7 +260,9 @@ OC.L10N.register(
"All boards" : "Todos los tableros",
"Archived boards" : "Tableros archivados",
"Shared with you" : "Compartido contigo",
"Deck settings" : "Configuración del tablero",
"Use bigger card view" : "Usar vista de tarjeta mayor",
"Show card ID badge" : "Mostrar insignia de la ID de tarjeta",
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar el uso de Deck a grupos",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitar Deck impedirá que usuarios que no formen parte de esos grupos creen sus propios tableros. Los usuarios todavía podrán trabajar en tableros que hayan sido compartidos con ellos.",
@@ -277,14 +282,19 @@ OC.L10N.register(
"Only assigned cards" : "Sólo las tarjetas asignadas",
"No reminder" : "No hay recordatorio",
"An error occurred" : "Ocurrió un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "¿Está seguro de querer eliminar el tablero {title}? Esto eliminará todos los datos del tablero incluyendo las tarjetas archivadas.",
"Delete the board?" : "¿Borrar el tablero?",
"Loading filtered view" : "Cargando vista filtrada",
"No due" : "Sin finalizar",
"Search for {searchQuery} in all boards" : "Buscar {searchQuery} en todos los tableros",
"No results found" : "No se encontraron resultados",
"{stack} in {board}" : "{stack} en {board}",
"Click to expand description" : "Pulse para expandir la descripción",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creada en {created}\n* Ultima moficiación en {lastMod}\n* {nbAttachments} adjuntos\n* {nbComments} comentarios",
"{nbCards} cards" : "{nbCards} tarjetas",
"No upcoming cards" : "No hay tarjetas próximas",
"upcoming cards" : "próximas tarjetas",
"Due on {date}" : "Vence en {date}",
"Link to a board" : "Enlace a un tablero",
"Link to a card" : "Enlace a una tarjeta",
"Create a card" : "Crear una tarjeta",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "Failed to transfer the board to {user}",
"Add a new list" : "Añadir una lista nueva",
"Archive all cards" : "Archivar todas las tarjetas",
"Unarchive all cards" : "Desarchivar todas las tarjetas",
"Delete list" : "Eliminar lista",
"Archive all cards in this list" : "Archivar todas las tarjetas en esta lista",
"Unarchive all cards in this list" : "Desarchivar todas las tarjetas en esta lista",
"Add a new card" : "Añadir una nueva tarjeta",
"Card name" : "Nombre de la tarjeta",
"List deleted" : "Lista borrada",
@@ -240,6 +242,7 @@
"Write a description …" : "Escribe una descripción...",
"Choose attachment" : "Escoger adjunto",
"(group)" : "(grupo)",
"Todo items" : "Ítems pendientes",
"{count} comments, {unread} unread" : "{count} comentarios, {unread} sin leer",
"Edit card title" : "Editar el título de la tarjeta",
"Assign to me" : "Asignarme a mí",
@@ -255,7 +258,9 @@
"All boards" : "Todos los tableros",
"Archived boards" : "Tableros archivados",
"Shared with you" : "Compartido contigo",
"Deck settings" : "Configuración del tablero",
"Use bigger card view" : "Usar vista de tarjeta mayor",
"Show card ID badge" : "Mostrar insignia de la ID de tarjeta",
"Show boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar el uso de Deck a grupos",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitar Deck impedirá que usuarios que no formen parte de esos grupos creen sus propios tableros. Los usuarios todavía podrán trabajar en tableros que hayan sido compartidos con ellos.",
@@ -275,14 +280,19 @@
"Only assigned cards" : "Sólo las tarjetas asignadas",
"No reminder" : "No hay recordatorio",
"An error occurred" : "Ocurrió un error",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "¿Está seguro de querer eliminar el tablero {title}? Esto eliminará todos los datos del tablero incluyendo las tarjetas archivadas.",
"Delete the board?" : "¿Borrar el tablero?",
"Loading filtered view" : "Cargando vista filtrada",
"No due" : "Sin finalizar",
"Search for {searchQuery} in all boards" : "Buscar {searchQuery} en todos los tableros",
"No results found" : "No se encontraron resultados",
"{stack} in {board}" : "{stack} en {board}",
"Click to expand description" : "Pulse para expandir la descripción",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Creada en {created}\n* Ultima moficiación en {lastMod}\n* {nbAttachments} adjuntos\n* {nbComments} comentarios",
"{nbCards} cards" : "{nbCards} tarjetas",
"No upcoming cards" : "No hay tarjetas próximas",
"upcoming cards" : "próximas tarjetas",
"Due on {date}" : "Vence en {date}",
"Link to a board" : "Enlace a un tablero",
"Link to a card" : "Enlace a una tarjeta",
"Create a card" : "Crear una tarjeta",

View File

@@ -18,6 +18,7 @@ OC.L10N.register(
"Details" : "Üksikasjad",
"Sharing" : "Jagamine",
"Tags" : "Sildid",
"Undo" : "Tühista",
"Can edit" : "Võib redigeerida",
"Can share" : "Can share",
"Owner" : "Omanik",
@@ -42,6 +43,7 @@ OC.L10N.register(
"Shared with you" : "Sinuga jagatud",
"No notifications" : "Märguandeid pole",
"An error occurred" : "Tekkis tõrge",
"Share" : "Jaga"
"Share" : "Jaga",
"This week" : "Käesolev nädal"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -16,6 +16,7 @@
"Details" : "Üksikasjad",
"Sharing" : "Jagamine",
"Tags" : "Sildid",
"Undo" : "Tühista",
"Can edit" : "Võib redigeerida",
"Can share" : "Can share",
"Owner" : "Omanik",
@@ -40,6 +41,7 @@
"Shared with you" : "Sinuga jagatud",
"No notifications" : "Märguandeid pole",
"An error occurred" : "Tekkis tõrge",
"Share" : "Jaga"
"Share" : "Jaga",
"This week" : "Käesolev nädal"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -279,14 +279,19 @@ OC.L10N.register(
"Only assigned cards" : "Bakarrik esleitutako txartelak",
"No reminder" : "Abisurik ez",
"An error occurred" : "Errore bat gertatu da",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako kartak barne.",
"Delete the board?" : "Taula ezabatu?",
"Loading filtered view" : "Kargatzen iragazitako ikuspegia",
"No due" : "Epemugarik ez",
"Search for {searchQuery} in all boards" : "Bilatu {searchQuery} taula guztietan",
"No results found" : "Ez da emaitzarik aurkitu",
"{stack} in {board}" : "{stack} {board}-(e)n",
"Click to expand description" : "Egin klik deskribapena handitzeko",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Sorrera-data {created}\n* Azken aldaketa data {lastMod}\n* {nbAttachments} eranskin\n* {nbComments} iruzkin",
"{nbCards} cards" : "{nbCards} karta",
"No upcoming cards" : "Ez dago hurrengo txartelik",
"upcoming cards" : "hurrengo txartelak",
"Due on {date}" : "Iraungitze-data {date}",
"Link to a board" : "Estekatu taula batera",
"Link to a card" : "Estekatu txartel batera",
"Create a card" : "Sortu txartela",

View File

@@ -277,14 +277,19 @@
"Only assigned cards" : "Bakarrik esleitutako txartelak",
"No reminder" : "Abisurik ez",
"An error occurred" : "Errore bat gertatu da",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ziur zaude {title} taula ezabatu nahi duzula? Honek taula honen datu guztiak ezabatuko ditu, artxibatutako kartak barne.",
"Delete the board?" : "Taula ezabatu?",
"Loading filtered view" : "Kargatzen iragazitako ikuspegia",
"No due" : "Epemugarik ez",
"Search for {searchQuery} in all boards" : "Bilatu {searchQuery} taula guztietan",
"No results found" : "Ez da emaitzarik aurkitu",
"{stack} in {board}" : "{stack} {board}-(e)n",
"Click to expand description" : "Egin klik deskribapena handitzeko",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Sorrera-data {created}\n* Azken aldaketa data {lastMod}\n* {nbAttachments} eranskin\n* {nbComments} iruzkin",
"{nbCards} cards" : "{nbCards} karta",
"No upcoming cards" : "Ez dago hurrengo txartelik",
"upcoming cards" : "hurrengo txartelak",
"Due on {date}" : "Iraungitze-data {date}",
"Link to a board" : "Estekatu taula batera",
"Link to a card" : "Estekatu txartel batera",
"Create a card" : "Sortu txartela",

View File

@@ -131,7 +131,7 @@ OC.L10N.register(
"Overwrite file" : "Remplacer le fichier",
"Keep existing file" : "Conserver le fichier existant",
"This board is read only" : "Ce tableau est en lecture seule",
"Drop your files to upload" : "Glissez vos fichiers pour les envoyer",
"Drop your files to upload" : "Glissez vos fichiers pour les téléverser",
"Add card" : "Ajouter une carte",
"Archived cards" : "Cartes archivées",
"Add list" : "Ajouter une liste",
@@ -150,7 +150,7 @@ OC.L10N.register(
"Clear filter" : "Supprimer le filtre",
"Hide archived cards" : "Masquer les cartes archivées",
"Show archived cards" : "Afficher les cartes archivées",
"Toggle compact mode" : "Activer / Désactiver le mode compact",
"Toggle compact mode" : "Activer/Désactiver l'affichage compact",
"Open details" : "Ouvrir les détails",
"Details" : "Détails",
"Loading board" : "Chargement du tableau…",
@@ -178,13 +178,15 @@ OC.L10N.register(
"Failed to create share with {displayName}" : "Échec de la création du partage avec {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} à {user} ?",
"Transfer the board." : "Transférer le tableau",
"Transfer" : "Transfert",
"Transfer" : "Transférer",
"The board has been transferred to {user}" : "Le tableau a été transféré à {user}",
"Failed to transfer the board to {user}" : "Échec du transfert du tableau à {user}",
"Add a new list" : "Ajouter une nouvelle liste",
"Archive all cards" : "Archiver toutes les cartes",
"Unarchive all cards" : "Désarchiver toutes les cartes",
"Delete list" : "Supprimer la liste",
"Archive all cards in this list" : "Archiver toutes les cartes de cette liste",
"Unarchive all cards in this list" : "Désarchiver toutes les cartes de cette liste",
"Add a new card" : "Ajouter une nouvelle carte",
"Card name" : "Nom de la carte",
"List deleted" : "Liste supprimée",
@@ -204,7 +206,7 @@ OC.L10N.register(
"Restore Attachment" : "Restaurer la pièce jointe",
"File to share" : "Fichier à partager",
"Invalid path selected" : "Chemin sélectionné non valide",
"Open in sidebar view" : "Ouvrir dans la barre latérale",
"Open in sidebar view" : "Ouvrir dans le panneau latéral",
"Open in bigger view" : "Ouvrir dans la vue principale",
"Attachments" : "Pièces jointes",
"Comments" : "Commentaires",
@@ -239,7 +241,7 @@ OC.L10N.register(
"Edit description" : "Modifier la description",
"View description" : "Afficher la description",
"Add Attachment" : "Ajouter une pièce jointe",
"Write a description …" : "Écrire une description ...",
"Write a description …" : "Écrire une description",
"Choose attachment" : "Choisir une pièce jointe",
"(group)" : "(groupe)",
"Todo items" : "À faire",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "Partagés avec vous",
"Deck settings" : "Paramètres de Deck",
"Use bigger card view" : "Utiliser la vue large des cartes",
"Show card ID badge" : "Afficher la carte d'identité du badge",
"Show boards in calendar/tasks" : "Afficher les tableaux dans les agendas/tâches",
"Limit deck usage of groups" : "Limiter l'utilisation du tableau aux groupes",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limiter Deck empêchera les utilisateurs ne faisant pas partie de ces groupes de créer leurs propres tableaux. Ces utilisateurs pourront toujours travailler sur les tableaux qui ont été partagés avec eux.",
@@ -275,17 +278,18 @@ OC.L10N.register(
"Assigned cards" : "Cartes assignées",
"No notifications" : "Aucune notification",
"Delete board" : "Supprimer le tableau",
"Board {0} deleted" : "Tableau \"{0}\" supprimé",
"Board {0} deleted" : "Tableau {0} supprimé",
"Only assigned cards" : "Uniquement les cartes assignées",
"No reminder" : "Aucun rappel",
"An error occurred" : "Une erreur est survenue",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau \"{titre}\" ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau {titre} ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.",
"Delete the board?" : "Supprimer le tableau ?",
"Loading filtered view" : "Chargement de la vue filtrée",
"No due" : "Sans échéance",
"Search for {searchQuery} in all boards" : "Rechercher {searchQuery} dans tous les tableaux",
"No results found" : "Aucun résultat",
"{stack} in {board}" : "{stack} dans {board}",
"Click to expand description" : "Cliquer pour visualiser la description",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Créée le {created}\n* Dernière modification le {lastMod}\n* {nbAttachments} pièces jointes\n* {nbComments} commentaires",
"{nbCards} cards" : "{nbCards} cartes",
"No upcoming cards" : "Pas de cartes à venir",
@@ -306,7 +310,7 @@ OC.L10N.register(
"Are you sure you want to transfer the board {title} for {user} ?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?",
"Transfer the board for {user} successfully" : "Transfert du tableau pour {user} avec succès",
"Failed to transfer the board for {user}" : "Échec du transfert du tableau pour {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau \"{title}\" ? Cela supprimera l'ensemble des données de ce tableau.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau {title} ? Cela supprimera l'ensemble des données de ce tableau.",
"This week" : "Cette semaine",
"Are you sure you want to transfer the board {title} for {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?"
},

View File

@@ -129,7 +129,7 @@
"Overwrite file" : "Remplacer le fichier",
"Keep existing file" : "Conserver le fichier existant",
"This board is read only" : "Ce tableau est en lecture seule",
"Drop your files to upload" : "Glissez vos fichiers pour les envoyer",
"Drop your files to upload" : "Glissez vos fichiers pour les téléverser",
"Add card" : "Ajouter une carte",
"Archived cards" : "Cartes archivées",
"Add list" : "Ajouter une liste",
@@ -148,7 +148,7 @@
"Clear filter" : "Supprimer le filtre",
"Hide archived cards" : "Masquer les cartes archivées",
"Show archived cards" : "Afficher les cartes archivées",
"Toggle compact mode" : "Activer / Désactiver le mode compact",
"Toggle compact mode" : "Activer/Désactiver l'affichage compact",
"Open details" : "Ouvrir les détails",
"Details" : "Détails",
"Loading board" : "Chargement du tableau…",
@@ -176,13 +176,15 @@
"Failed to create share with {displayName}" : "Échec de la création du partage avec {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} à {user} ?",
"Transfer the board." : "Transférer le tableau",
"Transfer" : "Transfert",
"Transfer" : "Transférer",
"The board has been transferred to {user}" : "Le tableau a été transféré à {user}",
"Failed to transfer the board to {user}" : "Échec du transfert du tableau à {user}",
"Add a new list" : "Ajouter une nouvelle liste",
"Archive all cards" : "Archiver toutes les cartes",
"Unarchive all cards" : "Désarchiver toutes les cartes",
"Delete list" : "Supprimer la liste",
"Archive all cards in this list" : "Archiver toutes les cartes de cette liste",
"Unarchive all cards in this list" : "Désarchiver toutes les cartes de cette liste",
"Add a new card" : "Ajouter une nouvelle carte",
"Card name" : "Nom de la carte",
"List deleted" : "Liste supprimée",
@@ -202,7 +204,7 @@
"Restore Attachment" : "Restaurer la pièce jointe",
"File to share" : "Fichier à partager",
"Invalid path selected" : "Chemin sélectionné non valide",
"Open in sidebar view" : "Ouvrir dans la barre latérale",
"Open in sidebar view" : "Ouvrir dans le panneau latéral",
"Open in bigger view" : "Ouvrir dans la vue principale",
"Attachments" : "Pièces jointes",
"Comments" : "Commentaires",
@@ -237,7 +239,7 @@
"Edit description" : "Modifier la description",
"View description" : "Afficher la description",
"Add Attachment" : "Ajouter une pièce jointe",
"Write a description …" : "Écrire une description ...",
"Write a description …" : "Écrire une description",
"Choose attachment" : "Choisir une pièce jointe",
"(group)" : "(groupe)",
"Todo items" : "À faire",
@@ -258,6 +260,7 @@
"Shared with you" : "Partagés avec vous",
"Deck settings" : "Paramètres de Deck",
"Use bigger card view" : "Utiliser la vue large des cartes",
"Show card ID badge" : "Afficher la carte d'identité du badge",
"Show boards in calendar/tasks" : "Afficher les tableaux dans les agendas/tâches",
"Limit deck usage of groups" : "Limiter l'utilisation du tableau aux groupes",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limiter Deck empêchera les utilisateurs ne faisant pas partie de ces groupes de créer leurs propres tableaux. Ces utilisateurs pourront toujours travailler sur les tableaux qui ont été partagés avec eux.",
@@ -273,17 +276,18 @@
"Assigned cards" : "Cartes assignées",
"No notifications" : "Aucune notification",
"Delete board" : "Supprimer le tableau",
"Board {0} deleted" : "Tableau \"{0}\" supprimé",
"Board {0} deleted" : "Tableau {0} supprimé",
"Only assigned cards" : "Uniquement les cartes assignées",
"No reminder" : "Aucun rappel",
"An error occurred" : "Une erreur est survenue",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau \"{titre}\" ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Êtes-vous sûr de vouloir supprimer le tableau {titre} ? Cela supprimera toutes les données de ce tableau, y compris les cartes archivées.",
"Delete the board?" : "Supprimer le tableau ?",
"Loading filtered view" : "Chargement de la vue filtrée",
"No due" : "Sans échéance",
"Search for {searchQuery} in all boards" : "Rechercher {searchQuery} dans tous les tableaux",
"No results found" : "Aucun résultat",
"{stack} in {board}" : "{stack} dans {board}",
"Click to expand description" : "Cliquer pour visualiser la description",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Créée le {created}\n* Dernière modification le {lastMod}\n* {nbAttachments} pièces jointes\n* {nbComments} commentaires",
"{nbCards} cards" : "{nbCards} cartes",
"No upcoming cards" : "Pas de cartes à venir",
@@ -304,7 +308,7 @@
"Are you sure you want to transfer the board {title} for {user} ?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?",
"Transfer the board for {user} successfully" : "Transfert du tableau pour {user} avec succès",
"Failed to transfer the board for {user}" : "Échec du transfert du tableau pour {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau \"{title}\" ? Cela supprimera l'ensemble des données de ce tableau.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Êtes-vous certain de vouloir supprimer le tableau {title} ? Cela supprimera l'ensemble des données de ce tableau.",
"This week" : "Cette semaine",
"Are you sure you want to transfer the board {title} for {user}?" : "Êtes-vous sûr de vouloir transférer le tableau {title} pour {user} ?"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "A tábla átadása {user} számára sikertelen",
"Add a new list" : "Új lista hozzáadása",
"Archive all cards" : "Az összes kártya archiválása",
"Unarchive all cards" : "Az összes kártya archiválásának visszavonása",
"Delete list" : "Lista törlése",
"Archive all cards in this list" : "Az összes kártya archiválása ebben a listában",
"Unarchive all cards in this list" : "Az összes kártya archiválásának visszavonása ebben a listában",
"Add a new card" : "Új kártya hozzáadása",
"Card name" : "Kártya neve",
"List deleted" : "Lista törölve",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "Megosztva Önnel",
"Deck settings" : "Kártyák beállításai",
"Use bigger card view" : "Nagyobb kártyanézet használata",
"Show card ID badge" : "Kártyaazonosító jelvény megjelenítése",
"Show boards in calendar/tasks" : "Táblák megjelenítése a naptárak/teendők között",
"Limit deck usage of groups" : "A kártyák használatának csoportokra korlátozása",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "A Kártyák korlátozása blokkolja a saját táblák létrehozását azoknál a felhasználóknál, akik nem tagjai a megadott csoportoknak. A felhasználók továbbra is tudnak dolgozni a velük megosztott táblákon.",
@@ -286,6 +289,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában",
"No results found" : "Nincs találat",
"{stack} in {board}" : "{stack} itt: {board}",
"Click to expand description" : "Kattintson a leírás kibontásához",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Létrehozva: {created}\n* Utoljára módosítva: {lastMod}\n* {nbAttachments} melléklet\n* {nbComments} megjegyzés",
"{nbCards} cards" : "{nbCards} kártya",
"No upcoming cards" : "Nincsenek közelgő kártyák",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "A tábla átadása {user} számára sikertelen",
"Add a new list" : "Új lista hozzáadása",
"Archive all cards" : "Az összes kártya archiválása",
"Unarchive all cards" : "Az összes kártya archiválásának visszavonása",
"Delete list" : "Lista törlése",
"Archive all cards in this list" : "Az összes kártya archiválása ebben a listában",
"Unarchive all cards in this list" : "Az összes kártya archiválásának visszavonása ebben a listában",
"Add a new card" : "Új kártya hozzáadása",
"Card name" : "Kártya neve",
"List deleted" : "Lista törölve",
@@ -258,6 +260,7 @@
"Shared with you" : "Megosztva Önnel",
"Deck settings" : "Kártyák beállításai",
"Use bigger card view" : "Nagyobb kártyanézet használata",
"Show card ID badge" : "Kártyaazonosító jelvény megjelenítése",
"Show boards in calendar/tasks" : "Táblák megjelenítése a naptárak/teendők között",
"Limit deck usage of groups" : "A kártyák használatának csoportokra korlátozása",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "A Kártyák korlátozása blokkolja a saját táblák létrehozását azoknál a felhasználóknál, akik nem tagjai a megadott csoportoknak. A felhasználók továbbra is tudnak dolgozni a velük megosztott táblákon.",
@@ -284,6 +287,7 @@
"Search for {searchQuery} in all boards" : "Keresés a(z) {searchQuery} kifejezésre az összes táblában",
"No results found" : "Nincs találat",
"{stack} in {board}" : "{stack} itt: {board}",
"Click to expand description" : "Kattintson a leírás kibontásához",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Létrehozva: {created}\n* Utoljára módosítva: {lastMod}\n* {nbAttachments} melléklet\n* {nbComments} megjegyzés",
"{nbCards} cards" : "{nbCards} kártya",
"No upcoming cards" : "Nincsenek közelgő kártyák",

25
l10n/kab.js Normal file
View File

@@ -0,0 +1,25 @@
OC.L10N.register(
"deck",
{
"Personal" : "Udmawan",
"Finished" : "Immed",
"The file was uploaded" : "Ulac afaylu yettwaznen",
"The file was only partially uploaded" : "Afaylu, cwiṭ kan i yettwaznen segs",
"No file was uploaded" : "Ulac afaylu i d-yettwasulin",
"Missing a temporary folder" : "Ixuṣ ukaram akudan",
"Cancel" : "Sefsex",
"Close" : "Mdel",
"Details" : "Talqayt",
"Sharing" : "Beṭṭu",
"Tags" : "Tibzimin",
"Delete" : "Kkes",
"Edit" : "Ẓreg",
"Download" : "Sider",
"Modified" : "Yettwabeddel",
"Today" : "Ass-a",
"Save" : "Sekles",
"No notifications" : "Ulac tisezmal",
"Share" : "Bḍu",
"This week" : "Dduṛt agi"
},
"nplurals=2; plural=(n != 1);");

23
l10n/kab.json Normal file
View File

@@ -0,0 +1,23 @@
{ "translations": {
"Personal" : "Udmawan",
"Finished" : "Immed",
"The file was uploaded" : "Ulac afaylu yettwaznen",
"The file was only partially uploaded" : "Afaylu, cwiṭ kan i yettwaznen segs",
"No file was uploaded" : "Ulac afaylu i d-yettwasulin",
"Missing a temporary folder" : "Ixuṣ ukaram akudan",
"Cancel" : "Sefsex",
"Close" : "Mdel",
"Details" : "Talqayt",
"Sharing" : "Beṭṭu",
"Tags" : "Tibzimin",
"Delete" : "Kkes",
"Edit" : "Ẓreg",
"Download" : "Sider",
"Modified" : "Yettwabeddel",
"Today" : "Ass-a",
"Save" : "Sekles",
"No notifications" : "Ulac tisezmal",
"Share" : "Bḍu",
"This week" : "Dduṛt agi"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -70,6 +70,7 @@ OC.L10N.register(
"Personal" : "Asmeniniai",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortelė „%s“, esanti lentoje „%s“, pasiekė savo galutinį terminą.",
"The card {deck-card} on {deck-board} has reached its due date." : "Kortelė {deck-card}, esanti lentoje {deck-board} pasiekė savo galutinio termino datą.",
"%s has mentioned you in a comment on \"%s\"." : "%s paminėjo jus komentare ties \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Lentą \"%s\" su jumis bendrina %s.",
"%s on %s" : "%s ant %s",
@@ -200,9 +201,9 @@ OC.L10N.register(
"Assign to users" : "Priskirti naudotojams",
"Assign to users/groups/circles" : "Priskirti naudotojams/grupėms/ratams",
"Assign a user to this card…" : "Priskirti šiai kortelei naudotoją…",
"Due date" : "Terminas",
"Due date" : "Galutinio termino data",
"Set a due date" : "Nustatyti galutinį terminą",
"Remove due date" : "Pašalinti terminą",
"Remove due date" : "Šalinti galutinio termino datą",
"Select Date" : "Pasirinkti datą",
"Today" : "Šiandien",
"Tomorrow" : "Rytoj",
@@ -243,9 +244,9 @@ OC.L10N.register(
"Clone board" : "Dubliuoti lentą",
"Unarchive board" : "Išarchyvuoti lentą",
"Archive board" : "Archyvuoti lentą",
"Turn on due date reminders" : "Įjungti priminimus apie galutinį terminą",
"Turn off due date reminders" : "Išjungti priminimus apie galutinį terminą",
"Due date reminders" : "Priminimai apie galutinį terminą",
"Turn on due date reminders" : "Įjungti priminimus apie galutinio termino datą",
"Turn off due date reminders" : "Išjungti priminimus apie galutinio termino datą",
"Due date reminders" : "Priminimai apie galutinio termino datą",
"All cards" : "Visos kortelės",
"Assigned cards" : "Priskirtos kortelės",
"No notifications" : "Pranešimų nėra",
@@ -257,6 +258,7 @@ OC.L10N.register(
"Delete the board?" : "Ištrinti lentą?",
"No due" : "Be galutinio termino",
"No results found" : "Nerasta jokių rezultatų",
"Due on {date}" : "Galutinis terminas {date}",
"Link to a board" : "Susieti su lenta",
"Link to a card" : "Susieti su kortele",
"Create a card" : "Sukurti kortelę",

View File

@@ -68,6 +68,7 @@
"Personal" : "Asmeniniai",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortelę \"%s\" ties \"%s\" priskyrė jums %s.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortelė „%s“, esanti lentoje „%s“, pasiekė savo galutinį terminą.",
"The card {deck-card} on {deck-board} has reached its due date." : "Kortelė {deck-card}, esanti lentoje {deck-board} pasiekė savo galutinio termino datą.",
"%s has mentioned you in a comment on \"%s\"." : "%s paminėjo jus komentare ties \"%s\".",
"The board \"%s\" has been shared with you by %s." : "Lentą \"%s\" su jumis bendrina %s.",
"%s on %s" : "%s ant %s",
@@ -198,9 +199,9 @@
"Assign to users" : "Priskirti naudotojams",
"Assign to users/groups/circles" : "Priskirti naudotojams/grupėms/ratams",
"Assign a user to this card…" : "Priskirti šiai kortelei naudotoją…",
"Due date" : "Terminas",
"Due date" : "Galutinio termino data",
"Set a due date" : "Nustatyti galutinį terminą",
"Remove due date" : "Pašalinti terminą",
"Remove due date" : "Šalinti galutinio termino datą",
"Select Date" : "Pasirinkti datą",
"Today" : "Šiandien",
"Tomorrow" : "Rytoj",
@@ -241,9 +242,9 @@
"Clone board" : "Dubliuoti lentą",
"Unarchive board" : "Išarchyvuoti lentą",
"Archive board" : "Archyvuoti lentą",
"Turn on due date reminders" : "Įjungti priminimus apie galutinį terminą",
"Turn off due date reminders" : "Išjungti priminimus apie galutinį terminą",
"Due date reminders" : "Priminimai apie galutinį terminą",
"Turn on due date reminders" : "Įjungti priminimus apie galutinio termino datą",
"Turn off due date reminders" : "Išjungti priminimus apie galutinio termino datą",
"Due date reminders" : "Priminimai apie galutinio termino datą",
"All cards" : "Visos kortelės",
"Assigned cards" : "Priskirtos kortelės",
"No notifications" : "Pranešimų nėra",
@@ -255,6 +256,7 @@
"Delete the board?" : "Ištrinti lentą?",
"No due" : "Be galutinio termino",
"No results found" : "Nerasta jokių rezultatų",
"Due on {date}" : "Galutinis terminas {date}",
"Link to a board" : "Susieti su lenta",
"Link to a card" : "Susieti su kortele",
"Create a card" : "Sukurti kortelę",

View File

@@ -8,6 +8,7 @@ OC.L10N.register(
"You have restored the board {board}" : "Du har gjennopprettet tavle {board}",
"{user} has restored the board {board}" : "{user} har gjennopprettet tavle {board}",
"You have shared the board {board} with {acl}" : "Du har delt tavle {board} med {acl}",
"{user} has shared the board {board} with {acl}" : "{user} har delt table {board} med {acl}",
"You have removed {acl} from the board {board}" : "Du har fjernet {acl} fra tavle {board}",
"{user} has removed {acl} from the board {board}" : "{user} har fjernet {acl} fra tavle {board}",
"You have renamed the board {before} to {board}" : "Du har endret navn på tavle {before} til {board}",
@@ -16,22 +17,48 @@ OC.L10N.register(
"{user} has archived the board {before}" : "{user} har arkivert tavle {board}",
"You have unarchived the board {board}" : "Du har hentet tavle {board} fra arkiv",
"{user} has unarchived the board {before}" : "{user} har hentet tavle {board} fra arkiv",
"You have created a new list {stack} on board {board}" : "Du har opprettet en ny stabel {stack} på tavle {board}",
"{user} has created a new list {stack} on board {board}" : "{user} har opprettet en ny stabel {stack} på tavle {board}",
"You have renamed list {before} to {stack} on board {board}" : "Du har endret navn på stabel {before} til {stack} på tavle {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} har endret navn på stabel {before} til {stack} på tavle {board}",
"You have deleted list {stack} on board {board}" : "Du har slettet stabel {stack} på tavle {board}",
"{user} has deleted list {stack} on board {board}" : "{user} har slettet stabel {stack} på tavle {board}",
"You have created card {card} in list {stack} on board {board}" : "Du har opprettet kort {card} i stabel {stack} på tavle {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} har opprettet kort {card} i stabel {stack} på tavle {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Du har slettet kort {card} i stabel {stack} på tavle {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} har slettet kort {card} i stabel {stack} på tavle {board}",
"You have renamed the card {before} to {card}" : "Du har endret navn fra {before} til {card}",
"{user} has renamed the card {before} to {card}" : "{user} har endret navn fra {before} til {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Du har lagt til beskrivelse på kort {card} i stable {stack} på table {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} har lagt til beskrivelse på kort {card} i stabel {stack} på tavle {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Du har oppdatert beskrivelsen på kort {card} i stabel {stack} på tavle {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} har oppdatert beskrivelsen på kort {card} i stabel {stack} på tavle {board}",
"You have archived card {card} in list {stack} on board {board}" : "Du har arkivert kort {card} i stabel {stack} på tavle {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkivert kort {card} i stabel {stack} på tavle {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Du har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
"You have removed the due date of card {card}" : "Du har fjernet forfallsdato for kort {card}",
"{user} has removed the due date of card {card}" : "{user} har fjernet forfallsdato for kort {card}",
"You have set the due date of card {card} to {after}" : "Du har satt forfallsdato på kort {card} etter {after}",
"{user} has set the due date of card {card} to {after}" : "{user} har satt forfallsdato på kort {card} etter {after}",
"You have updated the due date of card {card} to {after}" : "Du har oppdatert forfallsdato på kort {card} etter {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} har oppdatert forfallsdato på kort {card} etter {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Du har lagt til merke {label} til kort {card} i stabel {stack} på tavle {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} har lagt til merke {label} til kort {card} i stabel {stack} på tavle {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Du har fjernet merke {label} fra kort {card} i stabel {stack} på tavle {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} har fjernet merke {label} fra kort {card} i stabel {stack} på tavle {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Du har tildelt {assigneduser} til kort {card} på tavle {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} har tildelt {assigneduser} til kort {card} på tavle {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Du har fjernet {assigneduser} fra kort {card} på tavle {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} har fjernet {assigneduser} fra kort {card} på tavle {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Du har flyttet kort {card} fra stabel {stackBefore} til {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} har flyttet kort {card} fra stabel {stackBefore} til {stack}",
"You have added the attachment {attachment} to card {card}" : "Du har lagt til vedlegget {attachment} ti kortet {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} har lagt til vedlegget {attachment} på kortet {card}",
"You have updated the attachment {attachment} on card {card}" : "Du har oppdatert vedlegget {attachment} på kortet {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} har oppdateret vedlegget {attachment} på kortet {card}",
"You have deleted the attachment {attachment} from card {card}" : "Du har slettet vedlegget {attachment} på kortet {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} har slettet vedlegget {attachment} fra kortet {card}",
"You have restored the attachment {attachment} to card {card}" : "Du har gjennopprettet vedlegget {attachment} på kortet {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} har gjennopprettet vedlegget {attachment} på kortet {card}",
"You have commented on card {card}" : "Du har kommetnert på kort {card}",
@@ -39,12 +66,19 @@ OC.L10N.register(
"A <strong>card description</strong> inside the Deck app has been changed" : "En <strong>kort beskrivelse</strong>i Stokk-appen er endret",
"Deck" : "Stokk",
"Changes in the <strong>Deck app</strong>" : "Endringer i <strong>Stokk-appen</strong>",
"A <strong>comment</strong> was created on a card" : "En <strong>kommentar</strong> ble skrevet på kortet",
"Upcoming cards" : "Kommende kort",
"Load more" : "Last mer",
"Personal" : "Personlig",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" er endret til deg av %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} har tildelt kortet {deck-card} på {deck-board} til deg.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nådd sin utløpsdato.",
"The card {deck-card} on {deck-board} has reached its due date." : "Kortet {deck-card} på {deck-board} har nådd sin utløpsdato.",
"%s has mentioned you in a comment on \"%s\"." : "%shar nevnt deg i en kommentar på \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} har nevnt deg i en kommentar på {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Brettet \"%s\" har blitt delt med deg av %s.",
"{user} has shared {deck-board} with you." : "{user} har delt brettet {deck-board} med deg.",
"Card comments" : "Kommentarer på kortet",
"%s on %s" : "%s på %s",
"No data was provided to create an attachment." : "Ingen data for å opprette vedlegg.",
"Finished" : "Fullført",
@@ -67,52 +101,124 @@ OC.L10N.register(
"Could not write file to disk" : "Kan ikke skrive til disk",
"A PHP extension stopped the file upload" : "En PHP utvidelse stoppet når fil ble lastet opp",
"No file uploaded or file size exceeds maximum of %s" : "Ingen fil lastet opp eller filen er større enn %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Denne kommentaren har enn %s tegn.\nLa til som vedlegg til kortet med navnet %s.\nTilgjengelig på URL: %s.",
"Card not found" : "Kort ikke funnet",
"Path is already shared with this card" : "Stien er allerede delt med dette kortet",
"Invalid date, date format must be YYYY-MM-DD" : "Feil dato, dato må være i formatet YYYY-MM-DD",
"Personal planning and team project organization" : "Personlig planlegging og organisering av prosjekter i team",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Stokk er et kanban inspirert verktøy for organisering for personlig planlegging og prosjekt organisering for team integrert med Nextcloud.\n\n\n- 📥 Legg til oppgaver på kort og hold orden på disse.\n- 📄 Legg til notater.\n- 🔖 Tildel merke for enda bedre organisering.\n- 👥 Del med team, venner eller familile.\n- 📎 Legg ved filer som kan integreres i beskrivelser.\n- 💬 Diskuter med ditt team ved å bruke kommentarer.\n- ⚡ Hold oversikt over endringer i aktivitetsstrøm.\n- 🚀 Få dine prosjekt organisert.",
"Card details" : "Kort-detaljer",
"Add board" : "Legg til tavle",
"Select the board to link to a project" : "Velg tavle som skal lenkes til prosjekt",
"Search by board title" : "Søk på tittel på tavle",
"Select board" : "Velg tavle",
"Create a new card" : "Opprett et nytt kort",
"Select a board" : "Velg en tavle",
"Select a list" : "Velg en stabel",
"Card title" : "Kortittel",
"Cancel" : "Avbryt",
"Creating the new card …" : "Oppretter det nye kortet ...",
"Card \"{card}\" was added to \"{board}\"" : "Kort \"{card}\" ble lagt til i \"{board}\"",
"Open card" : "Åpne kort",
"Close" : "Lukk",
"Create card" : "Opprett kort",
"Select a card" : "Velg et kort",
"Select the card to link to a project" : "Velg kort som skal lenkes til prosjekt",
"Link to card" : "Lenke til kort",
"File already exists" : "Filen finnes allerede",
"A file with the name {filename} already exists." : "En fil med navnet {filename} finnes allerede.",
"Do you want to overwrite it?" : "Vil du overskrive?",
"Overwrite file" : "Overskriv fil",
"Keep existing file" : "Behold eksisterende fil",
"This board is read only" : "Denne tavlen er kun lesbar",
"Drop your files to upload" : "Dropp filer for å laste opp",
"Add card" : "Legg til kort",
"Archived cards" : "Arkiver tavle",
"Add list" : "Legg til liste",
"List name" : "Listenavn",
"Active filters" : "Aktivt filter",
"Apply filter" : "Aktiver filter",
"Filter by tag" : "Filtrer på knagg",
"Filter by assigned user" : "Filtrer på tildelt bruker",
"Unassigned" : "Ikke tildelt",
"Filter by due date" : "Filtrer på forfallsdato",
"Overdue" : "Utløpt",
"Next 24 hours" : "Neste 24 timer",
"Next 7 days" : "Neste 7 dager",
"Next 30 days" : "Neste 30 dager",
"No due date" : "Ingen forfallsdato",
"Clear filter" : "Tøm filter",
"Hide archived cards" : "Skjul arkiverte kort",
"Show archived cards" : "Vis arkiverkte kort",
"Toggle compact mode" : "Endre kompakt modus",
"Open details" : "Åpne detaljer",
"Details" : "Detaljer",
"Loading board" : "Laster tavle",
"No lists available" : "Ingen stabler tilgjengelig",
"Create a new list to add cards to this board" : "Lag en ny stabel for å legge til kort til denne tavlen",
"Board not found" : "Tavle ikke funnet",
"Sharing" : "Deling",
"Tags" : "Merkelapper",
"Deleted items" : "Slettede element",
"Timeline" : "Tidslinje",
"Deleted lists" : "Slettede stabler",
"Undo" : "Angre",
"Deleted cards" : "Slettede kort",
"Share board with a user, group or circle …" : "Del tavle med bruker, gruppe eller sirkel",
"Searching for users, groups and circles …" : "Søker etter brukere, grupper og sirkler ...",
"No participants found" : "Ingen deltakere funnet",
"Board owner" : "Tavle-eier",
"(Group)" : "(Gruppe)",
"(Circle)" : "(Sirkel)",
"Can edit" : "Kan redigere",
"Can share" : "Kan dele",
"Can manage" : "Kan behandle",
"Owner" : "Eier",
"Delete" : "Slett",
"Failed to create share with {displayName}" : "Klarte ikke å opprette deling med {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Er du sikker på at du vil overføre tavlen {title} til {user}?",
"Transfer the board." : "Overfør tavle.",
"Transfer" : "Overfør",
"The board has been transferred to {user}" : "Tavlen har blitt overført til {user}",
"Failed to transfer the board to {user}" : "Klarte ikke overføre tavlen til {user}",
"Add a new list" : "Legg til en ny stabel",
"Archive all cards" : "Arkiver alle kort",
"Delete list" : "Slett listen",
"Archive all cards in this list" : "Arkiver alle kort i en stabel",
"Add a new card" : "Legg til nytt kort",
"Card name" : "Navn på kort",
"List deleted" : "Stabel slettet",
"Edit" : "Rediger",
"Add a new tag" : "Legg til nytt merke",
"title and color value must be provided" : "Du må oppgi verdier for tittel og farge",
"Board name" : "Navn på tavle",
"Members" : "Medlemmer",
"Upload new files" : "Last opp nye filer",
"Share from Files" : "Del fra Filer",
"Pending share" : "Ventende deling",
"Add this attachment" : "Legg til vedlegg",
"Show in Files" : "Vis i Filer",
"Download" : "Last ned",
"Remove attachment" : "Fjern vedlegg",
"Delete Attachment" : "Slett vedlegg",
"Restore Attachment" : "Gjenopprett vedlegg",
"File to share" : "Fil for deling",
"Invalid path selected" : "Ugyldig angitt sti",
"Open in sidebar view" : "Åpne med sidepanel",
"Open in bigger view" : "Åpen i større visning",
"Attachments" : "Vedlegg",
"Comments" : "Kommentarer",
"Modified" : "Endret",
"Created" : "Opprettet",
"The title cannot be empty." : "Tittel kan ikke være tom",
"No comments yet. Begin the discussion!" : "Ingen kommentarer ennå. Start diskusjonen!",
"Failed to load comments" : "Feil i lasting av kommentarer",
"Assign a tag to this card…" : "Legg til et merke til dette kortet...",
"Assign to users" : "Tildel brukere",
"Assign to users/groups/circles" : "Tildel brukere/grupper/sirkler",
"Assign a user to this card…" : "Tildel bruker til dette kortet...",
"Due date" : "Forfallsdato",
"Set a due date" : "Set forfallsdato",
"Remove due date" : "Fjern forfallsdato",
"Select Date" : "Velg dato",
"Today" : "I dag",
@@ -120,33 +226,89 @@ OC.L10N.register(
"Next week" : "Neste uke",
"Next month" : "Neste måned",
"Save" : "Lagre",
"The comment cannot be empty." : "Kommentaren kan ikke være tom.",
"The comment cannot be longer than 1000 characters." : "Kommentaren kan ikke være lenger enn 1000 tegn.",
"In reply to" : "Som svar på",
"Cancel reply" : "Avbryt svar",
"Reply" : "Svar",
"Update" : "Oppdater",
"Description" : "Beskrivelse",
"(Unsaved)" : "(Ikke lagret)",
"(Saving…)" : "(Lagrer...)",
"Formatting help" : "Formateringshjelp",
"Edit description" : "Rediger beskrivelse",
"View description" : "Se beskrivelse",
"Add Attachment" : "Legg til vedlegg",
"Write a description …" : "Skriv en beskrivelse ...",
"Choose attachment" : "Velg vedlegg",
"(group)" : "(gruppe)",
"Todo items" : "Gjøremålspunkter",
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} ulest",
"Edit card title" : "Rediger korttittel",
"Assign to me" : "Tildel meg",
"Unassign myself" : "Fjern meg fra tildeling",
"Move card" : "Flytt kort",
"Unarchive card" : "Hent kort fra arkiv",
"Archive card" : "Arkiver kort",
"Delete card" : "Slett kort",
"Move card to another board" : "Flytt kort til annen tavle",
"List is empty" : "Stabel er tom",
"Card deleted" : "Kort slettet",
"seconds ago" : "sekunder siden",
"All boards" : "Alle tabler",
"Archived boards" : "Arkiverte tavler",
"Shared with you" : "Delt med deg",
"Deck settings" : "Innstillinger for Stokk",
"Use bigger card view" : "Bruk større visning på kort",
"Show boards in calendar/tasks" : "Vis tavler i kalender/oppgaver",
"Limit deck usage of groups" : "Begrens stokk-bruk til grupper",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Begrensning av tavler vil hindre tilgang til de brukere som ikke er medlem av en gruppe fra å lage egne tavler. Bruker kan arbeide på de tavler som er delt med dem.",
"Board details" : "Forumseksjonsdetaljer",
"Edit board" : "Rediger tavle",
"Clone board" : "Klon tavle",
"Unarchive board" : "Aktiver tavle",
"Archive board" : "Arkiver tavle",
"Turn on due date reminders" : "Skru på påminnelser for forfallsdato",
"Turn off due date reminders" : "Skru av påminnelser for forfallsdato",
"Due date reminders" : "Påminnelser for forfallsdato",
"All cards" : "Alle kort",
"Assigned cards" : "Tildelte kort",
"No notifications" : "Ingen varsler",
"Delete board" : "Slett tavle",
"Board {0} deleted" : "Tavle {0} slettet",
"Only assigned cards" : "Kun tildelte kort",
"No reminder" : "Ingen varsel",
"An error occurred" : "En feil oppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Are du sikker på sletting av tavlen {title}? Handlingen vil slette all data i denne tavlen, inkludert arkiverte kort.",
"Delete the board?" : "Slett tavlen?",
"Loading filtered view" : "Laster filtrert visning",
"No due" : "Ingen forfall",
"Search for {searchQuery} in all boards" : "Søk etter {searchQuery} i alle tavler",
"No results found" : "Ingen resultater funnet",
"{stack} in {board}" : "{stack} i {board}",
"Click to expand description" : "Klikk for å utvide beskrivelsen",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Opprettet {created}\n* Sist endret {lastMod}\n* {nbAttachments} vedlegg\n* {nbComments} kommentarer",
"{nbCards} cards" : "{nbCards} kort",
"No upcoming cards" : "Ingen kommende kort",
"upcoming cards" : "kommende kort",
"Due on {date}" : "Utløper {date}",
"Link to a board" : "Lenke til tavle",
"Link to a card" : "Lenke til et kort",
"Create a card" : "Opprett kort",
"Message from {author} in {conversationName}" : "Melding fra {author} i {conversationName}",
"Something went wrong" : "Noe gikk galt",
"Failed to upload {name}" : "Klarte ikke laste opp {name}",
"Maximum file size of {size} exceeded" : "Maksimal størrelse for filer på {size} er overskredet",
"Error creating the share" : "Feil ved oppretting av deling",
"Share with a Deck card" : "Del med et Stokk-kort",
"Share {file} with a Deck card" : "Del {file} med et Stokk-kort",
"Share" : "Del",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Stokk er et kanban inspirert verktøy for organisering for personlig planlegging og prosjekt organisering for team integrert med Nextcloud.\n\n\n- 📥 Legg til oppgaver på kort og hold orden på disse.\n- 📄 Legg til notater.\n- 🔖 Tildel merke for enda bedre organisering.\n- 👥 Del med team, venner eller familile.\n- 📎 Legg ved filer som kan integreres i beskrivelser.\n- 💬 Diskuter med ditt team ved å bruke kommentarer.\n- ⚡ Hold oversikt over endringer i aktivitetsstrøm.\n- 🚀 Få dine prosjekt organisert.",
"This week" : "Denne uken"
"Are you sure you want to transfer the board {title} for {user} ?" : "Er du sikker på at du vil overføre tavlen {title} for {user} ?",
"Transfer the board for {user} successfully" : "Tavlen ble overført for {user}",
"Failed to transfer the board for {user}" : "Klarte ikke overføre tavlen for {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på sletting av tavlen {title}? Dette vil slette alt innholdet på denne tavlen.",
"This week" : "Denne uken",
"Are you sure you want to transfer the board {title} for {user}?" : "Er du sikker på at du vil overføre tavlen {title} for {user}?"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -6,6 +6,7 @@
"You have restored the board {board}" : "Du har gjennopprettet tavle {board}",
"{user} has restored the board {board}" : "{user} har gjennopprettet tavle {board}",
"You have shared the board {board} with {acl}" : "Du har delt tavle {board} med {acl}",
"{user} has shared the board {board} with {acl}" : "{user} har delt table {board} med {acl}",
"You have removed {acl} from the board {board}" : "Du har fjernet {acl} fra tavle {board}",
"{user} has removed {acl} from the board {board}" : "{user} har fjernet {acl} fra tavle {board}",
"You have renamed the board {before} to {board}" : "Du har endret navn på tavle {before} til {board}",
@@ -14,22 +15,48 @@
"{user} has archived the board {before}" : "{user} har arkivert tavle {board}",
"You have unarchived the board {board}" : "Du har hentet tavle {board} fra arkiv",
"{user} has unarchived the board {before}" : "{user} har hentet tavle {board} fra arkiv",
"You have created a new list {stack} on board {board}" : "Du har opprettet en ny stabel {stack} på tavle {board}",
"{user} has created a new list {stack} on board {board}" : "{user} har opprettet en ny stabel {stack} på tavle {board}",
"You have renamed list {before} to {stack} on board {board}" : "Du har endret navn på stabel {before} til {stack} på tavle {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} har endret navn på stabel {before} til {stack} på tavle {board}",
"You have deleted list {stack} on board {board}" : "Du har slettet stabel {stack} på tavle {board}",
"{user} has deleted list {stack} on board {board}" : "{user} har slettet stabel {stack} på tavle {board}",
"You have created card {card} in list {stack} on board {board}" : "Du har opprettet kort {card} i stabel {stack} på tavle {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} har opprettet kort {card} i stabel {stack} på tavle {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Du har slettet kort {card} i stabel {stack} på tavle {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} har slettet kort {card} i stabel {stack} på tavle {board}",
"You have renamed the card {before} to {card}" : "Du har endret navn fra {before} til {card}",
"{user} has renamed the card {before} to {card}" : "{user} har endret navn fra {before} til {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Du har lagt til beskrivelse på kort {card} i stable {stack} på table {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} har lagt til beskrivelse på kort {card} i stabel {stack} på tavle {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Du har oppdatert beskrivelsen på kort {card} i stabel {stack} på tavle {board}",
"{user} has updated the description of the card {card} in list {stack} on board {board}" : "{user} har oppdatert beskrivelsen på kort {card} i stabel {stack} på tavle {board}",
"You have archived card {card} in list {stack} on board {board}" : "Du har arkivert kort {card} i stabel {stack} på tavle {board}",
"{user} has archived card {card} in list {stack} on board {board}" : "{user} har arkivert kort {card} i stabel {stack} på tavle {board}",
"You have unarchived card {card} in list {stack} on board {board}" : "Du har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
"{user} has unarchived card {card} in list {stack} on board {board}" : "{user} har hentet arkivert kort {card} i stabel {stack} på tavle {board}",
"You have removed the due date of card {card}" : "Du har fjernet forfallsdato for kort {card}",
"{user} has removed the due date of card {card}" : "{user} har fjernet forfallsdato for kort {card}",
"You have set the due date of card {card} to {after}" : "Du har satt forfallsdato på kort {card} etter {after}",
"{user} has set the due date of card {card} to {after}" : "{user} har satt forfallsdato på kort {card} etter {after}",
"You have updated the due date of card {card} to {after}" : "Du har oppdatert forfallsdato på kort {card} etter {after}",
"{user} has updated the due date of card {card} to {after}" : "{user} har oppdatert forfallsdato på kort {card} etter {after}",
"You have added the tag {label} to card {card} in list {stack} on board {board}" : "Du har lagt til merke {label} til kort {card} i stabel {stack} på tavle {board}",
"{user} has added the tag {label} to card {card} in list {stack} on board {board}" : "{user} har lagt til merke {label} til kort {card} i stabel {stack} på tavle {board}",
"You have removed the tag {label} from card {card} in list {stack} on board {board}" : "Du har fjernet merke {label} fra kort {card} i stabel {stack} på tavle {board}",
"{user} has removed the tag {label} from card {card} in list {stack} on board {board}" : "{user} har fjernet merke {label} fra kort {card} i stabel {stack} på tavle {board}",
"You have assigned {assigneduser} to card {card} on board {board}" : "Du har tildelt {assigneduser} til kort {card} på tavle {board}",
"{user} has assigned {assigneduser} to card {card} on board {board}" : "{user} har tildelt {assigneduser} til kort {card} på tavle {board}",
"You have unassigned {assigneduser} from card {card} on board {board}" : "Du har fjernet {assigneduser} fra kort {card} på tavle {board}",
"{user} has unassigned {assigneduser} from card {card} on board {board}" : "{user} har fjernet {assigneduser} fra kort {card} på tavle {board}",
"You have moved the card {card} from list {stackBefore} to {stack}" : "Du har flyttet kort {card} fra stabel {stackBefore} til {stack}",
"{user} has moved the card {card} from list {stackBefore} to {stack}" : "{user} har flyttet kort {card} fra stabel {stackBefore} til {stack}",
"You have added the attachment {attachment} to card {card}" : "Du har lagt til vedlegget {attachment} ti kortet {card}",
"{user} has added the attachment {attachment} to card {card}" : "{user} har lagt til vedlegget {attachment} på kortet {card}",
"You have updated the attachment {attachment} on card {card}" : "Du har oppdatert vedlegget {attachment} på kortet {card}",
"{user} has updated the attachment {attachment} on card {card}" : "{user} har oppdateret vedlegget {attachment} på kortet {card}",
"You have deleted the attachment {attachment} from card {card}" : "Du har slettet vedlegget {attachment} på kortet {card}",
"{user} has deleted the attachment {attachment} from card {card}" : "{user} har slettet vedlegget {attachment} fra kortet {card}",
"You have restored the attachment {attachment} to card {card}" : "Du har gjennopprettet vedlegget {attachment} på kortet {card}",
"{user} has restored the attachment {attachment} to card {card}" : "{user} har gjennopprettet vedlegget {attachment} på kortet {card}",
"You have commented on card {card}" : "Du har kommetnert på kort {card}",
@@ -37,12 +64,19 @@
"A <strong>card description</strong> inside the Deck app has been changed" : "En <strong>kort beskrivelse</strong>i Stokk-appen er endret",
"Deck" : "Stokk",
"Changes in the <strong>Deck app</strong>" : "Endringer i <strong>Stokk-appen</strong>",
"A <strong>comment</strong> was created on a card" : "En <strong>kommentar</strong> ble skrevet på kortet",
"Upcoming cards" : "Kommende kort",
"Load more" : "Last mer",
"Personal" : "Personlig",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "Kortet \"%s\" på \"%s\" er endret til deg av %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} har tildelt kortet {deck-card} på {deck-board} til deg.",
"The card \"%s\" on \"%s\" has reached its due date." : "Kortet \"%s\" på \"%s\" har nådd sin utløpsdato.",
"The card {deck-card} on {deck-board} has reached its due date." : "Kortet {deck-card} på {deck-board} har nådd sin utløpsdato.",
"%s has mentioned you in a comment on \"%s\"." : "%shar nevnt deg i en kommentar på \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} har nevnt deg i en kommentar på {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "Brettet \"%s\" har blitt delt med deg av %s.",
"{user} has shared {deck-board} with you." : "{user} har delt brettet {deck-board} med deg.",
"Card comments" : "Kommentarer på kortet",
"%s on %s" : "%s på %s",
"No data was provided to create an attachment." : "Ingen data for å opprette vedlegg.",
"Finished" : "Fullført",
@@ -65,52 +99,124 @@
"Could not write file to disk" : "Kan ikke skrive til disk",
"A PHP extension stopped the file upload" : "En PHP utvidelse stoppet når fil ble lastet opp",
"No file uploaded or file size exceeds maximum of %s" : "Ingen fil lastet opp eller filen er større enn %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Denne kommentaren har enn %s tegn.\nLa til som vedlegg til kortet med navnet %s.\nTilgjengelig på URL: %s.",
"Card not found" : "Kort ikke funnet",
"Path is already shared with this card" : "Stien er allerede delt med dette kortet",
"Invalid date, date format must be YYYY-MM-DD" : "Feil dato, dato må være i formatet YYYY-MM-DD",
"Personal planning and team project organization" : "Personlig planlegging og organisering av prosjekter i team",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Stokk er et kanban inspirert verktøy for organisering for personlig planlegging og prosjekt organisering for team integrert med Nextcloud.\n\n\n- 📥 Legg til oppgaver på kort og hold orden på disse.\n- 📄 Legg til notater.\n- 🔖 Tildel merke for enda bedre organisering.\n- 👥 Del med team, venner eller familile.\n- 📎 Legg ved filer som kan integreres i beskrivelser.\n- 💬 Diskuter med ditt team ved å bruke kommentarer.\n- ⚡ Hold oversikt over endringer i aktivitetsstrøm.\n- 🚀 Få dine prosjekt organisert.",
"Card details" : "Kort-detaljer",
"Add board" : "Legg til tavle",
"Select the board to link to a project" : "Velg tavle som skal lenkes til prosjekt",
"Search by board title" : "Søk på tittel på tavle",
"Select board" : "Velg tavle",
"Create a new card" : "Opprett et nytt kort",
"Select a board" : "Velg en tavle",
"Select a list" : "Velg en stabel",
"Card title" : "Kortittel",
"Cancel" : "Avbryt",
"Creating the new card …" : "Oppretter det nye kortet ...",
"Card \"{card}\" was added to \"{board}\"" : "Kort \"{card}\" ble lagt til i \"{board}\"",
"Open card" : "Åpne kort",
"Close" : "Lukk",
"Create card" : "Opprett kort",
"Select a card" : "Velg et kort",
"Select the card to link to a project" : "Velg kort som skal lenkes til prosjekt",
"Link to card" : "Lenke til kort",
"File already exists" : "Filen finnes allerede",
"A file with the name {filename} already exists." : "En fil med navnet {filename} finnes allerede.",
"Do you want to overwrite it?" : "Vil du overskrive?",
"Overwrite file" : "Overskriv fil",
"Keep existing file" : "Behold eksisterende fil",
"This board is read only" : "Denne tavlen er kun lesbar",
"Drop your files to upload" : "Dropp filer for å laste opp",
"Add card" : "Legg til kort",
"Archived cards" : "Arkiver tavle",
"Add list" : "Legg til liste",
"List name" : "Listenavn",
"Active filters" : "Aktivt filter",
"Apply filter" : "Aktiver filter",
"Filter by tag" : "Filtrer på knagg",
"Filter by assigned user" : "Filtrer på tildelt bruker",
"Unassigned" : "Ikke tildelt",
"Filter by due date" : "Filtrer på forfallsdato",
"Overdue" : "Utløpt",
"Next 24 hours" : "Neste 24 timer",
"Next 7 days" : "Neste 7 dager",
"Next 30 days" : "Neste 30 dager",
"No due date" : "Ingen forfallsdato",
"Clear filter" : "Tøm filter",
"Hide archived cards" : "Skjul arkiverte kort",
"Show archived cards" : "Vis arkiverkte kort",
"Toggle compact mode" : "Endre kompakt modus",
"Open details" : "Åpne detaljer",
"Details" : "Detaljer",
"Loading board" : "Laster tavle",
"No lists available" : "Ingen stabler tilgjengelig",
"Create a new list to add cards to this board" : "Lag en ny stabel for å legge til kort til denne tavlen",
"Board not found" : "Tavle ikke funnet",
"Sharing" : "Deling",
"Tags" : "Merkelapper",
"Deleted items" : "Slettede element",
"Timeline" : "Tidslinje",
"Deleted lists" : "Slettede stabler",
"Undo" : "Angre",
"Deleted cards" : "Slettede kort",
"Share board with a user, group or circle …" : "Del tavle med bruker, gruppe eller sirkel",
"Searching for users, groups and circles …" : "Søker etter brukere, grupper og sirkler ...",
"No participants found" : "Ingen deltakere funnet",
"Board owner" : "Tavle-eier",
"(Group)" : "(Gruppe)",
"(Circle)" : "(Sirkel)",
"Can edit" : "Kan redigere",
"Can share" : "Kan dele",
"Can manage" : "Kan behandle",
"Owner" : "Eier",
"Delete" : "Slett",
"Failed to create share with {displayName}" : "Klarte ikke å opprette deling med {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Er du sikker på at du vil overføre tavlen {title} til {user}?",
"Transfer the board." : "Overfør tavle.",
"Transfer" : "Overfør",
"The board has been transferred to {user}" : "Tavlen har blitt overført til {user}",
"Failed to transfer the board to {user}" : "Klarte ikke overføre tavlen til {user}",
"Add a new list" : "Legg til en ny stabel",
"Archive all cards" : "Arkiver alle kort",
"Delete list" : "Slett listen",
"Archive all cards in this list" : "Arkiver alle kort i en stabel",
"Add a new card" : "Legg til nytt kort",
"Card name" : "Navn på kort",
"List deleted" : "Stabel slettet",
"Edit" : "Rediger",
"Add a new tag" : "Legg til nytt merke",
"title and color value must be provided" : "Du må oppgi verdier for tittel og farge",
"Board name" : "Navn på tavle",
"Members" : "Medlemmer",
"Upload new files" : "Last opp nye filer",
"Share from Files" : "Del fra Filer",
"Pending share" : "Ventende deling",
"Add this attachment" : "Legg til vedlegg",
"Show in Files" : "Vis i Filer",
"Download" : "Last ned",
"Remove attachment" : "Fjern vedlegg",
"Delete Attachment" : "Slett vedlegg",
"Restore Attachment" : "Gjenopprett vedlegg",
"File to share" : "Fil for deling",
"Invalid path selected" : "Ugyldig angitt sti",
"Open in sidebar view" : "Åpne med sidepanel",
"Open in bigger view" : "Åpen i større visning",
"Attachments" : "Vedlegg",
"Comments" : "Kommentarer",
"Modified" : "Endret",
"Created" : "Opprettet",
"The title cannot be empty." : "Tittel kan ikke være tom",
"No comments yet. Begin the discussion!" : "Ingen kommentarer ennå. Start diskusjonen!",
"Failed to load comments" : "Feil i lasting av kommentarer",
"Assign a tag to this card…" : "Legg til et merke til dette kortet...",
"Assign to users" : "Tildel brukere",
"Assign to users/groups/circles" : "Tildel brukere/grupper/sirkler",
"Assign a user to this card…" : "Tildel bruker til dette kortet...",
"Due date" : "Forfallsdato",
"Set a due date" : "Set forfallsdato",
"Remove due date" : "Fjern forfallsdato",
"Select Date" : "Velg dato",
"Today" : "I dag",
@@ -118,33 +224,89 @@
"Next week" : "Neste uke",
"Next month" : "Neste måned",
"Save" : "Lagre",
"The comment cannot be empty." : "Kommentaren kan ikke være tom.",
"The comment cannot be longer than 1000 characters." : "Kommentaren kan ikke være lenger enn 1000 tegn.",
"In reply to" : "Som svar på",
"Cancel reply" : "Avbryt svar",
"Reply" : "Svar",
"Update" : "Oppdater",
"Description" : "Beskrivelse",
"(Unsaved)" : "(Ikke lagret)",
"(Saving…)" : "(Lagrer...)",
"Formatting help" : "Formateringshjelp",
"Edit description" : "Rediger beskrivelse",
"View description" : "Se beskrivelse",
"Add Attachment" : "Legg til vedlegg",
"Write a description …" : "Skriv en beskrivelse ...",
"Choose attachment" : "Velg vedlegg",
"(group)" : "(gruppe)",
"Todo items" : "Gjøremålspunkter",
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} ulest",
"Edit card title" : "Rediger korttittel",
"Assign to me" : "Tildel meg",
"Unassign myself" : "Fjern meg fra tildeling",
"Move card" : "Flytt kort",
"Unarchive card" : "Hent kort fra arkiv",
"Archive card" : "Arkiver kort",
"Delete card" : "Slett kort",
"Move card to another board" : "Flytt kort til annen tavle",
"List is empty" : "Stabel er tom",
"Card deleted" : "Kort slettet",
"seconds ago" : "sekunder siden",
"All boards" : "Alle tabler",
"Archived boards" : "Arkiverte tavler",
"Shared with you" : "Delt med deg",
"Deck settings" : "Innstillinger for Stokk",
"Use bigger card view" : "Bruk større visning på kort",
"Show boards in calendar/tasks" : "Vis tavler i kalender/oppgaver",
"Limit deck usage of groups" : "Begrens stokk-bruk til grupper",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Begrensning av tavler vil hindre tilgang til de brukere som ikke er medlem av en gruppe fra å lage egne tavler. Bruker kan arbeide på de tavler som er delt med dem.",
"Board details" : "Forumseksjonsdetaljer",
"Edit board" : "Rediger tavle",
"Clone board" : "Klon tavle",
"Unarchive board" : "Aktiver tavle",
"Archive board" : "Arkiver tavle",
"Turn on due date reminders" : "Skru på påminnelser for forfallsdato",
"Turn off due date reminders" : "Skru av påminnelser for forfallsdato",
"Due date reminders" : "Påminnelser for forfallsdato",
"All cards" : "Alle kort",
"Assigned cards" : "Tildelte kort",
"No notifications" : "Ingen varsler",
"Delete board" : "Slett tavle",
"Board {0} deleted" : "Tavle {0} slettet",
"Only assigned cards" : "Kun tildelte kort",
"No reminder" : "Ingen varsel",
"An error occurred" : "En feil oppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Are du sikker på sletting av tavlen {title}? Handlingen vil slette all data i denne tavlen, inkludert arkiverte kort.",
"Delete the board?" : "Slett tavlen?",
"Loading filtered view" : "Laster filtrert visning",
"No due" : "Ingen forfall",
"Search for {searchQuery} in all boards" : "Søk etter {searchQuery} i alle tavler",
"No results found" : "Ingen resultater funnet",
"{stack} in {board}" : "{stack} i {board}",
"Click to expand description" : "Klikk for å utvide beskrivelsen",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Opprettet {created}\n* Sist endret {lastMod}\n* {nbAttachments} vedlegg\n* {nbComments} kommentarer",
"{nbCards} cards" : "{nbCards} kort",
"No upcoming cards" : "Ingen kommende kort",
"upcoming cards" : "kommende kort",
"Due on {date}" : "Utløper {date}",
"Link to a board" : "Lenke til tavle",
"Link to a card" : "Lenke til et kort",
"Create a card" : "Opprett kort",
"Message from {author} in {conversationName}" : "Melding fra {author} i {conversationName}",
"Something went wrong" : "Noe gikk galt",
"Failed to upload {name}" : "Klarte ikke laste opp {name}",
"Maximum file size of {size} exceeded" : "Maksimal størrelse for filer på {size} er overskredet",
"Error creating the share" : "Feil ved oppretting av deling",
"Share with a Deck card" : "Del med et Stokk-kort",
"Share {file} with a Deck card" : "Del {file} med et Stokk-kort",
"Share" : "Del",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Stokk er et kanban inspirert verktøy for organisering for personlig planlegging og prosjekt organisering for team integrert med Nextcloud.\n\n\n- 📥 Legg til oppgaver på kort og hold orden på disse.\n- 📄 Legg til notater.\n- 🔖 Tildel merke for enda bedre organisering.\n- 👥 Del med team, venner eller familile.\n- 📎 Legg ved filer som kan integreres i beskrivelser.\n- 💬 Diskuter med ditt team ved å bruke kommentarer.\n- ⚡ Hold oversikt over endringer i aktivitetsstrøm.\n- 🚀 Få dine prosjekt organisert.",
"This week" : "Denne uken"
"Are you sure you want to transfer the board {title} for {user} ?" : "Er du sikker på at du vil overføre tavlen {title} for {user} ?",
"Transfer the board for {user} successfully" : "Tavlen ble overført for {user}",
"Failed to transfer the board for {user}" : "Klarte ikke overføre tavlen for {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Er du sikker på sletting av tavlen {title}? Dette vil slette alt innholdet på denne tavlen.",
"This week" : "Denne uken",
"Are you sure you want to transfer the board {title} for {user}?" : "Er du sikker på at du vil overføre tavlen {title} for {user}?"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Nie udało się przenieść tablicy do {user}",
"Add a new list" : "Dodaj nową listę",
"Archive all cards" : "Zarchiwizuj wszystkie karty",
"Unarchive all cards" : "Przywróć wszystkie karty z archiwum",
"Delete list" : "Usuń listę",
"Archive all cards in this list" : "Zarchiwizuj wszystkie karty na tej liście",
"Unarchive all cards in this list" : "Cofnij archiwizację wszystkich kart z tej listy",
"Add a new card" : "Dodaj nową kartę",
"Card name" : "Nazwa karty",
"List deleted" : "Lista usunięta",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "Udostępnione Tobie",
"Deck settings" : "Ustawienia Tablicy",
"Use bigger card view" : "Użyj większego widoku karty",
"Show card ID badge" : "Pokaż ID karty",
"Show boards in calendar/tasks" : "Pokaż tablice w kalendarzu/zadaniach",
"Limit deck usage of groups" : "Ogranicz użycie tablic dla grup",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ograniczenie Tablicy zablokuje użytkownikom z tych grup możliwość tworzenia własnych tablic. Użytkownicy nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
@@ -286,6 +289,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Wyszukaj dla {searchQuery} na wszystkich tablicach",
"No results found" : "Nie znaleziono wyników",
"{stack} in {board}" : "{stack} na {board}",
"Click to expand description" : "Kliknij, aby rozwinąć opis",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Utworzono {created}\n* Ostatnia modyfikacja {lastMod}\n* Załączniki {nbAttachments}\n* Komentarze {nbComments}",
"{nbCards} cards" : "Karty {nbCards}",
"No upcoming cards" : "Brak nadchodzących kart",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "Nie udało się przenieść tablicy do {user}",
"Add a new list" : "Dodaj nową listę",
"Archive all cards" : "Zarchiwizuj wszystkie karty",
"Unarchive all cards" : "Przywróć wszystkie karty z archiwum",
"Delete list" : "Usuń listę",
"Archive all cards in this list" : "Zarchiwizuj wszystkie karty na tej liście",
"Unarchive all cards in this list" : "Cofnij archiwizację wszystkich kart z tej listy",
"Add a new card" : "Dodaj nową kartę",
"Card name" : "Nazwa karty",
"List deleted" : "Lista usunięta",
@@ -258,6 +260,7 @@
"Shared with you" : "Udostępnione Tobie",
"Deck settings" : "Ustawienia Tablicy",
"Use bigger card view" : "Użyj większego widoku karty",
"Show card ID badge" : "Pokaż ID karty",
"Show boards in calendar/tasks" : "Pokaż tablice w kalendarzu/zadaniach",
"Limit deck usage of groups" : "Ogranicz użycie tablic dla grup",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Ograniczenie Tablicy zablokuje użytkownikom z tych grup możliwość tworzenia własnych tablic. Użytkownicy nadal będą mogli pracować na tablicach, które zostały im udostępnione.",
@@ -284,6 +287,7 @@
"Search for {searchQuery} in all boards" : "Wyszukaj dla {searchQuery} na wszystkich tablicach",
"No results found" : "Nie znaleziono wyników",
"{stack} in {board}" : "{stack} na {board}",
"Click to expand description" : "Kliknij, aby rozwinąć opis",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Utworzono {created}\n* Ostatnia modyfikacja {lastMod}\n* Załączniki {nbAttachments}\n* Komentarze {nbComments}",
"{nbCards} cards" : "Karty {nbCards}",
"No upcoming cards" : "Brak nadchodzących kart",

View File

@@ -71,14 +71,14 @@ OC.L10N.register(
"Load more" : "Carregar mais",
"Personal" : "Pessoal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "O cartão \"%s\" em \"%s\" foi vinculado com você por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{usuário} atribuiu a carta {deck-card} no {deck-board} para você.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} atribuiu o cartão {deck-card} no {deck-board} a você.",
"The card \"%s\" on \"%s\" has reached its due date." : "O cartão \"%s\" em \"%s\" atingiu sua data de vencimento.",
"The card {deck-card} on {deck-board} has reached its due date." : "A carta {deck-card} em {deck-board} atingiu sua data de vencimento.",
"The card {deck-card} on {deck-board} has reached its due date." : "O cartão {deck-card} em {deck-board} atingiu sua data de vencimento.",
"%s has mentioned you in a comment on \"%s\"." : "%s citou você num comentário em \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionou você em um comentário em {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O painel \"%s\" foi compartilhado com você por %s.",
"{user} has shared {deck-board} with you." : "{user} compartilhou {deck-board} com você.",
"Card comments" : "Comentários nos Cards",
"{user} has shared {deck-board} with you." : "{user} compartilhou o {deck-board} com você.",
"Card comments" : "Comentários do cartão",
"%s on %s" : "%s em %s",
"No data was provided to create an attachment." : "Nenhum dado foi fornecido para criar um anexo.",
"Finished" : "Terminado",
@@ -101,12 +101,12 @@ OC.L10N.register(
"Could not write file to disk" : "Não foi possível escrever no disco",
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o envio do arquivo",
"No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo enviado ou o tamanho excede o máximo de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentário tem mais de %s caracteres.\nAdicionado como um anexo ao cartão com o nome %s.\nAcessível no URL: %s.",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentário tem mais de %s caracteres.\nEle foi adicionado como um anexo ao cartão de nome %s.\nAcessível na URL: %s.",
"Card not found" : "Cartão não encontrado",
"Path is already shared with this card" : "O caminho já é compartilhado com este cartão",
"Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser AAAA-MM-DD",
"Personal planning and team project organization" : "Planejamento pessoal e organização de projetos em equipe",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck é uma ferramenta de organização do estilo kanban voltada para o planejamento pessoal e organização de projetos para equipes integradas ao Nextcloud.\n\n\n- 📥Adicione suas tarefas aos cartões e coloque-as em ordem\n- 📄 Escreva notas adicionais em Anotar \n- 🔖 Atribua rótulos para uma organização ainda melhor\n- 👥 Compartilhe com sua equipe, amigos ou família\n- 📎 Anexar arquivos e incorporá-los à descrição da Nota\n- 💬 Discuta com sua equipe usando comentários\n- ⚡ Acompanhe as mudanças no fluxo de atividades \n- 🚀 Organize seu projeto ",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "O Deck é uma ferramenta de organização ao estilo kanban voltada para o planejamento pessoal e para a organização de projetos para equipes, integrada ao Nextcloud.\n\n\n- 📥Adicione suas tarefas aos cartões e coloque-os em ordem\n- 📄 Escreva notas adicionais formatadas em Markdown \n- 🔖 Atribua rótulos para uma organização ainda melhor\n- 👥 Compartilhe com sua equipe, seus amigos ou sua família\n- 📎 Anexe arquivos e incorpore-os à sua descrição em Markdown\n- 💬 Discuta com sua equipe usando comentários\n- ⚡ Acompanhe as alterações no fluxo de atividades \n- 🚀 Organize seu projeto ",
"Card details" : "Detalhes do cartão",
"Add board" : "Adicionar painel",
"Select the board to link to a project" : "Selecione o painel para vincular a um projeto",
@@ -117,7 +117,7 @@ OC.L10N.register(
"Select a list" : "Selecione uma lista",
"Card title" : "Título do cartão",
"Cancel" : "Cancelar",
"Creating the new card …" : "Criando o novo cartão …",
"Creating the new card …" : "Criando o novo cartão…",
"Card \"{card}\" was added to \"{board}\"" : "O cartão \"{card}\" foi adicionado a \"{board}\" ",
"Open card" : "Abrir o cartão",
"Close" : "Fechar",
@@ -150,7 +150,7 @@ OC.L10N.register(
"Clear filter" : "Limpar filtro",
"Hide archived cards" : "Ocultar cartões arquivados",
"Show archived cards" : "Exibir cartões arquivados",
"Toggle compact mode" : "Alternar para modo compacto",
"Toggle compact mode" : "Alternar modo compacto",
"Open details" : "Abrir detalhes",
"Details" : "Detalhes",
"Loading board" : "Carregando painel",
@@ -176,15 +176,17 @@ OC.L10N.register(
"Owner" : "Proprietário",
"Delete" : "Excluir",
"Failed to create share with {displayName}" : "Falha ao criar compartilhamento com {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?",
"Transfer the board." : "Transfira a reunião.",
"Are you sure you want to transfer the board {title} to {user}?" : "Deseja realmente transferir o painel {title} para {user}?",
"Transfer the board." : "Transferir o painel.",
"Transfer" : "Transferir",
"The board has been transferred to {user}" : "A quadro foi transferida para {user}",
"Failed to transfer the board to {user}" : "Falha ao transferir o quadro para {user}",
"The board has been transferred to {user}" : "A painel foi transferida para {user}",
"Failed to transfer the board to {user}" : "Não foi possível transferir o painel para {user}",
"Add a new list" : "Adicionar nova lista",
"Archive all cards" : "Arquivar todos os cartões",
"Unarchive all cards" : "Desarquivar todos os cartões",
"Delete list" : "Excluir lista",
"Archive all cards in this list" : "Arquivar todos os cartões desta lista",
"Unarchive all cards in this list" : "Desarquivar todos os cartões desta lista",
"Add a new card" : "Adicionar um novo cartão",
"Card name" : "Nome do cartão",
"List deleted" : "Lista excluída",
@@ -197,7 +199,7 @@ OC.L10N.register(
"Share from Files" : "Compartilhar de Arquivos",
"Pending share" : "Compartilhamento pendente",
"Add this attachment" : "Adicionar este anexo",
"Show in Files" : "Mostrar em Arquivos",
"Show in Files" : "Exibir em Arquivos",
"Download" : "Baixar",
"Remove attachment" : "Remover anexo",
"Delete Attachment" : "Excluir Anexo",
@@ -212,13 +214,13 @@ OC.L10N.register(
"Created" : "Criado",
"The title cannot be empty." : "O título não pode ficar em branco.",
"No comments yet. Begin the discussion!" : "Nenhum comentário ainda. Inicie a conversa!",
"Failed to load comments" : "Falha ao carregar comentários",
"Failed to load comments" : "Não foi possível carregar os comentários",
"Assign a tag to this card…" : "Atribuir uma etiqueta a este cartão...",
"Assign to users" : "Atribuir a usuários",
"Assign to users/groups/circles" : "Atribuir a usuários/grupos/círculos",
"Assign a user to this card…" : "Atribuir um usuário a este cartão...",
"Due date" : "Data de vencimento",
"Set a due date" : "Definir uma data de finalização",
"Set a due date" : "Definir uma data de vencimento",
"Remove due date" : "Remover data de vencimento",
"Select Date" : "Selecionar Data",
"Today" : "Hoje",
@@ -242,7 +244,7 @@ OC.L10N.register(
"Write a description …" : "Escreva uma descrição...",
"Choose attachment" : "Escolher anexo",
"(group)" : "(grupo)",
"Todo items" : "Itens para fazer",
"Todo items" : "Itens a fazer",
"{count} comments, {unread} unread" : "{count} comentários, {unread} não lidos",
"Edit card title" : "Editar título do cartão",
"Assign to me" : "Atribuir a mim",
@@ -252,7 +254,7 @@ OC.L10N.register(
"Archive card" : "Arquivar cartão",
"Delete card" : "Excluir cartão",
"Move card to another board" : "Mover o cartão para outro painel",
"List is empty" : "A Lista está vazia",
"List is empty" : "A lista está vazia",
"Card deleted" : "Cartão excluído",
"seconds ago" : "segundos atrás",
"All boards" : "Todos os painéis",
@@ -260,7 +262,8 @@ OC.L10N.register(
"Shared with you" : "Compartilhado com você",
"Deck settings" : "Configurações do Deck",
"Use bigger card view" : "Use uma exibição de cartão maior",
"Show boards in calendar/tasks" : "Mostrar painéis em calendários/tarefas",
"Show card ID badge" : "Exibir o distintivo de identificação do cartão",
"Show boards in calendar/tasks" : "Exibir os painéis em calendários/tarefas",
"Limit deck usage of groups" : "Limitar o uso de grupos no deck",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitar o Deck impedirá que usuários que não fazem parte desses grupos criem seus próprios painéis. Os usuários ainda poderão trabalhar em pastas que foram compartilhadas com eles.",
"Board details" : "Detalhes do painel",
@@ -279,19 +282,20 @@ OC.L10N.register(
"Only assigned cards" : "Apenas cartões atribuídos",
"No reminder" : "Nenhum lembrete",
"An error occurred" : "Ocorreu um erro",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Tem certeza de que deseja excluir o quadro {title}? Isso excluirá todos os dados deste quadro, incluindo cartões arquivados.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Deseja realmente excluir o painel {title}? Isso excluirá todos os dados deste painel, inclusive os cartões arquivados.",
"Delete the board?" : "Excluir o painel?",
"Loading filtered view" : "Carregando exibição filtrada",
"No due" : "Sem vencimento",
"Search for {searchQuery} in all boards" : "Pesquisar por {searchQuery} em todos os painéis",
"No results found" : "Nenhum resultado encontrado",
"{stack} in {board}" : "{stack} de {board}",
"{stack} in {board}" : "{stack} em {board}",
"Click to expand description" : "Clique para expandir a descrição",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Criado em {created}\n* Última modificação em {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentários",
"{nbCards} cards" : "{nbCards} cartões",
"No upcoming cards" : "Não há mais cartões",
"upcoming cards" : "próximos cartões",
"Due on {date}" : "Vencimento em {date}",
"Link to a board" : "Linkar a um painel",
"Link to a board" : "Vincular a um painel",
"Link to a card" : "Vincular a um cartão",
"Create a card" : "Criar um cartão",
"Message from {author} in {conversationName}" : "Mensagem de {author} em {conversationName}",
@@ -303,11 +307,11 @@ OC.L10N.register(
"Share {file} with a Deck card" : "Compartilhar {file} com um cartão Deck",
"Share" : "Compartilhar",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck é uma ferramenta de organização de estilo kanban destinada ao planejamento pessoal e organização para equipes integradas com o Nextcloud.\n\n\n- 📥 Adicione suas tarefas aos cartões e coloque-os em ordem\n- 📄 Insira notas adicionais em markdown\n- 🔖 Atribua etiquetas para melhorar a organização\n- 👥 Compartilhe com sua equipe, amigos ou familiares\n- 📎 Anexe arquivos e incorpore-os em sua descrição no markdown\n- 💬 Discuta com sua equipe usando os comentários\n- ⚡ Acompanhe as alterações no fluxo de atividades\n- 🚀 Mantenha seu projeto organizado",
"Are you sure you want to transfer the board {title} for {user} ?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?",
"Transfer the board for {user} successfully" : "Transferida a reunião para {user} com sucesso",
"Failed to transfer the board for {user}" : "Falha ao transferir a reunião para {user}",
"Are you sure you want to transfer the board {title} for {user} ?" : "Deseja realmente transferir o painel {title} para {user}?",
"Transfer the board for {user} successfully" : "O painel foi transferido para {user} com sucesso",
"Failed to transfer the board for {user}" : "Não foi possível transferir o painel para {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Deseja realmente excluir o painel {title}? Isto excluirá todos os dados deste painel.",
"This week" : "Esta semana",
"Are you sure you want to transfer the board {title} for {user}?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?"
"Are you sure you want to transfer the board {title} for {user}?" : "Deseja realmente transferir o painel {title} para {user}?"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");

View File

@@ -69,14 +69,14 @@
"Load more" : "Carregar mais",
"Personal" : "Pessoal",
"The card \"%s\" on \"%s\" has been assigned to you by %s." : "O cartão \"%s\" em \"%s\" foi vinculado com você por %s.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{usuário} atribuiu a carta {deck-card} no {deck-board} para você.",
"{user} has assigned the card {deck-card} on {deck-board} to you." : "{user} atribuiu o cartão {deck-card} no {deck-board} a você.",
"The card \"%s\" on \"%s\" has reached its due date." : "O cartão \"%s\" em \"%s\" atingiu sua data de vencimento.",
"The card {deck-card} on {deck-board} has reached its due date." : "A carta {deck-card} em {deck-board} atingiu sua data de vencimento.",
"The card {deck-card} on {deck-board} has reached its due date." : "O cartão {deck-card} em {deck-board} atingiu sua data de vencimento.",
"%s has mentioned you in a comment on \"%s\"." : "%s citou você num comentário em \"%s\".",
"{user} has mentioned you in a comment on {deck-card}." : "{user} mencionou você em um comentário em {deck-card}.",
"The board \"%s\" has been shared with you by %s." : "O painel \"%s\" foi compartilhado com você por %s.",
"{user} has shared {deck-board} with you." : "{user} compartilhou {deck-board} com você.",
"Card comments" : "Comentários nos Cards",
"{user} has shared {deck-board} with you." : "{user} compartilhou o {deck-board} com você.",
"Card comments" : "Comentários do cartão",
"%s on %s" : "%s em %s",
"No data was provided to create an attachment." : "Nenhum dado foi fornecido para criar um anexo.",
"Finished" : "Terminado",
@@ -99,12 +99,12 @@
"Could not write file to disk" : "Não foi possível escrever no disco",
"A PHP extension stopped the file upload" : "Uma extensão PHP parou o envio do arquivo",
"No file uploaded or file size exceeds maximum of %s" : "Nenhum arquivo enviado ou o tamanho excede o máximo de %s",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentário tem mais de %s caracteres.\nAdicionado como um anexo ao cartão com o nome %s.\nAcessível no URL: %s.",
"This comment has more than %s characters.\nAdded as an attachment to the card with name %s.\nAccessible on URL: %s." : "Este comentário tem mais de %s caracteres.\nEle foi adicionado como um anexo ao cartão de nome %s.\nAcessível na URL: %s.",
"Card not found" : "Cartão não encontrado",
"Path is already shared with this card" : "O caminho já é compartilhado com este cartão",
"Invalid date, date format must be YYYY-MM-DD" : "Data inválida, o formato da data deve ser AAAA-MM-DD",
"Personal planning and team project organization" : "Planejamento pessoal e organização de projetos em equipe",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck é uma ferramenta de organização do estilo kanban voltada para o planejamento pessoal e organização de projetos para equipes integradas ao Nextcloud.\n\n\n- 📥Adicione suas tarefas aos cartões e coloque-as em ordem\n- 📄 Escreva notas adicionais em Anotar \n- 🔖 Atribua rótulos para uma organização ainda melhor\n- 👥 Compartilhe com sua equipe, amigos ou família\n- 📎 Anexar arquivos e incorporá-los à descrição da Nota\n- 💬 Discuta com sua equipe usando comentários\n- ⚡ Acompanhe as mudanças no fluxo de atividades \n- 🚀 Organize seu projeto ",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in Markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your Markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "O Deck é uma ferramenta de organização ao estilo kanban voltada para o planejamento pessoal e para a organização de projetos para equipes, integrada ao Nextcloud.\n\n\n- 📥Adicione suas tarefas aos cartões e coloque-os em ordem\n- 📄 Escreva notas adicionais formatadas em Markdown \n- 🔖 Atribua rótulos para uma organização ainda melhor\n- 👥 Compartilhe com sua equipe, seus amigos ou sua família\n- 📎 Anexe arquivos e incorpore-os à sua descrição em Markdown\n- 💬 Discuta com sua equipe usando comentários\n- ⚡ Acompanhe as alterações no fluxo de atividades \n- 🚀 Organize seu projeto ",
"Card details" : "Detalhes do cartão",
"Add board" : "Adicionar painel",
"Select the board to link to a project" : "Selecione o painel para vincular a um projeto",
@@ -115,7 +115,7 @@
"Select a list" : "Selecione uma lista",
"Card title" : "Título do cartão",
"Cancel" : "Cancelar",
"Creating the new card …" : "Criando o novo cartão …",
"Creating the new card …" : "Criando o novo cartão…",
"Card \"{card}\" was added to \"{board}\"" : "O cartão \"{card}\" foi adicionado a \"{board}\" ",
"Open card" : "Abrir o cartão",
"Close" : "Fechar",
@@ -148,7 +148,7 @@
"Clear filter" : "Limpar filtro",
"Hide archived cards" : "Ocultar cartões arquivados",
"Show archived cards" : "Exibir cartões arquivados",
"Toggle compact mode" : "Alternar para modo compacto",
"Toggle compact mode" : "Alternar modo compacto",
"Open details" : "Abrir detalhes",
"Details" : "Detalhes",
"Loading board" : "Carregando painel",
@@ -174,15 +174,17 @@
"Owner" : "Proprietário",
"Delete" : "Excluir",
"Failed to create share with {displayName}" : "Falha ao criar compartilhamento com {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?",
"Transfer the board." : "Transfira a reunião.",
"Are you sure you want to transfer the board {title} to {user}?" : "Deseja realmente transferir o painel {title} para {user}?",
"Transfer the board." : "Transferir o painel.",
"Transfer" : "Transferir",
"The board has been transferred to {user}" : "A quadro foi transferida para {user}",
"Failed to transfer the board to {user}" : "Falha ao transferir o quadro para {user}",
"The board has been transferred to {user}" : "A painel foi transferida para {user}",
"Failed to transfer the board to {user}" : "Não foi possível transferir o painel para {user}",
"Add a new list" : "Adicionar nova lista",
"Archive all cards" : "Arquivar todos os cartões",
"Unarchive all cards" : "Desarquivar todos os cartões",
"Delete list" : "Excluir lista",
"Archive all cards in this list" : "Arquivar todos os cartões desta lista",
"Unarchive all cards in this list" : "Desarquivar todos os cartões desta lista",
"Add a new card" : "Adicionar um novo cartão",
"Card name" : "Nome do cartão",
"List deleted" : "Lista excluída",
@@ -195,7 +197,7 @@
"Share from Files" : "Compartilhar de Arquivos",
"Pending share" : "Compartilhamento pendente",
"Add this attachment" : "Adicionar este anexo",
"Show in Files" : "Mostrar em Arquivos",
"Show in Files" : "Exibir em Arquivos",
"Download" : "Baixar",
"Remove attachment" : "Remover anexo",
"Delete Attachment" : "Excluir Anexo",
@@ -210,13 +212,13 @@
"Created" : "Criado",
"The title cannot be empty." : "O título não pode ficar em branco.",
"No comments yet. Begin the discussion!" : "Nenhum comentário ainda. Inicie a conversa!",
"Failed to load comments" : "Falha ao carregar comentários",
"Failed to load comments" : "Não foi possível carregar os comentários",
"Assign a tag to this card…" : "Atribuir uma etiqueta a este cartão...",
"Assign to users" : "Atribuir a usuários",
"Assign to users/groups/circles" : "Atribuir a usuários/grupos/círculos",
"Assign a user to this card…" : "Atribuir um usuário a este cartão...",
"Due date" : "Data de vencimento",
"Set a due date" : "Definir uma data de finalização",
"Set a due date" : "Definir uma data de vencimento",
"Remove due date" : "Remover data de vencimento",
"Select Date" : "Selecionar Data",
"Today" : "Hoje",
@@ -240,7 +242,7 @@
"Write a description …" : "Escreva uma descrição...",
"Choose attachment" : "Escolher anexo",
"(group)" : "(grupo)",
"Todo items" : "Itens para fazer",
"Todo items" : "Itens a fazer",
"{count} comments, {unread} unread" : "{count} comentários, {unread} não lidos",
"Edit card title" : "Editar título do cartão",
"Assign to me" : "Atribuir a mim",
@@ -250,7 +252,7 @@
"Archive card" : "Arquivar cartão",
"Delete card" : "Excluir cartão",
"Move card to another board" : "Mover o cartão para outro painel",
"List is empty" : "A Lista está vazia",
"List is empty" : "A lista está vazia",
"Card deleted" : "Cartão excluído",
"seconds ago" : "segundos atrás",
"All boards" : "Todos os painéis",
@@ -258,7 +260,8 @@
"Shared with you" : "Compartilhado com você",
"Deck settings" : "Configurações do Deck",
"Use bigger card view" : "Use uma exibição de cartão maior",
"Show boards in calendar/tasks" : "Mostrar painéis em calendários/tarefas",
"Show card ID badge" : "Exibir o distintivo de identificação do cartão",
"Show boards in calendar/tasks" : "Exibir os painéis em calendários/tarefas",
"Limit deck usage of groups" : "Limitar o uso de grupos no deck",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Limitar o Deck impedirá que usuários que não fazem parte desses grupos criem seus próprios painéis. Os usuários ainda poderão trabalhar em pastas que foram compartilhadas com eles.",
"Board details" : "Detalhes do painel",
@@ -277,19 +280,20 @@
"Only assigned cards" : "Apenas cartões atribuídos",
"No reminder" : "Nenhum lembrete",
"An error occurred" : "Ocorreu um erro",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Tem certeza de que deseja excluir o quadro {title}? Isso excluirá todos os dados deste quadro, incluindo cartões arquivados.",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Deseja realmente excluir o painel {title}? Isso excluirá todos os dados deste painel, inclusive os cartões arquivados.",
"Delete the board?" : "Excluir o painel?",
"Loading filtered view" : "Carregando exibição filtrada",
"No due" : "Sem vencimento",
"Search for {searchQuery} in all boards" : "Pesquisar por {searchQuery} em todos os painéis",
"No results found" : "Nenhum resultado encontrado",
"{stack} in {board}" : "{stack} de {board}",
"{stack} in {board}" : "{stack} em {board}",
"Click to expand description" : "Clique para expandir a descrição",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Criado em {created}\n* Última modificação em {lastMod}\n* {nbAttachments} anexos\n* {nbComments} comentários",
"{nbCards} cards" : "{nbCards} cartões",
"No upcoming cards" : "Não há mais cartões",
"upcoming cards" : "próximos cartões",
"Due on {date}" : "Vencimento em {date}",
"Link to a board" : "Linkar a um painel",
"Link to a board" : "Vincular a um painel",
"Link to a card" : "Vincular a um cartão",
"Create a card" : "Criar um cartão",
"Message from {author} in {conversationName}" : "Mensagem de {author} em {conversationName}",
@@ -301,11 +305,11 @@
"Share {file} with a Deck card" : "Compartilhar {file} com um cartão Deck",
"Share" : "Compartilhar",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck é uma ferramenta de organização de estilo kanban destinada ao planejamento pessoal e organização para equipes integradas com o Nextcloud.\n\n\n- 📥 Adicione suas tarefas aos cartões e coloque-os em ordem\n- 📄 Insira notas adicionais em markdown\n- 🔖 Atribua etiquetas para melhorar a organização\n- 👥 Compartilhe com sua equipe, amigos ou familiares\n- 📎 Anexe arquivos e incorpore-os em sua descrição no markdown\n- 💬 Discuta com sua equipe usando os comentários\n- ⚡ Acompanhe as alterações no fluxo de atividades\n- 🚀 Mantenha seu projeto organizado",
"Are you sure you want to transfer the board {title} for {user} ?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?",
"Transfer the board for {user} successfully" : "Transferida a reunião para {user} com sucesso",
"Failed to transfer the board for {user}" : "Falha ao transferir a reunião para {user}",
"Are you sure you want to transfer the board {title} for {user} ?" : "Deseja realmente transferir o painel {title} para {user}?",
"Transfer the board for {user} successfully" : "O painel foi transferido para {user} com sucesso",
"Failed to transfer the board for {user}" : "Não foi possível transferir o painel para {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Deseja realmente excluir o painel {title}? Isto excluirá todos os dados deste painel.",
"This week" : "Esta semana",
"Are you sure you want to transfer the board {title} for {user}?" : "Tem certeza de que deseja transferir o quadro {title} para {user}?"
"Are you sure you want to transfer the board {title} for {user}?" : "Deseja realmente transferir o painel {title} para {user}?"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
}

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Не удалось передать доску пользователю {user}",
"Add a new list" : "Создать список",
"Archive all cards" : "Переместить все карточки в архив",
"Unarchive all cards" : "Восстановить все карточки из архива",
"Delete list" : "Удалить список",
"Archive all cards in this list" : "Переместить в архив все карточки текущего списка",
"Unarchive all cards in this list" : "Восстановить из архива все карточки списка",
"Add a new card" : "Создать карточку",
"Card name" : "Название карточки",
"List deleted" : "Список удалён",
@@ -242,7 +244,9 @@ OC.L10N.register(
"Write a description …" : "Добавьте описание...",
"Choose attachment" : "Выберите вложение",
"(group)" : "(группа)",
"Todo items" : "Элементы списка задач",
"{count} comments, {unread} unread" : "{count} комментариев, {unread} непрочитано",
"Edit card title" : "Изменить заголовок карточки",
"Assign to me" : "Назначить себе",
"Unassign myself" : "Отказаться от назначения",
"Move card" : "Переместить карточку",
@@ -256,7 +260,9 @@ OC.L10N.register(
"All boards" : "Все доски",
"Archived boards" : "Архив досок",
"Shared with you" : "Предоставленные вам",
"Deck settings" : "Параметры карточек",
"Use bigger card view" : "Режим просмотра с увеличенными карточками",
"Show card ID badge" : "Показывать идентификатор карточки",
"Show boards in calendar/tasks" : "Показывать карточки в календаре и задачах",
"Limit deck usage of groups" : "Разрешить использовать приложение Карточки только участникам заданных групп",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Создание собственных рабочих досок пользователям, не входящим в заданные группы, будет заблокировано. Тем не менее, такие пользователи смогут продолжить работать с общими досками, к которым у них есть доступ. ",
@@ -276,12 +282,15 @@ OC.L10N.register(
"Only assigned cards" : "Только для назначенных карточек",
"No reminder" : "Не напоминать",
"An error occurred" : "Произошла ошибка",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Подтвердите удаление доски «{title}»; это действие приведёт к удалению также все данных, принадлежащих этой доске, включая карточки в архиве.",
"Delete the board?" : "Удалить доску?",
"Loading filtered view" : "Выполняется отбор",
"No due" : "Без назначенной даты",
"Search for {searchQuery} in all boards" : "Искать {searchQuery} на всех досках",
"No results found" : "Результаты отсутствуют",
"{stack} in {board}" : "«{stack}» с доски «{board}»",
"Click to expand description" : "Нажмите, чтобы развернуть поле описания",
"{nbCards} cards" : "карточек: {nbCards}",
"No upcoming cards" : "Отсутствуют карточки, ожидающие выполнения",
"upcoming cards" : "карточки, ожидающие выполнения",
"Link to a board" : "Ссылка на доску",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "Не удалось передать доску пользователю {user}",
"Add a new list" : "Создать список",
"Archive all cards" : "Переместить все карточки в архив",
"Unarchive all cards" : "Восстановить все карточки из архива",
"Delete list" : "Удалить список",
"Archive all cards in this list" : "Переместить в архив все карточки текущего списка",
"Unarchive all cards in this list" : "Восстановить из архива все карточки списка",
"Add a new card" : "Создать карточку",
"Card name" : "Название карточки",
"List deleted" : "Список удалён",
@@ -240,7 +242,9 @@
"Write a description …" : "Добавьте описание...",
"Choose attachment" : "Выберите вложение",
"(group)" : "(группа)",
"Todo items" : "Элементы списка задач",
"{count} comments, {unread} unread" : "{count} комментариев, {unread} непрочитано",
"Edit card title" : "Изменить заголовок карточки",
"Assign to me" : "Назначить себе",
"Unassign myself" : "Отказаться от назначения",
"Move card" : "Переместить карточку",
@@ -254,7 +258,9 @@
"All boards" : "Все доски",
"Archived boards" : "Архив досок",
"Shared with you" : "Предоставленные вам",
"Deck settings" : "Параметры карточек",
"Use bigger card view" : "Режим просмотра с увеличенными карточками",
"Show card ID badge" : "Показывать идентификатор карточки",
"Show boards in calendar/tasks" : "Показывать карточки в календаре и задачах",
"Limit deck usage of groups" : "Разрешить использовать приложение Карточки только участникам заданных групп",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Создание собственных рабочих досок пользователям, не входящим в заданные группы, будет заблокировано. Тем не менее, такие пользователи смогут продолжить работать с общими досками, к которым у них есть доступ. ",
@@ -274,12 +280,15 @@
"Only assigned cards" : "Только для назначенных карточек",
"No reminder" : "Не напоминать",
"An error occurred" : "Произошла ошибка",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Подтвердите удаление доски «{title}»; это действие приведёт к удалению также все данных, принадлежащих этой доске, включая карточки в архиве.",
"Delete the board?" : "Удалить доску?",
"Loading filtered view" : "Выполняется отбор",
"No due" : "Без назначенной даты",
"Search for {searchQuery} in all boards" : "Искать {searchQuery} на всех досках",
"No results found" : "Результаты отсутствуют",
"{stack} in {board}" : "«{stack}» с доски «{board}»",
"Click to expand description" : "Нажмите, чтобы развернуть поле описания",
"{nbCards} cards" : "карточек: {nbCards}",
"No upcoming cards" : "Отсутствуют карточки, ожидающие выполнения",
"upcoming cards" : "карточки, ожидающие выполнения",
"Link to a board" : "Ссылка на доску",

View File

@@ -176,11 +176,17 @@ OC.L10N.register(
"Owner" : "Vlastník",
"Delete" : "Zmazať",
"Failed to create share with {displayName}" : "Nepodarilo sa vytvoriť sprístupnenie pre {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?",
"Transfer the board." : "Prenos nástenky.",
"Transfer" : "Prenos",
"The board has been transferred to {user}" : "Nástenka bola presunutá na {user}",
"Failed to transfer the board to {user}" : "Chyba pri presune nástenky na {user}",
"Add a new list" : "Pridať nový zoznam",
"Archive all cards" : "Archivovať všetky karty",
"Unarchive all cards" : "Zrušiť archiváciu všetkých kariet",
"Delete list" : "Vymazať zoznam",
"Archive all cards in this list" : "Archivovať všetky karty v tomto zozname",
"Unarchive all cards in this list" : "Zrušiť archiváciu všetkých kariet v tomto zozname",
"Add a new card" : "Pridať novú kartu",
"Card name" : "Názov karty",
"List deleted" : "Zoznam bol vymazaný",
@@ -238,7 +244,9 @@ OC.L10N.register(
"Write a description …" : "Napíšte popis...",
"Choose attachment" : "Vybrať prílohu",
"(group)" : "(skupina)",
"Todo items" : "Položky úloh",
"{count} comments, {unread} unread" : "{count} komentárov, {unread} neprečítaných",
"Edit card title" : "Upraviť názov karty",
"Assign to me" : "Priradiť mne",
"Unassign myself" : "Zrušiť priradenie mne",
"Move card" : "Presunúť kartu",
@@ -252,7 +260,9 @@ OC.L10N.register(
"All boards" : "Všetky nástenky",
"Archived boards" : "Archivované nástenky",
"Shared with you" : "Vám sprístupnené",
"Deck settings" : "Nastavenia paluby",
"Use bigger card view" : "Použiť väčšie zobrazenie karty",
"Show card ID badge" : "Ukázať ID karty",
"Show boards in calendar/tasks" : "Zobrazovať nástenky v kalendári/úlohách",
"Limit deck usage of groups" : "Obmedziť použitie Deck na skupiny",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Obmedzenie Násteniek bráni používateľom, ktorí nie sú súčasťou týchto skupín, aby si vytvárali vlastné nástenky. Môžu však stále pracovať na nástenkách, ktoré im niekto sprístupní.",
@@ -272,14 +282,19 @@ OC.L10N.register(
"Only assigned cards" : "Len priradené karty",
"No reminder" : "Žiadna pripomienka",
"An error occurred" : "Vyskytla sa chyba",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke vrátane archivovaných kariet.",
"Delete the board?" : "Vymazať nástenku?",
"Loading filtered view" : "Načítavanie filtrovaného pohľadu",
"No due" : "Žiadny termín dokončenia",
"Search for {searchQuery} in all boards" : "Vyhľadať {searchQuery} na všetkých plochách",
"No results found" : "Neboli nájdené žiadne výsledky",
"{stack} in {board}" : "{stack} v {board}",
"Click to expand description" : "Kliknite pre rozšírenie popisu",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvorené dňa {created}\n* Naposledy upravené {lastMod}\n* {nbAttachments} príloh\n* Komentáre: {nbComments}",
"{nbCards} cards" : "{nbCards} kariet",
"No upcoming cards" : "Žiadne nadchádzajúce karty",
"upcoming cards" : "nadchádzajúce karty",
"Due on {date}" : "Platné do {date}",
"Link to a board" : "Odkaz na nástenku",
"Link to a card" : "Prepojiť s kartou",
"Create a card" : "Vytvoriť kartu",
@@ -292,7 +307,11 @@ OC.L10N.register(
"Share {file} with a Deck card" : "Zdieľať {file} s kartou Deck",
"Share" : "Zdieľať",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Karty sú nástroj zacielený na osobné alebo projektové plánovanie tímov v štýle Kanban integrovaný do Nextcloud.\n\n\n- 📥 Zadávajte a usporadúvajte svoje úlohy do kariet\n- 📄 Zapisujte si dodatočné poznámky\n- 🔖 Priraďujte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojim tímom, priateľmi alebo rodinou\n- 🚀 Dostaňte svoj projekt pod kontrolu",
"Are you sure you want to transfer the board {title} for {user} ?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user} ?",
"Transfer the board for {user} successfully" : "Presun nástenky na {user} bolo úspešné",
"Failed to transfer the board for {user}" : "Chyba pri presune nástenky na {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke.",
"This week" : "Tento týždeň"
"This week" : "Tento týždeň",
"Are you sure you want to transfer the board {title} for {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?"
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");

View File

@@ -174,11 +174,17 @@
"Owner" : "Vlastník",
"Delete" : "Zmazať",
"Failed to create share with {displayName}" : "Nepodarilo sa vytvoriť sprístupnenie pre {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?",
"Transfer the board." : "Prenos nástenky.",
"Transfer" : "Prenos",
"The board has been transferred to {user}" : "Nástenka bola presunutá na {user}",
"Failed to transfer the board to {user}" : "Chyba pri presune nástenky na {user}",
"Add a new list" : "Pridať nový zoznam",
"Archive all cards" : "Archivovať všetky karty",
"Unarchive all cards" : "Zrušiť archiváciu všetkých kariet",
"Delete list" : "Vymazať zoznam",
"Archive all cards in this list" : "Archivovať všetky karty v tomto zozname",
"Unarchive all cards in this list" : "Zrušiť archiváciu všetkých kariet v tomto zozname",
"Add a new card" : "Pridať novú kartu",
"Card name" : "Názov karty",
"List deleted" : "Zoznam bol vymazaný",
@@ -236,7 +242,9 @@
"Write a description …" : "Napíšte popis...",
"Choose attachment" : "Vybrať prílohu",
"(group)" : "(skupina)",
"Todo items" : "Položky úloh",
"{count} comments, {unread} unread" : "{count} komentárov, {unread} neprečítaných",
"Edit card title" : "Upraviť názov karty",
"Assign to me" : "Priradiť mne",
"Unassign myself" : "Zrušiť priradenie mne",
"Move card" : "Presunúť kartu",
@@ -250,7 +258,9 @@
"All boards" : "Všetky nástenky",
"Archived boards" : "Archivované nástenky",
"Shared with you" : "Vám sprístupnené",
"Deck settings" : "Nastavenia paluby",
"Use bigger card view" : "Použiť väčšie zobrazenie karty",
"Show card ID badge" : "Ukázať ID karty",
"Show boards in calendar/tasks" : "Zobrazovať nástenky v kalendári/úlohách",
"Limit deck usage of groups" : "Obmedziť použitie Deck na skupiny",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Obmedzenie Násteniek bráni používateľom, ktorí nie sú súčasťou týchto skupín, aby si vytvárali vlastné nástenky. Môžu však stále pracovať na nástenkách, ktoré im niekto sprístupní.",
@@ -270,14 +280,19 @@
"Only assigned cards" : "Len priradené karty",
"No reminder" : "Žiadna pripomienka",
"An error occurred" : "Vyskytla sa chyba",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke vrátane archivovaných kariet.",
"Delete the board?" : "Vymazať nástenku?",
"Loading filtered view" : "Načítavanie filtrovaného pohľadu",
"No due" : "Žiadny termín dokončenia",
"Search for {searchQuery} in all boards" : "Vyhľadať {searchQuery} na všetkých plochách",
"No results found" : "Neboli nájdené žiadne výsledky",
"{stack} in {board}" : "{stack} v {board}",
"Click to expand description" : "Kliknite pre rozšírenie popisu",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Vytvorené dňa {created}\n* Naposledy upravené {lastMod}\n* {nbAttachments} príloh\n* Komentáre: {nbComments}",
"{nbCards} cards" : "{nbCards} kariet",
"No upcoming cards" : "Žiadne nadchádzajúce karty",
"upcoming cards" : "nadchádzajúce karty",
"Due on {date}" : "Platné do {date}",
"Link to a board" : "Odkaz na nástenku",
"Link to a card" : "Prepojiť s kartou",
"Create a card" : "Vytvoriť kartu",
@@ -290,7 +305,11 @@
"Share {file} with a Deck card" : "Zdieľať {file} s kartou Deck",
"Share" : "Zdieľať",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Karty sú nástroj zacielený na osobné alebo projektové plánovanie tímov v štýle Kanban integrovaný do Nextcloud.\n\n\n- 📥 Zadávajte a usporadúvajte svoje úlohy do kariet\n- 📄 Zapisujte si dodatočné poznámky\n- 🔖 Priraďujte štítky pre ešte lepšiu organizáciu\n- 👥 Zdieľajte so svojim tímom, priateľmi alebo rodinou\n- 🚀 Dostaňte svoj projekt pod kontrolu",
"Are you sure you want to transfer the board {title} for {user} ?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user} ?",
"Transfer the board for {user} successfully" : "Presun nástenky na {user} bolo úspešné",
"Failed to transfer the board for {user}" : "Chyba pri presune nástenky na {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Naozaj chcete chcete vymazať nástenku {title}? Toto zmaže všetky údaje o tejto nástenke.",
"This week" : "Tento týždeň"
"This week" : "Tento týždeň",
"Are you sure you want to transfer the board {title} for {user}?" : "Naozaj chcete preniesť nástenku {title} na užívateľa {user}?"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
}

View File

@@ -136,6 +136,7 @@ OC.L10N.register(
"Archived cards" : "Arkiverade kort",
"Add list" : "Lägg till lista...",
"List name" : "Namn på lista",
"Active filters" : "Aktiva filter",
"Apply filter" : "Tillämpa filter",
"Filter by tag" : "Filtrera efter tagg",
"Filter by assigned user" : "Filtrera efter tilldelad användare",
@@ -175,11 +176,17 @@ OC.L10N.register(
"Owner" : "Ägare",
"Delete" : "Ta bort",
"Failed to create share with {displayName}" : "Kunde inte skapa delning med {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Är du säker att du vill överföra tavlan {title} till {user}?",
"Transfer the board." : "Överför tavlan.",
"Transfer" : "Överför",
"The board has been transferred to {user}" : "Tavlan har överförts till {user}",
"Failed to transfer the board to {user}" : "Kunde inte överföra tavlan till {user}",
"Add a new list" : "Lägg till en ny lista",
"Archive all cards" : "Arkivera alla kort",
"Unarchive all cards" : "Ta ut alla kort ur arkivet",
"Delete list" : "Ta bort lista",
"Archive all cards in this list" : "Arkivera alla kort i denna lista",
"Unarchive all cards in this list" : "Ta ut alla kort i denna lista ur arkivet",
"Add a new card" : "Lägg till ett nytt kort",
"Card name" : "Kortets namn",
"List deleted" : "Listan har raderats",
@@ -237,7 +244,9 @@ OC.L10N.register(
"Write a description …" : "Ange en beskrivning ...",
"Choose attachment" : "Välj bilaga",
"(group)" : " (grupp)",
"Todo items" : "Todo saker",
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} olästa",
"Edit card title" : "Ändra korttitel",
"Assign to me" : "Tilldela till mig",
"Unassign myself" : "Ta bort från mig själv",
"Move card" : "Flytta kort",
@@ -251,7 +260,9 @@ OC.L10N.register(
"All boards" : "Alla tavlor",
"Archived boards" : "Arkiverade tavlor",
"Shared with you" : "Delad med dig",
"Deck settings" : "Deck-inställningar",
"Use bigger card view" : "Visa större kort",
"Show card ID badge" : "Visa kortets ID-märke",
"Show boards in calendar/tasks" : "Visa tavlor i kalender / uppgifter",
"Limit deck usage of groups" : "Begränsa användningen av grupper",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Begränsning av Deck blockerar användare som inte ingår i dessa grupper från att skapa egna tavlor. Användare kan dock fortfarande integrera med tavlor som har delats med dem.",
@@ -271,13 +282,19 @@ OC.L10N.register(
"Only assigned cards" : "Bara tilldelade kort",
"No reminder" : "Ingen påminnelse",
"An error occurred" : "Ett fel uppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Är du säker på att du vill radera brädet {title}? Detta kommer radera all data som tillhör brädet inklusive arkiverade kort.",
"Delete the board?" : "Ta bort tavlan?",
"Loading filtered view" : "Laddar filtrerad vy",
"No due" : "Inget slut",
"Search for {searchQuery} in all boards" : "Sök efter {searchQuery} i alla tavlor",
"No results found" : "Inga resultat funna",
"{stack} in {board}" : "{stack} i {board}",
"Click to expand description" : "Klicka för att utöka beskrivningen",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Skapades {created}\n* Ändrades senast {lastMod}\n* {nbAttachments} bilagor\n* {nbComments} kommentarer",
"{nbCards} cards" : "{nbCards} kort",
"No upcoming cards" : "Inga kommande kort",
"upcoming cards" : "kommande kort",
"Due on {date}" : "Går ut {date}",
"Link to a board" : "Länka till en tavla",
"Link to a card" : "Länka till ett kort",
"Create a card" : "Skapa ett kort",
@@ -290,7 +307,11 @@ OC.L10N.register(
"Share {file} with a Deck card" : "Dela {file} med ett Deck-kort",
"Share" : "Dela",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!",
"Are you sure you want to transfer the board {title} for {user} ?" : "Är du säker på att du vill överföra brädet {title} för {user}?",
"Transfer the board for {user} successfully" : "Överförde brädet för {user}",
"Failed to transfer the board for {user}" : "Misslyckades med att överföra brädet för {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.",
"This week" : "Denna vecka"
"This week" : "Denna vecka",
"Are you sure you want to transfer the board {title} for {user}?" : "Är du säker på att du vill överföra brädet {title} för {user}?"
},
"nplurals=2; plural=(n != 1);");

View File

@@ -134,6 +134,7 @@
"Archived cards" : "Arkiverade kort",
"Add list" : "Lägg till lista...",
"List name" : "Namn på lista",
"Active filters" : "Aktiva filter",
"Apply filter" : "Tillämpa filter",
"Filter by tag" : "Filtrera efter tagg",
"Filter by assigned user" : "Filtrera efter tilldelad användare",
@@ -173,11 +174,17 @@
"Owner" : "Ägare",
"Delete" : "Ta bort",
"Failed to create share with {displayName}" : "Kunde inte skapa delning med {displayName}",
"Are you sure you want to transfer the board {title} to {user}?" : "Är du säker att du vill överföra tavlan {title} till {user}?",
"Transfer the board." : "Överför tavlan.",
"Transfer" : "Överför",
"The board has been transferred to {user}" : "Tavlan har överförts till {user}",
"Failed to transfer the board to {user}" : "Kunde inte överföra tavlan till {user}",
"Add a new list" : "Lägg till en ny lista",
"Archive all cards" : "Arkivera alla kort",
"Unarchive all cards" : "Ta ut alla kort ur arkivet",
"Delete list" : "Ta bort lista",
"Archive all cards in this list" : "Arkivera alla kort i denna lista",
"Unarchive all cards in this list" : "Ta ut alla kort i denna lista ur arkivet",
"Add a new card" : "Lägg till ett nytt kort",
"Card name" : "Kortets namn",
"List deleted" : "Listan har raderats",
@@ -235,7 +242,9 @@
"Write a description …" : "Ange en beskrivning ...",
"Choose attachment" : "Välj bilaga",
"(group)" : " (grupp)",
"Todo items" : "Todo saker",
"{count} comments, {unread} unread" : "{count} kommentarer, {unread} olästa",
"Edit card title" : "Ändra korttitel",
"Assign to me" : "Tilldela till mig",
"Unassign myself" : "Ta bort från mig själv",
"Move card" : "Flytta kort",
@@ -249,7 +258,9 @@
"All boards" : "Alla tavlor",
"Archived boards" : "Arkiverade tavlor",
"Shared with you" : "Delad med dig",
"Deck settings" : "Deck-inställningar",
"Use bigger card view" : "Visa större kort",
"Show card ID badge" : "Visa kortets ID-märke",
"Show boards in calendar/tasks" : "Visa tavlor i kalender / uppgifter",
"Limit deck usage of groups" : "Begränsa användningen av grupper",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Begränsning av Deck blockerar användare som inte ingår i dessa grupper från att skapa egna tavlor. Användare kan dock fortfarande integrera med tavlor som har delats med dem.",
@@ -269,13 +280,19 @@
"Only assigned cards" : "Bara tilldelade kort",
"No reminder" : "Ingen påminnelse",
"An error occurred" : "Ett fel uppstod",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Är du säker på att du vill radera brädet {title}? Detta kommer radera all data som tillhör brädet inklusive arkiverade kort.",
"Delete the board?" : "Ta bort tavlan?",
"Loading filtered view" : "Laddar filtrerad vy",
"No due" : "Inget slut",
"Search for {searchQuery} in all boards" : "Sök efter {searchQuery} i alla tavlor",
"No results found" : "Inga resultat funna",
"{stack} in {board}" : "{stack} i {board}",
"Click to expand description" : "Klicka för att utöka beskrivningen",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Skapades {created}\n* Ändrades senast {lastMod}\n* {nbAttachments} bilagor\n* {nbComments} kommentarer",
"{nbCards} cards" : "{nbCards} kort",
"No upcoming cards" : "Inga kommande kort",
"upcoming cards" : "kommande kort",
"Due on {date}" : "Går ut {date}",
"Link to a board" : "Länka till en tavla",
"Link to a card" : "Länka till ett kort",
"Create a card" : "Skapa ett kort",
@@ -288,7 +305,11 @@
"Share {file} with a Deck card" : "Dela {file} med ett Deck-kort",
"Share" : "Dela",
"Deck is a kanban style organization tool aimed at personal planning and project organization for teams integrated with Nextcloud.\n\n\n- 📥 Add your tasks to cards and put them in order\n- 📄 Write down additional notes in markdown\n- 🔖 Assign labels for even better organization\n- 👥 Share with your team, friends or family\n- 📎 Attach files and embed them in your markdown description\n- 💬 Discuss with your team using comments\n- ⚡ Keep track of changes in the activity stream\n- 🚀 Get your project organized" : "Deck är en kanban-liknande projekt- och organiseringsapp för arbetsgrupper i Nextcloud.\n\n\n- 📥 Lägg till uppgifter på kort och ordna dem\n- 📄 Skriv anteckningar i markdown\n- 🔖 Tilldela etiketter för organisering\n- 👥 Dela med arbetsgruppen, vänner eller familj\n- 📎 Bifoga filer och bädda in dem i markdown-anteckningarna\n- 💬 Diskutera i arbetsgruppen genom kommentarer\n- ⚡ Håll koll på ändringar i aktivitetsflödet\n- 🚀 Börja organisera din arbetsgrupp nu!",
"Are you sure you want to transfer the board {title} for {user} ?" : "Är du säker på att du vill överföra brädet {title} för {user}?",
"Transfer the board for {user} successfully" : "Överförde brädet för {user}",
"Failed to transfer the board for {user}" : "Misslyckades med att överföra brädet för {user}",
"Are you sure you want to delete the board {title}? This will delete all the data of this board." : "Är du säker på att du vill radera tavla {title}? Detta kommer att radera all information från denna tavla.",
"This week" : "Denna vecka"
"This week" : "Denna vecka",
"Are you sure you want to transfer the board {title} for {user}?" : "Är du säker på att du vill överföra brädet {title} för {user}?"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
}

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "Pano {user} kullanıcısına aktarılamadı",
"Add a new list" : "Yeni liste ekle",
"Archive all cards" : "Tüm kartları arşivle",
"Unarchive all cards" : "Tüm kartları arşivden çıkar",
"Delete list" : "Listeyi sil",
"Archive all cards in this list" : "Bu listedeki tüm kartları arşivle",
"Unarchive all cards in this list" : "Bu listedeki tüm kartları arşivden çıkar",
"Add a new card" : "Yeni kart ekle",
"Card name" : "Kart adı",
"List deleted" : "Liste silindi",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "Sizinle paylaşıldı",
"Deck settings" : "Tahta ayarları",
"Use bigger card view" : "Daha büyük kart görünümü kullanılsın",
"Show card ID badge" : "Kart kodu etiketi görüntülensin",
"Show boards in calendar/tasks" : "Takvimler ve görevlerde panolar görüntülensin",
"Limit deck usage of groups" : "Tahtayı şu gruplar kullanabilsin",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Tahta kullanımı gruplar ile sınırlandığında belirtilen grupların üyesi olmayan kişiler kendi tahtalarını oluşturamaz. Bu kullanıcılar ancak kendileri ile paylaşılan tahtalar üzerinde çalışabilir.",
@@ -286,6 +289,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} için sonuçlar",
"No results found" : "Herhangi bir sonuç bulunamadı",
"{stack} in {board}" : "{stack} {board} panosunda",
"Click to expand description" : "Açıklamayı genişletmek için tıklayın",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Oluşturulma: {created}\n* Son değiştirilme: {lastMod}\n* {nbAttachments} ek dosya\n* {nbComments} yorum",
"{nbCards} cards" : "{nbCards} kart",
"No upcoming cards" : "Yaklaşan bir kart yok",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "Pano {user} kullanıcısına aktarılamadı",
"Add a new list" : "Yeni liste ekle",
"Archive all cards" : "Tüm kartları arşivle",
"Unarchive all cards" : "Tüm kartları arşivden çıkar",
"Delete list" : "Listeyi sil",
"Archive all cards in this list" : "Bu listedeki tüm kartları arşivle",
"Unarchive all cards in this list" : "Bu listedeki tüm kartları arşivden çıkar",
"Add a new card" : "Yeni kart ekle",
"Card name" : "Kart adı",
"List deleted" : "Liste silindi",
@@ -258,6 +260,7 @@
"Shared with you" : "Sizinle paylaşıldı",
"Deck settings" : "Tahta ayarları",
"Use bigger card view" : "Daha büyük kart görünümü kullanılsın",
"Show card ID badge" : "Kart kodu etiketi görüntülensin",
"Show boards in calendar/tasks" : "Takvimler ve görevlerde panolar görüntülensin",
"Limit deck usage of groups" : "Tahtayı şu gruplar kullanabilsin",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "Tahta kullanımı gruplar ile sınırlandığında belirtilen grupların üyesi olmayan kişiler kendi tahtalarını oluşturamaz. Bu kullanıcılar ancak kendileri ile paylaşılan tahtalar üzerinde çalışabilir.",
@@ -284,6 +287,7 @@
"Search for {searchQuery} in all boards" : "Tüm panolarda {searchQuery} için sonuçlar",
"No results found" : "Herhangi bir sonuç bulunamadı",
"{stack} in {board}" : "{stack} {board} panosunda",
"Click to expand description" : "Açıklamayı genişletmek için tıklayın",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* Oluşturulma: {created}\n* Son değiştirilme: {lastMod}\n* {nbAttachments} ek dosya\n* {nbComments} yorum",
"{nbCards} cards" : "{nbCards} kart",
"No upcoming cards" : "Yaklaşan bir kart yok",

View File

@@ -11,11 +11,32 @@ OC.L10N.register(
"{user} has shared the board {board} with {acl}" : "{user} поділився дошкою {board} з {acl}",
"You have removed {acl} from the board {board}" : "Ви вилучили {acl} з дошки {board}",
"{user} has removed {acl} from the board {board}" : "{user} вилучив {acl} з дошки {board}",
"You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} у {board}",
"You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} на {board}",
"{user} has renamed the board {before} to {board}" : "{user} змінив назву дошки {before} на {board}",
"You have archived the board {board}" : "Ви заархівували дошку {board}",
"{user} has archived the board {before}" : "{user} заархівував дошку {before}",
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}",
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив назву списку {before} на {stack} на дошці {board}",
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}",
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}",
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
"{user} has renamed the card {before} to {card}" : "{user} змінив назву картки {before} на {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
"Deck" : "Колода",
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
"Load more" : "Більше",
"Personal" : "Особисте",
"%s on %s" : "%s на %s",
"Finished" : "Завершено",
"To review" : "На перегляд",
"Action needed" : "Потребує дій",
@@ -32,7 +53,7 @@ OC.L10N.register(
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Розмір вивантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі",
"The file was only partially uploaded" : "Файл завантажено лише частково",
"No file was uploaded" : "Не вивантажено жодного файлу",
"Missing a temporary folder" : "Відсутня тека для тимчасових файлів",
"Missing a temporary folder" : "Відсутній каталог тимчасових файлів",
"Could not write file to disk" : "Неможливо записати файл на диск",
"A PHP extension stopped the file upload" : "Розширення PHP призупинило завантаження файлу",
"No file uploaded or file size exceeds maximum of %s" : "Немає завантажених файлів або розмір файлу перевищує максимум %s",
@@ -77,7 +98,7 @@ OC.L10N.register(
"Details" : "Деталі",
"Loading board" : "Завантаження дошки",
"Board not found" : "Дошку не знайдено",
"Sharing" : "Поділитись",
"Sharing" : "Поділитися",
"Tags" : "Теги",
"Deleted items" : "Вилучені елементи",
"Timeline" : "Дії",
@@ -104,7 +125,7 @@ OC.L10N.register(
"Upload new files" : "Додати файл",
"Share from Files" : "Відкрити Файли",
"Add this attachment" : "Долучити вкладення",
"Download" : "Завантажити",
"Download" : "Звантажити",
"Delete Attachment" : "Забрати вкладення",
"Restore Attachment" : "Відновити вкладення",
"File to share" : "Виберіть файл для надання доступу",
@@ -149,6 +170,7 @@ OC.L10N.register(
"All boards" : "Усі дошки",
"Archived boards" : "Архівні дошки",
"Shared with you" : "Вам надано доступ",
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",
"Limit deck usage of groups" : "Обмежити доступ до колоди для груп",
"Board details" : "Деталі дошки",
"Edit board" : "Редагувати дошку",
@@ -158,14 +180,17 @@ OC.L10N.register(
"No notifications" : "Немає сповіщень",
"Delete board" : "Вилучити дошку",
"Board {0} deleted" : "Дошку {0} вилучено",
"No reminder" : "Відсутні нагадування",
"An error occurred" : "Виникла помилка",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ви впевнені, що хочете видалити дошку {title}? Це призведе до видалення всіх даних цієї дошки, включаючи архівні картки.",
"Delete the board?" : "Вилучити дошку?",
"Link to a board" : "Прив'язати до дошки",
"Link to a card" : "Прив'язати до картки",
"Message from {author} in {conversationName}" : "Повідомлення від {author} у {conversationName}",
"Something went wrong" : "От халепа!",
"Maximum file size of {size} exceeded" : "Досягнуто максимальний розмір файлу {size}",
"Share" : "Поділитися",
"Error creating the share" : "Помилка створення спільного доступу",
"Share" : "Спільний доступ",
"This week" : "Цього тижня"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");

View File

@@ -9,11 +9,32 @@
"{user} has shared the board {board} with {acl}" : "{user} поділився дошкою {board} з {acl}",
"You have removed {acl} from the board {board}" : "Ви вилучили {acl} з дошки {board}",
"{user} has removed {acl} from the board {board}" : "{user} вилучив {acl} з дошки {board}",
"You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} у {board}",
"You have renamed the board {before} to {board}" : "Ви перейменували дошку з {before} на {board}",
"{user} has renamed the board {before} to {board}" : "{user} змінив назву дошки {before} на {board}",
"You have archived the board {board}" : "Ви заархівували дошку {board}",
"{user} has archived the board {before}" : "{user} заархівував дошку {before}",
"You have unarchived the board {board}" : "Ви розархівували дошку {board}",
"{user} has unarchived the board {before}" : "{user} розархівував дошку {перед}",
"You have created a new list {stack} on board {board}" : "Ви створили новий список {stack} на борту {board}",
"{user} has created a new list {stack} on board {board}" : "{user} створив новий список {stack} на дошці {board}",
"You have renamed list {before} to {stack} on board {board}" : "Ви перейменували список {before} на {stack} на дошці {board}",
"{user} has renamed list {before} to {stack} on board {board}" : "{user} змінив назву списку {before} на {stack} на дошці {board}",
"You have deleted list {stack} on board {board}" : "Ви видалили список {stack} на дошці {board}",
"{user} has deleted list {stack} on board {board}" : "{user} видалив список {stack} на дошці {board}",
"You have created card {card} in list {stack} on board {board}" : "Ви створили картку {card} у списку {stack} на дошці {board}",
"{user} has created card {card} in list {stack} on board {board}" : "{user} створив картку {card} у списку {stack} на дошці {board}",
"You have deleted card {card} in list {stack} on board {board}" : "Ви видалили картку {card} у списку {stack} на дошці {board}",
"{user} has deleted card {card} in list {stack} on board {board}" : "{user} видалив картку {card} у списку {stack} на дошці {board}",
"You have renamed the card {before} to {card}" : "Ви перейменували картку {before} на {card}",
"{user} has renamed the card {before} to {card}" : "{user} змінив назву картки {before} на {card}",
"You have added a description to card {card} in list {stack} on board {board}" : "Ви додали опис картки {card} у списку {stack} на дошці {board}",
"{user} has added a description to card {card} in list {stack} on board {board}" : "{user} додав опис до картки {card} у списку {stack} на дошці {board}",
"You have updated the description of card {card} in list {stack} on board {board}" : "Ви оновили опис картки {card} у списку {stack} на дошці {board}",
"Deck" : "Колода",
"Changes in the <strong>Deck app</strong>" : "Зміни у застосунку <strong>Колода</strong>",
"Load more" : "Більше",
"Personal" : "Особисте",
"%s on %s" : "%s на %s",
"Finished" : "Завершено",
"To review" : "На перегляд",
"Action needed" : "Потребує дій",
@@ -30,7 +51,7 @@
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "Розмір вивантаженого файлу перевищує директиву MAX_FILE_SIZE вказану в HTML формі",
"The file was only partially uploaded" : "Файл завантажено лише частково",
"No file was uploaded" : "Не вивантажено жодного файлу",
"Missing a temporary folder" : "Відсутня тека для тимчасових файлів",
"Missing a temporary folder" : "Відсутній каталог тимчасових файлів",
"Could not write file to disk" : "Неможливо записати файл на диск",
"A PHP extension stopped the file upload" : "Розширення PHP призупинило завантаження файлу",
"No file uploaded or file size exceeds maximum of %s" : "Немає завантажених файлів або розмір файлу перевищує максимум %s",
@@ -75,7 +96,7 @@
"Details" : "Деталі",
"Loading board" : "Завантаження дошки",
"Board not found" : "Дошку не знайдено",
"Sharing" : "Поділитись",
"Sharing" : "Поділитися",
"Tags" : "Теги",
"Deleted items" : "Вилучені елементи",
"Timeline" : "Дії",
@@ -102,7 +123,7 @@
"Upload new files" : "Додати файл",
"Share from Files" : "Відкрити Файли",
"Add this attachment" : "Долучити вкладення",
"Download" : "Завантажити",
"Download" : "Звантажити",
"Delete Attachment" : "Забрати вкладення",
"Restore Attachment" : "Відновити вкладення",
"File to share" : "Виберіть файл для надання доступу",
@@ -147,6 +168,7 @@
"All boards" : "Усі дошки",
"Archived boards" : "Архівні дошки",
"Shared with you" : "Вам надано доступ",
"Show boards in calendar/tasks" : "Показувати дошки в календарі та завданнях",
"Limit deck usage of groups" : "Обмежити доступ до колоди для груп",
"Board details" : "Деталі дошки",
"Edit board" : "Редагувати дошку",
@@ -156,14 +178,17 @@
"No notifications" : "Немає сповіщень",
"Delete board" : "Вилучити дошку",
"Board {0} deleted" : "Дошку {0} вилучено",
"No reminder" : "Відсутні нагадування",
"An error occurred" : "Виникла помилка",
"Are you sure you want to delete the board {title}? This will delete all the data of this board including archived cards." : "Ви впевнені, що хочете видалити дошку {title}? Це призведе до видалення всіх даних цієї дошки, включаючи архівні картки.",
"Delete the board?" : "Вилучити дошку?",
"Link to a board" : "Прив'язати до дошки",
"Link to a card" : "Прив'язати до картки",
"Message from {author} in {conversationName}" : "Повідомлення від {author} у {conversationName}",
"Something went wrong" : "От халепа!",
"Maximum file size of {size} exceeded" : "Досягнуто максимальний розмір файлу {size}",
"Share" : "Поділитися",
"Error creating the share" : "Помилка створення спільного доступу",
"Share" : "Спільний доступ",
"This week" : "Цього тижня"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
}

View File

@@ -134,6 +134,7 @@ OC.L10N.register(
"Archived cards" : "已归档卡片",
"Add list" : "添加列表",
"List name" : "列表名称",
"Active filters" : "已开启的过滤器",
"Apply filter" : "应用筛选",
"Filter by tag" : "按标签筛选",
"Filter by assigned user" : "按指派的用户筛选",
@@ -235,7 +236,9 @@ OC.L10N.register(
"Write a description …" : "写一段描述",
"Choose attachment" : "选择附件",
"(group)" : "(组)",
"Todo items" : "待办事项",
"{count} comments, {unread} unread" : "{count} 条评论,{unread} 未读",
"Edit card title" : "编辑卡片标题",
"Assign to me" : "指派给我",
"Unassign myself" : "不再指派给我",
"Move card" : "移动卡片",

View File

@@ -132,6 +132,7 @@
"Archived cards" : "已归档卡片",
"Add list" : "添加列表",
"List name" : "列表名称",
"Active filters" : "已开启的过滤器",
"Apply filter" : "应用筛选",
"Filter by tag" : "按标签筛选",
"Filter by assigned user" : "按指派的用户筛选",
@@ -233,7 +234,9 @@
"Write a description …" : "写一段描述",
"Choose attachment" : "选择附件",
"(group)" : "(组)",
"Todo items" : "待办事项",
"{count} comments, {unread} unread" : "{count} 条评论,{unread} 未读",
"Edit card title" : "编辑卡片标题",
"Assign to me" : "指派给我",
"Unassign myself" : "不再指派给我",
"Move card" : "移动卡片",

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "未能將面板轉移給 {user}",
"Add a new list" : "添加一張新清單",
"Archive all cards" : "封存所有卡片",
"Unarchive all cards" : "解除封存所有卡片",
"Delete list" : "刪除清單",
"Archive all cards in this list" : "封存此清單內的所有卡片",
"Unarchive all cards in this list" : "解除封存所有此列表中的卡片",
"Add a new card" : "添加一張新卡片",
"Card name" : "卡片名稱",
"List deleted" : "清單已被刪除",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "收到的分享",
"Deck settings" : "看板設定",
"Use bigger card view" : "使用較大的卡片視圖",
"Show card ID badge" : "顯示卡片 ID 徽章",
"Show boards in calendar/tasks" : "在日曆/任務中顯示面板",
"Limit deck usage of groups" : "限制群組使用 Deck",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "限制 Deck 將阻止不屬於這些群組的用戶創建自己的面板。用戶仍然可以在與他們的面板上工作。",
@@ -286,6 +289,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "在所有面板中搜索 {searchQuery}",
"No results found" : "沒有結果",
"{stack} in {board}" : "{board} 中的 {stack}",
"Click to expand description" : "點擊展開描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 創建於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言",
"{nbCards} cards" : "{nbCards} 張卡片",
"No upcoming cards" : "沒有快將到期的卡片",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "未能將面板轉移給 {user}",
"Add a new list" : "添加一張新清單",
"Archive all cards" : "封存所有卡片",
"Unarchive all cards" : "解除封存所有卡片",
"Delete list" : "刪除清單",
"Archive all cards in this list" : "封存此清單內的所有卡片",
"Unarchive all cards in this list" : "解除封存所有此列表中的卡片",
"Add a new card" : "添加一張新卡片",
"Card name" : "卡片名稱",
"List deleted" : "清單已被刪除",
@@ -258,6 +260,7 @@
"Shared with you" : "收到的分享",
"Deck settings" : "看板設定",
"Use bigger card view" : "使用較大的卡片視圖",
"Show card ID badge" : "顯示卡片 ID 徽章",
"Show boards in calendar/tasks" : "在日曆/任務中顯示面板",
"Limit deck usage of groups" : "限制群組使用 Deck",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "限制 Deck 將阻止不屬於這些群組的用戶創建自己的面板。用戶仍然可以在與他們的面板上工作。",
@@ -284,6 +287,7 @@
"Search for {searchQuery} in all boards" : "在所有面板中搜索 {searchQuery}",
"No results found" : "沒有結果",
"{stack} in {board}" : "{board} 中的 {stack}",
"Click to expand description" : "點擊展開描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 創建於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言",
"{nbCards} cards" : "{nbCards} 張卡片",
"No upcoming cards" : "沒有快將到期的卡片",

View File

@@ -183,8 +183,10 @@ OC.L10N.register(
"Failed to transfer the board to {user}" : "轉移看板給 {user} 失敗",
"Add a new list" : "新增列表",
"Archive all cards" : "封存所有卡片",
"Unarchive all cards" : "解除封存所有卡片",
"Delete list" : "刪除列表",
"Archive all cards in this list" : "封存此列表中的所有卡片",
"Unarchive all cards in this list" : "解除封存所有此列表中的卡片",
"Add a new card" : "新增卡片",
"Card name" : "卡片名稱",
"List deleted" : "列表已刪除",
@@ -260,6 +262,7 @@ OC.L10N.register(
"Shared with you" : "與您分享",
"Deck settings" : "Deck 設定",
"Use bigger card view" : "使用較大的卡片檢視",
"Show card ID badge" : "顯示卡片 ID 徽章",
"Show boards in calendar/tasks" : "在日曆/工作項目中顯示佈告欄",
"Limit deck usage of groups" : "限制群組的 Deck 使用",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "限制 Deck 將會阻止不屬於這些群組的使用者建立自己的佈告欄。使用者仍然可以在與他們分享的佈告欄上工作。",
@@ -286,6 +289,7 @@ OC.L10N.register(
"Search for {searchQuery} in all boards" : "在所有佈告欄中搜尋 {searchQuery}",
"No results found" : "找不到結果",
"{stack} in {board}" : "{stack} 於 {board}",
"Click to expand description" : "點擊展開描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 建立於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言",
"{nbCards} cards" : "{nbCards} 張卡片",
"No upcoming cards" : "無接下來的卡片",

View File

@@ -181,8 +181,10 @@
"Failed to transfer the board to {user}" : "轉移看板給 {user} 失敗",
"Add a new list" : "新增列表",
"Archive all cards" : "封存所有卡片",
"Unarchive all cards" : "解除封存所有卡片",
"Delete list" : "刪除列表",
"Archive all cards in this list" : "封存此列表中的所有卡片",
"Unarchive all cards in this list" : "解除封存所有此列表中的卡片",
"Add a new card" : "新增卡片",
"Card name" : "卡片名稱",
"List deleted" : "列表已刪除",
@@ -258,6 +260,7 @@
"Shared with you" : "與您分享",
"Deck settings" : "Deck 設定",
"Use bigger card view" : "使用較大的卡片檢視",
"Show card ID badge" : "顯示卡片 ID 徽章",
"Show boards in calendar/tasks" : "在日曆/工作項目中顯示佈告欄",
"Limit deck usage of groups" : "限制群組的 Deck 使用",
"Limiting Deck will block users not part of those groups from creating their own boards. Users will still be able to work on boards that have been shared with them." : "限制 Deck 將會阻止不屬於這些群組的使用者建立自己的佈告欄。使用者仍然可以在與他們分享的佈告欄上工作。",
@@ -284,6 +287,7 @@
"Search for {searchQuery} in all boards" : "在所有佈告欄中搜尋 {searchQuery}",
"No results found" : "找不到結果",
"{stack} in {board}" : "{stack} 於 {board}",
"Click to expand description" : "點擊展開描述",
"* Created on {created}\n* Last modified on {lastMod}\n* {nbAttachments} attachments\n* {nbComments} comments" : "* 建立於 {created}\n* 最後修改於 {lastMod}\n* {nbAttachments} 個附件\n* {nbComments} 則留言",
"{nbCards} cards" : "{nbCards} 張卡片",
"No upcoming cards" : "無接下來的卡片",

View File

@@ -367,7 +367,15 @@ class ActivityManager {
case self::SUBJECT_CARD_USER_ASSIGN:
case self::SUBJECT_CARD_USER_UNASSIGN:
$subjectParams = $this->findDetailsForCard($entity->getId(), $subject);
break;
if (isset($additionalParams['after']) && $additionalParams['after'] instanceof \DateTimeInterface) {
$additionalParams['after'] = $additionalParams['after']->format('c');
}
if (isset($additionalParams['before']) && $additionalParams['before'] instanceof \DateTimeInterface) {
$additionalParams['before'] = $additionalParams['before']->format('c');
}
break;
case self::SUBJECT_ATTACHMENT_CREATE:
case self::SUBJECT_ATTACHMENT_UPDATE:
case self::SUBJECT_ATTACHMENT_DELETE:

View File

@@ -121,6 +121,7 @@ class DeckProvider implements IProvider {
'link' => $this->deckUrl('/board/' . $event->getObjectId()),
];
$params['board'] = $board;
$event->setLink($this->deckUrl('/board/' . $event->getObjectId()));
}
if (isset($subjectParams['card']) && $event->getObjectType() === ActivityManager::DECK_OBJECT_CARD) {
@@ -134,8 +135,8 @@ class DeckProvider implements IProvider {
];
if (array_key_exists('board', $subjectParams)) {
$archivedParam = $subjectParams['card']['archived'] ? 'archived/' : '';
$card['link'] = $this->cardService->getRedirectUrlForCard($event->getObjectId());
$event->setLink($card['link']);
}
$params['card'] = $card;
}
@@ -311,12 +312,19 @@ class DeckProvider implements IProvider {
$userLanguage = $this->config->getUserValue($event->getAuthor(), 'core', 'lang', $this->l10nFactory->findLanguage());
$userLocale = $this->config->getUserValue($event->getAuthor(), 'core', 'locale', $this->l10nFactory->findLocale());
$l10n = $this->l10nFactory->get('deck', $userLanguage, $userLocale);
$date = new \DateTime($subjectParams['after']);
$date->setTimezone(new \DateTimeZone(\date_default_timezone_get()));
if (is_array($subjectParams['after'])) {
// Unluckily there was a time when we stored jsonSerialized date objects in the database
// Broken in 1.8.0 and fixed again in 1.8.1
$date = new \DateTime($subjectParams['after']['date']);
$date->setTimezone(new \DateTimeZone(\date_default_timezone_get()));
} else {
$date = new \DateTime($subjectParams['after']);
$date->setTimezone(new \DateTimeZone(\date_default_timezone_get()));
}
$params['after'] = [
'type' => 'highlight',
'id' => 'dt:' . $subjectParams['after'],
'name' => $l10n->l('datetime', $date)
'name' => $l10n->l('datetime', $date),
];
}
return $params;

View File

@@ -26,15 +26,13 @@ namespace OCA\Deck\AppInfo;
use Closure;
use Exception;
use OC\EventDispatcher\SymfonyAdapter;
use OCA\Circles\Events\CircleDestroyedEvent;
use OCA\Deck\Activity\CommentEventHandler;
use OCA\Deck\Capabilities;
use OCA\Deck\Collaboration\Resources\ResourceProvider;
use OCA\Deck\Collaboration\Resources\ResourceProviderCard;
use OCA\Deck\Dashboard\DeckWidget;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\Event\AclCreatedEvent;
use OCA\Deck\Event\AclDeletedEvent;
@@ -43,7 +41,9 @@ use OCA\Deck\Event\CardCreatedEvent;
use OCA\Deck\Event\CardDeletedEvent;
use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\Listeners\BeforeTemplateRenderedListener;
use OCA\Deck\Listeners\ParticipantCleanupListener;
use OCA\Deck\Listeners\FullTextSearchEventListener;
use OCA\Deck\Listeners\ResourceListener;
use OCA\Deck\Middleware\DefaultBoardMiddleware;
use OCA\Deck\Middleware\ExceptionMiddleware;
use OCA\Deck\Notification\Notifier;
@@ -62,15 +62,12 @@ use OCP\Collaboration\Reference\RenderReferenceEvent;
use OCP\Collaboration\Resources\IProviderManager;
use OCP\Comments\CommentsEntityEvent;
use OCP\Comments\ICommentsManager;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\Group\Events\GroupDeletedEvent;
use OCP\IConfig;
use OCP\IDBConnection;
use OCP\IGroupManager;
use OCP\IRequest;
use OCP\Server;
use OCP\IUserManager;
use OCP\Notification\IManager as NotificationManager;
use OCP\Share\IManager;
use OCP\User\Events\UserDeletedEvent;
@@ -95,7 +92,6 @@ class Application extends App implements IBootstrap {
}
public function boot(IBootContext $context): void {
$context->injectFn(Closure::fromCallable([$this, 'registerUserGroupHooks']));
$context->injectFn(Closure::fromCallable([$this, 'registerCommentsEntity']));
$context->injectFn(Closure::fromCallable([$this, 'registerCommentsEventHandler']));
$context->injectFn(Closure::fromCallable([$this, 'registerNotifications']));
@@ -143,59 +139,20 @@ class Application extends App implements IBootstrap {
$context->registerEventListener(AclCreatedEvent::class, FullTextSearchEventListener::class);
$context->registerEventListener(AclUpdatedEvent::class, FullTextSearchEventListener::class);
$context->registerEventListener(AclDeletedEvent::class, FullTextSearchEventListener::class);
// Handling cache invalidation for collections
$context->registerEventListener(AclCreatedEvent::class, ResourceListener::class);
$context->registerEventListener(AclDeletedEvent::class, ResourceListener::class);
$context->registerEventListener(UserDeletedEvent::class, ParticipantCleanupListener::class);
$context->registerEventListener(GroupDeletedEvent::class, ParticipantCleanupListener::class);
$context->registerEventListener(CircleDestroyedEvent::class, ParticipantCleanupListener::class);
}
public function registerNotifications(NotificationManager $notificationManager): void {
$notificationManager->registerNotifierService(Notifier::class);
}
private function registerUserGroupHooks(IUserManager $userManager, IGroupManager $groupManager): void {
$container = $this->getContainer();
/** @var IEventDispatcher $eventDispatcher */
$eventDispatcher = $container->get(IEventDispatcher::class);
// Delete user/group acl entries when they get deleted
$eventDispatcher->addListener(UserDeletedEvent::class, static function (Event $event) use ($container): void {
if (!($event instanceof UserDeletedEvent)) {
return;
}
$user = $event->getUser();
// delete existing acl entries for deleted user
/** @var AclMapper $aclMapper */
$aclMapper = $container->get(AclMapper::class);
$acls = $aclMapper->findByParticipant(Acl::PERMISSION_TYPE_USER, $user->getUID());
foreach ($acls as $acl) {
$aclMapper->delete($acl);
}
// delete existing user assignments
$assignmentMapper = $container->get(AssignmentMapper::class);
$assignments = $assignmentMapper->findByParticipant($user->getUID());
foreach ($assignments as $assignment) {
$assignmentMapper->delete($assignment);
}
/** @var BoardMapper $boardMapper */
$boardMapper = $container->get(BoardMapper::class);
$boards = $boardMapper->findAllByOwner($user->getUID());
foreach ($boards as $board) {
$boardMapper->delete($board);
}
});
$eventDispatcher->addListener(GroupDeletedEvent::class, static function (Event $event) use ($container): void {
if (!($event instanceof GroupDeletedEvent)) {
return;
}
$group = $event->getGroup();
/** @var AclMapper $aclMapper */
$aclMapper = $container->get(AclMapper::class);
$aclMapper->findByParticipant(Acl::PERMISSION_TYPE_GROUP, $group->getGID());
$acls = $aclMapper->findByParticipant(Acl::PERMISSION_TYPE_GROUP, $group->getGID());
foreach ($acls as $acl) {
$aclMapper->delete($acl);
}
});
}
public function registerCommentsEntity(IEventDispatcher $eventDispatcher): void {
$eventDispatcher->addListener(CommentsEntityEvent::EVENT_ENTITY, function (CommentsEntityEvent $event) {
$event->addEntityCollection(self::COMMENT_ENTITY_TYPE, function ($name) {

View File

@@ -28,6 +28,7 @@ use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\TimedJob;
use OCA\Deck\Db\AttachmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\CardMapper;
use OCA\Deck\InvalidAttachmentType;
use OCA\Deck\Service\AttachmentService;
use OCP\BackgroundJob\IJob;
@@ -36,14 +37,17 @@ class DeleteCron extends TimedJob {
/** @var BoardMapper */
private $boardMapper;
/** @var CardMapper */
private $cardMapper;
/** @var AttachmentService */
private $attachmentService;
/** @var AttachmentMapper */
private $attachmentMapper;
public function __construct(ITimeFactory $time, BoardMapper $boardMapper, AttachmentService $attachmentService, AttachmentMapper $attachmentMapper) {
public function __construct(ITimeFactory $time, BoardMapper $boardMapper, CardMapper $cardMapper, AttachmentService $attachmentService, AttachmentMapper $attachmentMapper) {
parent::__construct($time);
$this->boardMapper = $boardMapper;
$this->cardMapper = $cardMapper;
$this->attachmentService = $attachmentService;
$this->attachmentMapper = $attachmentMapper;
@@ -61,6 +65,12 @@ class DeleteCron extends TimedJob {
$this->boardMapper->delete($board);
}
$timeLimit = time() - (60 * 5); // 5 min buffer
$cards = $this->cardMapper->findToDelete($timeLimit, 500);
foreach ($cards as $card) {
$this->cardMapper->delete($card);
}
$attachments = $this->attachmentMapper->findToDelete();
foreach ($attachments as $attachment) {
try {

View File

@@ -110,4 +110,12 @@ class AclMapper extends DeckMapper implements IPermissionMapper {
->andWhere($qb->expr()->eq('board_id', $qb->createNamedParameter($boardId, IQueryBuilder::PARAM_INT)));
$qb->executeStatement();
}
public function findByType(int $type): array {
$qb = $this->db->getQueryBuilder();
$qb->select('*')
->from('deck_board_acl')
->where($qb->expr()->eq('type', $qb->createNamedParameter($type, IQueryBuilder::PARAM_INT)));
return $this->findEntities($qb);
}
}

View File

@@ -108,7 +108,7 @@ class Card extends RelationalEntity {
$this->addType('archived', 'boolean');
$this->addType('notified', 'boolean');
$this->addType('deletedAt', 'integer');
$this->addType('duedate', 'string');
$this->addType('duedate', 'datetime');
$this->addRelation('labels');
$this->addRelation('assignedUsers');
$this->addRelation('attachments');
@@ -126,20 +126,6 @@ class Card extends RelationalEntity {
$this->databaseType = $type;
}
public function getDueDateTime(): ?DateTime {
return $this->duedate ? new DateTime($this->duedate) : null;
}
public function getDuedate($isoFormat = false): ?string {
$dt = $this->getDueDateTime();
$format = 'c';
if (!$isoFormat && $this->databaseType === 'mysql') {
$format = 'Y-m-d H:i:s';
}
return $dt ? $dt->format($format) : null;
}
public function getCalendarObject(): VCalendar {
$calendar = new VCalendar();
$event = $calendar->createComponent('VTODO');
@@ -148,7 +134,7 @@ class Card extends RelationalEntity {
$creationDate = new DateTime();
$creationDate->setTimestamp($this->createdAt);
$event->DTSTAMP = $creationDate;
$event->DUE = new DateTime($this->getDuedate(true), new DateTimeZone('UTC'));
$event->DUE = new DateTime($this->getDuedate()->format('c'), new DateTimeZone('UTC'));
}
$event->add('RELATED-TO', 'deck-stack-' . $this->getStackId());

View File

@@ -177,6 +177,17 @@ class CardMapper extends QBMapper implements IPermissionMapper {
return $qb;
}
public function findToDelete($timeLimit, $limit = null) {
$qb = $this->db->getQueryBuilder();
$qb->select('id', 'title', 'owner', 'archived', 'deleted_at', 'last_modified')
->from('deck_cards')
->where($qb->expr()->gt('deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
->andWhere($qb->expr()->lt('deleted_at', $qb->createNamedParameter($timeLimit, IQueryBuilder::PARAM_INT)))
->orderBy('deleted_at')
->setMaxResults($limit);
return $this->findEntities($qb);
}
public function findDeleted($boardId, $limit = null, $offset = null) {
$qb = $this->queryCardsByBoard($boardId);
$qb->andWhere($qb->expr()->neq('c.deleted_at', $qb->createNamedParameter(0, IQueryBuilder::PARAM_INT)))

View File

@@ -72,6 +72,9 @@ class RelationalEntity extends Entity implements \JsonSerializable {
$propertyReflection = $reflection->getProperty($property);
if (!$propertyReflection->isPrivate() && !in_array($property, $this->_resolvedProperties, true)) {
$json[$property] = $this->getter($property);
if ($json[$property] instanceof \DateTimeInterface) {
$json[$property] = $json[$property]->format('c');
}
}
}
}

View File

@@ -0,0 +1,57 @@
<?php
namespace OCA\Deck\Listeners;
use OCA\Circles\Events\CircleDestroyedEvent;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
use OCA\Deck\Db\AssignmentMapper;
use OCA\Deck\Db\BoardMapper;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\Group\Events\GroupDeletedEvent;
use OCP\User\Events\UserDeletedEvent;
class ParticipantCleanupListener implements IEventListener {
private AclMapper $aclMapper;
private AssignmentMapper $assignmentMapper;
private BoardMapper $boardMapper;
public function __construct(AclMapper $aclMapper, AssignmentMapper $assignmentMapper, BoardMapper $boardMapper) {
$this->aclMapper = $aclMapper;
$this->assignmentMapper = $assignmentMapper;
$this->boardMapper = $boardMapper;
}
public function handle(Event $event): void {
if ($event instanceof UserDeletedEvent) {
$boards = $this->boardMapper->findAllByOwner($event->getUser()->getUID());
foreach ($boards as $board) {
$this->boardMapper->delete($board);
}
$this->cleanupByParticipant(Acl::PERMISSION_TYPE_USER, $event->getUser()->getUID());
}
if ($event instanceof GroupDeletedEvent) {
$this->cleanupByParticipant(Acl::PERMISSION_TYPE_GROUP, $event->getGroup()->getGID());
}
if ($event instanceof CircleDestroyedEvent) {
$circleId = $event->getCircle()->getSingleId();
$this->cleanupByParticipant(Acl::PERMISSION_TYPE_CIRCLE, $circleId);
}
}
private function cleanupByParticipant(int $type, string $participant): void {
$acls = $this->aclMapper->findByParticipant($type, $participant);
foreach ($acls as $acl) {
$this->aclMapper->delete($acl);
}
$assignments = $this->assignmentMapper->findByParticipant($participant, $type);
foreach ($assignments as $assignment) {
$this->assignmentMapper->delete($assignment);
}
}
}

View File

@@ -0,0 +1,42 @@
<?php
namespace OCA\Deck\Listeners;
use OCA\Deck\Collaboration\Resources\ResourceProvider;
use OCA\Deck\Collaboration\Resources\ResourceProviderCard;
use OCA\Deck\Event\AclCreatedEvent;
use OCA\Deck\Event\AclDeletedEvent;
use OCP\Collaboration\Resources\IManager;
use OCP\Collaboration\Resources\ResourceException;
use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
class ResourceListener implements IEventListener {
/** @var IManager */
private $resourceManager;
/** @var ResourceProviderCard */
private $resourceProviderCard;
public function __construct(IManager $resourceManager, ResourceProviderCard $resourceProviderCard) {
$this->resourceManager = $resourceManager;
$this->resourceProviderCard = $resourceProviderCard;
}
public function handle(Event $event): void {
if (!$event instanceof AclDeletedEvent && !$event instanceof AclCreatedEvent) {
return;
}
$boardId = $event->getAcl()->getBoardId();
$this->resourceManager->invalidateAccessCacheForProvider($this->resourceProviderCard);
try {
$resource = $this->resourceManager->getResourceForUser(ResourceProvider::RESOURCE_TYPE, $boardId, null);
$this->resourceManager->invalidateAccessCacheForResource($resource);
} catch (ResourceException $e) {
// If there is no resource we don't need to invalidate anything, but this should not happen anyways
}
}
}

View File

@@ -33,7 +33,6 @@ use OCP\AppFramework\OCS\OCSException;
use OCP\AppFramework\OCSController;
use OCP\ILogger;
use OCP\IRequest;
use OCP\Util;
use OCP\IConfig;
class ExceptionMiddleware extends Middleware {
@@ -85,9 +84,9 @@ class ExceptionMiddleware extends Middleware {
'message' => 'Permission denied'
], 403);
}
if ($exception instanceof StatusException) {
if ($this->config->getSystemValue('loglevel', Util::WARN) === Util::DEBUG) {
if ($this->config->getSystemValue('loglevel', ILogger::WARN) === ILogger::DEBUG) {
$this->logger->logException($exception);
}

View File

@@ -0,0 +1,36 @@
<?php
namespace OCA\Deck\Migration;
use OCA\Deck\Db\Acl;
use OCA\Deck\Db\AclMapper;
use OCA\Deck\Service\CirclesService;
use OCP\Migration\IOutput;
use OCP\Migration\IRepairStep;
class DeletedCircleCleanup implements IRepairStep {
private AclMapper $aclMapper;
private CirclesService $circleService;
public function __construct(AclMapper $aclMapper, CirclesService $circlesService) {
$this->aclMapper = $aclMapper;
$this->circleService = $circlesService;
}
public function getName() {
return 'Cleanup Deck ACL entries for circles which have been already deleted';
}
public function run(IOutput $output) {
if (!$this->circleService->isCirclesEnabled()) {
return;
}
foreach ($this->aclMapper->findByType(Acl::PERMISSION_TYPE_CIRCLE) as $acl) {
if ($this->circleService->getCircle($acl->getParticipant()) === null) {
$this->aclMapper->delete($acl);
$output->info('Removed circle with id ' . $acl->getParticipant());
}
}
}
}

View File

@@ -54,7 +54,7 @@ class CardDetails extends Card {
$today = new DateTime();
$today->setTime(0, 0);
$match_date = $this->card->getDueDateTime();
$match_date = $this->card->getDuedate();
if (!$match_date) {
return Card::DUEDATE_FUTURE;
}

View File

@@ -129,7 +129,7 @@ class NotificationHelper {
->setSubject('card-overdue', [
$card->getTitle(), $board->getTitle()
])
->setDateTime(new DateTime($card->getDuedate()));
->setDateTime($card->getDuedate());
$this->notificationManager->notify($notification);
}
}
@@ -242,7 +242,7 @@ class NotificationHelper {
}
return $this->boards[$boardId];
}
private function generateBoardShared(Board $board, string $userId): INotification {
$notification = $this->notificationManager->createNotification();
$notification

View File

@@ -22,7 +22,6 @@
namespace OCA\Deck\Reference;
use OC\Collaboration\Reference\Reference;
use OCA\Deck\AppInfo\Application;
use OCA\Deck\Db\Assignment;
use OCA\Deck\Db\Attachment;
@@ -33,6 +32,7 @@ use OCA\Deck\Service\CardService;
use OCA\Deck\Service\StackService;
use OCP\Collaboration\Reference\IReference;
use OCP\Collaboration\Reference\IReferenceProvider;
use OCP\Collaboration\Reference\Reference;
use OCP\IURLGenerator;
class CardReferenceProvider implements IReferenceProvider {
@@ -40,6 +40,7 @@ class CardReferenceProvider implements IReferenceProvider {
private IURLGenerator $urlGenerator;
private BoardService $boardService;
private StackService $stackService;
private ?string $userId;
public function __construct(CardService $cardService,
BoardService $boardService,
@@ -50,6 +51,7 @@ class CardReferenceProvider implements IReferenceProvider {
$this->urlGenerator = $urlGenerator;
$this->boardService = $boardService;
$this->stackService = $stackService;
$this->userId = $userId;
}
/**
@@ -81,7 +83,7 @@ class CardReferenceProvider implements IReferenceProvider {
$card = $this->sanitizeSerializedCard($card);
$board = $this->sanitizeSerializedBoard($board);
$stack = $this->sanitizeSerializedStack($stack);
/** @var IReference $reference */
$reference = new Reference($referenceText);
$reference->setRichObject(Application::APP_ID . '-card', [
'id' => $boardId . '/' . $cardId,

View File

@@ -35,6 +35,7 @@ use OCA\Deck\Event\CardUpdatedEvent;
use OCA\Deck\NoPermissionException;
use OCA\Deck\NotFoundException;
use OCA\Deck\Notification\NotificationHelper;
use OCA\Deck\Validators\AssignmentServiceValidator;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\Entity;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
@@ -76,6 +77,11 @@ class AssignmentService {
private $eventDispatcher;
/** @var string|null */
private $currentUser;
/**
* @var AssignmentServiceValidator
*/
private $assignmentServiceValidator;
public function __construct(
PermissionService $permissionService,
@@ -86,8 +92,10 @@ class AssignmentService {
ActivityManager $activityManager,
ChangeHelper $changeHelper,
IEventDispatcher $eventDispatcher,
AssignmentServiceValidator $assignmentServiceValidator,
$userId
) {
$this->assignmentServiceValidator = $assignmentServiceValidator;
$this->permissionService = $permissionService;
$this->cardMapper = $cardMapper;
$this->assignedUsersMapper = $assignedUsersMapper;
@@ -96,6 +104,8 @@ class AssignmentService {
$this->changeHelper = $changeHelper;
$this->activityManager = $activityManager;
$this->eventDispatcher = $eventDispatcher;
$this->assignmentServiceValidator->check(compact('userId'));
$this->currentUser = $userId;
}
@@ -109,13 +119,7 @@ class AssignmentService {
* @throws DoesNotExistException
*/
public function assignUser($cardId, $userId, int $type = Assignment::TYPE_USER) {
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
if ($userId === false || $userId === null) {
throw new BadRequestException('user id must be provided');
}
$this->assignmentServiceValidator->check(compact('cardId', 'userId'));
if ($type !== Assignment::TYPE_USER && $type !== Assignment::TYPE_GROUP) {
throw new BadRequestException('Invalid type provided for assignemnt');
@@ -168,16 +172,9 @@ class AssignmentService {
* @throws MultipleObjectsReturnedException
*/
public function unassignUser($cardId, $userId, $type = 0) {
$this->assignmentServiceValidator->check(compact('cardId', 'userId'));
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
if ($userId === false || $userId === null) {
throw new BadRequestException('user must be provided');
}
$assignments = $this->assignedUsersMapper->findAll($cardId);
foreach ($assignments as $assignment) {
if ($assignment->getParticipant() === $userId && $assignment->getType() === $type) {

View File

@@ -36,6 +36,7 @@ use OCA\Deck\NoPermissionException;
use OCA\Deck\NotFoundException;
use OCA\Deck\Cache\AttachmentCacheHelper;
use OCA\Deck\StatusException;
use OCA\Deck\Validators\AttachmentServiceValidator;
use OCP\AppFramework\Db\IMapperException;
use OCP\AppFramework\Http\Response;
use OCP\IL10N;
@@ -59,18 +60,25 @@ class AttachmentService {
private $activityManager;
/** @var ChangeHelper */
private $changeHelper;
/** @var IUserManager */
private IUserManager $userManager;
/** @var AttachmentServiceValidator */
private AttachmentServiceValidator $attachmentServiceValidator;
public function __construct(AttachmentMapper $attachmentMapper,
CardMapper $cardMapper,
IUserManager $userManager,
ChangeHelper $changeHelper,
PermissionService $permissionService,
Application $application,
AttachmentCacheHelper $attachmentCacheHelper,
$userId,
IL10N $l10n,
ActivityManager $activityManager) {
public function __construct(
AttachmentMapper $attachmentMapper,
CardMapper $cardMapper,
IUserManager $userManager,
ChangeHelper $changeHelper,
PermissionService $permissionService,
Application $application,
ICacheFactory $cacheFactory,
AttachmentCacheHelper $attachmentCacheHelper,
$userId,
IL10N $l10n,
ActivityManager $activityManager,
AttachmentServiceValidator $attachmentServiceValidator
) {
$this->attachmentMapper = $attachmentMapper;
$this->cardMapper = $cardMapper;
$this->permissionService = $permissionService;
@@ -81,6 +89,7 @@ class AttachmentService {
$this->activityManager = $activityManager;
$this->changeHelper = $changeHelper;
$this->userManager = $userManager;
$this->attachmentServiceValidator = $attachmentServiceValidator;
// Register shipped attachment services
// TODO: move this to a plugin based approach once we have different types of attachments
@@ -187,17 +196,7 @@ class AttachmentService {
* @throws BadRequestException
*/
public function create($cardId, $type, $data) {
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
if ($type === false || $type === null) {
throw new BadRequestException('type must be provided');
}
if ($data === false || $data === null) {
//throw new BadRequestException('data must be provided');
}
$this->attachmentServiceValidator->check(compact('cardId', 'type'));
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
@@ -283,6 +282,8 @@ class AttachmentService {
* @throws NoPermissionException
*/
public function update($cardId, $attachmentId, $data, $type = 'deck_file') {
$this->attachmentServiceValidator->check(compact('cardId', 'type', 'data'));
try {
$service = $this->getService($type);
} catch (InvalidAttachmentType $e) {
@@ -304,9 +305,6 @@ class AttachmentService {
}
}
if ($data === false || $data === null) {
//throw new BadRequestException('data must be provided');
}
try {
$attachment = $this->attachmentMapper->find($attachmentId);
} catch (\Exception $e) {

View File

@@ -42,6 +42,7 @@ use OCA\Deck\Event\AclUpdatedEvent;
use OCA\Deck\NoPermissionException;
use OCA\Deck\Notification\NotificationHelper;
use OCP\AppFramework\Db\DoesNotExistException;
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IConfig;
use OCP\IDBConnection;
@@ -53,8 +54,11 @@ use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCP\IUserManager;
use OCA\Deck\BadRequestException;
use OCA\Deck\Validators\BoardServiceValidator;
use OCP\IURLGenerator;
use OCP\Server;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
class BoardService {
private BoardMapper $boardMapper;
@@ -76,6 +80,7 @@ class BoardService {
private ?array $boardsCache = null;
private IURLGenerator $urlGenerator;
private IDBConnection $connection;
private BoardServiceValidator $boardServiceValidator;
public function __construct(
BoardMapper $boardMapper,
@@ -95,6 +100,7 @@ class BoardService {
ChangeHelper $changeHelper,
IURLGenerator $urlGenerator,
IDBConnection $connection,
BoardServiceValidator $boardServiceValidator,
?string $userId
) {
$this->boardMapper = $boardMapper;
@@ -115,6 +121,7 @@ class BoardService {
$this->urlGenerator = $urlGenerator;
$this->cardMapper = $cardMapper;
$this->connection = $connection;
$this->boardServiceValidator = $boardServiceValidator;
}
/**
@@ -179,6 +186,7 @@ class BoardService {
* @throws BadRequestException
*/
public function find($boardId) {
$this->boardServiceValidator->check(compact('boardId'));
if ($this->boardsCache && isset($this->boardsCache[$boardId])) {
return $this->boardsCache[$boardId];
}
@@ -233,9 +241,7 @@ class BoardService {
* @throws BadRequestException
*/
public function isArchived($mapper, $id) {
if (is_numeric($id) === false) {
throw new BadRequestException('id must be a number');
}
$this->boardServiceValidator->check(compact('id'));
try {
$boardId = $id;
@@ -262,13 +268,7 @@ class BoardService {
* @throws BadRequestException
*/
public function isDeleted($mapper, $id) {
if ($mapper === false || $mapper === null) {
throw new BadRequestException('mapper must be provided');
}
if (is_numeric($id) === false) {
throw new BadRequestException('id must be a number');
}
$this->boardServiceValidator->check(compact('mapper', 'id'));
try {
$boardId = $id;
@@ -294,17 +294,7 @@ class BoardService {
* @throws BadRequestException
*/
public function create($title, $userId, $color) {
if ($title === false || $title === null) {
throw new BadRequestException('title must be provided');
}
if ($userId === false || $userId === null) {
throw new BadRequestException('userId must be provided');
}
if ($color === false || $color === null) {
throw new BadRequestException('color must be provided');
}
$this->boardServiceValidator->check(compact('title', 'userId', 'color'));
if (!$this->permissionService->canCreate()) {
throw new NoPermissionException('Creating boards has been disabled for your account.');
@@ -355,9 +345,7 @@ class BoardService {
* @throws BadRequestException
*/
public function delete($id) {
if (is_numeric($id) === false) {
throw new BadRequestException('board id must be a number');
}
$this->boardServiceValidator->check(compact('id'));
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE);
$board = $this->find($id);
@@ -380,9 +368,7 @@ class BoardService {
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
*/
public function deleteUndo($id) {
if (is_numeric($id) === false) {
throw new BadRequestException('board id must be a number');
}
$this->boardServiceValidator->check(compact('id'));
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE);
$board = $this->find($id);
@@ -403,9 +389,7 @@ class BoardService {
* @throws BadRequestException
*/
public function deleteForce($id) {
if (is_numeric($id) === false) {
throw new BadRequestException('id must be a number');
}
$this->boardServiceValidator->check(compact('id'));
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE);
$board = $this->find($id);
@@ -426,21 +410,7 @@ class BoardService {
* @throws BadRequestException
*/
public function update($id, $title, $color, $archived) {
if (is_numeric($id) === false) {
throw new BadRequestException('board id must be a number');
}
if ($title === false || $title === null) {
throw new BadRequestException('title must be provided');
}
if ($color === false || $color === null) {
throw new BadRequestException('color must be provided');
}
if (is_bool($archived) === false) {
throw new BadRequestException('archived must be a boolean');
}
$this->boardServiceValidator->check(compact('id', 'title', 'color', 'archived'));
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_MANAGE);
$board = $this->find($id);
@@ -490,29 +460,7 @@ class BoardService {
* @throws \OCA\Deck\NoPermissionException
*/
public function addAcl($boardId, $type, $participant, $edit, $share, $manage) {
if (is_numeric($boardId) === false) {
throw new BadRequestException('board id must be a number');
}
if ($type === false || $type === null) {
throw new BadRequestException('type must be provided');
}
if ($participant === false || $participant === null) {
throw new BadRequestException('participant must be provided');
}
if ($edit === null) {
throw new BadRequestException('edit must be provided');
}
if ($share === null) {
throw new BadRequestException('share must be provided');
}
if ($manage === null) {
throw new BadRequestException('manage must be provided');
}
$this->boardServiceValidator->check(compact('boardId', 'type', 'participant', 'edit', 'share', 'manage'));
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_SHARE);
[$edit, $share, $manage] = $this->applyPermissions($boardId, $edit, $share, $manage);
@@ -558,21 +506,7 @@ class BoardService {
* @throws BadRequestException
*/
public function updateAcl($id, $edit, $share, $manage) {
if (is_numeric($id) === false) {
throw new BadRequestException('id must be a number');
}
if ($edit === null) {
throw new BadRequestException('edit must be provided');
}
if ($share === null) {
throw new BadRequestException('share must be provided');
}
if ($manage === null) {
throw new BadRequestException('manage must be provided');
}
$this->boardServiceValidator->check(compact('id', 'edit', 'share', 'manage'));
$this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE);
@@ -592,12 +526,14 @@ class BoardService {
}
/**
* @throws DbException
* @throws DoesNotExistException
* @throws \OCA\Deck\NoPermissionException
* @throws \OCP\AppFramework\Db\MultipleObjectsReturnedException
* @throws BadRequestException
* @throws NoPermissionException
* @throws MultipleObjectsReturnedException
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function deleteAcl(int $id): bool {
public function deleteAcl(int $id): ?Acl {
$this->permissionService->checkPermission($this->aclMapper, $id, Acl::PERMISSION_SHARE);
/** @var Acl $acl */
$acl = $this->aclMapper->find($id);
@@ -622,8 +558,10 @@ class BoardService {
}
}
$deletedAcl = $this->aclMapper->delete($acl);
$this->eventDispatcher->dispatchTyped(new AclDeletedEvent($acl));
return (bool) $this->aclMapper->delete($acl);
return $deletedAcl;
}
/**
@@ -636,9 +574,7 @@ class BoardService {
* @throws BadRequestException
*/
public function clone($id, $userId) {
if (is_numeric($id) === false) {
throw new BadRequestException('board id must be a number');
}
$this->boardServiceValidator->check(compact('id', 'userId'));
$this->permissionService->checkPermission($this->boardMapper, $id, Acl::PERMISSION_READ);

View File

@@ -43,6 +43,7 @@ use OCA\Deck\Db\BoardMapper;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\StatusException;
use OCA\Deck\BadRequestException;
use OCA\Deck\Validators\CardServiceValidator;
use OCP\Comments\ICommentsManager;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IRequest;
@@ -69,6 +70,7 @@ class CardService {
private IURLGenerator $urlGenerator;
private LoggerInterface $logger;
private IRequest $request;
private CardServiceValidator $cardServiceValidator;
public function __construct(
CardMapper $cardMapper,
@@ -88,6 +90,7 @@ class CardService {
IURLGenerator $urlGenerator,
LoggerInterface $logger,
IRequest $request,
CardServiceValidator $cardServiceValidator,
?string $userId
) {
$this->cardMapper = $cardMapper;
@@ -108,6 +111,7 @@ class CardService {
$this->urlGenerator = $urlGenerator;
$this->logger = $logger;
$this->request = $request;
$this->cardServiceValidator = $cardServiceValidator;
}
public function enrich($card) {
@@ -130,6 +134,7 @@ class CardService {
}
public function fetchDeleted($boardId) {
$this->cardServiceValidator->check(compact('boardId'));
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_READ);
$cards = $this->cardMapper->findDeleted($boardId);
foreach ($cards as $card) {
@@ -190,29 +195,7 @@ class CardService {
* @throws BadrequestException
*/
public function create($title, $stackId, $type, $order, $owner, $description = '', $duedate = null) {
if ($title === 'false' || $title === null) {
throw new BadRequestException('title must be provided');
}
if (mb_strlen($title) > Card::TITLE_MAX_LENGTH) {
throw new BadRequestException('The title cannot exceed 255 characters');
}
if (is_numeric($stackId) === false) {
throw new BadRequestException('stack id must be a number');
}
if ($type === 'false' || $type === null) {
throw new BadRequestException('type must be provided');
}
if (is_numeric($order) === false) {
throw new BadRequestException('order must be a number');
}
if ($owner === false || $owner === null) {
throw new BadRequestException('owner must be provided');
}
$this->cardServiceValidator->check(compact('title', 'stackId', 'type', 'order', 'owner'));
$this->permissionService->checkPermission($this->stackMapper, $stackId, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->stackMapper, $stackId)) {
@@ -282,29 +265,7 @@ class CardService {
* @throws BadRequestException
*/
public function update($id, $title, $stackId, $type, $owner, $description = '', $order = 0, $duedate = null, $deletedAt = null, $archived = null) {
if (is_numeric($id) === false) {
throw new BadRequestException('card id must be a number');
}
if ($title === false || $title === null) {
throw new BadRequestException('title must be provided');
}
if (mb_strlen($title) > Card::TITLE_MAX_LENGTH) {
throw new BadRequestException('The title cannot exceed 255 characters');
}
if (is_numeric($stackId) === false) {
throw new BadRequestException('stack id must be a number $$$');
}
if ($type === false || $type === null) {
throw new BadRequestException('type must be provided');
}
if ($owner === false || $owner === null) {
throw new BadRequestException('owner must be provided');
}
$this->cardServiceValidator->check(compact('id', 'title', 'stackId', 'type', 'owner', 'order'));
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
$this->permissionService->checkPermission($this->stackMapper, $stackId, Acl::PERMISSION_EDIT);
@@ -337,11 +298,11 @@ class CardService {
$card->setType($type);
$card->setOrder($order);
$card->setOwner($owner);
$card->setDuedate($duedate);
$card->setDuedate($duedate ? new \DateTime($duedate) : null);
$resetDuedateNotification = false;
if (
$card->getDuedate() === null ||
(new \DateTime($card->getDuedate())) != (new \DateTime($changes->getBefore()->getDuedate() ?? ''))
($card->getDuedate()) != ($changes->getBefore()->getDuedate())
) {
$card->setNotified(false);
$resetDuedateNotification = true;
@@ -387,17 +348,7 @@ class CardService {
* @throws BadRequestException
*/
public function rename($id, $title) {
if (is_numeric($id) === false) {
throw new BadRequestException('id must be a number');
}
if ($title === false || $title === null) {
throw new BadRequestException('title must be provided');
}
if (mb_strlen($title) > Card::TITLE_MAX_LENGTH) {
throw new BadRequestException('The title cannot exceed 255 characters');
}
$this->cardServiceValidator->check(compact('id', 'title'));
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $id)) {
@@ -428,17 +379,8 @@ class CardService {
* @throws BadRequestException
*/
public function reorder($id, $stackId, $order) {
if (is_numeric($id) === false) {
throw new BadRequestException('card id must be a number');
}
$this->cardServiceValidator->check(compact('id', 'stackId', 'order'));
if (is_numeric($stackId) === false) {
throw new BadRequestException('stack id must be a number');
}
if (is_numeric($order) === false) {
throw new BadRequestException('order must be a number');
}
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
$this->permissionService->checkPermission($this->stackMapper, $stackId, Acl::PERMISSION_EDIT);
@@ -493,9 +435,8 @@ class CardService {
* @throws BadRequestException
*/
public function archive($id) {
if (is_numeric($id) === false) {
throw new BadRequestException('id must be a number');
}
$this->cardServiceValidator->check(compact('id'));
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $id)) {
@@ -523,9 +464,8 @@ class CardService {
* @throws BadRequestException
*/
public function unarchive($id) {
if (is_numeric($id) === false) {
throw new BadRequestException('id must be a number');
}
$this->cardServiceValidator->check(compact('id'));
$this->permissionService->checkPermission($this->cardMapper, $id, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $id)) {
@@ -552,13 +492,8 @@ class CardService {
* @throws BadRequestException
*/
public function assignLabel($cardId, $labelId) {
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
$this->cardServiceValidator->check(compact('cardId', 'labelId'));
if (is_numeric($labelId) === false) {
throw new BadRequestException('label id must be a number');
}
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $cardId)) {
@@ -586,13 +521,8 @@ class CardService {
* @throws BadRequestException
*/
public function removeLabel($cardId, $labelId) {
if (is_numeric($cardId) === false) {
throw new BadRequestException('card id must be a number');
}
$this->cardServiceValidator->check(compact('cardId', 'labelId'));
if (is_numeric($labelId) === false) {
throw new BadRequestException('label id must be a number');
}
$this->permissionService->checkPermission($this->cardMapper, $cardId, Acl::PERMISSION_EDIT);
if ($this->boardService->isArchived($this->cardMapper, $cardId)) {

View File

@@ -41,6 +41,8 @@ use Throwable;
class CirclesService {
private bool $circlesEnabled;
private $userCircleCache = [];
public function __construct(IAppManager $appManager) {
$this->circlesEnabled = $appManager->isEnabledForUser('circles');
}
@@ -70,13 +72,24 @@ class CirclesService {
return false;
}
if (isset($this->userCircleCache[$circleId][$userId])) {
return $this->userCircleCache[$circleId][$userId];
}
try {
$circlesManager = Server::get(CirclesManager::class);
$federatedUser = $circlesManager->getFederatedUser($userId, Member::TYPE_USER);
$circlesManager->startSession($federatedUser);
$circle = $circlesManager->getCircle($circleId);
$member = $circle->getInitiator();
return $member !== null && $member->getLevel() >= Member::LEVEL_MEMBER;
$isUserInCircle = $member !== null && $member->getLevel() >= Member::LEVEL_MEMBER;
if (!isset($this->userCircleCache[$circleId])) {
$this->userCircleCache[$circleId] = [];
}
$this->userCircleCache[$circleId][$userId] = $isUserInCircle;
return $isUserInCircle;
} catch (Throwable $e) {
}
return false;

View File

@@ -71,6 +71,7 @@ class ConfigService {
$data = [
'calendar' => $this->isCalendarEnabled(),
'cardDetailsInModal' => $this->isCardDetailsInModal(),
'cardIdBadge' => $this->isCardIdBadgeEnabled()
];
if ($this->groupManager->isAdmin($this->getUserId())) {
$data['groupLimit'] = $this->get('groupLimit');
@@ -100,6 +101,11 @@ class ConfigService {
return false;
}
return (bool)$this->config->getUserValue($this->getUserId(), Application::APP_ID, 'cardDetailsInModal', true);
case 'cardIdBadge':
if ($this->getUserId() === null) {
return false;
}
return (bool)$this->config->getUserValue($this->getUserId(), Application::APP_ID, 'cardIdBadge', false);
}
return false;
}
@@ -131,6 +137,16 @@ class ConfigService {
return (bool)$this->config->getUserValue($this->getUserId(), Application::APP_ID, 'board:' . $boardId . ':cardDetailsInModal', $defaultState);
}
public function isCardIdBadgeEnabled(): bool {
if ($this->getUserId() === null) {
return false;
}
$appConfigState = $this->config->getAppValue(Application::APP_ID, 'cardIdBadge', 'yes') === 'no';
$defaultState = (bool)$this->config->getUserValue($this->getUserId(), Application::APP_ID, 'cardIdBadge', $appConfigState);
return (bool)$this->config->getUserValue($this->getUserId(), Application::APP_ID, 'cardIdBadge', $defaultState);
}
public function set($key, $value) {
if ($this->getUserId() === null) {
throw new NoPermissionException('Must be logged in to set user config');
@@ -153,6 +169,10 @@ class ConfigService {
$this->config->setUserValue($this->getUserId(), Application::APP_ID, 'cardDetailsInModal', (string)$value);
$result = $value;
break;
case 'cardIdBadge':
$this->config->setUserValue($this->getUserId(), Application::APP_ID, 'cardIdBadge', (string)$value);
$result = $value;
break;
case 'board':
[$boardId, $boardConfigKey] = explode(':', $key);
if ($boardConfigKey === 'notify-due' && !in_array($value, [self::SETTING_BOARD_NOTIFICATION_DUE_ALL, self::SETTING_BOARD_NOTIFICATION_DUE_ASSIGNED, self::SETTING_BOARD_NOTIFICATION_DUE_OFF], true)) {

View File

@@ -138,7 +138,7 @@ class FilesAppService implements IAttachmentService, ICustomAttachmentService {
public function extendData(Attachment $attachment) {
$userFolder = $this->rootFolder->getUserFolder($this->userId);
$share = $this->shareProvider->getShareById($attachment->getId());
$share = $this->getShareForAttachment($attachment);
$files = $userFolder->getById($share->getNode()->getId());
if (count($files) === 0) {
return $attachment;
@@ -161,7 +161,7 @@ class FilesAppService implements IAttachmentService, ICustomAttachmentService {
// Problem: Folders
/** @psalm-suppress InvalidCatch */
try {
$share = $this->shareProvider->getShareById($attachment->getId());
$share = $this->getShareForAttachment($attachment);
} catch (ShareNotFound $e) {
throw new NotFoundException('File not found');
}
@@ -241,7 +241,7 @@ class FilesAppService implements IAttachmentService, ICustomAttachmentService {
}
public function update(Attachment $attachment) {
$share = $this->shareProvider->getShareById($attachment->getId());
$share = $this->getShareForAttachment($attachment);
$target = $share->getNode();
$file = $this->getUploadedFile();
$fileName = $file['name'];
@@ -258,8 +258,13 @@ class FilesAppService implements IAttachmentService, ICustomAttachmentService {
return $attachment;
}
/**
* @throws NoPermissionException
* @throws NotFoundException
* @throws ShareNotFound
*/
public function delete(Attachment $attachment) {
$share = $this->shareProvider->getShareById($attachment->getId());
$share = $this->getShareForAttachment($attachment);
$file = $share->getNode();
$attachment->setData($file->getName());
@@ -282,4 +287,21 @@ class FilesAppService implements IAttachmentService, ICustomAttachmentService {
public function markAsDeleted(Attachment $attachment) {
throw new \Exception('Not implemented');
}
/**
* @throws NoPermissionException
*/
private function getShareForAttachment(Attachment $attachment): IShare {
try {
$share = $this->shareProvider->getShareById($attachment->getId());
} catch (ShareNotFound $e) {
throw new NoPermissionException('No permission to access the attachment from the card');
}
if ((int)$share->getSharedWith() !== (int)$attachment->getCardId()) {
throw new NoPermissionException('No permission to access the attachment from the card');
}
return $share;
}
}

View File

@@ -29,6 +29,7 @@ use OCA\Deck\Db\Acl;
use OCA\Deck\Db\LabelMapper;
use OCA\Deck\StatusException;
use OCA\Deck\BadRequestException;
use OCA\Deck\Validators\LabelServiceValidator;
class LabelService {
@@ -40,12 +41,21 @@ class LabelService {
private $boardService;
/** @var ChangeHelper */
private $changeHelper;
/** @var LabelServiceValidator */
private LabelServiceValidator $labelServiceValidator;
public function __construct(LabelMapper $labelMapper, PermissionService $permissionService, BoardService $boardService, ChangeHelper $changeHelper) {
public function __construct(
LabelMapper $labelMapper,
PermissionService $permissionService,
BoardService $boardService,
ChangeHelper $changeHelper,
LabelServiceValidator $labelServiceValidator
) {
$this->labelMapper = $labelMapper;
$this->permissionService = $permissionService;
$this->boardService = $boardService;
$this->changeHelper = $changeHelper;
$this->labelServiceValidator = $labelServiceValidator;
}
/**
@@ -76,17 +86,7 @@ class LabelService {
* @throws BadRequestException
*/
public function create($title, $color, $boardId) {
if ($title === false || $title === null) {
throw new BadRequestException('title must be provided');
}
if ($color === false || $color === null) {
throw new BadRequestException('color must be provided');
}
if (is_numeric($boardId) === false) {
throw new BadRequestException('board id must be a number');
}
$this->labelServiceValidator->check(compact('title', 'color', 'boardId'));
$this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_MANAGE);
@@ -119,9 +119,7 @@ class LabelService {
* @throws BadRequestException
*/
public function delete($id) {
if (is_numeric($id) === false) {
throw new BadRequestException('label id must be a number');
}
$this->labelServiceValidator->check(compact('id'));
$this->permissionService->checkPermission($this->labelMapper, $id, Acl::PERMISSION_MANAGE);
if ($this->boardService->isArchived($this->labelMapper, $id)) {
@@ -144,17 +142,7 @@ class LabelService {
* @throws BadRequestException
*/
public function update($id, $title, $color) {
if (is_numeric($id) === false) {
throw new BadRequestException('label id must be a number');
}
if ($title === false || $title === null || $title === "") {
throw new BadRequestException('title must be provided');
}
if ($color === false || $color === null) {
throw new BadRequestException('color must be provided');
}
$this->labelServiceValidator->check(compact('title', 'color', 'id'));
$this->permissionService->checkPermission($this->labelMapper, $id, Acl::PERMISSION_MANAGE);

View File

@@ -39,6 +39,7 @@ use OCA\Deck\Db\StackMapper;
use OCA\Deck\Model\CardDetails;
use OCA\Deck\NoPermissionException;
use OCA\Deck\StatusException;
use OCA\Deck\Validators\StackServiceValidator;
use Psr\Log\LoggerInterface;
class StackService {
@@ -54,6 +55,7 @@ class StackService {
private ActivityManager $activityManager;
private ChangeHelper $changeHelper;
private LoggerInterface $logger;
private StackServiceValidator $stackServiceValidator;
public function __construct(
StackMapper $stackMapper,
@@ -67,7 +69,8 @@ class StackService {
AttachmentService $attachmentService,
ActivityManager $activityManager,
ChangeHelper $changeHelper,
LoggerInterface $logger
LoggerInterface $logger,
StackServiceValidator $stackServiceValidator
) {
$this->stackMapper = $stackMapper;
$this->boardMapper = $boardMapper;
@@ -81,6 +84,7 @@ class StackService {
$this->activityManager = $activityManager;
$this->changeHelper = $changeHelper;
$this->logger = $logger;
$this->stackServiceValidator = $stackServiceValidator;
}
private function enrichStackWithCards($stack, $since = -1) {
@@ -218,17 +222,7 @@ class StackService {
* @throws BadRequestException
*/
public function create($title, $boardId, $order) {
if ($title === false || $title === null || mb_strlen($title) === 0) {
throw new BadRequestException('title must be provided');
}
if (is_numeric($order) === false) {
throw new BadRequestException('order must be a number');
}
if (is_numeric($boardId) === false) {
throw new BadRequestException('board id must be a number');
}
$this->stackServiceValidator->check(compact('title', 'boardId', 'order'));
$this->permissionService->checkPermission(null, $boardId, Acl::PERMISSION_MANAGE);
if ($this->boardService->isArchived(null, $boardId)) {
@@ -291,21 +285,7 @@ class StackService {
* @throws BadRequestException
*/
public function update($id, $title, $boardId, $order, $deletedAt) {
if (is_numeric($id) === false) {
throw new BadRequestException('stack id must be a number');
}
if ($title === false || $title === null || mb_strlen($title) === 0) {
throw new BadRequestException('title must be provided');
}
if (is_numeric($boardId) === false) {
throw new BadRequestException('board id must be a number');
}
if (is_numeric($order) === false) {
throw new BadRequestException('order must be a number');
}
$this->stackServiceValidator->check(compact('id', 'title', 'boardId', 'order'));
$this->permissionService->checkPermission($this->stackMapper, $id, Acl::PERMISSION_MANAGE);
$this->permissionService->checkPermission($this->boardMapper, $boardId, Acl::PERMISSION_MANAGE);
@@ -341,17 +321,12 @@ class StackService {
* @throws BadRequestException
*/
public function reorder($id, $order) {
if (is_numeric($id) === false) {
throw new BadRquestException('id must be a number');
}
if ($order === false || $order === null) {
throw new BadRequestException('order must be provided');
}
$this->stackServiceValidator->check(compact('id', 'order'));
$this->permissionService->checkPermission($this->stackMapper, $id, Acl::PERMISSION_MANAGE);
$stackToSort = $this->stackMapper->find($id);
$stacks = $this->stackMapper->findAll($stackToSort->getBoardId());
usort($stacks, static fn (Stack $stackA, Stack $stackB) => $stackA->getOrder() - $stackB->getOrder());
$result = [];
$i = 0;
foreach ($stacks as $stack) {

View File

@@ -0,0 +1,37 @@
<?php
/**
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
* @author Maxence Lange <maxence@artificial-owl.com>
* @author Luka Trovic <luka.trovic@nextcloud.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
declare(strict_types=1);
namespace OCA\Deck\Validators;
class AssignmentServiceValidator extends BaseValidator {
public function rules() {
return [
'cardId' => ['numeric'],
'userId' => ['not_empty', 'not_null', 'not_false', 'max:64'],
];
}
}

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