Compare commits

...

99 Commits

Author SHA1 Message Date
Joas Schilling
d58f5e2bdb Don't crash with incompatible share providers on updates
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-10-20 08:53:58 +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
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
76 changed files with 1621 additions and 1036 deletions

View File

@@ -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

@@ -33,7 +33,7 @@ jobs:
services:
postgres:
image: postgres
image: postgres:14
ports:
- 4445:5432/tcp
env:

View File

@@ -34,7 +34,7 @@ jobs:
services:
postgres:
image: postgres
image: postgres:14
ports:
- 4445:5432/tcp
env:

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

@@ -65,13 +65,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,7 +34,7 @@
<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>

130
composer.lock generated
View File

@@ -1236,16 +1236,16 @@
},
{
"name": "nikic/php-parser",
"version": "v4.14.0",
"version": "v4.15.1",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1"
"reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1",
"reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
"reference": "0ef6c55a3f47f89d7a374e6f835197a0b5fcf900",
"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.1"
},
"time": "2022-05-31T20:59:12+00:00"
"time": "2022-09-04T07:30:47+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,9 +1724,9 @@
"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",
@@ -2043,16 +2048,16 @@
},
{
"name": "phpunit/phpunit",
"version": "9.5.24",
"version": "9.5.25",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5"
"reference": "3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d0aa6097bef9fd42458a9b3c49da32c6ce6129c5",
"reference": "d0aa6097bef9fd42458a9b3c49da32c6ce6129c5",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d",
"reference": "3e6f90ca7e3d02025b1d147bd8d4a89fd4ca8a1d",
"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.25"
},
"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-09-25T03:44:45+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.14",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1"
"reference": "984ea2c0f45f42dfed01d2f3987b187467c4b16d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/c072aa8f724c3af64e2c7a96b796a4863d24dba1",
"reference": "c072aa8f724c3af64e2c7a96b796a4863d24dba1",
"url": "https://api.github.com/repos/symfony/console/zipball/984ea2c0f45f42dfed01d2f3987b187467c4b16d",
"reference": "984ea2c0f45f42dfed01d2f3987b187467c4b16d",
"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.14"
},
"funding": [
{
@@ -3829,7 +3838,7 @@
"type": "tidelift"
}
],
"time": "2022-08-17T13:18:05+00:00"
"time": "2022-10-07T08:01:20+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -5037,16 +5046,16 @@
},
{
"name": "symfony/string",
"version": "v5.4.12",
"version": "v5.4.14",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "2fc515e512d721bf31ea76bd02fe23ada4640058"
"reference": "089e7237497fae7a9c404d0c3aeb8db3254733e4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/2fc515e512d721bf31ea76bd02fe23ada4640058",
"reference": "2fc515e512d721bf31ea76bd02fe23ada4640058",
"url": "https://api.github.com/repos/symfony/string/zipball/089e7237497fae7a9c404d0c3aeb8db3254733e4",
"reference": "089e7237497fae7a9c404d0c3aeb8db3254733e4",
"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.14"
},
"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.29.0",
"source": {
"type": "git",
"url": "https://github.com/vimeo/psalm.git",
"reference": "faf106e717c37b8c81721845dba9de3d8deed8ff"
"reference": "7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/faf106e717c37b8c81721845dba9de3d8deed8ff",
"reference": "faf106e717c37b8c81721845dba9de3d8deed8ff",
"url": "https://api.github.com/repos/vimeo/psalm/zipball/7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3",
"reference": "7ec5ffbd5f68ae03782d7fd33fff0c45a69f95b3",
"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.29.0"
},
"time": "2022-08-31T13:47:09+00:00"
"time": "2022-10-11T17:09:17+00:00"
},
{
"name": "webmozart/assert",

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

@@ -286,6 +286,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

@@ -284,6 +284,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

@@ -101,10 +101,12 @@ OC.L10N.register(
"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",
"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",
@@ -134,6 +136,7 @@ OC.L10N.register(
"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)",
@@ -173,7 +176,11 @@ OC.L10N.register(
"Owner" : "Propietari",
"Delete" : "Eliminar",
"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",
"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" : "Afegir una llista nova",
"Archive all cards" : "Arxiva totes les targetes",
"Delete list" : "Suprimeix la llista",
@@ -203,7 +210,7 @@ OC.L10N.register(
"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…",
@@ -232,10 +239,12 @@ OC.L10N.register(
"Edit description" : "Edita 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" : "Elements pendents",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Edit card title" : "Edita el títol de la targeta",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -249,6 +258,7 @@ OC.L10N.register(
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Configuració del Tauler",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
@@ -269,13 +279,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 +304,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

@@ -99,10 +99,12 @@
"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",
"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",
@@ -132,6 +134,7 @@
"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)",
@@ -171,7 +174,11 @@
"Owner" : "Propietari",
"Delete" : "Eliminar",
"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",
"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" : "Afegir una llista nova",
"Archive all cards" : "Arxiva totes les targetes",
"Delete list" : "Suprimeix la llista",
@@ -201,7 +208,7 @@
"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…",
@@ -230,10 +237,12 @@
"Edit description" : "Edita 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" : "Elements pendents",
"{count} comments, {unread} unread" : "{count} comentaris, {unread} no llegits",
"Edit card title" : "Edita el títol de la targeta",
"Assign to me" : "Assigna'm a mi",
"Unassign myself" : "Desasignar a mi mateix",
"Move card" : "Mou la targeta",
@@ -247,6 +256,7 @@
"All boards" : "Tots els taulers",
"Archived boards" : "Taulers arxivats",
"Shared with you" : "Us han compartit",
"Deck settings" : "Configuració del Tauler",
"Use bigger card view" : "Utilitza la visualització de targetes més gran",
"Show boards in calendar/tasks" : "Mostra els taulers al calendari/tasques",
"Limit deck usage of groups" : "Limitar l'ús del tauler de grups",
@@ -267,13 +277,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 +302,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",
@@ -286,6 +286,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",
@@ -284,6 +284,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

@@ -286,6 +286,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

@@ -284,6 +284,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

@@ -286,6 +286,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

@@ -284,6 +284,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

@@ -242,6 +242,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,6 +258,7 @@ 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 boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar el uso de Deck a grupos",
@@ -277,14 +279,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

@@ -240,6 +240,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,6 +256,7 @@
"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 boards in calendar/tasks" : "Mostrar tableros en calendario/tareas",
"Limit deck usage of groups" : "Limitar el uso de Deck a grupos",
@@ -275,14 +277,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

@@ -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

@@ -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,7 +178,7 @@ 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",
@@ -204,7 +204,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 +239,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",
@@ -275,17 +275,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 +307,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

@@ -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,7 +176,7 @@
"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",
@@ -202,7 +202,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 +237,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",
@@ -273,17 +273,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 +305,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

@@ -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

@@ -286,6 +286,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

@@ -284,6 +284,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

@@ -286,6 +286,7 @@ OC.L10N.register(
"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}",
"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",

View File

@@ -284,6 +284,7 @@
"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}",
"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",

View File

@@ -176,7 +176,11 @@ 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",
"Delete list" : "Vymazať zoznam",
@@ -238,7 +242,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,6 +258,7 @@ 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 boards in calendar/tasks" : "Zobrazovať nástenky v kalendári/úlohách",
"Limit deck usage of groups" : "Obmedziť použitie Deck na skupiny",
@@ -272,14 +279,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 +304,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,7 +174,11 @@
"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",
"Delete list" : "Vymazať zoznam",
@@ -236,7 +240,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,6 +256,7 @@
"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 boards in calendar/tasks" : "Zobrazovať nástenky v kalendári/úlohách",
"Limit deck usage of groups" : "Obmedziť použitie Deck na skupiny",
@@ -270,14 +277,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 +302,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

@@ -286,6 +286,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

@@ -284,6 +284,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

@@ -12,10 +12,31 @@ OC.L10N.register(
"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}",
"{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",
@@ -158,13 +179,16 @@ 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}",
"Error creating the share" : "Помилка створення спільного доступу",
"Share" : "Поділитися",
"This week" : "Цього тижня"
},

View File

@@ -10,10 +10,31 @@
"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}",
"{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",
@@ -156,13 +177,16 @@
"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}",
"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

@@ -286,6 +286,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

@@ -284,6 +284,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

@@ -286,6 +286,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

@@ -284,6 +284,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

@@ -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;
}

View File

@@ -75,7 +75,9 @@ use OCP\Notification\IManager as NotificationManager;
use OCP\Share\IManager;
use OCP\User\Events\UserDeletedEvent;
use OCP\Util;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\ContainerInterface;
use Psr\Log\LoggerInterface;
class Application extends App implements IBootstrap {
public const APP_ID = 'deck';
@@ -102,7 +104,16 @@ class Application extends App implements IBootstrap {
$context->injectFn(Closure::fromCallable([$this, 'registerCollaborationResources']));
$context->injectFn(function (IManager $shareManager) {
$shareManager->registerShareProvider(DeckShareProvider::class);
try {
$shareManager->registerShareProvider(DeckShareProvider::class);
} catch (\Throwable $e) {
if (!$e instanceof ContainerExceptionInterface) {
Server::get(LoggerInterface::class)->error(
$e->getMessage(),
['exception' => $e]
);
}
}
});
$context->injectFn(function (Listener $listener, IEventDispatcher $eventDispatcher) {

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

@@ -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

@@ -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

@@ -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 {
@@ -81,7 +81,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

@@ -40,6 +40,9 @@ use OCP\AppFramework\Db\IMapperException;
use OCP\AppFramework\Http\Response;
use OCP\IL10N;
use OCP\IUserManager;
use OCP\Server;
use Psr\Container\ContainerExceptionInterface;
use Psr\Log\LoggerInterface;
class AttachmentService {
private $attachmentMapper;
@@ -94,7 +97,16 @@ class AttachmentService {
* @throws \OCP\AppFramework\QueryException
*/
public function registerAttachmentService($type, $class) {
$this->services[$type] = $this->application->getContainer()->query($class);
try {
$this->services[$type] = $this->application->getContainer()->query($class);
} catch (\Throwable $e) {
if (!$e instanceof ContainerExceptionInterface) {
Server::get(LoggerInterface::class)->error(
$e->getMessage(),
['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;
@@ -55,6 +56,8 @@ use OCP\IUserManager;
use OCA\Deck\BadRequestException;
use OCP\IURLGenerator;
use OCP\Server;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
class BoardService {
private BoardMapper $boardMapper;
@@ -592,12 +595,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 +627,10 @@ class BoardService {
}
}
$deletedAcl = $this->aclMapper->delete($acl);
$this->eventDispatcher->dispatchTyped(new AclDeletedEvent($acl));
return (bool) $this->aclMapper->delete($acl);
return $deletedAcl;
}
/**

View File

@@ -337,11 +337,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;

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

@@ -352,6 +352,7 @@ class StackService {
$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) {

1670
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "deck",
"description": "",
"version": "1.8.0-beta.1",
"version": "1.9.0-beta.1",
"authors": [
{
"name": "Julius Härtl",
@@ -29,10 +29,10 @@
},
"dependencies": {
"@babel/polyfill": "^7.12.1",
"@babel/runtime": "^7.19.0",
"@babel/runtime": "^7.19.4",
"@juliushaertl/vue-richtext": "^1.0.1",
"@nextcloud/auth": "^2.0.0",
"@nextcloud/axios": "^2.0.0",
"@nextcloud/axios": "^2.1.0",
"@nextcloud/dialogs": "^3.2.0",
"@nextcloud/event-bus": "^3.0.2",
"@nextcloud/files": "^2.1.0",
@@ -40,9 +40,9 @@
"@nextcloud/l10n": "^1.6.0",
"@nextcloud/moment": "^1.2.1",
"@nextcloud/router": "^2.0.0",
"@nextcloud/vue": "^7.0.0-beta.4",
"@nextcloud/vue": "^7.0.0",
"@nextcloud/vue-dashboard": "^2.0.1",
"@nextcloud/vue-richtext": "^2.0.1",
"@nextcloud/vue-richtext": "^2.0.4",
"blueimp-md5": "^2.19.0",
"dompurify": "^2.4.0",
"lodash": "^4.17.21",
@@ -53,8 +53,8 @@
"nextcloud-vue-collections": "^0.10.0",
"p-queue": "^7.3.0",
"url-search-params-polyfill": "^8.1.1",
"vue": "^2.7.9",
"vue-at": "^2.5.0",
"vue": "^2.7.13",
"vue-at": "^2.5.1",
"vue-click-outside": "^1.1.0",
"vue-easymde": "^2.0.0",
"vue-infinite-loading": "^2.4.5",
@@ -77,15 +77,15 @@
"@nextcloud/eslint-config": "^8.0.0",
"@nextcloud/stylelint-config": "^2.2.0",
"@nextcloud/webpack-vue-config": "^5.3.0",
"@relative-ci/agent": "^4.1.0",
"@relative-ci/agent": "^4.1.1",
"@vue/test-utils": "^1.3.0",
"cypress": "^10.8.0",
"cypress": "^10.10.0",
"eslint-webpack-plugin": "^3.2.0",
"jest": "^29.0.1",
"jest": "^29.2.0",
"jest-serializer-vue": "^2.0.2",
"stylelint-webpack-plugin": "^3.3.0",
"vue-jest": "^3.0.7",
"vue-template-compiler": "^2.7.9"
"vue-template-compiler": "^2.7.13"
},
"jest": {
"moduleFileExtensions": [

View File

@@ -41,7 +41,7 @@
</NcModal>
</template>
<script>
import NcModal from '@nextcloud/vue/dist/Components/NcModal'
import { NcModal } from '@nextcloud/vue'
import axios from '@nextcloud/axios'
import { generateUrl } from '@nextcloud/router'

View File

@@ -92,9 +92,7 @@
<script>
import { generateUrl } from '@nextcloud/router'
import NcModal from '@nextcloud/vue/dist/Components/NcModal.js'
import NcMultiselect from '@nextcloud/vue/dist/Components/NcMultiselect.js'
import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
import { NcModal, NcMultiselect, NcEmptyContent } from '@nextcloud/vue'
import axios from '@nextcloud/axios'
import { CardApi } from './services/CardApi.js'

View File

@@ -62,8 +62,7 @@
<script>
import { generateUrl } from '@nextcloud/router'
import NcModal from '@nextcloud/vue/dist/Components/NcModal'
import NcMultiselect from '@nextcloud/vue/dist/Components/NcMultiselect'
import { NcModal, NcMultiselect } from '@nextcloud/vue'
import axios from '@nextcloud/axios'
export default {

View File

@@ -86,8 +86,6 @@ export default {
li {
display: flex;
height: 44px;
&:hover, &:active, &.focus {
button {
opacity: 1;
@@ -106,7 +104,10 @@ export default {
.title {
flex-grow: 2;
padding: 3px 0px;
> span:not(.timestamp) {
line-height: 1.2em;
margin-bottom: 5px;
}
.timestamp {
font-size: 0.9em;
color: var(--color-text-lighter);

View File

@@ -41,9 +41,9 @@
<span v-if="acl.type===7">{{ t('deck', '(Circle)') }}</span>
</span>
<ActionCheckbox v-if="!(isCurrentUser(acl.participant.uid) && acl.type === 0) && (canManage || (canEdit && canShare))" :checked="acl.permissionEdit" @change="clickEditAcl(acl)">
<NcActionCheckbox v-if="!(isCurrentUser(acl.participant.uid) && acl.type === 0) && (canManage || (canEdit && canShare))" :checked="acl.permissionEdit" @change="clickEditAcl(acl)">
{{ t('deck', 'Can edit') }}
</ActionCheckbox>
</NcActionCheckbox>
<NcActions v-if="!(isCurrentUser(acl.participant.uid) && acl.type === 0)" :force-menu="true">
<ActionCheckbox v-if="canManage || canShare" :checked="acl.permissionShare" @change="clickShareAcl(acl)">
{{ t('deck', 'Can share') }}
@@ -73,7 +73,7 @@
</template>
<script>
import { NcAvatar, NcMultiselect, NcActions, NcActionButton, ActionCheckbox, NcRelatedResourcesPanel } from '@nextcloud/vue'
import { NcAvatar, NcMultiselect, NcActions, NcActionButton, NcActionCheckbox, NcRelatedResourcesPanel } from '@nextcloud/vue'
import { CollectionList } from 'nextcloud-vue-collections'
import { mapGetters, mapState } from 'vuex'
import { getCurrentUser } from '@nextcloud/auth'
@@ -87,7 +87,7 @@ export default {
NcAvatar,
NcActions,
NcActionButton,
ActionCheckbox,
NcActionCheckbox,
NcMultiselect,
CollectionList,
NcRelatedResourcesPanel,

View File

@@ -76,15 +76,15 @@
</NcActionButton>
</NcActions>
<NcActions v-if="removable && !isReadOnly" :force-menu="true">
<ActionLink v-if="attachment.extendedData.fileid" icon="icon-folder" :href="internalLink(attachment)">
<NcActionLink v-if="attachment.extendedData.fileid" icon="icon-folder" :href="internalLink(attachment)">
{{ t('deck', 'Show in Files') }}
</ActionLink>
<ActionLink v-if="attachment.extendedData.fileid"
</NcActionLink>
<NcActionLink v-if="attachment.extendedData.fileid"
icon="icon-download"
:href="downloadLink(attachment)"
download>
{{ t('deck', 'Download') }}
</ActionLink>
</NcActionLink>
<NcActionButton v-if="attachment.extendedData.fileid && !isReadOnly" icon="icon-delete" @click="unshareAttachment(attachment)">
{{ t('deck', 'Remove attachment') }}
</NcActionButton>
@@ -103,7 +103,7 @@
<script>
import axios from '@nextcloud/axios'
import { NcActions, NcActionButton, ActionLink } from '@nextcloud/vue'
import { NcActions, NcActionButton, NcActionLink } from '@nextcloud/vue'
import AttachmentDragAndDrop from '../AttachmentDragAndDrop.vue'
import relativeDate from '../../mixins/relativeDate.js'
import { formatFileSize } from '@nextcloud/files'
@@ -127,7 +127,7 @@ export default {
components: {
NcActions,
NcActionButton,
ActionLink,
NcActionLink,
AttachmentDragAndDrop,
},
mixins: [relativeDate, attachmentUpload],

View File

@@ -60,6 +60,7 @@
ref="markdownEditor"
v-model="description"
:configs="mdeConfig"
@initialized="addKeyListeners"
@update:modelValue="updateDescription"
@blur="saveDescription" />
@@ -115,6 +116,7 @@ export default {
},
data() {
return {
keyExitState: 0,
description: '',
markdownIt: null,
descriptionEditing: false,
@@ -174,14 +176,37 @@ export default {
},
},
methods: {
addKeyListeners() {
this.$refs.markdownEditor.easymde.codemirror.on('keydown', (a, b) => {
if (this.keyExitState === 0 && (b.key === 'Meta' || b.key === 'Alt')) {
this.keyExitState = 1
}
if (this.keyExitState === 1 && b.key === 'Enter') {
this.keyExitState = 0
this.$refs.markdownEditor.easymde.codemirror.off('keydown', undefined)
this.$refs.markdownEditor.easymde.codemirror.off('keyup', undefined)
this.hideEditor()
}
})
this.$refs.markdownEditor.easymde.codemirror.on('keyup', (a, b) => {
if (b.key === 'Meta' || b.key === 'Control') {
this.keyExitState = 0
}
})
},
showEditor() {
if (!this.canEdit) {
return
}
this.descriptionEditing = true
this.description = this.card.description
},
hideEditor() {
this.$refs.markdownEditor.easymde.codemirror.off('keydown', undefined)
this.$refs.markdownEditor.easymde.codemirror.off('keyup', undefined)
this.descriptionEditing = false
},
showAttachmentModal() {

View File

@@ -36,7 +36,7 @@
<span>{{ checkListCheckedCount }}/{{ checkListCount }}</span>
</div>
<TextIcon v-else-if="card.description.trim() && checkListCount == 0" :size="16" decorative />
<TextIcon v-else-if="card.description && card.description.trim() && checkListCount == 0" :size="16" decorative />
<div v-if="card.attachmentCount > 0" class="icon-badge">
<AttachmentIcon :size="16" />

View File

@@ -55,6 +55,7 @@
<input v-model="copiedCard.title"
v-focus
type="text"
autocomplete="off"
required
pattern=".*\S+.*">
<input type="submit" value="" class="icon-confirm">

View File

@@ -20,7 +20,7 @@
*/
import { registerWidget } from '@nextcloud/vue-richtext'
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip.js'
import { Tooltip } from '@nextcloud/vue'
import Vue from 'vue'
import CardReferenceWidget from './views/CardReferenceWidget.vue'
@@ -36,7 +36,6 @@ registerWidget('deck-card', (el, { richObjectType, richObject, accessible }) =>
// trick to change the wrapper element size, otherwise it always is 100%
// which is not very nice with a simple card
el.parentNode.style['max-width'] = '400px'
el.parentNode.style['min-width'] = '200px'
el.parentNode.style['margin-left'] = '0'
el.parentNode.style['margin-right'] = '0'

View File

@@ -62,9 +62,14 @@
<div class="line description-assignees">
<TextIcon v-if="card.description" :size="20" class="icon" />
<div v-if="card.description"
class="description"
:title="card.description">
{{ card.description }}
:class="{
'description': true,
'short-description': shortDescription,
}">
<RichText v-tooltip.top="{ content: shortDescription ? t('deck', 'Click to expand description') : undefined }"
:text="card.description"
:use-markdown="true"
@click.native="shortDescription = !shortDescription" />
</div>
<div v-if="card.assignedUsers .length > 0"
class="spacer" />
@@ -83,6 +88,7 @@ import DeckIcon from '../components/icons/DeckIcon.vue'
import AvatarList from '../components/cards/AvatarList.vue'
import labelStyle from '../mixins/labelStyle.js'
import { RichText } from '@nextcloud/vue-richtext'
import moment from '@nextcloud/moment'
import { generateUrl } from '@nextcloud/router'
@@ -94,6 +100,7 @@ export default {
DeckIcon,
CalendarBlankIcon,
TextIcon,
RichText,
},
mixins: [labelStyle],
@@ -115,6 +122,7 @@ export default {
data() {
return {
shortDescription: true,
}
},
@@ -171,11 +179,17 @@ export default {
.deck-card-reference {
width: 100%;
// needed for the specific case of Text
.editor__content & {
width: calc(100% - 24px);
}
white-space: normal;
padding: 12px;
.link {
text-decoration: underline;
color: var(--color-main-text) !important;
padding: 0 !important;
}
.line {
@@ -201,13 +215,22 @@ export default {
.description-assignees {
width: 100%;
display: flex;
align-items: center;
align-items: start;
.icon {
align-self: start;
margin-top: 8px;
}
.description {
text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;
margin-right: 8px;
padding-top: 6px;
max-height: 250px;
overflow: scroll;
&.short-description {
max-height: 25px;
overflow: hidden;
}
}
.card-assignees {

View File

@@ -61,13 +61,12 @@
<script>
import PlusIcon from 'vue-material-design-icons/Plus.vue'
import { NcDashboardWidget } from '@nextcloud/vue'
import { NcButton, NcDashboardWidget } from '@nextcloud/vue'
import { mapGetters } from 'vuex'
import labelStyle from './../mixins/labelStyle.js'
import DueDate from '../components/cards/badges/DueDate.vue'
import { generateUrl } from '@nextcloud/router'
import CardCreateDialog from '../CardCreateDialog.vue'
import NcButton from '@nextcloud/vue/dist/Components/NcButton.js'
export default {
name: 'Dashboard',

View File

@@ -2,7 +2,7 @@
"require-dev": {
"phpunit/phpunit": "~9",
"behat/behat": "~3.11.0",
"guzzlehttp/guzzle": "7.4.5",
"guzzlehttp/guzzle": "7.5.0",
"jarnaiz/behat-junit-formatter": "^1.3",
"sabre/dav": "4.4.0",
"symfony/event-dispatcher": "~5.4"

View File

@@ -29,12 +29,12 @@ use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\Server;
use Psr\Log\LoggerInterface;
use Test\AppFramework\Db\MapperTestUtility;
use Test\TestCase;
/**
* @group DB
*/
class AclMapperTest extends MapperTestUtility {
class AclMapperTest extends TestCase {
private $dbConnection;
private $aclMapper;
private $boardMapper;

View File

@@ -27,12 +27,12 @@ use OCP\AppFramework\Db\DoesNotExistException;
use OCP\IDBConnection;
use OCP\IUserManager;
use OCP\Server;
use Test\AppFramework\Db\MapperTestUtility;
use Test\TestCase;
/**
* @group DB
*/
class AttachmentMapperTest extends MapperTestUtility {
class AttachmentMapperTest extends TestCase {
/** @var IDBConnection */
private $dbConnection;

View File

@@ -29,12 +29,12 @@ use OCP\IGroupManager;
use OCP\IUserManager;
use OCP\Server;
use Psr\Log\LoggerInterface;
use Test\AppFramework\Db\MapperTestUtility;
use Test\TestCase;
/**
* @group DB
*/
class BoardMapperTest extends MapperTestUtility {
class BoardMapperTest extends TestCase {
/** @var IDBConnection */
private $dbConnection;

View File

@@ -117,14 +117,6 @@ class CardTest extends TestCase {
], (new CardDetails($card))->jsonSerialize());
}
public function testMysqlDateFallback() {
$date = new DateTime();
$card = new Card();
$card->setDuedate($date->format('c'));
$card->setDatabaseType('mysql');
$this->assertEquals($date->format('Y-m-d H:i:s'), $card->getDuedate(false));
}
public function testJsonSerializeAsignedUsers() {
$card = $this->createCard();
$card->setAssignedUsers([ 'user1' ]);

View File

@@ -427,6 +427,6 @@ class BoardServiceTest extends TestCase {
->method('delete')
->with($acl)
->willReturn($acl);
$this->assertTrue($this->service->deleteAcl(123));
$this->assertEquals($acl, $this->service->deleteAcl(123));
}
}

View File

@@ -221,7 +221,7 @@ class CardServiceTest extends TestCase {
$this->assertEquals('text', $actual->getType());
$this->assertEquals(999, $actual->getOrder());
$this->assertEquals('foo', $actual->getDescription());
$this->assertEquals('2017-01-01T00:00:00+00:00', $actual->getDuedate());
$this->assertEquals(new \DateTime('2017-01-01T00:00:00+00:00'), $actual->getDuedate());
}
public function testUpdateArchived() {

View File

@@ -164,10 +164,14 @@ class BoardControllerTest extends \Test\TestCase {
}
public function testDeleteAcl() {
$acl = $this->getMockBuilder(Acl::class)
->disableOriginalConstructor()
->getMock();
$this->boardService->expects($this->once())
->method('deleteAcl')
->with(1)
->willReturn(true);
$this->assertEquals(true, $this->controller->deleteAcl(1));
->willReturn($acl);
$this->assertEquals($acl, $this->controller->deleteAcl(1));
}
}